idris 0.1.4 → 0.1.5
raw patch · 33 files changed
+7595/−6970 lines, 33 filesdep +Cabaldep ~epicdep ~ivorsetup-changed
Dependencies added: Cabal
Dependency ranges changed: epic, ivor
Files
- CHANGELOG +16/−0
- Idris/AbsSyntax.lhs +116/−42
- Idris/Compiler.lhs +3/−1
- Idris/ConTrans.lhs +2/−2
- Idris/Fontlock.lhs +1/−1
- Idris/LambdaLift.lhs +2/−2
- Idris/Latex.lhs +3/−3
- Idris/Lexer.hs +8/−1
- Idris/MakeTerm.lhs +48/−36
- Idris/Parser.y +36/−20
- Idris/Prover.lhs +5/−0
- Idris/Serialise.lhs +18/−14
- Idris/SimpleCase.lhs +10/−6
- LICENSE +2/−2
- Main.lhs +37/−5
- Setup.lhs +35/−1
- dist/build/Idris/Parser.hs +3484/−3394
- dist/build/Idris/idris-tmp/Idris/Parser.hs +3484/−3394
- idris.cabal +7/−5
- lib/Prelude.e +2/−0
- lib/bool.idr +1/−1
- lib/builtins.idr +26/−10
- lib/either.idr +4/−0
- lib/io.idr +19/−19
- lib/list.idr +12/−1
- lib/maybe.idr +3/−0
- lib/nat.idr +5/−1
- lib/perm.idr +139/−0
- lib/prelude.idr +13/−3
- lib/string.idr +33/−0
- lib/system.idr +7/−0
- lib/tactics.idr +2/−2
- lib/vect.idr +12/−4
+ CHANGELOG view
@@ -0,0 +1,16 @@+New in 0.1.5+------------++* Changed '#' to Set for the type of types+ - old syntax works, but is deprecated and will be removed soon.+* 'syntax' definitions+* %spec works in pattern clauses as well as CAFs+* Added 'Proof' type for marking computationally irrelevant terms.+* Added List permutation proofs to the library (perm.idr)+* Various new functions in the library.+* Lots of bug fixes++New in 0.1.4+------------++* Namespaces
Idris/AbsSyntax.lhs view
@@ -49,7 +49,8 @@ > | CLib String | CInclude String > | Fixity String Fixity Int > | Transform RawTerm RawTerm-> | Freeze Id+> | SynDef Id [Id] RawTerm +> | Freeze String Int [Id] Id > deriving Show Flags for controlling compilation. In particular, some functions exist only@@ -80,7 +81,8 @@ > data UserOps = UO { fixityDecls :: Fixities, > transforms :: [(ViewTerm, ViewTerm)],-> frozen :: [Id] }+> frozen :: [Id],+> syndefs :: [Syntax] } > deriving Show Function types and clauses are given separately, so we'll parse them@@ -100,7 +102,6 @@ > | PDoUsing (Id, Id) [ParseDecl] > | PIdiom (Id, Id) [ParseDecl] > | PNamespace Id [ParseDecl]-> | PSyntax Id [Id] RawTerm > deriving Show > collectDecls :: [ParseDecl] -> Result [Decl]@@ -148,7 +149,6 @@ > Success d -> > cds ((Idiom up ua d):rds) fwds ds > failure -> failure-> cds rds fwds ((PSyntax name args to):ds) = cds rds fwds ds -- TODO > cds rds fwds (d:ds) = fail $ "Invalid declaration: " ++ show d > cds rds fwds [] = return (reverse rds) @@ -238,6 +238,7 @@ Raw terms, as written by the programmer with no implicit arguments added. > data RawTerm = RVar String Int Id+> | RVars String Int [Id] > | RExpVar String Int Id -- variable with all explicit args > | RApp String Int RawTerm RawTerm > | RAppImp String Int Id RawTerm RawTerm -- Name the argument we make explicit@@ -255,7 +256,7 @@ > | RError String Int String -- Hackety. Found an error in processing, report when you can. > deriving (Show, Eq) -> data RBinder = Pi Plicit Laziness RawTerm+> data RBinder = Pi Plicit [ArgOpt] RawTerm > | Lam RawTerm > | RLet RawTerm RawTerm > deriving (Show, Eq)@@ -263,7 +264,7 @@ > data Plicit = Im | Ex > deriving (Show, Eq, Enum) -> data Laziness = Lazy | Eager+> data ArgOpt = Lazy | Static > deriving (Show, Eq, Enum) > data Do = DoBinding String Int Id RawTerm RawTerm@@ -273,6 +274,7 @@ > data ITactic = Intro [Id] > | Refine Id+> | Exists RawTerm > | Generalise RawTerm > | ReflP > | Induction RawTerm@@ -288,17 +290,22 @@ > | Decide RawTerm > | Undo > | Abandon+> | ProofTerm > | RunTactic RawTerm -- tactic computed from lib/tactics.idr > | Qed > deriving (Show, Eq) -> getLazy :: RawTerm -> [Int]-> getLazy tm = gl' 0 tm-> where gl' i (RBind n (Pi _ Lazy _) sc) = i:(gl' (i+1) sc)-> gl' i (RBind n (Pi Ex Eager _) sc) = gl' (i+1) sc-> gl' i (RBind n (Pi Im Eager _) sc) = gl' i sc+> getArgOpt :: ArgOpt -> RawTerm -> [Int]+> getArgOpt ao tm = gl' 0 tm+> where gl' i (RBind n (Pi _ opts _) sc) +> | ao `elem` opts = i:(gl' (i+1) sc)+> gl' i (RBind n (Pi Ex _ _) sc) = gl' (i+1) sc+> gl' i (RBind n (Pi Im _ _) sc) = gl' i sc > gl' i x = [] +> getLazy = getArgOpt Lazy+> getStatic = getArgOpt Static+ > mkLazy :: ViewTerm -> ViewTerm > mkLazy t = App (App (Name Unknown (name "__lazy")) Placeholder) t @@ -372,7 +379,7 @@ > show (Bo b) = show b > show (Ch c) = show c > show (Fl d) = show d-> show TYPE = "#"+> show TYPE = "Set" > show IntType = "Int" > show FloatType = "Float" > show CharType = "Char"@@ -384,8 +391,9 @@ typechecker and compiler need to know how to run. First we have the usual set of infix operators (plus John Major equality): -> data Op = Plus | Minus | Times | Divide | Concat | JMEq-> | OpEq | OpLT | OpLEq | OpGT | OpGEq | OpOr | OpAnd+> data Op = Plus | Minus | Times | Divide | Concat | JMEq+> | OpEq | OpLT | OpLEq | OpGT | OpGEq | OpOr +> | OpAnd | ShL | ShR Then built-in functions for coercing between types @@ -398,7 +406,8 @@ > | StringHead | StringTail | StringCons > deriving (Eq, Enum) -> allOps = [Plus,Minus,Times,Divide,Concat,JMEq,OpEq,OpLT,OpLEq,OpGT,OpGEq]+> allOps = [Plus,Minus,Times,Divide,Concat,ShL,ShR,+> JMEq,OpEq,OpLT,OpLEq,OpGT,OpGEq] > instance Show Op where > show Plus = "+"@@ -414,6 +423,8 @@ > show OpGEq = ">=" > show OpOr = "||" > show OpAnd = "&&"+> show ShL = "<<"+> show ShR = ">>" > opFn Plus = (name "__addInt") > opFn Minus = (name "__subInt")@@ -428,6 +439,8 @@ > opFn OpGEq = (name "__intgeq") > opFn OpOr = (name "__or") > opFn OpAnd = (name "__and")+> opFn ShL = (name "__shl")+> opFn ShR = (name "__shr") > opFn ToInt = (name "__toInt") > opFn ToString = (name "__toString")@@ -470,7 +483,8 @@ > ivorDef :: Maybe IvorDef, > rawDecl :: Decl, -- handy to keep around for display + extra data > funFlags :: [CGFlag],-> lazyArgs :: [Int]+> lazyArgs :: [Int],+> staticArgs :: [Int] > } > | IvorProblem String > deriving Show@@ -483,10 +497,11 @@ > [(Name, (ViewTerm, Patterns))] > getRawPatternDefs raw ctxt = gdefs (ctxtAlist raw) where > gdefs [] = []-> gdefs ((n, IvorFun _ _ _ _ (decl@(LatexDefs _)) _ _):ds) = gdefs ds-> gdefs ((n, IvorFun _ _ _ _ (decl@(Fixity _ _ _)) _ _):ds) = gdefs ds-> gdefs ((n, IvorFun _ _ _ _ (decl@(Transform _ _)) _ _):ds) = gdefs ds-> gdefs ((n, IvorFun _ _ _ _ (decl@(Freeze _)) _ _):ds) = gdefs ds+> gdefs ((n, IvorFun _ _ _ _ (decl@(LatexDefs _)) _ _ _):ds) = gdefs ds+> gdefs ((n, IvorFun _ _ _ _ (decl@(Fixity _ _ _)) _ _ _):ds) = gdefs ds+> gdefs ((n, IvorFun _ _ _ _ (decl@(Transform _ _)) _ _ _):ds) = gdefs ds+> gdefs ((n, IvorFun _ _ _ _ (decl@(SynDef _ _ _)) _ _ _):ds) = gdefs ds+> gdefs ((n, IvorFun _ _ _ _ (decl@(Freeze _ _ _ _)) _ _ _):ds) = gdefs ds > gdefs ((n, ifun):ds) > = let Just iname = ivorFName ifun in > case (ivorFType ifun, ivorDef ifun) of@@ -514,6 +529,12 @@ > (Maybe (ViewTerm -> ViewTerm)) > (Maybe TransData) +A syntax definition is a syntax level transformation from one term to another+(macros, essentially).++> data Syntax = Syntax Id [Id] RawTerm+> deriving Show+ Concrete transformation data, used for rebuilding constructor transforms > data TransData = Force (Maybe (Name, Name)) Int Name [Name] @@ -531,11 +552,13 @@ > idris_options :: [Opt], -- global options > idris_fixities :: UserOps, -- infix operators and precedences > idris_transforms :: [Transform], -- optimisations-> idris_imports :: [FilePath] -- included files+> idris_syntax :: [Syntax], -- syntax macros+> idris_imports :: [FilePath], -- included files+> idris_names :: [(Name, Id)] -- map ivor names back to idris names > } > initState :: [Opt] -> IdrisState-> initState opts = IState newCtxt [] [] opts (UO [] [] []) [] []+> initState opts = IState newCtxt [] [] opts (UO [] [] [] []) [] [] [] [] Add implicit arguments to a raw term representing a type for each undefined name in the scope, returning the number of implicit arguments the resulting@@ -586,7 +609,7 @@ > if (i `elem` nms) then return () > else put (i:nms, tot+1) > | otherwise = return ()-> addImplB env (RApp _ _ f a) argpos+> addImplB env ap@(RApp _ _ f a) argpos > = do addImplB env f False > addImplB env a True > addImplB env (RAppImp _ _ _ f a) argpos @@ -626,7 +649,7 @@ > pibind :: Plicit -> [(Id, RawTerm)] -> RawTerm -> RawTerm > pibind plicit [] raw = raw > pibind plicit ((n, ty):ns) raw-> = RBind n (Pi plicit Eager ty) (pibind plicit ns raw)+> = RBind n (Pi plicit [] ty) (pibind plicit ns raw) > parambind :: [(Id, RawTerm)] -> RawTerm -> RawTerm > parambind xs (RBind n b@(Pi Im strict ty) sc) = RBind n b (parambind xs sc)@@ -646,11 +669,23 @@ > toIvorName :: Id -> Name > toIvorName i = name (show i) -> fromIvorName :: Name -> Id-> fromIvorName i = UN (show i)+Lookup the original Idris name of a name from Ivor. Makes up a name if+the name doesn't exist. -For desugaring do blocks and idiom brackets+> fromIvorName :: IdrisState -> Name -> Id+> fromIvorName ist i = case lookup i (idris_names ist) of+> Just n -> n+> _ -> UN (show i) +Make up a plausible Idris name from a name from Ivor (only really useful+for display purposes, or if it really doesn't matter whether the name exists +or not)++> fromIvorName_ :: Name -> Id+> fromIvorName_ i = UN (show i)++For desugaring -- do blocks, idiom brackets and syntax definitions+ > data UndoInfo = UI Id Int -- bind, bind implicit > Id Int -- return, return implicit > Id Int -- pure, pure implicit@@ -711,14 +746,16 @@ > defDo = UI bindName 2 retName 1 retName 1 applyName 2 -> toIvor :: UndoInfo -> Id -> RawTerm -> ViewTerm-> toIvor ui fname tm = evalState (toIvorS tm) (0,1)+> toIvor :: UserOps -> UndoInfo -> Id -> RawTerm -> ViewTerm+> toIvor uo ui fname tm = evalState (toIvorS tm) (0,1) > where > toIvorS :: RawTerm -> State (Int, Int) ViewTerm > toIvorS (RVar f l n) = return $ Annotation (FileLoc f l) (Name Unknown (toIvorName n))-> toIvorS (RApp file line f a) = do f' <- toIvorS f-> a' <- toIvorS a-> return (Annotation (FileLoc file line) (App f' a'))+> toIvorS (RVars f l ns) = return $ Annotation (FileLoc f l) (Overloaded (map toIvorName ns))+> toIvorS ap@(RApp file line f a)+> = do f' <- toIvorS f+> a' <- toIvorS a+> return (Annotation (FileLoc file line) (App f' a')) > toIvorS (RBind (MN "X" 0) (Pi _ _ ty) sc) > = do ty' <- toIvorS ty > sc' <- toIvorS sc@@ -794,38 +831,44 @@ > makeIvorTerm :: Implicit -> UndoInfo -> UserOps -> Id -> Ctxt IvorFun -> RawTerm -> ViewTerm > makeIvorTerm using ui uo n ctxt tm > = let expraw = addPlaceholders ctxt using uo tm in-> toIvor ui n expraw+> toIvor uo ui n expraw Add placeholders so that implicit arguments can be filled in. Also desugar user infix apps. FIXME: I think this'll fail if names are shadowed. > addPlaceholders :: Ctxt IvorFun -> Implicit -> UserOps -> RawTerm -> RawTerm-> addPlaceholders ctxt using (UO uo _ _) tm = ap [] tm+> addPlaceholders ctxt using (UO uo _ _ syns) tm = ap [] tm > -- Count the number of args we've made explicit in an application > -- and don't add placeholders for them. Reset the counter if we get > -- out of an application-> where ap ex (RVar f l n)-> = case ctxtLookupName ctxt (thisNamespace using) n of-> Right (IvorFun _ (Just ty) imp _ _ _ _, fulln) -> +> where ap ex v@(RVar f l n)+> = case doSynN f l n syns of+> RVar _ _ n ->+> case ctxtLookupName ctxt (thisNamespace using) n of+> Right (IvorFun _ (Just ty) imp _ _ _ _ _, fulln) -> > let pargs = case lookup n pnames of > Nothing -> [] > Just ids -> map (RVar f l) ids in > mkApp f l (RVar f l fulln) > ((mkImplicitArgs > (map fst (fst (getBinders ty []))) imp ex) ++ pargs)-> Left err@(Ambiguous _ _) -> RError f l (show err)+> Left err@(Ambiguous _ ns) -> RError f l (show err) -- RVars f l ns > Left err@(WrongNamespace _ _) -> RError f l (show err) > Right (_, fulln) -> RVar f l fulln > _ -> RVar f l n+> t -> ap ex t > ap ex (RExpVar f l n) > = case ctxtLookupName ctxt (thisNamespace using) n of-> Right (IvorFun _ (Just ty) imp _ _ _ _, fulln) -> RVar f l fulln+> Right (IvorFun _ (Just ty) imp _ _ _ _ _, fulln) -> RVar f l fulln > Left err@(Ambiguous _ _) -> RError f l (show err) > Left err@(WrongNamespace _ _) -> RError f l (show err) > Right (_, fulln) -> RVar f l fulln > _ -> RVar f l n > ap ex (RAppImp file line n f a) = (ap ((toIvorName n,(ap [] a)):ex) f)-> ap ex (RApp file line f a) = (RApp file line (ap ex f) (ap [] a))+> ap ex app@(RApp file line f a) = +> case doSyn app syns f [a] of+> RApp _ _ f a -> RApp file line (ap ex f) (ap [] a)+> t -> ap ex t > ap ex (RBind n (Pi p l ty) sc) > = RBind n (Pi p l (ap [] ty)) (ap [] sc) > ap ex (RBind n (Lam ty) sc)@@ -850,6 +893,34 @@ > pnames = paramNames using +> doSyn o syns (RApp _ _ f a) args = doSyn o syns f (a:args)+> doSyn o syns v args +> = case ap [] v of+> RVar f l n -> +> case findSyn n syns of+> Just (a, rhs) -> replSyn f l rhs (zip a args)+> Nothing -> o+> _ -> o++> doSynN f l n syns = case findSyn n syns of+> Just ([], rhs) -> replSyn f l rhs []+> _ -> RVar f l n++> findSyn n [] = Nothing+> findSyn n ((Syntax f as rhs):xs) | n == f = Just (as, rhs)+> | otherwise = findSyn n xs++> replSyn f l t@(RVar _ _ n) as = case lookup n as of+> Just v -> v+> Nothing -> RVar f l n+> replSyn f l (RApp _ _ fn a) as +> = RApp f l (replSyn f l fn as) (replSyn f l a as)+> replSyn f l (RInfix _ _ op x y) as +> = RInfix f l op (replSyn f l x as) (replSyn f l y as)+> replSyn f l (RAppImp _ _ x fn a) as+> = RAppImp f l x (replSyn f l fn as) (replSyn f l a as)+> replSyn _ _ x _ = x+ Go through the arguments; if an implicit argument has the same name as one in our list of explicit names to add, add it. @@ -923,7 +994,7 @@ > dump :: Ctxt IvorFun -> String > dump ctxt = concat $ map dumpFn (ctxtAlist ctxt)-> where dumpFn (_,IvorFun n ty imp def _ _ _) =+> where dumpFn (_,IvorFun n ty imp def _ _ _ _) = > show n ++ " : " ++ show ty ++ "\n" ++ > " " ++ show imp ++ " implicit\n" ++ > show def ++ "\n\n"@@ -968,7 +1039,7 @@ > _ -> unwind (RVar "[val]" 0 (mkRName v)) args > unI (App f a) args = unI f ((unI a []):args) > unI (Lambda v ty sc) args = unwind (RBind (mkRName v) (Lam (unI ty [])) (unI sc [])) args-> unI (Forall v ty sc) args = unwind (RBind (mkRName v) (Pi Ex Eager (unI ty [])) (unI sc [])) args+> unI (Forall v ty sc) args = unwind (RBind (mkRName v) (Pi Ex [] (unI ty [])) (unI sc [])) args > unI (Let v ty val sc) args = unwind (RBind (mkRName v) > (RLet (unI val []) (unI ty [])) > (unI sc [])) args@@ -976,6 +1047,9 @@ > unI (Constant c) [] = let try f = fmap (RConst "[val]" 0 . f) $ cast c > in fromJust $ msum [try Num, try Str, try Ch, try Fl] > unI (Annotation _ x) args = unI x args+> unI (Metavar n) args = RMetavar (mkRName n)+> unI Placeholder args = RPlaceholder+> unI x args = error (show x) > unwind = mkImpApp "[val]" 0 0 []
Idris/Compiler.lhs view
@@ -52,7 +52,7 @@ > = -- trace (show (x,def)) $ > let lifted = lambdaLift ctxt ist x args def > scfuns = map (\ (n,args,sc) -> -> (n, scFun ctxt ist (fromIvorName n) args sc)) lifted+> (n, scFun ctxt ist (fromIvorName ist n) args sc)) lifted > xs' = allSCs xs in > mkGen gen scfuns ++ xs' > mkGen gen ((n, d):ds) = (n,gen,d):(mkGen True ds)@@ -226,6 +226,8 @@ > writeSC' (SApp (SVar n) [arg1, arg2]) > | n == name "__strEq" = > "__epic_streq("++writeSC' arg1++", " ++ writeSC' arg2 ++ ")"+> | n == name "__charEq" =+> "__epic_chareq("++writeSC' arg1++", " ++ writeSC' arg2 ++ ")" > | n == name "__strLT" = > "__epic_strlt("++writeSC' arg1++", " ++ writeSC' arg2 ++ ")"
Idris/ConTrans.lhs view
@@ -55,7 +55,7 @@ > lhsSafe (Trans nm _ _) = not (isSuffixOf "_ID" nm) -> allTrans ts tm = foldl (\tm (l,r) -> Ivor.ViewTerm.transform l r tm) tm ts+> allTrans ts tm = foldl (\tm (l,r) -> Ivor.ViewTerm.transform l r tm) tm (ts++ts) Look at all the definitions in the context, and make the relevant constructor transformations for forcing, detagging and collapsing.@@ -126,7 +126,7 @@ > forceable = nub (map (\ (x,y) -> (x, force ctxt y acc, Ivor.TT.getArgTypes y)) cons) > detaggable = pdisjoint ctxt detagin > recursive = nub (map (\ (x,y) -> (x, recArgs n y acc, Ivor.TT.getArgTypes y)) cons)-> collapsible = detaggable && all droppedAll (combine forceable recursive)+> collapsible = (detaggable && all droppedAll (combine forceable recursive)) || (n == name "Proof") > nattable = isNat forceable recursive > in > -- trace (show n ++ " " ++ show (nattable) ++ " " ++ show (forceable, recursive)) $ -- FORCING \n\t" ++ show forceable)
Idris/Fontlock.lhs view
@@ -73,7 +73,7 @@ > "import","export","inline","where","partial","syntax","lazy", > "infix","infixl","infixr","do","refl","if","then","else","let", > "in","return","include","exists", "with"]-> types = ["String","Int","Char","Float","Ptr","Lock","Handle"]+> types = ["String","Int","Char","Float","Ptr","Lock","Handle","Set"] > markupSpecial ms cs = case span isAllowed cs of > (var,rest) -> (None, '%':var):(markupText ms rest)
Idris/LambdaLift.lhs view
@@ -280,7 +280,7 @@ > scapply ist (SVar n) args > = let raw = idris_context ist in-> case ctxtLookup raw [] (fromIvorName n) of+> case ctxtLookup raw [] (fromIvorName ist n) of > Left _ -> SApp (SVar n) args > Right ifn -> let ia = implicitArgs ifn > lz = lazyArgs ifn @@ -288,7 +288,7 @@ > SApp (SVar n) args' > scapply ist (SCon n i) args > = let raw = idris_context ist in-> case ctxtLookup raw [] (fromIvorName n) of+> case ctxtLookup raw [] (fromIvorName ist n) of > Left _ -> SApp (SCon n i) args > Right ifn -> let ia = implicitArgs ifn > lz = lazyArgs ifn
Idris/Latex.lhs view
@@ -25,17 +25,17 @@ > = case lookup n (defs++ldefs) of > Just l -> l > Nothing -> case ctxtLookup ctxt [] n of-> Right (IvorFun _ _ _ _ d _ _) -> ty d (show n)+> Right (IvorFun _ _ _ _ d _ _ _) -> ty d (show n) > Left _ -> "\\VV{" ++ show n ++ "}" > where ty (DataDecl _) n = "\\TC{" ++ n ++ "}" > ty Constructor n = "\\DC{" ++ n ++ "}" > ty _ n = "\\FN{" ++ n ++ "}" > ldefs = case ctxtLookup ctxt [] (MN "latex" 0) of-> Right (IvorFun _ _ _ _ (LatexDefs ds) _ _) -> ds+> Right (IvorFun _ _ _ _ (LatexDefs ds) _ _ _) -> ds > Left _ -> [] > instance LaTeX IvorFun where-> latex ctxt defs (IvorFun nm ty _ _ decl _ _) = latex ctxt defs decl+> latex ctxt defs (IvorFun nm ty _ _ decl _ _ _) = latex ctxt defs decl > instance LaTeX Decl where > latex ctxt defs (DataDecl (Datatype id ty cons _ _ _ _))
Idris/Lexer.hs view
@@ -80,6 +80,7 @@ | TokenPartial | TokenSyntax | TokenLazy+ | TokenStatic | TokenWhere | TokenWith | TokenType@@ -95,7 +96,7 @@ | TokenCSB | TokenOId | TokenCId- | TokenExists+-- | TokenExists | TokenConcat | TokenTilde | TokenPlus@@ -149,6 +150,7 @@ | TokenProof | TokenIntro | TokenRefine+ | TokenExists | TokenGeneralise | TokenReflP | TokenRewrite@@ -164,6 +166,7 @@ | TokenUse | TokenDecide | TokenAbandon+ | TokenProofTerm | TokenQED -- Directives | TokenLaTeX@@ -287,11 +290,13 @@ ("partial",rest) -> cont TokenPartial rest ("syntax",rest) -> cont TokenSyntax rest ("lazy",rest) -> cont TokenLazy rest+ ("static",rest) -> cont TokenStatic rest ("infix",rest) -> cont TokenInfix rest ("infixl",rest) -> cont TokenInfixL rest ("infixr",rest) -> cont TokenInfixR rest ("exists",rest) -> cont TokenExists rest -- Types+ ("Set",rest) -> cont TokenType rest ("Int",rest) -> cont TokenIntType rest ("Char",rest) -> cont TokenCharType rest ("Float",rest) -> cont TokenFloatType rest@@ -364,6 +369,7 @@ -- don't need the ugly syntax... ("intro",rest) -> cont TokenIntro rest ("refine",rest) -> cont TokenRefine rest+ ("exists",rest) -> cont TokenExists rest ("generalise",rest) -> cont TokenGeneralise rest ("refl",rest) -> cont TokenReflP rest ("rewrite",rest) -> cont TokenRewrite rest@@ -379,6 +385,7 @@ ("use", rest) -> cont TokenUse rest ("decide", rest) -> cont TokenDecide rest ("abandon", rest) -> cont TokenAbandon rest+ ("prf", rest) -> cont TokenProofTerm rest ("qed", rest) -> cont TokenQED rest (thing,rest) -> lexError '%' rest
Idris/MakeTerm.lhs view
@@ -20,23 +20,25 @@ > = let (rty, imp) = addImplWith using ctxt ty > ity = makeIvorTerm using ui uo n ctxt rty > extCtxt = addEntry ctxt (thisNamespace using) n (IvorFun Nothing (Just ity) -> imp Nothing decl flags (getLazy ty))+> imp Nothing decl flags (map (+p) (getLazy ty)) (map (+p) (getStatic ty))) > pclauses = map (mkPat extCtxt imp) clauses in > IvorFun (Just (toIvorName (fullName using n))) > (Just (Annotation (FileLoc file line) ity)) imp -> (Just (PattDef (Patterns pclauses))) decl flags (getLazy ty)-> where mkPat ectx imp (id,(RawClause lhs rhs)) +> (Just (PattDef (Patterns pclauses))) decl flags +> (map (+p) (getLazy ty)) (map (+p) (getStatic ty))+> where p = length (params using)+> mkPat ectx imp (id,(RawClause lhs rhs)) > = let lhs' = addPlaceholders ectx using uo lhs in > case (getFn lhs', getRawArgs lhs') of > (fid, pats) ->-> let vpats = map (toIvor ui n) pats+> let vpats = map (toIvor uo ui n) pats > vrhs = makeIvorTerm using ui uo n ectx rhs in > PClause vpats [] vrhs > mkPat ectx imp (id,(RawWithClause lhs prf scr def)) > = let lhs' = addPlaceholders ectx using uo lhs in > case (getFn lhs', getRawArgs lhs') of > (fid, pats) ->-> let vpats = map (toIvor ui n) pats+> let vpats = map (toIvor uo ui n) pats > vscr = makeIvorTerm using ui uo n ectx scr > vdef = Patterns $ map (mkPat ectx imp) (zip (repeat id) def) in > PWithClause prf vpats vscr vdef@@ -98,17 +100,17 @@ > mif opt ctxt (addEntry acc (thisNamespace using) n > (IvorFun (Just (toIvorName (fullName using n))) > (Just (Annotation (FileLoc file line) ity))-> imp (Just Later) decl flags (getLazy ty))) using ui uo ds+> imp (Just Later) decl flags (getLazy ty) (getStatic ty))) using ui uo ds > mif opt ctxt acc using' ui uo (decl@(DataDecl d):ds) > = let using = addParamName using' (tyId d) in > addDataEntries opt ctxt acc decl d using ui uo ds -- will call mif on ds-> mif opt ctxt acc using ui uo@(UO _ trans _) (decl@(TermDef n tm flags):ds) +> mif opt ctxt acc using ui uo@(UO _ trans _ _) (decl@(TermDef n tm flags):ds) > | null $ params using > = let (itmraw, imp) = addImplWith using (appCtxt ctxt acc) tm > itm = makeIvorTerm using ui uo n (appCtxt ctxt acc) itmraw in > mif opt ctxt (addEntry acc (thisNamespace using) n > (IvorFun (Just (toIvorName (fullName using n))) Nothing imp -> (Just (SimpleDef itm)) decl flags [])) using ui uo ds+> (Just (SimpleDef itm)) decl flags [] [])) using ui uo ds > | otherwise = let (f,l) = getFileLine tm in > mif opt ctxt (addEntry acc (thisNamespace using) n > (IvorProblem (f ++ ":" ++ show l ++ ":" ++@@ -116,12 +118,12 @@ > using ui uo ds > mif opt ctxt acc using ui uo (decl@(LatexDefs ls):ds) > = mif opt ctxt (addEntry acc (thisNamespace using) (MN "latex" 0) -> (IvorFun Nothing Nothing 0 Nothing decl [] [])) using ui uo ds-> mif opt ctxt acc using ui (UO fix trans fr) (decl@(Fixity op assoc prec):ds) +> (IvorFun Nothing Nothing 0 Nothing decl [] [] [])) using ui uo ds+> mif opt ctxt acc using ui (UO fix trans fr syns) (decl@(Fixity op assoc prec):ds) > = mif opt ctxt (addEntry acc (thisNamespace using) (MN "fixity" (length ds)) -> (IvorFun Nothing Nothing 0 Nothing decl [] [])) using ui -> (UO ((op,(assoc,prec)):fix) trans fr) ds-> mif opt ctxt acc using ui uo@(UO fix trans fr) (decl@(Transform lhs rhs):ds) +> (IvorFun Nothing Nothing 0 Nothing decl [] [] [])) using ui +> (UO ((op,(assoc,prec)):fix) trans fr syns) ds+> mif opt ctxt acc using ui uo@(UO fix trans fr syns) (decl@(Transform lhs rhs):ds) > = let lhsraw = addPlaceholders (appCtxt ctxt acc) using uo lhs > rhsraw = addPlaceholders (appCtxt ctxt acc) using uo rhs > lhstm = makeIvorTerm using ui uo (MN "LHS" 0) ctxt lhsraw@@ -129,26 +131,31 @@ > trans' = if (NoSpec `elem` opt) then trans else > (lhstm,rhstm):trans in > mif opt ctxt (addEntry acc (thisNamespace using) (MN "transform" (length ds)) -> (IvorFun Nothing Nothing 0 Nothing decl [] [])) using ui -> (UO fix trans' fr) ds+> (IvorFun Nothing Nothing 0 Nothing decl [] [] [])) using ui +> (UO fix trans' fr syns) ds+> mif opt ctxt acc using ui uo@(UO fix trans fr syns) (decl@(SynDef f args rhs):ds) +> = let sname = mkName (thisNamespace using) f in+> mif opt ctxt (addEntry acc (thisNamespace using) f+> (IvorFun Nothing Nothing 0 Nothing decl [] [] []))+> using ui (UO fix trans fr ((Syntax sname args rhs):syns)) ds Don't add yet! Or everything will be frozen in advance, rather than being frozen after they are needed. -> mif opt ctxt acc using ui uo@(UO fix trans fr) (decl@(Freeze frfn):ds) +> mif opt ctxt acc using ui uo@(UO fix trans fr syns) (decl@(Freeze _ _ _ _):ds) > = mif opt ctxt (addEntry acc (thisNamespace using) (MN "freeze" (length ds))-> (IvorFun Nothing Nothing 0 Nothing decl [] [])) using ui -> (UO fix trans fr) ds+> (IvorFun Nothing Nothing 0 Nothing decl [] [] [])) using ui +> (UO fix trans fr syns) ds > mif opt ctxt acc using ui uo (decl@(Prf (Proof n _ scr)):ds) > = case ctxtLookup acc (thisNamespace using) n of > Left _ -> -- add the script and process the type later, should > -- be a metavariable > mif opt ctxt (addEntry acc (thisNamespace using) n-> (IvorFun (Just (toIvorName (fullName using n))) Nothing 0 (Just (IProof scr)) decl [] [])) +> (IvorFun (Just (toIvorName (fullName using n))) Nothing 0 (Just (IProof scr)) decl [] [] [])) > using ui uo ds-> Right (IvorFun _ (Just ty) imp _ _ _ _) -> +> Right (IvorFun _ (Just ty) imp _ _ _ _ _) -> > mif opt ctxt (addEntry acc (thisNamespace using) n-> (IvorFun (Just (toIvorName (fullName using n))) (Just ty) imp (Just (IProof scr)) decl [] []))+> (IvorFun (Just (toIvorName (fullName using n))) (Just ty) imp (Just (IProof scr)) decl [] [] [])) > using ui uo ds Just pass these on to epic to do the right thing@@ -171,18 +178,18 @@ > let (tyraw, imp) = addImplWith using (appCtxt ctxt acc) tty > tytm = Annotation (FileLoc f l) $ makeIvorTerm using ui uo tid (appCtxt ctxt acc) tyraw > acc' = addEntry acc (thisNamespace using) tid -> (IvorFun (Just (toIvorName (fullName using tid))) (Just tytm) imp (Just LataDef) decl [] []) in+> (IvorFun (Just (toIvorName (fullName using tid))) (Just tytm) imp (Just LataDef) decl [] [] []) in > mif opt ctxt acc' using ui uo ds > addDataEntries opt ctxt acc decl (Datatype tid tty cons u e f l) using ui uo ds = > let (tyraw, imp) = addImplWith using (appCtxt ctxt acc) tty > tytm = Annotation (FileLoc f l) $ makeIvorTerm using ui uo tid (appCtxt ctxt acc) tyraw > acctmp = addEntry (appCtxt ctxt acc) (thisNamespace using) tid -> (IvorFun (Just (toIvorName (fullName using tid))) (Just tytm) imp Nothing decl [] [])+> (IvorFun (Just (toIvorName (fullName using tid))) (Just tytm) imp Nothing decl [] [] []) > ddef = makeInductive acctmp tid (getBinders tytm []) cons > (addUsing using (Imp u [] [] (thisNamespace using))) ui uo [] > acc' = addEntry acc (thisNamespace using) tid > (IvorFun (Just (toIvorName (fullName using tid))) (Just tytm) imp -> (Just (DataDef ddef (not (elem NoElim e)))) decl [] []) in+> (Just (DataDef ddef (not (elem NoElim e)))) decl [] [] []) in > addConEntries opt ctxt acc' cons u using ui uo ds f l Inductive (toIvorName tid) [] @@ -270,7 +277,7 @@ > (tyraw, imp) = addImplWith (addUsing (Imp u [] [] (thisNamespace using)) using) (appCtxt ctxt acc) ty > tytm = Annotation (FileLoc f l) $ makeIvorTerm using ui uo cid (appCtxt ctxt acc) tyraw > acc' = addEntry acc (thisNamespace using) cid -> (IvorFun (Just (toIvorName (fullName using cid))) (Just tytm) (imp+length (params using')) (Just IDataCon) Constructor [] (getLazy ty)) in+> (IvorFun (Just (toIvorName (fullName using cid))) (Just tytm) (imp+length (params using')) (Just IDataCon) Constructor [] (getLazy ty) (getStatic ty)) in > addConEntries opt ctxt acc' cs u using ui uo ds f l Add definitions to the Ivor Context. Return the new context and a list@@ -298,20 +305,24 @@ > Ctxt IvorFun -> UserOps -> (Context, [(Name, ViewTerm)]) -> > (Id, IvorFun) -> > TTM ((Context, [(Name, ViewTerm)]), UserOps)-> addIvorDef opt raw uo (ctxt, metas) (n,IvorFun name tyin _ def (LatexDefs _) _ _) +> addIvorDef opt raw uo (ctxt, metas) (n,IvorFun name tyin _ def (LatexDefs _) _ _ _) > = return ((ctxt, metas), uo)-> addIvorDef opt raw (UO fix trans fr) (ctxt, metas) (n,IvorFun name tyin _ def f@(Fixity op assoc prec) _ _) -> = return ((ctxt, metas), UO fix trans fr)-> addIvorDef opt raw (UO fix trans fr) (ctxt, metas) (n,IvorFun name tyin _ def f@(Transform lhs rhs) _ _)-> = return ((ctxt, metas), UO fix trans fr)-> addIvorDef opt raw (UO fix trans fr) (ctxt, metas) (n,IvorFun name tyin _ def f@(Freeze frfn) _ _)-> = return ((ctxt, metas), UO fix trans (frfn:fr))-> addIvorDef opt raw uo@(UO fix trans fr) (ctxt, metas) (n,IvorFun (Just name) tyin _ (Just def') _ flags lazy) +> addIvorDef opt raw (UO fix trans fr syns) (ctxt, metas) (n,IvorFun name tyin _ def f@(Fixity op assoc prec) _ _ _) +> = return ((ctxt, metas), UO fix trans fr syns)+> addIvorDef opt raw (UO fix trans fr syns) (ctxt, metas) (n,IvorFun name tyin _ def f@(SynDef _ _ _) _ _ _) +> = return ((ctxt, metas), UO fix trans fr syns)+> addIvorDef opt raw (UO fix trans fr syns) (ctxt, metas) (n,IvorFun name tyin _ def f@(Transform lhs rhs) _ _ _)+> = return ((ctxt, metas), UO fix trans fr syns)+> addIvorDef opt raw (UO fix trans fr syns) (ctxt, metas) (n,IvorFun name tyin _ def f@(Freeze file line ns frfn) _ _ _)+> = case ctxtLookupName raw ns frfn of+> Right (_,fn') -> return ((ctxt, metas), UO fix trans (fn':fr) syns)+> Left err -> Left (ErrContext (file ++ ":" ++ show line ++ ":") (Message (show err)))+> addIvorDef opt raw uo@(UO fix trans fr syns) (ctxt, metas) (n,IvorFun (Just name) tyin _ (Just def') _ flags lazy static) > = let def = if (Verbose `elem` opt) > then trace ("Processing " ++ show n) def' else def' in > case def of-> PattDef ps -> -- trace (show ps) $-> do (ctxt, newdefs) <- addPatternDefSC ctxt name (unjust tyin) ps+> PattDef ps -> -- trace (show (ps, getSpec flags fr)) $+> do (ctxt, newdefs) <- addPatternDefSC ctxt name (unjust tyin) ps (getSpec flags fr) > if (null newdefs) then return ((ctxt, metas), uo) > else do r <- addMeta (Verbose `elem` opt) raw ctxt metas newdefs > return (r, uo)@@ -332,7 +343,8 @@ > LataDef -> case tyin of > Just ty -> do ctxt <- declareData ctxt name ty > return ((ctxt, metas), uo)-> DataDef ind e -> do c <- addDataNoElim ctxt ind+> DataDef ind e -> -- trace (show ind) $+> do c <- addDataNoElim ctxt ind > -- add once to fill in placeholders > ctxt <- if e then do > d <- getInductive c name
Idris/Parser.y view
@@ -105,6 +105,7 @@ partial { TokenPartial } syntax { TokenSyntax } lazy { TokenLazy }+ static { TokenStatic } refl { TokenRefl } empty { TokenEmptyType } unit { TokenUnitType }@@ -136,6 +137,7 @@ use { TokenUse } decide { TokenDecide } abandon { TokenAbandon }+ proofterm { TokenProofTerm } qed { TokenQED } latex { TokenLaTeX } nocg { TokenNoCG }@@ -161,16 +163,16 @@ %left concat %left '\\' %right arrow-%left '(' '{' lazybracket+%left '(' '{' lazybracket '[' %nonassoc '.' %right IMP %nonassoc CONST -- All the things I don't want to cause a reduction inside a lam... %nonassoc name inttype chartype floattype stringtype int char string float bool refl do type- empty unit '_' if then else ptrtype handletype locktype metavar NONE brackname lazy- oid '[' '~' lpair PAIR return transarrow exists+ empty unit '_' ptrtype handletype locktype metavar NONE brackname lazy+ oid '~' lpair PAIR return transarrow exists %left APP-+%nonassoc if then else %% @@ -194,14 +196,14 @@ Declaration: Function { $1 } | Datatype { RealDecl (DataDecl $1) } | Latex { RealDecl $1 }- | freeze name ';' { RealDecl (Freeze $2) }+ | freeze name File Line ';' { RealDecl (Freeze $3 $4 [] $2) } | Using '{' Program '}' { PUsing $1 $3 } | DoUsing '{' Program '}' { PDoUsing $1 $3 } | Idiom '{' Program '}' { PIdiom $1 $3 } | Params '{' Program '}' { PParams $1 $3 } | Namespace '{' Program '}' { PNamespace $1 $3 } | Transform { RealDecl $1 }- | syntax Name NamesS '=' Term ';' { PSyntax $2 $3 $5 }+ | syntax Name NamesS '=' Term ';' { RealDecl (SynDef $2 $3 $5) } | cinclude string { RealDecl (CInclude $2) } | clib string { RealDecl (CLib $2) } @@ -388,7 +390,7 @@ | brackname ',' Names { $1:$3 } NamesS :: { [Id] }-NamesS : Name { [$1] }+NamesS : { [] } | Name NamesS { $1:$2 } LetBinds :: { [(Id, RawTerm, RawTerm)] }@@ -414,7 +416,7 @@ -- | Term le Term File Line { RInfix $4 $5 OpLEq $1 $3 } | Term '>' Term File Line { RUserInfix $4 $5 False ">" $1 $3 } -- | Term ge Term File Line { RInfix $4 $5 OpGEq $1 $3 }- | Term arrow Term File Line { RBind (MN "X" 0) (Pi Ex Eager $1) $3 }+ | Term arrow Term File Line { RBind (MN "X" 0) (Pi Ex [] $1) $3 } | UserInfixTerm { $1 } | NoAppTerm '=' NoAppTerm File Line { RInfix $4 $5 JMEq $1 $3 } @@ -442,14 +444,14 @@ | '(' Term arrow File Line ')' { RBind (MN "X" 0) (Lam RPlaceholder) - (RBind (MN "X" 1) (Pi Ex Eager $2) (RVar $4 $5 (MN "X" 0))) }+ (RBind (MN "X" 1) (Pi Ex [] $2) (RVar $4 $5 (MN "X" 0))) } | '(' arrow Term File Line ')' { RBind (MN "X" 0) (Lam RPlaceholder) - (RBind (MN "X" 1) (Pi Ex Eager (RVar $4 $5 (MN "X" 0))) $3) } + (RBind (MN "X" 1) (Pi Ex [] (RVar $4 $5 (MN "X" 0))) $3) } | '(' arrow File Line ')' { RBind (MN "X" 0) (Lam RPlaceholder) (RBind (MN "X" 1) (Lam RPlaceholder)- (RBind (MN "X" 2) (Pi Ex Eager (RVar $3 $4 (MN "X" 0)))+ (RBind (MN "X" 2) (Pi Ex [] (RVar $3 $4 (MN "X" 0))) (RVar $3 $4 (MN "X" 1)))) } -- Special cases for pairing@@ -487,15 +489,15 @@ Type :: { RawTerm } Type : BrackNames MaybeAType '}' arrow Type- { doBind (Pi Im Eager) (map (\x -> (x, $2)) $1) $5 }+ { doBind (Pi Im []) (map (\x -> (x, $2)) $1) $5 } | TypeTerm { $1 } TypeTerm :: { RawTerm }-TypeTerm : TypeTerm arrow TypeTerm { RBind (MN "X" 0) (Pi Ex Eager $1) $3 }- | '(' TypedBinds ')' arrow TypeTerm- { doBind (Pi Ex Eager) $2 $5 }+TypeTerm : TypeTerm arrow TypeTerm { RBind (MN "X" 0) (Pi Ex [] $1) $3 }+ | '(' TypedBinds ')' ArgOpts arrow TypeTerm+ { doBind (Pi Ex $4) $2 $6 } | lazybracket TypedBinds ')' arrow TypeTerm- { doBind (Pi Ex Lazy) $2 $5 }+ { doBind (Pi Ex [Lazy]) $2 $5 } | '(' TypeTerm ')' { bracket $2 } | '(' TypeTerm '=' TypeTerm File Line ')' { RInfix $5 $6 JMEq $2 $4 } | SimpleAppTerm { $1 }@@ -504,6 +506,18 @@ | '(' TypeList ')' File Line { pairDesugar $4 $5 (RVar $4 $5 (UN "Pair")) $2 } | SigmaType { $1 } +ArgOpt :: { ArgOpt }+ArgOpt : lazy { Lazy }+ | static { Static }++ArgOpts :: { [ArgOpt] }+ArgOpts : '[' ArgOptList ']' { $2 }+ | { [] }++ArgOptList :: { [ArgOpt] }+ArgOptList : ArgOpt ',' ArgOptList { $1:$3 }+ | ArgOpt { [$1] }+ SigmaType :: { RawTerm } SigmaType : '(' Name MaybeType stars TypeTerm ')' File Line { sigDesugar $7 $8 ($2, $3) $5 }@@ -539,9 +553,9 @@ SigmaTerm :: { RawTerm } SigmaTerm : lpair Term ',' Term rpair File Line %prec PAIR- { RApp $6 $7 (RAppImp $6 $7 (UN "a") (RVar $6 $7 (UN "Exists")) $2) $4 }+ { RApp $6 $7 (RApp $6 $7 (RVar $6 $7 (UN "Exists")) $2) $4 } | lpair Term rpair File Line %prec PAIR- { RApp $4 $5 (RVar $4 $5 (UN "Exists")) $2 }+ { RApp $4 $5 (RApp $4 $5 (RVar $4 $5 (UN "Exists")) RPlaceholder) $2 } TermList :: { [RawTerm] } : Term ',' Term { $1:$3:[] }@@ -635,6 +649,7 @@ Tactic : intro Names { Intro $2 } | intro { Intro [] } | refine Name { Refine $2 }+ | exists Term { Exists $2 } | generalise Term { Generalise $2 } | reflp { ReflP } | rewrite Term { Rewrite False False $2 }@@ -652,6 +667,7 @@ | use Term { Use $2 } | decide Term { Decide $2 } | abandon { Abandon }+ | proofterm { ProofTerm } | qed { Qed } ProofScript :: { [ITactic] }@@ -723,7 +739,7 @@ mkCon _ (Full n t) = (n,t) mkCon ty (Simple n args) = (n, mkConTy args ty) where mkConTy [] ty = ty- mkConTy (a:as) ty = RBind (MN "X" 0) (Pi Ex Eager a) (mkConTy as ty)+ mkConTy (a:as) ty = RBind (MN "X" 0) (Pi Ex [] a) (mkConTy as ty) mkDef file line (n, tms) = mkImpApp (RVar file line n) tms where mkImpApp f [] = f@@ -745,7 +761,7 @@ mkTyParams :: String -> Int -> [Id] -> RawTerm mkTyParams f l [] = RConst f l TYPE-mkTyParams f l (x:xs) = RBind x (Pi Ex Eager (RConst f l TYPE)) (mkTyParams f l xs)+mkTyParams f l (x:xs) = RBind x (Pi Ex [] (RConst f l TYPE)) (mkTyParams f l xs) mkDatatype :: String -> Int -> Id -> Either RawTerm ((RawTerm, [(Id, RawTerm)]), [ConParse]) ->
Idris/Prover.lhs view
@@ -102,6 +102,9 @@ > at ctxt (Intro ns) = introsNames (map toIvorName ns) defaultGoal ctxt > at ctxt (Refine n) = refine (Name Unknown (toIvorName n)) defaultGoal ctxt > at ctxt (Generalise t) = generalise (ivor t) defaultGoal ctxt+> at ctxt (Exists t) = refine (App (App (App (Name Unknown (name "Exists"))+> Placeholder) Placeholder)+> (ivor t)) defaultGoal ctxt > at ctxt ReflP = refine reflN defaultGoal ctxt > at ctxt (Fill t) = fill (ivor t) defaultGoal ctxt > at ctxt Trivial = (trivial >|> refine reflN) defaultGoal ctxt@@ -114,6 +117,8 @@ > at ctxt Compute = compute defaultGoal ctxt > at ctxt (Unfold n) = unfold (toIvorName n) defaultGoal ctxt > at ctxt (RunTactic tm) = runtac (ivor tm) defaultGoal ctxt+> at ctxt ProofTerm = do tm <- proofterm ctxt+> fail (showVT raw (view tm)) > at ctxt Qed = qed ctxt > ivor t = makeIvorTerm noImplicit defDo uo (UN "__prf") raw t
Idris/Serialise.lhs view
@@ -93,7 +93,7 @@ > get = do t <- get > return (toEnum t) -> instance Binary Laziness where+> instance Binary ArgOpt where > put x = put (fromEnum x) > get = do t <- get > return (toEnum t)@@ -205,16 +205,20 @@ > Just a' -> Just (rebuildTrans a') > return (Trans n trans a) +> instance Binary Syntax where+> put (Syntax f n t) = do put f; put n; put t+> get = liftM3 Syntax get get get+ > instance Binary UserOps where-> put (UO ds ts f) = do put ds; put ts; put f-> get = do ds <- get; ts <- get; f <- get;-> return (UO ds ts f)+> put (UO ds ts f s) = do put ds; put ts; put f; put s+> get = do ds <- get; ts <- get; f <- get; s <- get;+> return (UO ds ts f s) > instance Binary IvorFun where-> put (IvorFun a b c d e f g) = -> do put a; put b; put c; put d; put e; put f; put g;-> get = do a <- get; b <- get; c <- get; d <- get; e <- get; f <- get; g <- get-> return (IvorFun a b c d e f g)+> put (IvorFun a b c d e f g h) = +> do put a; put b; put c; put d; put e; put f; put g; put h+> get = do a <- get; b <- get; c <- get; d <- get; e <- get; f <- get; g <- get; h <- get+> return (IvorFun a b c d e f g h) > instance Binary CGFlag where > put NoCG = put (0 :: Word8)@@ -247,7 +251,7 @@ > put (CInclude d) = do put (12 :: Word8); put d > put (Fixity a b c) = do put (13 :: Word8); put a; put b; put c > put (Transform a b) = do put (14 :: Word8); put a; put b-> put (Freeze a) = do put (15 :: Word8); put a+> put (Freeze a b c d) = do put (15 :: Word8); put a; put b; put c; put d > get = do tag <- getWord8 > case tag of@@ -266,7 +270,7 @@ > 12 -> liftM CInclude get > 13 -> liftM3 Fixity get get get > 14 -> liftM2 Transform get get-> 15 -> liftM Freeze get+> 15 -> liftM4 Freeze get get get get > instance Binary Datatype where > put (Datatype a b c d e f g) = do put (0 :: Word8)@@ -374,9 +378,9 @@ > 7 -> return LataDef > instance Binary IdrisState where-> put (IState a b c d e f g) -> = do put a; put b; put c; put d; put e; put f; put g+> put (IState a b c d e f g h i) +> = do put a; put b; put c; put d; put e; put f; put g; put h; put i > get = do a <- get; b <- get; c <- get;-> d <- get; e <- get; f <- get; g <- get-> return (IState a b c d e f g)+> d <- get; e <- get; f <- get; g <- get; h <- get; i <- get+> return (IState a b c d e f g h i)
Idris/SimpleCase.lhs view
@@ -49,8 +49,8 @@ > let newname = name (show (MN (show root) i)) > let newfn = (newname, newty, newdef) > put (i+1, newfn:fns)-> trace (show (newname, params, newdef)) $-> return (apply (Name Unknown newname) (paramArgs++[scrutinee]))+> -- trace (show (newname, params, newdef)) $+> return (apply (Name Unknown newname) (paramArgs++[scrutinee])) > else return tm > lc' (App f a) = do f' <- lc' f; a' <- lc' a; return (App f' a') > lc' (Lambda n t sc) @@ -85,11 +85,15 @@ > deAnnot (App f a) = App (deAnnot f) (deAnnot a) > deAnnot x = x -> addPatternDefSC :: Context -> Name -> ViewTerm -> Patterns ->+> addPatternDefSC :: Context -> Name -> ViewTerm -> Patterns -> +> Maybe [(Name, Int)] -> > TTM (Context, [(Name, ViewTerm)])-> addPatternDefSC ctxt nm ty ps = do+> addPatternDefSC ctxt nm ty ps spec = do > -- just allow general recursion for now-> (ctxt', newdefs) <- addPatternDef ctxt nm ty ps [Holey,Partial,GenRec]+> let opts = case spec of+> Nothing -> [Holey, Partial, GenRec]+> Just fns -> [Holey, Partial, GenRec, Specialise fns]+> (ctxt', newdefs) <- addPatternDef ctxt nm ty ps opts > (_, patts) <- getPatternDef ctxt' nm > let (ps', ds) = liftCases nm patts > if (null ds) then return (ctxt', newdefs)@@ -99,7 +103,7 @@ > return (ctxt', newdefs++newdefs') > where addAll ctxt [] nds = return (ctxt, nds) > addAll ctxt ((n,ty,ps):rs) nds = do-> (ctxt', newdefs') <- addPatternDefSC ctxt n ty ps+> (ctxt', newdefs') <- addPatternDefSC ctxt n ty ps spec > addAll ctxt' rs (newdefs'++nds) > addMeta :: Bool ->
LICENSE view
@@ -1,9 +1,9 @@-Copyright (c) 2006 Edwin Brady+Copyright (c) 2006-2010 Edwin Brady School of Computer Science, University of St Andrews All rights reserved. This code is derived from software written by Edwin Brady-(eb@dcs.st-and.ac.uk).+(eb@cs.st-andrews.ac.uk). Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions
Main.lhs view
@@ -15,7 +15,9 @@ > import Control.Monad > import Control.Exception > import List+> import Maybe > import Debug.Trace+> import Distribution.Version > import Prelude hiding (catch) > import Idris.AbsSyntax@@ -28,9 +30,10 @@ > import Idris.ConTrans > import Idris.Fontlock > import Idris.Serialise- > import Idris.RunIO +> import Paths_idris+ Load things in this order: * Introduce equality@@ -39,7 +42,11 @@ * Load prelude * Load users program -> idris_version = "0.1.2"+> idris_version = showV (versionBranch version)+> where+> showV [] = ""+> showV [a] = show a+> showV (x:xs) = show x ++ "." ++ showV xs > data Args = Batch [String] > | NoArgs@@ -54,6 +61,9 @@ > (ctxt, defs) <- processInput ctxt defs infile > repl defs ctxt batch +> usage opts@(('-':_):_) = do o <- mkArgs opts+> putStrLn "No input file"+> umessage > usage [fname] = return (fname, (NoArgs, [])) > usage (fname:opts) = do o <- mkArgs opts > return (fname, o)@@ -70,6 +80,7 @@ > putStrLn $ "\t\t --nospec Turn off specialisation and transformation rules" > putStrLn $ "\t\t --noerasure Turn off erasure optimisations" > putStrLn $ "\t\t --cmd <command> Run a command in batch mode"+> putStrLn $ "\t\t --dir Show support file location" > putStrLn $ "\t\t --verbose Debugging output" > putStrLn $ "\n" > exitWith (ExitFailure 1)@@ -91,6 +102,10 @@ > = mkA' args (NoErasure:opts) xs > mkA' args opts ("--cmd":b:xs) > = mkA' (b:args) opts xs+> mkA' args opts ("--dir":xs)+> = do d <- getDataDir+> putStrLn d+> exitWith ExitSuccess > mkA' args opts (x:xs) = do putStrLn $ "Unrecognised option " ++ x ++ "\n" > umessage @@ -129,9 +144,15 @@ > OK x fixes' -> return (x, fixes') > Err x fixes' err -> do putStrLn err > return (x, fixes')-> let ist = addTransforms (IState alldefs (decls++ptree) metas opts ops [] imps) ctxt +> let ist = addTransforms (IState alldefs (decls++ptree) metas opts ops [] [] imps (mkNameMap alldefs)) ctxt > return (ctxt, ist { idris_fixities = fixes' }) +> mkNameMap :: Ctxt IvorFun -> [(Name, Id)]+> mkNameMap ctxt = mapMaybe mknm (ctxtAlist ctxt)+> where mknm (n, IvorProblem _) = Nothing+> mknm (n, i) = do iname <- ivorFName i+> return (iname, n)+ > data REPLRes = Quit | Continue | NewCtxt IdrisState Context Command; minimal abbreviation; function to run it; description; visibility@@ -162,7 +183,7 @@ > debug, norm, help, options, showdef, html, ssave :: Command > quit _ _ _ = do return Quit-> tmtype (IState raw _ _ _ uo _ _) ctxt tms +> tmtype (IState raw _ _ _ uo _ _ _ _) ctxt tms > = do icheckType raw uo ctxt (unwords tms) > return Continue > prove ist ctxt (nm:[]) @@ -271,7 +292,7 @@ > repl :: IdrisState -> Context -> Args -> IO () > repl ist ctxt (Batch []) = return () -> repl ist@(IState raw decls metas opts fixes trans imps) ctxt inp' +> repl ist@(IState raw decls metas opts fixes trans syns imps nms) ctxt inp' > = do (inp, next) <- case inp' of > Batch (b:bs) -> return (Just b, Batch bs) > _ -> do x <- readline ("Idris> ")@@ -425,7 +446,10 @@ > "String->String->String" > c <- addBinOp c (opFn StringGetIndex) ((!!)::String->Int->Char) > "String->Int->Char"+> c <- addBinOp c (opFn ShL) (shl::Int->Int->Int) "Int->Int->Int"+> c <- addBinOp c (opFn ShR) (shr::Int->Int->Int) "Int->Int->Int" > c <- addExternalFn c (opFn OpEq) 2 constEq "Int->Int->Bool"+> c <- addExternalFn c (name "__charEq") 2 constEq "Char->Char->Bool" > c <- addExternalFn c (name "__strEq") 2 constEq "String->String->Bool" > c <- addExternalFn c (name "__strLT") 2 constLT "String->String->Bool" > c <- addExternalFn c (opFn OpLT) 2 intlt "Int->Int->Bool"@@ -443,6 +467,14 @@ > c <- addExternalFn c (name "__lazy") 1 runLazy "(A:*)A->A" > c <- addExternalFn c (name "__effect") 1 runEffect "(A:*)A->A" > return c++> shl :: Int -> Int -> Int+> shl x 0 = x+> shl x n = shl (x*2) (n-1)++> shr :: Int -> Int -> Int+> shr x 0 = x+> shr x n = shr (x `div` 2) (n-1) > constEq :: [ViewTerm] -> Maybe ViewTerm > constEq [Constant x, Constant y]
Setup.lhs view
@@ -1,4 +1,38 @@ > import Distribution.Simple+> import Distribution.Simple.InstallDirs+> import Distribution.Simple.LocalBuildInfo+> import Distribution.PackageDescription -> main = defaultMain+> import System++After Idris is built, we need to check and install the .idr library files,+and the C support they need.++FIXME: This is probably all done the wrong way, I don't really understand+Cabal properly... This is all stolen from the Epic build system.++> buildLib args flags desc local +> = do exit <- system "make -C lib"+> return ()++This is a hack. I don't know how to tell cabal that a data file needs+installing but shouldn't be in the distribution. And it won't make the+distribution if it's not there, so instead I just delete+the file after configure.++> postConfLib args flags desc local+> = do exit <- system "make -C lib clean"+> return ()++> addPrefix pfx var c = "export " ++ var ++ "=" ++ show pfx ++ "/" ++ c ++ ":$" ++ var++> postInstLib args flags desc local+> = do let pfx = prefix (installDirTemplates local)+> exit <- system $ "make -C lib install PREFIX=" ++ show pfx+> return ()++> main = defaultMainWithHooks (simpleUserHooks { postBuild = buildLib,+> postConf = postConfLib,+> postInst = postInstLib })+
dist/build/Idris/Parser.hs view
@@ -29,3400 +29,3490 @@ -- parser produced by Happy Version 1.18.4 -newtype HappyAbsSyn t69 = HappyAbsSyn HappyAny-#if __GLASGOW_HASKELL__ >= 607-type HappyAny = Happy_GHC_Exts.Any-#else-type HappyAny = forall a . a-#endif-happyIn6 :: ([ParseDecl]) -> (HappyAbsSyn t69)-happyIn6 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn6 #-}-happyOut6 :: (HappyAbsSyn t69) -> ([ParseDecl])-happyOut6 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut6 #-}-happyIn7 :: (ParseDecl) -> (HappyAbsSyn t69)-happyIn7 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn7 #-}-happyOut7 :: (HappyAbsSyn t69) -> (ParseDecl)-happyOut7 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut7 #-}-happyIn8 :: (Decl) -> (HappyAbsSyn t69)-happyIn8 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn8 #-}-happyOut8 :: (HappyAbsSyn t69) -> (Decl)-happyOut8 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut8 #-}-happyIn9 :: (ParseDecl) -> (HappyAbsSyn t69)-happyIn9 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn9 #-}-happyOut9 :: (HappyAbsSyn t69) -> (ParseDecl)-happyOut9 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut9 #-}-happyIn10 :: (CGFlag) -> (HappyAbsSyn t69)-happyIn10 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn10 #-}-happyOut10 :: (HappyAbsSyn t69) -> (CGFlag)-happyOut10 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut10 #-}-happyIn11 :: (Bool) -> (HappyAbsSyn t69)-happyIn11 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn11 #-}-happyOut11 :: (HappyAbsSyn t69) -> (Bool)-happyOut11 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut11 #-}-happyIn12 :: ([RawTerm]) -> (HappyAbsSyn t69)-happyIn12 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn12 #-}-happyOut12 :: (HappyAbsSyn t69) -> ([RawTerm])-happyOut12 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut12 #-}-happyIn13 :: (RawTerm) -> (HappyAbsSyn t69)-happyIn13 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn13 #-}-happyOut13 :: (HappyAbsSyn t69) -> (RawTerm)-happyOut13 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut13 #-}-happyIn14 :: ([ParseDecl]) -> (HappyAbsSyn t69)-happyIn14 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn14 #-}-happyOut14 :: (HappyAbsSyn t69) -> ([ParseDecl])-happyOut14 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut14 #-}-happyIn15 :: ([CGFlag]) -> (HappyAbsSyn t69)-happyIn15 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn15 #-}-happyOut15 :: (HappyAbsSyn t69) -> ([CGFlag])-happyOut15 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut15 #-}-happyIn16 :: ([CGFlag]) -> (HappyAbsSyn t69)-happyIn16 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn16 #-}-happyOut16 :: (HappyAbsSyn t69) -> ([CGFlag])-happyOut16 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut16 #-}-happyIn17 :: ([CGFlag]) -> (HappyAbsSyn t69)-happyIn17 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn17 #-}-happyOut17 :: (HappyAbsSyn t69) -> ([CGFlag])-happyOut17 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut17 #-}-happyIn18 :: ([Decl]) -> (HappyAbsSyn t69)-happyIn18 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn18 #-}-happyOut18 :: (HappyAbsSyn t69) -> ([Decl])-happyOut18 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut18 #-}-happyIn19 :: ([String]) -> (HappyAbsSyn t69)-happyIn19 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn19 #-}-happyOut19 :: (HappyAbsSyn t69) -> ([String])-happyOut19 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut19 #-}-happyIn20 :: (String) -> (HappyAbsSyn t69)-happyIn20 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn20 #-}-happyOut20 :: (HappyAbsSyn t69) -> (String)-happyOut20 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut20 #-}-happyIn21 :: (Fixity) -> (HappyAbsSyn t69)-happyIn21 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn21 #-}-happyOut21 :: (HappyAbsSyn t69) -> (Fixity)-happyOut21 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut21 #-}-happyIn22 :: (Decl) -> (HappyAbsSyn t69)-happyIn22 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn22 #-}-happyOut22 :: (HappyAbsSyn t69) -> (Decl)-happyOut22 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut22 #-}-happyIn23 :: ([(Id,String)]) -> (HappyAbsSyn t69)-happyIn23 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn23 #-}-happyOut23 :: (HappyAbsSyn t69) -> ([(Id,String)])-happyOut23 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut23 #-}-happyIn24 :: ((Id, [(RawTerm, Maybe Id)])) -> (HappyAbsSyn t69)-happyIn24 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn24 #-}-happyOut24 :: (HappyAbsSyn t69) -> ((Id, [(RawTerm, Maybe Id)]))-happyOut24 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut24 #-}-happyIn25 :: ([(RawTerm,Maybe Id)]) -> (HappyAbsSyn t69)-happyIn25 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn25 #-}-happyOut25 :: (HappyAbsSyn t69) -> ([(RawTerm,Maybe Id)])-happyOut25 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut25 #-}-happyIn26 :: (Datatype) -> (HappyAbsSyn t69)-happyIn26 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn26 #-}-happyOut26 :: (HappyAbsSyn t69) -> (Datatype)-happyOut26 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut26 #-}-happyIn27 :: (Either RawTerm ((RawTerm, [(Id, RawTerm)]), [ConParse])) -> (HappyAbsSyn t69)-happyIn27 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn27 #-}-happyOut27 :: (HappyAbsSyn t69) -> (Either RawTerm ((RawTerm, [(Id, RawTerm)]), [ConParse]))-happyOut27 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut27 #-}-happyIn28 :: ([TyOpt]) -> (HappyAbsSyn t69)-happyIn28 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn28 #-}-happyOut28 :: (HappyAbsSyn t69) -> ([TyOpt])-happyOut28 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut28 #-}-happyIn29 :: ([TyOpt]) -> (HappyAbsSyn t69)-happyIn29 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn29 #-}-happyOut29 :: (HappyAbsSyn t69) -> ([TyOpt])-happyOut29 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut29 #-}-happyIn30 :: (TyOpt) -> (HappyAbsSyn t69)-happyIn30 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn30 #-}-happyOut30 :: (HappyAbsSyn t69) -> (TyOpt)-happyOut30 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut30 #-}-happyIn31 :: (Id) -> (HappyAbsSyn t69)-happyIn31 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn31 #-}-happyOut31 :: (HappyAbsSyn t69) -> (Id)-happyOut31 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut31 #-}-happyIn32 :: (RawTerm) -> (HappyAbsSyn t69)-happyIn32 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn32 #-}-happyOut32 :: (HappyAbsSyn t69) -> (RawTerm)-happyOut32 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut32 #-}-happyIn33 :: (RawTerm) -> (HappyAbsSyn t69)-happyIn33 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn33 #-}-happyOut33 :: (HappyAbsSyn t69) -> (RawTerm)-happyOut33 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut33 #-}-happyIn34 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t69)-happyIn34 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn34 #-}-happyOut34 :: (HappyAbsSyn t69) -> ([(Id, RawTerm)])-happyOut34 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut34 #-}-happyIn35 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t69)-happyIn35 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn35 #-}-happyOut35 :: (HappyAbsSyn t69) -> ([(Id, RawTerm)])-happyOut35 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut35 #-}-happyIn36 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t69)-happyIn36 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn36 #-}-happyOut36 :: (HappyAbsSyn t69) -> ([(Id, RawTerm)])-happyOut36 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut36 #-}-happyIn37 :: ([Id]) -> (HappyAbsSyn t69)-happyIn37 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn37 #-}-happyOut37 :: (HappyAbsSyn t69) -> ([Id])-happyOut37 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut37 #-}-happyIn38 :: ([(Id, Int)]) -> (HappyAbsSyn t69)-happyIn38 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn38 #-}-happyOut38 :: (HappyAbsSyn t69) -> ([(Id, Int)])-happyOut38 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut38 #-}-happyIn39 :: ([Id]) -> (HappyAbsSyn t69)-happyIn39 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn39 #-}-happyOut39 :: (HappyAbsSyn t69) -> ([Id])-happyOut39 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut39 #-}-happyIn40 :: ([Id]) -> (HappyAbsSyn t69)-happyIn40 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn40 #-}-happyOut40 :: (HappyAbsSyn t69) -> ([Id])-happyOut40 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut40 #-}-happyIn41 :: ([(Id, RawTerm, RawTerm)]) -> (HappyAbsSyn t69)-happyIn41 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn41 #-}-happyOut41 :: (HappyAbsSyn t69) -> ([(Id, RawTerm, RawTerm)])-happyOut41 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut41 #-}-happyIn42 :: ((Id, RawTerm)) -> (HappyAbsSyn t69)-happyIn42 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn42 #-}-happyOut42 :: (HappyAbsSyn t69) -> ((Id, RawTerm))-happyOut42 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut42 #-}-happyIn43 :: (RawTerm) -> (HappyAbsSyn t69)-happyIn43 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn43 #-}-happyOut43 :: (HappyAbsSyn t69) -> (RawTerm)-happyOut43 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut43 #-}-happyIn44 :: (RawTerm) -> (HappyAbsSyn t69)-happyIn44 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn44 #-}-happyOut44 :: (HappyAbsSyn t69) -> (RawTerm)-happyOut44 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut44 #-}-happyIn45 :: (RawTerm) -> (HappyAbsSyn t69)-happyIn45 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn45 #-}-happyOut45 :: (HappyAbsSyn t69) -> (RawTerm)-happyOut45 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut45 #-}-happyIn46 :: (String) -> (HappyAbsSyn t69)-happyIn46 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn46 #-}-happyOut46 :: (HappyAbsSyn t69) -> (String)-happyOut46 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut46 #-}-happyIn47 :: (RawTerm) -> (HappyAbsSyn t69)-happyIn47 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn47 #-}-happyOut47 :: (HappyAbsSyn t69) -> (RawTerm)-happyOut47 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut47 #-}-happyIn48 :: (RawTerm) -> (HappyAbsSyn t69)-happyIn48 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn48 #-}-happyOut48 :: (HappyAbsSyn t69) -> (RawTerm)-happyOut48 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut48 #-}-happyIn49 :: (RawTerm) -> (HappyAbsSyn t69)-happyIn49 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn49 #-}-happyOut49 :: (HappyAbsSyn t69) -> (RawTerm)-happyOut49 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut49 #-}-happyIn50 :: (RawTerm) -> (HappyAbsSyn t69)-happyIn50 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn50 #-}-happyOut50 :: (HappyAbsSyn t69) -> (RawTerm)-happyOut50 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut50 #-}-happyIn51 :: (RawTerm) -> (HappyAbsSyn t69)-happyIn51 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn51 #-}-happyOut51 :: (HappyAbsSyn t69) -> (RawTerm)-happyOut51 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut51 #-}-happyIn52 :: ([RawTerm]) -> (HappyAbsSyn t69)-happyIn52 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn52 #-}-happyOut52 :: (HappyAbsSyn t69) -> ([RawTerm])-happyOut52 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut52 #-}-happyIn53 :: (RawTerm) -> (HappyAbsSyn t69)-happyIn53 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn53 #-}-happyOut53 :: (HappyAbsSyn t69) -> (RawTerm)-happyOut53 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut53 #-}-happyIn54 :: (RawTerm) -> (HappyAbsSyn t69)-happyIn54 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn54 #-}-happyOut54 :: (HappyAbsSyn t69) -> (RawTerm)-happyOut54 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut54 #-}-happyIn55 :: ([RawTerm]) -> (HappyAbsSyn t69)-happyIn55 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn55 #-}-happyOut55 :: (HappyAbsSyn t69) -> ([RawTerm])-happyOut55 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut55 #-}-happyIn56 :: ([Do]) -> (HappyAbsSyn t69)-happyIn56 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn56 #-}-happyOut56 :: (HappyAbsSyn t69) -> ([Do])-happyOut56 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut56 #-}-happyIn57 :: ([Do]) -> (HappyAbsSyn t69)-happyIn57 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn57 #-}-happyOut57 :: (HappyAbsSyn t69) -> ([Do])-happyOut57 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut57 #-}-happyIn58 :: (Do) -> (HappyAbsSyn t69)-happyIn58 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn58 #-}-happyOut58 :: (HappyAbsSyn t69) -> (Do)-happyOut58 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut58 #-}-happyIn59 :: (Constant) -> (HappyAbsSyn t69)-happyIn59 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn59 #-}-happyOut59 :: (HappyAbsSyn t69) -> (Constant)-happyOut59 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut59 #-}-happyIn60 :: ([RawTerm]) -> (HappyAbsSyn t69)-happyIn60 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn60 #-}-happyOut60 :: (HappyAbsSyn t69) -> ([RawTerm])-happyOut60 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut60 #-}-happyIn61 :: ((RawTerm, [(Id, RawTerm)])) -> (HappyAbsSyn t69)-happyIn61 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn61 #-}-happyOut61 :: (HappyAbsSyn t69) -> ((RawTerm, [(Id, RawTerm)]))-happyOut61 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut61 #-}-happyIn62 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t69)-happyIn62 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn62 #-}-happyOut62 :: (HappyAbsSyn t69) -> ([(Id, RawTerm)])-happyOut62 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut62 #-}-happyIn63 :: ((Id,Id)) -> (HappyAbsSyn t69)-happyIn63 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn63 #-}-happyOut63 :: (HappyAbsSyn t69) -> ((Id,Id))-happyOut63 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut63 #-}-happyIn64 :: ((Id,Id)) -> (HappyAbsSyn t69)-happyIn64 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn64 #-}-happyOut64 :: (HappyAbsSyn t69) -> ((Id,Id))-happyOut64 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut64 #-}-happyIn65 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t69)-happyIn65 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn65 #-}-happyOut65 :: (HappyAbsSyn t69) -> ([(Id, RawTerm)])-happyOut65 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut65 #-}-happyIn66 :: (Id) -> (HappyAbsSyn t69)-happyIn66 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn66 #-}-happyOut66 :: (HappyAbsSyn t69) -> (Id)-happyOut66 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut66 #-}-happyIn67 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t69)-happyIn67 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn67 #-}-happyOut67 :: (HappyAbsSyn t69) -> ([(Id, RawTerm)])-happyOut67 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut67 #-}-happyIn68 :: ([Id]) -> (HappyAbsSyn t69)-happyIn68 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn68 #-}-happyOut68 :: (HappyAbsSyn t69) -> ([Id])-happyOut68 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut68 #-}-happyIn69 :: t69 -> (HappyAbsSyn t69)-happyIn69 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn69 #-}-happyOut69 :: (HappyAbsSyn t69) -> t69-happyOut69 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut69 #-}-happyIn70 :: ([ConParse]) -> (HappyAbsSyn t69)-happyIn70 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn70 #-}-happyOut70 :: (HappyAbsSyn t69) -> ([ConParse])-happyOut70 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut70 #-}-happyIn71 :: (ConParse) -> (HappyAbsSyn t69)-happyIn71 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn71 #-}-happyOut71 :: (HappyAbsSyn t69) -> (ConParse)-happyOut71 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut71 #-}-happyIn72 :: (RawTerm) -> (HappyAbsSyn t69)-happyIn72 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn72 #-}-happyOut72 :: (HappyAbsSyn t69) -> (RawTerm)-happyOut72 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut72 #-}-happyIn73 :: (ITactic) -> (HappyAbsSyn t69)-happyIn73 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn73 #-}-happyOut73 :: (HappyAbsSyn t69) -> (ITactic)-happyOut73 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut73 #-}-happyIn74 :: ([ITactic]) -> (HappyAbsSyn t69)-happyIn74 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn74 #-}-happyOut74 :: (HappyAbsSyn t69) -> ([ITactic])-happyOut74 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut74 #-}-happyIn75 :: ([ITactic]) -> (HappyAbsSyn t69)-happyIn75 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn75 #-}-happyOut75 :: (HappyAbsSyn t69) -> ([ITactic])-happyOut75 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut75 #-}-happyIn76 :: (LineNumber) -> (HappyAbsSyn t69)-happyIn76 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn76 #-}-happyOut76 :: (HappyAbsSyn t69) -> (LineNumber)-happyOut76 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut76 #-}-happyIn77 :: (String) -> (HappyAbsSyn t69)-happyIn77 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn77 #-}-happyOut77 :: (HappyAbsSyn t69) -> (String)-happyOut77 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut77 #-}-happyIn78 :: (Fixities) -> (HappyAbsSyn t69)-happyIn78 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn78 #-}-happyOut78 :: (HappyAbsSyn t69) -> (Fixities)-happyOut78 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut78 #-}-happyInTok :: (Token) -> (HappyAbsSyn t69)-happyInTok x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyInTok #-}-happyOutTok :: (HappyAbsSyn t69) -> (Token)-happyOutTok x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOutTok #-}---happyActOffsets :: HappyAddr-happyActOffsets = HappyA# "\x1a\x00\x44\x05\x1e\x0e\x00\x00\xf2\x03\x13\x01\x13\x01\x44\x05\x00\x00\x46\x03\xf1\x02\x00\x00\x13\x01\x00\x00\x44\x05\x44\x05\x00\x00\x44\x05\x44\x05\x44\x05\x44\x05\x00\x00\x00\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x43\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x13\x01\x23\x09\x47\x02\x44\x05\x44\x05\x17\x08\x44\x05\x00\x00\x13\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x05\x00\x00\x00\x00\x00\x00\xb9\x00\x00\x00\x44\x05\x6a\x00\xeb\x03\x01\x00\x00\x00\x00\x00\x01\x00\x5a\x04\x00\x00\x36\x04\x00\x00\x0d\x02\x4a\x04\x40\x04\x3f\x04\x3d\x04\x35\x04\x5d\x09\xb9\x01\x27\x04\x00\x00\x00\x00\x00\x00\x31\x04\x30\x04\x2a\x04\x6a\x00\x6a\x00\x34\x04\xf6\x03\x1d\x04\x2b\x04\x44\x05\x18\x04\x17\x04\x00\x00\x00\x00\x8b\x03\x0f\x04\x6a\x00\x06\x04\x0e\x04\x6a\x00\x00\x00\x6a\x00\x6a\x00\x6a\x00\x6a\x00\x12\x02\x03\x04\x00\x00\x00\x00\x00\x00\x00\x00\xfc\xff\x00\x00\x17\x00\x00\x00\x00\x00\x9c\x02\x00\x00\x00\x00\x00\x00\xcf\x00\xcf\x00\xcf\x00\xcf\x00\xcf\x00\x00\x00\xdd\x07\x08\x04\x0e\x01\xe9\x08\x00\x04\xe9\xff\x5d\x09\xb9\x01\x00\x00\x00\x00\x07\x04\xb7\x03\x8c\x02\x00\x00\x05\x04\xef\x04\x00\x00\x00\x00\x0b\x04\x00\x00\x0b\x04\x00\x00\x0c\x0a\xa8\x0a\xca\x01\xfc\x09\x9a\x04\xfb\x03\x9a\x04\x9a\x04\xf9\x03\xf8\x03\x9a\x04\x9a\x04\xb2\x01\x4e\x00\x00\x00\x9a\x04\xaf\x08\x6a\x00\xfd\x03\xce\x03\x00\x00\x17\x08\xe7\x03\x00\x00\x9a\x04\xdc\x03\x9a\x04\x9a\x04\x9a\x04\x9a\x04\x9a\x04\x00\x00\x8a\x01\x76\x01\x68\x01\x54\x01\x46\x01\x32\x01\x00\x00\x24\x01\x9a\x04\x10\x01\x9a\x04\xc4\x00\x00\x00\xd5\x03\x00\x00\x6a\x00\x5b\x00\x05\x00\x00\x00\xef\x03\xef\x03\xef\x03\xef\x03\xef\x03\x00\x00\x9a\x04\xef\x03\x17\x08\x00\x00\x00\x00\x00\x00\x9a\x04\xc7\x03\x23\x09\xe2\x03\xda\x03\xc0\x03\xb7\x01\xd4\x03\x86\x00\xcf\x03\x8f\x0a\x23\x09\x00\x00\x23\x09\xd0\x03\x00\x00\x17\x09\x00\x00\x17\x09\x00\x00\x17\x09\x00\x00\x17\x09\x00\x00\x9a\x04\x00\x00\x9a\x04\x9a\x04\x9a\x04\x9a\x04\x9a\x04\xcd\x03\x00\x00\x00\x00\x9a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfa\xff\x17\x09\xc4\x03\x45\x04\x6a\x00\x96\x03\x00\x00\xf0\x03\xf0\x03\xa6\x03\xba\x03\x9e\x03\xb3\x03\xf0\x03\xf0\x03\xf0\x03\x67\x03\x1e\x0e\xb4\x03\x97\x00\x03\x00\x97\x03\xdd\x07\xf0\x03\x00\x00\x00\x00\xa9\x03\xa8\x03\xa4\x03\xa2\x03\xa1\x03\x00\x00\x00\x00\xef\x09\x9f\x03\x00\x00\x00\x00\xf0\x03\xf0\x03\xf0\x03\x00\x00\x9a\x03\x86\x03\x00\x00\x00\x00\xe3\x00\x9d\x03\x94\x03\x80\x03\x87\x03\x6a\x00\x7d\x03\x01\x00\x6a\x00\x83\x03\x77\x03\x00\x00\xf0\x03\x82\x0a\x8d\x03\x00\x00\x69\x03\x00\x00\xf0\x03\x00\x00\x00\x00\x6a\x00\x00\x00\xe9\x08\x00\x00\x6a\x00\x6a\x00\x70\x03\xe9\x08\x00\x00\x00\x00\x12\x02\x00\x00\x80\x0a\x6d\x0a\x5a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x0a\x00\x00\x6a\x00\x00\x00\x00\x00\xcd\x01\xcd\x01\x82\x03\x00\x00\x00\x00\x00\x00\x7c\x03\x78\x03\x23\x09\x7f\x03\x76\x03\x00\x00\x46\x0a\xac\x01\x32\x0a\x00\x00\xb9\x01\x00\x00\xf0\x03\xa7\x00\x45\x00\xf0\x03\x7b\x03\x00\x00\x00\x00\x00\x00\x57\x03\x76\x08\x00\x00\x51\x08\x29\x0a\x00\x00\x23\x09\x00\x00\x0e\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x03\x00\x00\x6f\x03\x00\x00\x17\x08\x00\x00\x55\x03\x00\x00\x00\x00\x00\x00\x00\x00\x23\x09\x23\x09\x54\x03\xe9\x08\x6a\x00\x53\x03\xe9\x08\x03\x00\x6a\x00\x81\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9f\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x08\x51\x08\x51\x08\x51\x08\x51\x08\x51\x08\x00\x00\x00\x00\x00\x00\x00\x00\x23\x09\x00\x00\x88\x00\x23\x09\x1d\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa3\x07\x00\x00\x69\x07\x00\x00\x2f\x07\x00\x00\xf5\x06\x65\x03\x63\x03\x62\x03\x5b\x03\x59\x03\x1c\x00\x00\x00\x00\x00\xf0\x03\xbb\x06\x49\x03\x17\x09\xf0\x03\x0a\x02\x00\x00\x82\x01\x5d\x03\x4c\x03\x00\x00\x1e\x0e\x03\x00\x36\x03\x6a\x00\x00\x00\x4d\x03\x00\x00\x00\x00\x00\x00\x00\x00\x81\x06\x00\x00\x82\x01\x00\x00\x4b\x03\x00\x00\x00\x00\x00\x00\xf6\xff\x00\x00\x47\x06\x52\x03\x4e\x03\x00\x00\x00\x00\x31\x03\x47\x03\x19\x0a\x6a\x00\x2b\x03\x00\x00\x6a\x00\x42\x03\x00\x00\x00\x00\x6a\x00\x00\x00\x6a\x00\x00\x00\x17\x08\x00\x00\x00\x00\xe9\x08\x00\x00\x08\x03\x00\x00\x00\x00\x00\x00\x6a\x00\x82\x01\x3f\x03\x00\x00\x00\x00\x00\x00\x3d\x03\x00\x00\xfe\xff\x32\x03\xe9\x08\x00\x00\x6a\x00\x00\x00\x2f\x03\x6a\x00\x3e\x03\x00\x00\xf0\x03\x00\x00\x17\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0d\x03\x0d\x03\x29\x03\x00\x00\x00\x00\x00\x00\x0a\x02\x0d\x06\x00\x00\x00\x00\x00\x00\x00\x00\x24\x03\x00\x00\x00\x00\x12\x03\x6a\x00\x00\x00\x00\x00\x00\x00\x22\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x76\x08\x9b\x03\x00\x00\xd3\x05\x00\x00\x00\x00\x00\x00\x99\x05\x20\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#--happyGotoOffsets :: HappyAddr-happyGotoOffsets = HappyA# "\x67\x09\x43\x0e\xef\x02\x00\x00\x00\x00\x91\x01\x16\x03\x32\x0e\x00\x00\x21\x0e\x10\x0e\x00\x00\x13\x03\x00\x00\xff\x0d\xee\x0d\x00\x00\xdd\x0d\xcc\x0d\xbb\x0d\xaa\x0d\x00\x00\x00\x00\xda\x02\x41\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd9\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9a\x01\xaf\x06\xab\x0a\x99\x0d\x88\x0d\x58\x05\x77\x0d\x00\x00\x05\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x0d\x00\x00\xd6\x02\xd5\x02\x00\x00\xd1\x02\x55\x0d\x4d\x01\x00\x00\xf4\x08\x00\x00\x00\x00\x72\x05\x00\x00\x00\x00\x11\x03\x00\x00\xb8\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x07\x03\xfe\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfa\x02\xf9\x02\x00\x00\x00\x00\x00\x00\x00\x00\x44\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x41\x01\x00\x00\x86\x01\x00\x00\x00\x00\x0f\x01\x00\x00\x60\x00\xf6\x02\x48\x00\xf4\x02\x1f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x03\xc4\x02\x40\x01\x00\x00\xc3\x02\xbe\x0a\x00\x00\xb7\x02\xb6\x02\x1d\x05\xc8\x04\x73\x04\x1e\x04\xc9\x03\x00\x00\x04\x04\x00\x00\x00\x00\xce\x07\x00\x00\xc1\x02\xff\xff\x0b\x02\x00\x00\x00\x00\xd3\x02\x00\x00\x3d\x01\xad\x02\xd2\x02\xf1\x0a\xa8\x02\xa7\x02\x39\x01\xa5\x02\x36\x01\x00\x00\x17\x01\x17\x01\x27\x01\x8d\x00\x33\x0d\x00\x00\x22\x0d\x11\x0d\x00\x00\x00\x00\xbe\x09\xba\x09\x15\x01\x00\x00\x00\x00\x00\x0d\xc7\x05\x11\x02\xbb\x02\x00\x00\xa1\x02\x36\x05\x00\x00\xa0\x02\xef\x0c\x9e\x02\xde\x0c\xcd\x0c\xbc\x0c\xab\x0c\x9a\x0c\x9b\x02\x14\x01\x14\x01\x14\x01\x14\x01\x14\x01\x14\x01\x00\x00\x14\x01\x89\x0c\x14\x01\x78\x0c\x14\x01\x00\x00\x00\x00\x00\x00\x87\x01\x14\x01\x14\x01\x00\x00\x0c\x01\x07\x01\x06\x01\x05\x01\xf8\x00\x9a\x02\x67\x0c\xe5\x00\x03\x05\x98\x02\x96\x02\x00\x00\x56\x0c\x00\x00\x75\x06\x00\x00\x00\x00\x00\x00\x96\x00\x00\x00\x00\x00\x00\x00\xde\x00\x3b\x06\x00\x00\x39\x06\x00\x00\x95\x02\xd7\x00\x92\x02\xd2\x00\x91\x02\xd1\x00\x82\x02\xc1\x00\x81\x02\x9f\x09\x00\x00\x9b\x09\x45\x0c\x34\x0c\x40\x03\x80\x09\x00\x00\x00\x00\x80\x02\x23\x0c\x7f\x02\x7d\x02\x7c\x02\x00\x00\x00\x00\xe2\xff\xba\x00\x00\x00\xe0\x0a\x3f\x01\x00\x00\x00\x00\x12\x0c\x01\x0c\x00\x00\x00\x00\x00\x00\xba\x02\xf0\x0b\xdf\x0b\xce\x0b\x00\x00\xa6\x01\xbc\x01\x48\x02\x00\x00\x00\x00\xaf\x03\xbd\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x02\x76\x02\xb8\x00\x00\x00\x75\x02\x6f\x02\xac\x0b\x9b\x0b\x8a\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaa\x00\x00\x00\xca\x02\x9f\x02\x00\x00\x00\x00\x00\x00\x79\x0b\xb8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x0b\x00\x00\x00\x00\x9d\x02\x00\x00\x94\x07\x6a\x02\x08\x00\x30\x00\x00\x00\x5a\x07\x69\x02\x66\x02\xf1\x01\x00\x00\xb8\x00\xb8\x00\xb8\x00\x00\x00\x00\x00\x61\x02\x00\x00\x02\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8\x00\x60\x02\x53\x01\x5f\x02\x00\x00\xee\x01\xbd\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x06\x00\x00\x00\x00\x00\x00\xb8\x00\x0c\x00\xb8\x00\x00\x00\x95\x01\x00\x00\x57\x0b\xb8\x00\xb8\x00\x46\x0b\xd6\x01\x00\x00\x00\x00\x53\x02\x00\x00\xe1\x04\x00\x00\xe1\x04\xb8\x00\x52\x02\x7b\x05\x51\x02\xb8\x00\x00\x00\x4c\x02\x4b\x02\x43\x02\x41\x02\x40\x02\x3b\x02\x32\x02\x00\x00\x31\x02\x00\x00\x30\x02\xae\x04\x2c\x02\x00\x00\x2b\x02\x00\x00\x1e\x02\x00\x00\x01\x03\x57\x02\x00\x00\x20\x07\xd9\x01\x00\x00\xe6\x06\x00\x00\xf3\xff\xb8\x00\x25\x02\x22\x02\x00\x00\x20\x02\xb8\x00\x00\x00\x18\x02\x0e\x02\x04\x02\x01\x02\xf8\x01\x00\x00\x8c\x04\x8c\x04\x8c\x04\x8c\x04\x8c\x04\x8c\x04\x00\x00\x00\x00\x00\x00\x00\x00\xd5\x01\x00\x00\x00\x00\xa0\x01\x00\x00\x00\x00\xed\x01\xf3\x01\xe5\x01\xe0\x01\x00\x00\x8c\x04\x00\x00\x8c\x04\x00\x00\x8c\x04\x00\x00\x8c\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x01\x35\x0b\x8c\x04\x00\x00\xb5\x00\x24\x0b\x99\x00\x00\x00\x21\x02\x00\x00\x00\x00\x00\x00\x9f\x01\x00\x00\x00\x00\x85\x01\x00\x00\x00\x00\x00\x00\xc5\x01\x00\x00\xaf\x01\x5b\x02\xaa\x01\x99\x01\x00\x00\x00\x00\x00\x00\x97\x01\x7c\x01\x71\x01\x4a\x01\x1d\x09\x00\x00\x00\x00\x00\x00\x38\x01\x00\x00\x00\x00\x99\x00\x31\x01\x00\x00\x00\x00\x56\x01\x00\x00\x00\x00\x00\x00\x15\x00\x00\x00\xf9\xff\x00\x00\x59\x04\x00\x00\x00\x00\x72\x06\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1d\x01\x77\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xda\x01\x00\x00\x0b\x01\xd9\x00\x00\x00\xe1\x00\x7b\x00\xa6\x00\x13\x0b\x00\x00\x3f\x00\x82\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x5c\x00\x00\x00\x50\x00\xef\xff\x37\x04\x4b\x00\x00\x00\x38\x00\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7b\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x01\x28\x00\x00\x00\xdf\xff\x37\x04\xcf\x0a\xda\xff\x37\x04\x00\x00\x00\x00\x00\x00\x37\x04\x00\x00\x00\x00\xc8\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#--happyDefActions :: HappyAddr-happyDefActions = HappyA# "\x32\xff\x00\x00\x00\x00\x00\x00\x00\x00\x1f\xff\x00\x00\x00\x00\x1c\xff\x00\x00\x00\x00\x17\xff\x00\x00\x15\xff\x00\x00\x00\x00\x12\xff\x00\x00\x00\x00\x00\x00\x00\x00\x0d\xff\x0c\xff\x07\xff\x07\xff\x9e\xff\x83\xff\x51\xff\x52\xff\xa5\xff\x50\xff\x55\xff\x07\xff\xae\xff\x3a\xff\x3c\xff\x38\xff\x3b\xff\x39\xff\x5c\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x56\xff\x00\x00\x42\xff\x41\xff\x40\xff\x43\xff\x3e\xff\x3f\xff\x3d\xff\x44\xff\x00\x00\x59\xff\x07\xff\x07\xff\x00\x00\x07\xff\x00\x00\x00\x00\x00\x00\x32\xff\xef\xff\xf8\xff\x32\xff\x00\x00\xf6\xff\xdb\xff\xf7\xff\xbc\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb4\xff\xc1\xff\xc3\xff\xc2\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xec\xff\xed\xff\x07\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc7\xff\xc6\xff\xc5\xff\xc4\xff\x00\x00\x07\xff\x07\xff\xd9\xff\x07\xff\x00\x00\xa8\xff\x07\xff\x07\xff\x32\xff\x32\xff\x32\xff\x32\xff\x32\xff\xbd\xff\xbc\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfa\xff\xfb\xff\x73\xff\x00\x00\x07\xff\x08\xff\x73\xff\x00\x00\x08\xff\x08\xff\x07\xff\x07\xff\x07\xff\x5d\xff\x07\xff\x07\xff\x07\xff\x07\xff\x00\x00\x00\x00\xc7\xff\xc6\xff\x75\xff\x74\xff\x07\xff\x07\xff\x07\xff\x00\x00\x64\xff\x00\x00\x00\x00\x00\x00\x73\xff\x00\x00\x08\xff\x00\x00\x00\x00\x08\xff\x00\x00\x07\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\xff\x07\xff\x07\xff\x07\xff\x07\xff\x07\xff\x07\xff\x16\xff\x07\xff\x00\x00\x07\xff\x00\x00\x07\xff\x1e\xff\x97\xff\x20\xff\x00\x00\x07\xff\x07\xff\x60\xff\x07\xff\x07\xff\x07\xff\x07\xff\x07\xff\x08\xff\x00\x00\x07\xff\x00\x00\x07\xff\x07\xff\x5a\xff\x00\x00\x9c\xff\x00\x00\x00\x00\x00\x00\x99\xff\x07\xff\x00\x00\x00\x00\x00\x00\x07\xff\x00\x00\xa4\xff\x00\x00\x00\x00\x08\xff\x07\xff\x08\xff\x07\xff\x08\xff\x07\xff\x07\xff\x07\xff\x07\xff\x07\xff\x5e\xff\x07\xff\x75\xff\x74\xff\x07\xff\x07\xff\x00\x00\x54\xff\x07\xff\x00\x00\x08\xff\x08\xff\x08\xff\x58\xff\x57\xff\x07\xff\x07\xff\x00\x00\x48\xff\x00\x00\x00\x00\x5f\xff\x00\x00\x00\x00\x00\x00\x00\x00\xc9\xff\xdb\xff\x00\x00\x00\x00\x00\x00\xde\xff\x00\x00\x71\xff\xd2\xff\x6e\xff\x91\xff\xbc\xff\x00\x00\xe9\xff\xbb\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\xff\x08\xff\x07\xff\x00\x00\x08\xff\x08\xff\x00\x00\x00\x00\x00\x00\xad\xff\x00\x00\xb2\xff\xb0\xff\xaf\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8f\xff\x00\x00\x32\xff\x00\x00\x00\x00\x00\x00\xf5\xff\x00\x00\x07\xff\x00\x00\xc0\xff\x00\x00\xf9\xff\x00\x00\x8e\xff\x2e\xff\x00\x00\x31\xff\x00\x00\x07\xff\x2a\xff\x26\xff\x00\x00\x00\x00\x07\xff\x07\xff\x00\x00\xb3\xff\x07\xff\x07\xff\x07\xff\xaa\xff\xa9\xff\x07\xff\xd8\xff\x00\x00\xa7\xff\xa6\xff\xf0\xff\xf1\xff\xf2\xff\xf3\xff\xf4\xff\x07\xff\x07\xff\x00\x00\x07\xff\xd4\xff\xd2\xff\xd2\xff\x00\x00\xcc\xff\xd0\xff\xcf\xff\xcd\xff\x00\x00\x00\x00\x00\x00\x00\x00\xdd\xff\x07\xff\x07\xff\x07\xff\xdc\xff\x00\x00\xca\xff\x00\x00\x07\xff\x07\xff\x00\x00\x73\xff\x49\xff\x4b\xff\x08\xff\x00\x00\xa1\xff\x5b\xff\x89\xff\x07\xff\x08\xff\x00\x00\x08\xff\x07\xff\x4c\xff\x08\xff\x08\xff\x08\xff\x08\xff\x08\xff\x08\xff\x08\xff\x00\x00\x08\xff\x00\x00\x08\xff\x00\x00\x07\xff\x6d\xff\x07\xff\x67\xff\x07\xff\x6a\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\xff\x00\x00\x07\xff\x08\xff\x08\xff\xa3\xff\x08\xff\x07\xff\x8b\xff\x08\xff\x08\xff\x08\xff\x08\xff\x08\xff\x96\xff\x84\xff\x87\xff\x85\xff\x86\xff\x88\xff\x81\xff\xa2\xff\x82\xff\x9b\xff\x98\xff\x00\x00\x9a\xff\x72\xff\x00\x00\x62\xff\x61\xff\x07\xff\x08\xff\x08\xff\x08\xff\xac\xff\x00\x00\x79\xff\x00\x00\x78\xff\x00\x00\x53\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\xff\x07\xff\x00\x00\x00\x00\x00\x00\x07\xff\x00\x00\x07\xff\xc8\xff\x00\x00\x00\x00\x00\x00\x0b\xff\x0a\xff\x70\xff\x00\x00\x00\x00\xcb\xff\x00\x00\xd1\xff\x08\xff\x90\xff\x08\xff\xbc\xff\x08\xff\x00\x00\xe5\xff\x00\x00\xb1\xff\x08\xff\x08\xff\x32\xff\x07\xff\x37\xff\x00\x00\x25\xff\x29\xff\x08\xff\x2c\xff\x00\x00\x07\xff\x00\x00\xbf\xff\xeb\xff\x00\x00\x00\x00\xee\xff\x2f\xff\x00\x00\xb8\xff\x26\xff\xb7\xff\x37\xff\x22\xff\x23\xff\x00\x00\x08\xff\x00\x00\xb6\xff\xb5\xff\x34\xff\x00\x00\xd5\xff\x00\x00\xd7\xff\xb9\xff\xba\xff\x00\x00\xd3\xff\x94\xff\x00\x00\x00\x00\x09\xff\x00\x00\x07\xff\x00\x00\x00\x00\x07\xff\x08\xff\x00\x00\x45\xff\x07\xff\x08\xff\x07\xff\x7b\xff\x77\xff\x7c\xff\x7f\xff\x7d\xff\x7e\xff\x80\xff\x76\xff\x7a\xff\xab\xff\x66\xff\x65\xff\x08\xff\x6c\xff\x6b\xff\x00\x00\x08\xff\x4f\xff\x08\xff\x07\xff\x00\x00\x08\xff\x8c\xff\x07\xff\x08\xff\x00\x00\x6f\xff\xce\xff\x95\xff\x00\x00\xea\xff\xe3\xff\xd6\xff\x00\x00\x35\xff\x33\xff\x21\xff\x36\xff\x24\xff\x2b\xff\x30\xff\xbe\xff\xe4\xff\x93\xff\x00\x00\x07\xff\xe6\xff\x08\xff\x9d\xff\x00\x00\x08\xff\x00\x00\x63\xff\x69\xff\x47\xff\x00\x00\x00\x00\xe8\xff\x08\xff\x92\xff\xe7\xff\x4a\xff\x46\xff"#--happyCheck :: HappyAddr-happyCheck = HappyA# "\xff\xff\x0b\x00\x01\x00\x05\x00\x0a\x00\x02\x00\x07\x00\x02\x00\x03\x00\x20\x00\x21\x00\x29\x00\x19\x00\x0c\x00\x46\x00\x1c\x00\x0b\x00\x10\x00\x19\x00\x24\x00\x13\x00\x09\x00\x0a\x00\x0b\x00\x19\x00\x1a\x00\x03\x00\x01\x00\x20\x00\x21\x00\x02\x00\x02\x00\x46\x00\x19\x00\x1d\x00\x0c\x00\x26\x00\x46\x00\x0c\x00\x22\x00\x23\x00\x47\x00\x10\x00\x31\x00\x27\x00\x11\x00\x19\x00\x30\x00\x24\x00\x2e\x00\x49\x00\x2e\x00\x35\x00\x3f\x00\x47\x00\x20\x00\x21\x00\x40\x00\x41\x00\x07\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x27\x00\x49\x00\x3e\x00\x02\x00\x03\x00\x19\x00\x2e\x00\x2e\x00\x4b\x00\x19\x00\x1a\x00\x46\x00\x02\x00\x50\x00\x3d\x00\x47\x00\x53\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x02\x00\x03\x00\x11\x00\x49\x00\x19\x00\x1d\x00\x24\x00\x30\x00\x4b\x00\x0b\x00\x22\x00\x23\x00\x35\x00\x50\x00\x01\x00\x27\x00\x53\x00\x6d\x00\x47\x00\x40\x00\x41\x00\x71\x00\x2e\x00\x73\x00\x74\x00\x75\x00\x76\x00\x1d\x00\x19\x00\x10\x00\x76\x00\x2e\x00\x22\x00\x23\x00\x47\x00\x02\x00\x03\x00\x27\x00\x02\x00\x03\x00\x3d\x00\x47\x00\x6d\x00\x02\x00\x2e\x00\x02\x00\x71\x00\x0b\x00\x73\x00\x74\x00\x75\x00\x76\x00\x46\x00\x11\x00\x12\x00\x13\x00\x14\x00\x46\x00\x11\x00\x17\x00\x11\x00\x19\x00\x1d\x00\x57\x00\x3d\x00\x1d\x00\x24\x00\x22\x00\x23\x00\x46\x00\x22\x00\x23\x00\x27\x00\x20\x00\x26\x00\x27\x00\x02\x00\x03\x00\x14\x00\x2e\x00\x27\x00\x26\x00\x2e\x00\x2f\x00\x24\x00\x0b\x00\x46\x00\x2e\x00\x28\x00\x2e\x00\x47\x00\x11\x00\x12\x00\x13\x00\x14\x00\x03\x00\x24\x00\x17\x00\x29\x00\x19\x00\x15\x00\x47\x00\x19\x00\x1d\x00\x19\x00\x02\x00\x03\x00\x46\x00\x22\x00\x23\x00\x12\x00\x22\x00\x26\x00\x27\x00\x0b\x00\x01\x00\x76\x00\x51\x00\x52\x00\x47\x00\x2e\x00\x2f\x00\x56\x00\x57\x00\x24\x00\x59\x00\x0c\x00\x24\x00\x47\x00\x24\x00\x10\x00\x47\x00\x1d\x00\x13\x00\x37\x00\x01\x00\x24\x00\x22\x00\x23\x00\x51\x00\x52\x00\x3e\x00\x27\x00\x46\x00\x0a\x00\x0b\x00\x6e\x00\x6f\x00\x70\x00\x2e\x00\x10\x00\x76\x00\x24\x00\x24\x00\x76\x00\x51\x00\x52\x00\x19\x00\x24\x00\x47\x00\x56\x00\x57\x00\x47\x00\x59\x00\x47\x00\x24\x00\x20\x00\x23\x00\x6e\x00\x6f\x00\x70\x00\x47\x00\x24\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x02\x00\x03\x00\x01\x00\x6e\x00\x6f\x00\x70\x00\x47\x00\x47\x00\x4b\x00\x0b\x00\x24\x00\x76\x00\x47\x00\x50\x00\x47\x00\x13\x00\x53\x00\x10\x00\x19\x00\x47\x00\x02\x00\x03\x00\x19\x00\x24\x00\x24\x00\x24\x00\x47\x00\x1d\x00\x20\x00\x0b\x00\x24\x00\x22\x00\x22\x00\x23\x00\x02\x00\x03\x00\x19\x00\x27\x00\x24\x00\x24\x00\x76\x00\x24\x00\x6d\x00\x0b\x00\x2e\x00\x47\x00\x71\x00\x1d\x00\x73\x00\x74\x00\x75\x00\x46\x00\x22\x00\x23\x00\x02\x00\x03\x00\x19\x00\x27\x00\x47\x00\x47\x00\x47\x00\x1d\x00\x29\x00\x0b\x00\x2e\x00\x47\x00\x22\x00\x23\x00\x02\x00\x03\x00\x19\x00\x27\x00\x24\x00\x47\x00\x47\x00\x24\x00\x47\x00\x0b\x00\x2e\x00\x24\x00\x23\x00\x1d\x00\x24\x00\x24\x00\x19\x00\x11\x00\x22\x00\x23\x00\x02\x00\x03\x00\x19\x00\x27\x00\x47\x00\x19\x00\x23\x00\x1d\x00\x1f\x00\x0b\x00\x2e\x00\x19\x00\x22\x00\x23\x00\x02\x00\x03\x00\x03\x00\x27\x00\x20\x00\x47\x00\x46\x00\x08\x00\x47\x00\x0b\x00\x2e\x00\x01\x00\x47\x00\x1d\x00\x76\x00\x47\x00\x47\x00\x12\x00\x22\x00\x23\x00\x02\x00\x03\x00\x0c\x00\x27\x00\x19\x00\x47\x00\x10\x00\x1d\x00\x19\x00\x0b\x00\x2e\x00\x11\x00\x22\x00\x23\x00\x76\x00\x20\x00\x03\x00\x27\x00\x19\x00\x19\x00\x19\x00\x08\x00\x0d\x00\x0e\x00\x2e\x00\x20\x00\x1f\x00\x1d\x00\x76\x00\x38\x00\x19\x00\x12\x00\x22\x00\x23\x00\x02\x00\x03\x00\x1f\x00\x27\x00\x19\x00\x19\x00\x02\x00\x03\x00\x1c\x00\x0b\x00\x2e\x00\x19\x00\x1a\x00\x02\x00\x76\x00\x0b\x00\x0c\x00\x0d\x00\x14\x00\x0a\x00\x46\x00\x11\x00\x0d\x00\x13\x00\x14\x00\x0a\x00\x0b\x00\x1d\x00\x76\x00\x13\x00\x2c\x00\x2d\x00\x22\x00\x23\x00\x47\x00\x19\x00\x20\x00\x27\x00\x0a\x00\x35\x00\x1d\x00\x0d\x00\x26\x00\x27\x00\x2e\x00\x22\x00\x23\x00\x46\x00\x76\x00\x27\x00\x2e\x00\x2f\x00\x43\x00\x31\x00\x45\x00\x2d\x00\x2a\x00\x2f\x00\x30\x00\x43\x00\x32\x00\x45\x00\x76\x00\x35\x00\x19\x00\x1a\x00\x46\x00\x3f\x00\x19\x00\x19\x00\x1a\x00\x46\x00\x1d\x00\x1e\x00\x0a\x00\x0b\x00\x48\x00\x21\x00\x44\x00\x51\x00\x52\x00\x29\x00\x76\x00\x2c\x00\x2d\x00\x51\x00\x52\x00\x2b\x00\x2c\x00\x2d\x00\x17\x00\x18\x00\x35\x00\x46\x00\x02\x00\x03\x00\x01\x00\x35\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0d\x00\x0e\x00\x6e\x00\x6f\x00\x70\x00\x10\x00\x51\x00\x52\x00\x6e\x00\x6f\x00\x70\x00\x16\x00\x03\x00\x18\x00\x46\x00\x1d\x00\x1b\x00\x08\x00\x19\x00\x46\x00\x22\x00\x23\x00\x1d\x00\x1e\x00\x26\x00\x27\x00\x25\x00\x12\x00\x47\x00\x28\x00\x17\x00\x18\x00\x2e\x00\x46\x00\x19\x00\x6e\x00\x6f\x00\x70\x00\x46\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x46\x00\x01\x00\x02\x00\x46\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x09\x00\x0a\x00\x0b\x00\x46\x00\x0e\x00\x0f\x00\x10\x00\x46\x00\x47\x00\x4d\x00\x4e\x00\x4f\x00\x16\x00\x46\x00\x18\x00\x53\x00\x54\x00\x1b\x00\x59\x00\x1d\x00\x47\x00\x46\x00\x5a\x00\x46\x00\x22\x00\x23\x00\x46\x00\x25\x00\x26\x00\x13\x00\x28\x00\x19\x00\x1a\x00\x47\x00\x47\x00\x19\x00\x2e\x00\x46\x00\x46\x00\x46\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x46\x00\x27\x00\x2c\x00\x2d\x00\x2e\x00\x46\x00\x46\x00\x2d\x00\x46\x00\x2f\x00\x30\x00\x35\x00\x32\x00\x02\x00\x03\x00\x35\x00\x46\x00\x46\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x46\x00\x46\x00\x46\x00\x53\x00\x54\x00\x55\x00\x01\x00\x02\x00\x58\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x47\x00\x47\x00\x47\x00\x1d\x00\x0e\x00\x0f\x00\x10\x00\x47\x00\x22\x00\x23\x00\x47\x00\x47\x00\x16\x00\x27\x00\x18\x00\x46\x00\x19\x00\x1b\x00\x19\x00\x1d\x00\x2e\x00\x46\x00\x46\x00\x46\x00\x22\x00\x23\x00\x06\x00\x25\x00\x46\x00\x46\x00\x28\x00\x46\x00\x05\x00\x47\x00\x47\x00\x47\x00\x00\x00\x01\x00\x02\x00\x03\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x0c\x00\x46\x00\x46\x00\x0f\x00\x10\x00\x46\x00\x12\x00\x47\x00\x14\x00\x47\x00\x46\x00\x46\x00\x56\x00\x19\x00\x29\x00\x47\x00\x46\x00\x46\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x47\x00\x46\x00\x46\x00\x53\x00\x54\x00\x55\x00\x01\x00\x46\x00\x58\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x29\x00\x29\x00\x47\x00\x47\x00\x0e\x00\x0f\x00\x10\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x16\x00\x05\x00\x18\x00\x47\x00\x47\x00\x1b\x00\x19\x00\x1d\x00\x19\x00\x02\x00\x03\x00\x19\x00\x19\x00\x16\x00\x0e\x00\x25\x00\x06\x00\x47\x00\x28\x00\x19\x00\x1a\x00\x47\x00\x47\x00\x19\x00\x11\x00\x47\x00\x47\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x1d\x00\x19\x00\x2c\x00\x2d\x00\x19\x00\x22\x00\x23\x00\x43\x00\x13\x00\x26\x00\x27\x00\x35\x00\x15\x00\x26\x00\x15\x00\x11\x00\x2e\x00\x2e\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x03\x00\x13\x00\x11\x00\x53\x00\x54\x00\x55\x00\x01\x00\x0b\x00\x58\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x48\x00\x26\x00\x13\x00\x11\x00\x0e\x00\x0f\x00\x10\x00\x26\x00\x11\x00\x19\x00\x0c\x00\x1b\x00\x16\x00\x0b\x00\x18\x00\x14\x00\x14\x00\x1b\x00\x15\x00\x1d\x00\x2e\x00\x25\x00\x26\x00\x27\x00\x0b\x00\x20\x00\x11\x00\x25\x00\x11\x00\x2d\x00\x28\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x11\x00\x11\x00\x35\x00\x11\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x11\x00\x2e\x00\x2e\x00\x2e\x00\x11\x00\x0a\x00\x04\x00\x47\x00\x31\x00\x13\x00\x0b\x00\x13\x00\x10\x00\x02\x00\x03\x00\x26\x00\x20\x00\x04\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x13\x00\x20\x00\x11\x00\x53\x00\x54\x00\x55\x00\x01\x00\x20\x00\x58\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x11\x00\x26\x00\x0a\x00\x1d\x00\x0e\x00\x0f\x00\x10\x00\x26\x00\x22\x00\x23\x00\x15\x00\x11\x00\x16\x00\x27\x00\x18\x00\x13\x00\x13\x00\x1b\x00\x13\x00\x1d\x00\x2e\x00\x2f\x00\x13\x00\x13\x00\x26\x00\x0a\x00\x0c\x00\x25\x00\x5a\x00\x13\x00\x28\x00\x26\x00\x0b\x00\x20\x00\x31\x00\x19\x00\x00\x00\x01\x00\x02\x00\x03\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x0c\x00\x27\x00\x13\x00\x0f\x00\x10\x00\x0d\x00\x12\x00\x2d\x00\x14\x00\x2f\x00\x30\x00\x11\x00\x32\x00\x19\x00\x13\x00\x35\x00\x11\x00\x26\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x11\x00\x0a\x00\x26\x00\x53\x00\x54\x00\x55\x00\x01\x00\x03\x00\x58\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x13\x00\x26\x00\x20\x00\x2f\x00\x0e\x00\x0f\x00\x10\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x16\x00\x0a\x00\x18\x00\x11\x00\x11\x00\x1b\x00\x11\x00\x1d\x00\x03\x00\x0a\x00\x59\x00\x0a\x00\x12\x00\x0b\x00\x11\x00\x25\x00\x10\x00\x13\x00\x28\x00\x0b\x00\x0b\x00\x04\x00\x04\x00\x19\x00\x00\x00\x01\x00\x02\x00\x03\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x0c\x00\x27\x00\x01\x00\x0f\x00\x10\x00\x12\x00\x12\x00\x2d\x00\x14\x00\x2f\x00\x30\x00\x3f\x00\x32\x00\x19\x00\x04\x00\x35\x00\x10\x00\x14\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x10\x00\x10\x00\x0c\x00\x53\x00\x54\x00\x55\x00\x01\x00\x12\x00\x58\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x12\x00\x19\x00\x12\x00\x12\x00\x0e\x00\x0f\x00\x10\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x16\x00\x12\x00\x18\x00\x27\x00\x05\x00\x1b\x00\x76\x00\x1d\x00\x20\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\x76\x00\x32\x00\x25\x00\xff\xff\x35\x00\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\x01\x00\x02\x00\x03\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x0c\x00\x27\x00\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\x2d\x00\x14\x00\x2f\x00\x30\x00\xff\xff\x32\x00\x19\x00\xff\xff\x35\x00\x36\x00\xff\xff\x4c\x00\x4d\x00\x4e\x00\x4f\x00\xff\xff\xff\xff\xff\xff\x53\x00\x54\x00\x55\x00\x01\x00\xff\xff\x58\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x19\x00\xff\xff\xff\xff\x0e\x00\x0f\x00\x10\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x16\x00\xff\xff\x18\x00\x27\x00\xff\xff\x1b\x00\xff\xff\x1d\x00\xff\xff\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\x25\x00\xff\xff\x35\x00\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\x01\x00\x02\x00\x03\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x0c\x00\x27\x00\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\x2d\x00\x14\x00\x2f\x00\x30\x00\xff\xff\x32\x00\x19\x00\xff\xff\x35\x00\xff\xff\xff\xff\x4c\x00\x4d\x00\x4e\x00\x4f\x00\xff\xff\xff\xff\xff\xff\x53\x00\x54\x00\x55\x00\x01\x00\xff\xff\x58\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x19\x00\xff\xff\xff\xff\x0e\x00\x0f\x00\x10\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x16\x00\xff\xff\x18\x00\x27\x00\xff\xff\x1b\x00\xff\xff\x1d\x00\xff\xff\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\x25\x00\xff\xff\x35\x00\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\x01\x00\x02\x00\x03\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x0c\x00\x27\x00\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\x2d\x00\x14\x00\x2f\x00\x30\x00\xff\xff\x32\x00\x19\x00\xff\xff\x35\x00\xff\xff\xff\xff\x4c\x00\x4d\x00\x4e\x00\x4f\x00\xff\xff\xff\xff\xff\xff\x53\x00\x54\x00\x55\x00\x01\x00\xff\xff\x58\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x19\x00\xff\xff\xff\xff\x0e\x00\x0f\x00\x10\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x16\x00\xff\xff\x18\x00\x27\x00\xff\xff\x1b\x00\xff\xff\x1d\x00\xff\xff\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\x25\x00\xff\xff\x35\x00\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\x01\x00\x02\x00\x03\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x0c\x00\x27\x00\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\x2d\x00\x14\x00\x2f\x00\x30\x00\xff\xff\x32\x00\x19\x00\xff\xff\x35\x00\xff\xff\xff\xff\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x19\x00\x1a\x00\xff\xff\x53\x00\x54\x00\x55\x00\x01\x00\xff\xff\x58\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\xff\xff\xff\xff\x2c\x00\x2d\x00\x10\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x16\x00\x35\x00\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\x0e\x00\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\xff\xff\x19\x00\x1a\x00\xff\xff\x10\x00\x1d\x00\x1e\x00\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2c\x00\x2d\x00\x2e\x00\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x35\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\xff\xff\x19\x00\x1a\x00\xff\xff\x10\x00\xff\xff\xff\xff\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2c\x00\x2d\x00\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x35\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x19\x00\x1a\x00\x19\x00\x1a\x00\xff\xff\x10\x00\xff\xff\xff\xff\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\xff\xff\xff\xff\x2c\x00\x2d\x00\x2c\x00\x2d\x00\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\x35\x00\x28\x00\x35\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x19\x00\x1a\x00\xff\xff\x19\x00\x1a\x00\xff\xff\x10\x00\xff\xff\x21\x00\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\x2b\x00\x2c\x00\x2d\x00\xff\xff\x2c\x00\x2d\x00\xff\xff\xff\xff\xff\xff\x25\x00\x35\x00\xff\xff\x28\x00\x35\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\xff\xff\x19\x00\x1a\x00\xff\xff\x10\x00\xff\xff\xff\xff\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2c\x00\x2d\x00\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x35\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x19\x00\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\x11\x00\x21\x00\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\x2b\x00\x2c\x00\x2d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x35\x00\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x19\x00\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\x11\x00\x21\x00\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\x2b\x00\x2c\x00\x2d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x35\x00\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x19\x00\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\x11\x00\x21\x00\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\x2b\x00\x2c\x00\x2d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x35\x00\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x19\x00\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\x11\x00\x21\x00\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\x2b\x00\x2c\x00\x2d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x35\x00\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x19\x00\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\x21\x00\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\x2b\x00\x2c\x00\x2d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x35\x00\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\xff\xff\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\xff\xff\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x4d\x00\x4e\x00\x4f\x00\x02\x00\x03\x00\xff\xff\x53\x00\x54\x00\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x01\x00\x02\x00\x13\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1d\x00\xff\xff\x0f\x00\x10\x00\xff\xff\x22\x00\x23\x00\x4d\x00\x4e\x00\x4f\x00\x27\x00\xff\xff\xff\xff\x53\x00\x54\x00\xff\xff\x1d\x00\x2e\x00\xff\xff\xff\xff\xff\xff\x22\x00\x23\x00\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\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\xff\xff\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x25\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x02\x00\x03\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\xff\xff\x0f\x00\x10\x00\x1d\x00\xff\xff\x19\x00\x4e\x00\x4f\x00\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\x2e\x00\xff\xff\xff\xff\x25\x00\xff\xff\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x36\x00\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x01\x00\x42\x00\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\x10\x00\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x0c\x00\xff\xff\x18\x00\x0f\x00\x10\x00\xff\xff\x12\x00\xff\xff\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\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\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\x19\x00\x35\x00\x1b\x00\xff\xff\x19\x00\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x25\x00\x26\x00\x27\x00\x47\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\x2d\x00\x32\x00\x2f\x00\x30\x00\x35\x00\x32\x00\xff\xff\x19\x00\x35\x00\x1b\x00\xff\xff\x19\x00\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\x47\x00\x25\x00\x26\x00\x27\x00\x47\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\x2d\x00\x32\x00\x2f\x00\x30\x00\x35\x00\x32\x00\x02\x00\x03\x00\x35\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x02\x00\x03\x00\x11\x00\x47\x00\xff\xff\xff\xff\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1d\x00\x11\x00\x02\x00\x03\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\x26\x00\x27\x00\xff\xff\xff\xff\x1d\x00\xff\xff\x02\x00\x03\x00\x2e\x00\x22\x00\x23\x00\xff\xff\xff\xff\x26\x00\x27\x00\x0b\x00\x19\x00\xff\xff\xff\xff\xff\xff\x1d\x00\x2e\x00\x02\x00\x03\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\x26\x00\x27\x00\x02\x00\x03\x00\x1d\x00\xff\xff\xff\xff\xff\xff\x2e\x00\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x19\x00\xff\xff\x12\x00\xff\xff\x1d\x00\x2e\x00\x02\x00\x03\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\x1d\x00\x27\x00\x0b\x00\xff\xff\xff\xff\x22\x00\x23\x00\xff\xff\x2e\x00\xff\xff\x27\x00\x02\x00\x03\x00\x02\x00\x03\x00\xff\xff\xff\xff\x2e\x00\xff\xff\xff\xff\x1d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x23\x00\xff\xff\x13\x00\x12\x00\x27\x00\xff\xff\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\x2e\x00\x1d\x00\xff\xff\x1d\x00\x0b\x00\xff\xff\x22\x00\x23\x00\x22\x00\x23\x00\xff\xff\x27\x00\xff\xff\x27\x00\x02\x00\x03\x00\x02\x00\x03\x00\x2e\x00\xff\xff\x2e\x00\xff\xff\x1d\x00\x0b\x00\xff\xff\x0b\x00\xff\xff\x22\x00\x23\x00\x02\x00\x03\x00\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\x1d\x00\xff\xff\x1d\x00\x11\x00\xff\xff\x22\x00\x23\x00\x22\x00\x23\x00\xff\xff\x27\x00\xff\xff\x27\x00\x02\x00\x03\x00\x1d\x00\xff\xff\x2e\x00\xff\xff\x2e\x00\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\x0e\x00\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\x17\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x1d\x00\x1b\x00\xff\xff\xff\xff\xff\xff\x22\x00\x23\x00\x0e\x00\xff\xff\xff\xff\x27\x00\x25\x00\x26\x00\x27\x00\x28\x00\xff\xff\xff\xff\x2e\x00\x19\x00\x2d\x00\x1b\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xff\xff\xff\xff\x35\x00\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#--happyTable :: HappyAddr-happyTable = HappyA# "\x00\x00\x0c\x02\x22\x00\x42\x02\xdc\x00\xe5\x00\x0d\x01\xb3\x00\xb4\x00\x10\x01\x11\x01\x7d\x01\xac\x00\x51\x00\x61\x02\xb7\x01\x18\xff\x52\x00\xf2\x01\xb0\x00\xfc\xff\xdb\x01\x62\x01\x63\x01\x76\x00\x77\x00\xb4\x00\x22\x00\x28\x01\x29\x01\xe5\x00\xe5\x00\x5c\x02\x47\x01\xb5\x00\xda\xff\x43\x02\x5e\x02\x51\x00\xb6\x00\xb7\x00\xb9\x00\x52\x00\x73\xff\xb8\x00\x25\x02\x2f\x01\x78\x00\xb0\x00\xe7\x00\x12\x01\xb9\x00\x79\x00\x57\x00\x57\x02\xda\xff\xda\xff\x4b\x02\xf4\x01\x75\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x9b\x01\x12\x01\xf5\x01\xb3\x00\xb4\x00\xf2\x01\xe7\x00\xe7\x00\x5b\x00\x76\x00\x77\x00\x53\x02\xe5\x00\x5c\x00\x4c\x02\xb1\x00\x5d\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xb3\x00\xb4\x00\xe6\x00\xda\xff\x2f\x01\xb5\x00\xb0\x00\x78\x00\x5b\x00\x1a\xff\xb6\x00\xb7\x00\x79\x00\x5c\x00\x22\x00\xb8\x00\x5d\x00\x5e\x00\x5f\x02\xf3\x01\xf4\x01\x5f\x00\xb9\x00\x60\x00\x61\x00\x62\x00\xfc\xff\xb5\x00\x2f\x01\x52\x00\x18\xff\xe7\x00\xb6\x00\xb7\x00\x54\x02\xb3\x00\xb4\x00\xb8\x00\xb3\x00\xb4\x00\x30\x01\x37\x02\x5e\x00\xe5\x00\xb9\x00\xe5\x00\x5f\x00\xa0\xff\x60\x00\x61\x00\x62\x00\xfc\xff\x55\x02\xa0\xff\xa0\xff\xa0\xff\xa0\xff\x58\x02\x99\x01\xa0\xff\x6e\xff\xa0\xff\xb5\x00\xd8\x01\x32\x01\xb5\x00\xb0\x00\xb6\x00\xb7\x00\x59\x02\xb6\x00\xb7\x00\xb8\x00\x9a\x01\xa0\xff\xb8\x00\xb3\x00\xb4\x00\x65\x01\xb9\x00\x9b\x01\x6e\xff\xb9\x00\xa0\xff\xb0\x00\x9f\xff\x34\x02\xe7\x00\xf0\x00\xe7\x00\x35\x02\x9f\xff\x9f\xff\x9f\xff\x9f\xff\x93\x00\xb0\x00\x9f\xff\xf8\x00\x9f\xff\x46\x01\x3a\x02\x33\x01\xb5\x00\x47\x01\xb3\x00\xb4\x00\x36\x02\xb6\x00\xb7\x00\x94\x00\x41\x01\x9f\xff\xb8\x00\x1d\xff\x22\x00\x1a\xff\xa0\xff\xa0\xff\xb1\x00\xb9\x00\x9f\xff\xa0\xff\xa0\xff\xb0\x00\xa0\xff\x51\x00\xb0\x00\x25\x01\xb0\x00\x52\x00\xb1\x00\xb5\x00\xfc\xff\x48\x01\x22\x00\xb0\x00\xb6\x00\xb7\x00\x66\x01\x67\x01\x49\x01\xb8\x00\x39\x02\x4b\x01\x4c\x01\xa0\xff\xa0\xff\xa0\xff\xb9\x00\x52\x00\xff\xff\xb0\x00\xb0\x00\xa0\xff\x9f\xff\x9f\xff\x8e\x00\xb0\x00\x1f\x02\x9f\xff\x9f\xff\xb1\x00\x9f\xff\x7c\x01\xb0\x00\x4d\x01\x3b\x02\x68\x01\x69\x01\x6a\x01\x8b\x01\xb0\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xb3\x00\xb4\x00\x22\x00\x9f\xff\x9f\xff\x9f\xff\x8d\x01\x8f\x01\x5b\x00\x1b\xff\xb0\x00\x9f\xff\x91\x01\x5c\x00\x3d\x02\x18\x01\x5d\x00\x52\x00\x3e\x02\xb1\x00\xb3\x00\xb4\x00\x33\x01\xb0\x00\xb0\x00\xb0\x00\xa6\x01\xb5\x00\x19\x01\x19\xff\xb0\x00\x34\x01\xb6\x00\xb7\x00\xb3\x00\xb4\x00\x46\x02\xb8\x00\xb0\x00\xe7\x00\x1d\xff\xb0\x00\x5e\x00\x14\xff\xb9\x00\xa9\x01\x5f\x00\xb5\x00\x60\x00\x61\x00\x62\x00\x48\x02\xb6\x00\xb7\x00\xb3\x00\xb4\x00\xfe\x01\xb8\x00\xaa\x01\xab\x01\xac\x01\xb5\x00\xf8\x00\x13\xff\xb9\x00\xad\x01\xb6\x00\xb7\x00\xb3\x00\xb4\x00\x79\x01\xb8\x00\xb0\x00\xb1\x00\xe8\x00\xb0\x00\xb1\x00\x11\xff\xb9\x00\xb0\x00\x8f\x00\xb5\x00\xe7\x00\xb0\x00\x8e\x00\x4e\x02\xb6\x00\xb7\x00\xb3\x00\xb4\x00\xc7\x00\xb8\x00\xb9\x00\x38\x01\x8f\x00\xb5\x00\xe6\x01\x10\xff\xb9\x00\x16\x02\xb6\x00\xb7\x00\xb3\x00\xb4\x00\x0f\x02\xb8\x00\x60\x02\xfc\x00\x02\x02\x45\x02\xfe\x00\x0f\xff\xb9\x00\x22\x00\xb1\x00\xb5\x00\x1b\xff\xe8\x00\xb1\x00\x48\x00\xb6\x00\xb7\x00\xb3\x00\xb4\x00\x51\x00\xb8\x00\x4a\x00\x09\x02\x52\x00\xb5\x00\x16\x02\x0e\xff\xb9\x00\x37\x01\xb6\x00\xb7\x00\x19\xff\x50\x02\x0f\x02\xb8\x00\x16\x02\x38\x01\xc7\x00\x10\x02\xd9\x01\x0c\x01\xb9\x00\x17\x02\xae\x01\xb5\x00\x14\xff\x0a\x02\xc7\x00\x48\x00\xb6\x00\xb7\x00\xb3\x00\xb4\x00\xc8\x00\xb8\x00\x4a\x00\xac\x00\x68\xff\xb4\x00\xad\x00\xd2\xff\xb9\x00\x76\x00\xa6\x00\x72\x00\x13\xff\x68\xff\x68\xff\x68\xff\x65\x01\x9d\x01\x0c\x02\x68\xff\x73\xff\x68\xff\x68\xff\xe3\x01\x63\x01\xb5\x00\x11\xff\x83\x00\x32\x02\xa8\x00\xb6\x00\xb7\x00\x23\x02\x17\x00\x68\xff\xb8\x00\xdc\x00\x79\x00\x73\x00\x73\xff\x68\xff\x68\xff\xb9\x00\x74\x00\x75\x00\x0d\x02\x10\xff\x1b\x00\x68\xff\x68\xff\x6c\x01\x68\xff\x19\x02\x1c\x00\x6a\x01\x84\x00\x1e\x00\x6c\x01\x1f\x00\x6d\x01\x0f\xff\x20\x00\x76\x00\xa6\x00\x11\x02\x68\xff\xdc\x00\x76\x00\xa6\x00\x13\x02\xba\x01\xde\x00\xe4\x01\x63\x01\x68\xff\x13\x01\x85\x00\x66\x01\x67\x01\xd5\x01\x0e\xff\x33\x02\xa8\x00\x68\xff\x68\xff\x3f\x02\x15\x01\xa8\x00\xed\x01\x2b\x01\x79\x00\x14\x02\xb3\x00\xb4\x00\x22\x00\x79\x00\x87\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x88\x00\x0b\x01\x0c\x01\x68\x01\x69\x01\x6a\x01\x2b\x00\x66\x01\x67\x01\x68\xff\x68\xff\x68\xff\x2c\x00\x0f\x02\x2d\x00\x2e\x02\xb5\x00\x2e\x00\x1c\x02\xdc\x00\x2f\x02\xb6\x00\xb7\x00\xdd\x00\xde\x00\x1e\x02\xb8\x00\x30\x00\x48\x00\x31\x02\x31\x00\x2a\x01\x2b\x01\xb9\x00\x30\x02\x4a\x00\x68\x01\x69\x01\x6a\x01\xaf\x01\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xb0\x01\x22\x00\xa1\x00\xb1\x01\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x61\x01\x62\x01\x63\x01\xb2\x01\x29\x00\x2a\x00\x2b\x00\x2d\x01\x2e\x01\x3b\x00\x3c\x00\x3d\x00\x2c\x00\xb3\x01\x2d\x00\x3e\x00\x3f\x00\x2e\x00\x8d\xff\xa2\x00\xc0\x01\xb4\x01\x89\x00\xb5\x01\xa3\x00\xa4\x00\xb6\x01\x30\x00\xa5\x00\x12\x02\x31\x00\x76\x00\xa6\x00\xc1\x01\xc2\x01\x17\x00\xa6\x00\xc4\x01\xc6\x01\xc8\x01\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xc9\x01\x1b\x00\xbd\x01\xa8\x00\xbe\x01\xca\x01\xcb\x01\x1c\x00\xcc\x01\x84\x00\x1e\x00\x79\x00\x1f\x00\xb3\x00\xb4\x00\x20\x00\xcd\x01\xce\x01\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xcf\x01\xd1\x01\xd4\x01\x3e\x00\x3f\x00\x40\x00\x22\x00\x72\x00\x41\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\xe5\x01\xe7\x01\xe9\x01\xb5\x00\x29\x00\x2a\x00\x2b\x00\xee\x01\xb6\x00\xb7\x00\xef\x01\xf6\x01\x2c\x00\xb8\x00\x2d\x00\x52\x01\xf8\x01\x2e\x00\x3e\x01\xa2\x00\xb9\x00\x53\x01\x57\x01\x58\x01\x74\x00\x75\x00\x72\x01\x30\x00\x7e\x01\x7f\x01\x31\x00\x80\x01\x0e\x01\x82\x01\x8a\x01\x8c\x01\x3f\x01\x42\x00\x43\x00\x44\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x45\x00\x8e\x01\x90\x01\x46\x00\x47\x00\x92\x01\x48\x00\xa3\x01\x49\x00\xa4\x01\xa8\x01\xcc\x00\x09\x01\x4a\x00\xda\x00\xd2\x00\xd5\x00\xd8\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xfd\x00\xff\x00\x00\x01\x3e\x00\x3f\x00\x40\x00\x22\x00\x07\x01\x41\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x06\x01\x0a\x01\x20\x01\x21\x01\x29\x00\x2a\x00\x2b\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x2c\x00\x26\x01\x2d\x00\x24\x01\x25\x01\x2e\x00\x2e\x01\x2f\x00\x31\x01\xb3\x00\xb4\x00\x69\x00\x6a\x00\x6e\x00\x70\x00\x30\x00\x89\x00\x91\x00\x31\x00\x76\x00\xa6\x00\x94\x00\x95\x00\x97\x00\x4d\xff\xae\x00\xb9\x00\xc3\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xb5\x00\xc0\x00\xbf\x01\xa8\x00\xc6\x00\xb6\x00\xb7\x00\x04\x00\x63\x02\x57\x01\xb8\x00\x79\x00\x50\x02\x52\x02\x53\x02\x5b\x02\xe7\x00\xb9\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x3d\x02\x41\x02\x3e\x00\x3f\x00\x40\x00\x22\x00\x44\x02\x41\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x48\x02\xfe\x01\x45\x02\x4e\x02\x29\x00\x2a\x00\x2b\x00\x02\x02\x01\x02\x17\x00\x04\x02\x85\x01\x2c\x00\x05\x02\x2d\x00\x0f\x02\x1b\x02\x2e\x00\x16\x02\x2f\x00\x19\x02\x19\x00\x1a\x00\x1b\x00\x1c\x02\x21\x02\x26\x02\x30\x00\x27\x02\x1c\x00\x31\x00\x1d\x00\x1e\x00\x86\x01\x1f\x00\x28\x02\x29\x02\x20\x00\x2a\x02\xc5\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xc6\x01\xba\x01\xbd\x01\xe7\x00\xc8\x01\xdc\x00\xe3\x01\x87\x01\xd4\x01\xde\x01\xdf\x01\xe1\x01\xe2\x01\xb3\x00\xb4\x00\xfb\x01\xf2\x01\xfc\x01\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x01\x3d\x01\x43\x01\x3e\x00\x3f\x00\x40\x00\x22\x00\x41\x01\x41\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x45\x01\x44\x01\x46\x01\xb5\x00\x29\x00\x2a\x00\x2b\x00\x4e\x01\xb6\x00\xb7\x00\x4f\x01\x55\x01\x2c\x00\xb8\x00\x2d\x00\x5a\x01\x5b\x01\x2e\x00\x5c\x01\x2f\x00\xb9\x00\x3b\x01\x5d\x01\x5e\x01\x61\x01\x6c\x01\x8b\x00\x30\x00\x6f\x01\x5f\x01\x31\x00\x74\x01\x75\x01\x76\x01\x79\x01\x17\x00\x1b\x01\x42\x00\x43\x00\x44\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x45\x00\x1b\x00\x7c\x01\x46\x00\x47\x00\x84\x01\x48\x00\x1c\x00\x49\x00\x84\x00\x1e\x00\x98\x01\x1f\x00\x4a\x00\x94\x01\x20\x00\x9c\x01\x9e\x01\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x9f\x01\xa0\x01\xa2\x01\x3e\x00\x3f\x00\x40\x00\x22\x00\x00\x00\x06\x01\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\xd7\x00\xca\x00\xd4\x00\xda\x00\x29\x00\x2a\x00\x2b\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x2c\x00\xdc\x00\x2d\x00\xc4\xff\xc5\xff\x2e\x00\xef\x00\x2f\x00\x00\x00\xdc\x00\x0a\x01\xdc\x00\x13\x01\x1a\x01\x2a\x01\x30\x00\x37\x01\x1a\x01\x31\x00\x36\x01\x3a\x01\x63\x00\x64\x00\x17\x00\x1c\x01\x42\x00\x43\x00\x44\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x45\x00\x1b\x00\x66\x00\x46\x00\x47\x00\x67\x00\x48\x00\x1c\x00\x49\x00\x84\x00\x1e\x00\x68\x00\x1f\x00\x4a\x00\x69\x00\x20\x00\x6c\x00\x70\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x6d\x00\x6e\x00\x8b\x00\x3e\x00\x3f\x00\x40\x00\x22\x00\x7f\x00\x41\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x80\x00\x17\x00\x81\x00\x82\x00\x29\x00\x2a\x00\x2b\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x2c\x00\x83\x00\x2d\x00\x1b\x00\x8c\x00\x2e\x00\xff\xff\x2f\x00\xb0\x00\x1c\x00\x00\x00\xa5\x01\x1e\x00\xff\xff\x1f\x00\x30\x00\x00\x00\x20\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x00\x1d\x01\x42\x00\x43\x00\x44\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x45\x00\x1b\x00\x00\x00\x46\x00\x47\x00\x00\x00\x48\x00\x1c\x00\x49\x00\x05\x02\x1e\x00\x00\x00\x1f\x00\x4a\x00\x00\x00\x20\x00\x4a\x02\x00\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x3f\x00\x40\x00\x22\x00\x00\x00\x06\x01\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x17\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x2b\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x2c\x00\x00\x00\x2d\x00\x1b\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x1c\x00\x00\x00\xa5\x01\x1e\x00\x00\x00\x1f\x00\x30\x00\x00\x00\x20\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x00\x1e\x01\x42\x00\x43\x00\x44\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x45\x00\x1b\x00\x00\x00\x46\x00\x47\x00\x00\x00\x48\x00\x1c\x00\x49\x00\xc3\x01\x1e\x00\x00\x00\x1f\x00\x4a\x00\x00\x00\x20\x00\x00\x00\x00\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x3f\x00\x40\x00\x22\x00\x00\x00\x41\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x17\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x2b\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x2c\x00\x00\x00\x2d\x00\x1b\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x1c\x00\x00\x00\xa5\x01\x1e\x00\x00\x00\x1f\x00\x30\x00\x00\x00\x20\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x00\x1f\x01\x42\x00\x43\x00\x44\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x45\x00\x1b\x00\x00\x00\x46\x00\x47\x00\x00\x00\x48\x00\x1c\x00\x49\x00\xa5\x01\x1e\x00\x00\x00\x1f\x00\x4a\x00\x00\x00\x20\x00\x00\x00\x00\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x3f\x00\x40\x00\x22\x00\x00\x00\x06\x01\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x17\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x2b\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x2c\x00\x00\x00\x2d\x00\x1b\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x1c\x00\x00\x00\xd7\x00\x1e\x00\x00\x00\x1f\x00\x30\x00\x00\x00\x20\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x00\x8c\x00\x42\x00\x43\x00\x44\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x45\x00\x1b\x00\x00\x00\x46\x00\x47\x00\x00\x00\x48\x00\x1c\x00\x49\x00\x99\x00\x1e\x00\x00\x00\x1f\x00\x4a\x00\x00\x00\x20\x00\x00\x00\x00\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x76\x00\xa6\x00\x00\x00\x3e\x00\x3f\x00\x40\x00\x22\x00\x00\x00\x41\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x64\x02\x00\x00\x00\x00\xd0\x01\xa8\x00\x2b\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x2c\x00\x79\x00\x2d\x00\x00\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x70\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x5c\x02\x00\x00\xdf\x00\xa6\x00\x00\x00\x2b\x00\xe0\x00\xde\x00\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe1\x00\xa8\x00\xe2\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x31\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x57\x02\x00\x00\x76\x00\xa6\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdf\x01\xa8\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x31\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x09\x02\x76\x00\xa6\x00\x76\x00\xa6\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x00\x00\x94\x01\xa8\x00\x95\x01\xa8\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x79\x00\x31\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x87\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x76\x00\xa6\x00\x00\x00\x76\x00\xa6\x00\x00\x00\x2b\x00\x00\x00\x13\x01\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\x49\x02\x15\x01\xa8\x00\x00\x00\xa0\x01\xa8\x00\x00\x00\x00\x00\x00\x00\x30\x00\x79\x00\x00\x00\x31\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x22\x02\x00\x00\x76\x00\xa6\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa7\x00\xa8\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x31\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x76\x00\xa6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2b\x02\x13\x01\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\xb8\x01\x15\x01\xa8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x79\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x76\x00\xa6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2c\x02\x13\x01\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\xb8\x01\xbb\x01\xa8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x79\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x76\x00\xa6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2d\x02\x13\x01\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\xf0\x01\x15\x01\xa8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x79\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x76\x00\xa6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2e\x02\x13\x01\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\xf7\x01\x15\x01\xa8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x79\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x87\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x76\x00\xa6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x13\x01\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\x14\x01\x15\x01\xa8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x79\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\xb3\x00\xb4\x00\x00\x00\x3e\x00\x3f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x22\x00\x72\x00\x8a\xff\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb5\x00\x00\x00\xaa\x00\xab\x00\x00\x00\xb6\x00\xb7\x00\x00\x00\x00\x00\x00\x00\xb8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\xb9\x00\x00\x00\x00\x00\x00\x00\x74\x00\x75\x00\x00\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xac\x00\x22\x00\x00\x00\x17\x01\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x00\x00\x00\x00\x8d\x00\x42\x00\x43\x00\x44\x00\xaa\x00\xab\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x7e\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x47\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb3\x00\xb4\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xac\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x00\x00\xaa\x00\xab\x00\xb5\x00\x00\x00\x17\x00\x7d\x00\x7e\x00\xb6\x00\xb7\x00\x00\x00\x00\x00\x00\x00\xb8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\xb9\x00\x00\x00\x00\x00\x7c\x00\x00\x00\x1c\x00\x00\x00\x05\x02\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x06\x02\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xac\x00\x22\x00\x07\x02\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x00\x00\x41\x00\x42\x00\x43\x00\x44\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x7e\x00\x45\x00\x00\x00\x2d\x00\x46\x00\x47\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x00\x00\x17\x00\x00\x00\xcd\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x7e\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x17\x00\x20\x00\xd1\x00\x00\x00\x17\x00\x00\x00\xd4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x84\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x1c\x00\x1f\x00\x1d\x00\x1e\x00\x20\x00\x1f\x00\x00\x00\x17\x00\x20\x00\xe9\x00\x00\x00\x17\x00\x00\x00\xeb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x88\x01\x19\x00\x1a\x00\x1b\x00\x89\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x1c\x00\x1f\x00\x1d\x00\x1e\x00\x20\x00\x1f\x00\xb3\x00\xb4\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf2\x00\xb4\x00\x56\x01\xea\x00\x00\x00\x00\x00\x00\x00\xec\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb5\x00\xf3\x00\xb3\x00\xb4\x00\x00\x00\xb6\x00\xb7\x00\x00\x00\x00\x00\x57\x01\xb8\x00\x00\x00\x00\x00\xf4\x00\x00\x00\xb3\x00\xb4\x00\xb9\x00\xf5\x00\xf6\x00\x00\x00\x00\x00\xf7\x00\xb8\x00\x00\x02\xfb\x00\x00\x00\x00\x00\x00\x00\xb5\x00\xf8\x00\xb3\x00\xb4\x00\x00\x00\xb6\x00\xb7\x00\x00\x00\x00\x00\xfc\x00\xb8\x00\xb3\x00\xb4\x00\xb5\x00\x00\x00\x00\x00\x00\x00\xb9\x00\xb6\x00\xb7\x00\x00\x00\x00\x00\x00\x00\xb8\x00\x00\x00\xd3\x01\x00\x00\xdb\x01\x00\x00\xb5\x00\xb9\x00\xb3\x00\xb4\x00\x00\x00\xb6\x00\xb7\x00\x00\x00\x00\x00\xb5\x00\xb8\x00\xdd\x01\x00\x00\x00\x00\xb6\x00\xb7\x00\x00\x00\xb9\x00\x00\x00\xb8\x00\xb3\x00\xb4\x00\xb3\x00\xb4\x00\x00\x00\x00\x00\xb9\x00\x00\x00\x00\x00\xb5\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb6\x00\xb7\x00\x00\x00\xe9\x01\xeb\x01\xb8\x00\x00\x00\xb3\x00\xb4\x00\x00\x00\x00\x00\x00\x00\xb9\x00\xb5\x00\x00\x00\xb5\x00\xec\x01\x00\x00\xb6\x00\xb7\x00\xb6\x00\xb7\x00\x00\x00\xb8\x00\x00\x00\xb8\x00\xb3\x00\xb4\x00\xb3\x00\xb4\x00\xb9\x00\x00\x00\xb9\x00\x00\x00\xb5\x00\xed\x01\x00\x00\xfd\x01\x00\x00\xb6\x00\xb7\x00\xb3\x00\xb4\x00\x00\x00\xb8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb9\x00\x00\x00\xb5\x00\x00\x00\xb5\x00\x97\x01\x00\x00\xb6\x00\xb7\x00\xb6\x00\xb7\x00\x00\x00\xb8\x00\x00\x00\xb8\x00\xb3\x00\xb4\x00\xb5\x00\x00\x00\xb9\x00\x00\x00\xb9\x00\xb6\x00\xb7\x00\x00\x00\x00\x00\x00\x00\xb8\x00\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x00\x00\xb9\x00\x00\x00\xfa\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9c\x00\xb5\x00\x9d\x00\x00\x00\x00\x00\x00\x00\xb6\x00\xb7\x00\x70\x00\x00\x00\x00\x00\xb8\x00\x19\x00\x1a\x00\x1b\x00\x9e\x00\x00\x00\x00\x00\xb9\x00\x17\x00\x1c\x00\x22\x01\x1d\x00\x1e\x00\x9f\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x01\x01\x00\x00\x02\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x23\x01\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x01\x01\x00\x00\x02\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x5d\x02\x04\x01\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x01\x01\x00\x00\x02\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x7a\x01\x04\x01\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x85\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x03\x01\x04\x01\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x38\x02\x1c\x00\x00\x00\x1d\x00\x1e\x00\x86\x01\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x1e\x02\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x22\x02\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xd6\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xd8\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xf9\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x3b\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x4f\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x50\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x51\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x5e\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x6f\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x70\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x71\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x76\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x77\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x81\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xcf\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xd0\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xa2\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xa7\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xca\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xcb\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xcd\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xce\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xcf\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xd0\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xd1\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xd4\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xe3\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x98\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xed\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xef\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x64\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x90\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x96\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x98\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x9a\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x9b\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xba\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xbb\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xbc\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xbd\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xbe\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xbf\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xc1\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xc3\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xc5\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x18\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#--happyReduceArr = Happy_Data_Array.array (3, 249) [- (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),- (167 , happyReduce_167),- (168 , happyReduce_168),- (169 , happyReduce_169),- (170 , happyReduce_170),- (171 , happyReduce_171),- (172 , happyReduce_172),- (173 , happyReduce_173),- (174 , happyReduce_174),- (175 , happyReduce_175),- (176 , happyReduce_176),- (177 , happyReduce_177),- (178 , happyReduce_178),- (179 , happyReduce_179),- (180 , happyReduce_180),- (181 , happyReduce_181),- (182 , happyReduce_182),- (183 , happyReduce_183),- (184 , happyReduce_184),- (185 , happyReduce_185),- (186 , happyReduce_186),- (187 , happyReduce_187),- (188 , happyReduce_188),- (189 , happyReduce_189),- (190 , happyReduce_190),- (191 , happyReduce_191),- (192 , happyReduce_192),- (193 , happyReduce_193),- (194 , happyReduce_194),- (195 , happyReduce_195),- (196 , happyReduce_196),- (197 , happyReduce_197),- (198 , happyReduce_198),- (199 , happyReduce_199),- (200 , happyReduce_200),- (201 , happyReduce_201),- (202 , happyReduce_202),- (203 , happyReduce_203),- (204 , happyReduce_204),- (205 , happyReduce_205),- (206 , happyReduce_206),- (207 , happyReduce_207),- (208 , happyReduce_208),- (209 , happyReduce_209),- (210 , happyReduce_210),- (211 , happyReduce_211),- (212 , happyReduce_212),- (213 , happyReduce_213),- (214 , happyReduce_214),- (215 , happyReduce_215),- (216 , happyReduce_216),- (217 , happyReduce_217),- (218 , happyReduce_218),- (219 , happyReduce_219),- (220 , happyReduce_220),- (221 , happyReduce_221),- (222 , happyReduce_222),- (223 , happyReduce_223),- (224 , happyReduce_224),- (225 , happyReduce_225),- (226 , happyReduce_226),- (227 , happyReduce_227),- (228 , happyReduce_228),- (229 , happyReduce_229),- (230 , happyReduce_230),- (231 , happyReduce_231),- (232 , happyReduce_232),- (233 , happyReduce_233),- (234 , happyReduce_234),- (235 , happyReduce_235),- (236 , happyReduce_236),- (237 , happyReduce_237),- (238 , happyReduce_238),- (239 , happyReduce_239),- (240 , happyReduce_240),- (241 , happyReduce_241),- (242 , happyReduce_242),- (243 , happyReduce_243),- (244 , happyReduce_244),- (245 , happyReduce_245),- (246 , happyReduce_246),- (247 , happyReduce_247),- (248 , happyReduce_248),- (249 , happyReduce_249)- ]--happy_n_terms = 119 :: Int-happy_n_nonterms = 73 :: Int--happyReduce_3 = happySpecReduce_0 0# happyReduction_3-happyReduction_3 = happyIn6- ([]- )--happyReduce_4 = happySpecReduce_2 0# happyReduction_4-happyReduction_4 happy_x_2- happy_x_1- = case happyOut7 happy_x_1 of { happy_var_1 -> - case happyOut6 happy_x_2 of { happy_var_2 -> - happyIn6- (happy_var_1:happy_var_2- )}}--happyReduce_5 = happySpecReduce_2 0# happyReduction_5-happyReduction_5 happy_x_2- happy_x_1- = case happyOut18 happy_x_1 of { happy_var_1 -> - case happyOut6 happy_x_2 of { happy_var_2 -> - happyIn6- (map RealDecl happy_var_1 ++ happy_var_2- )}}--happyReduce_6 = happyReduce 4# 0# happyReduction_6-happyReduction_6 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_2 of { (TokenString happy_var_2) -> - case happyOut6 happy_x_4 of { happy_var_4 -> - happyIn6- (RealDecl (PInclude happy_var_2) : happy_var_4- ) `HappyStk` happyRest}}--happyReduce_7 = happySpecReduce_1 1# happyReduction_7-happyReduction_7 happy_x_1- = case happyOut9 happy_x_1 of { happy_var_1 -> - happyIn7- (happy_var_1- )}--happyReduce_8 = happySpecReduce_1 1# happyReduction_8-happyReduction_8 happy_x_1- = case happyOut26 happy_x_1 of { happy_var_1 -> - happyIn7- (RealDecl (DataDecl happy_var_1)- )}--happyReduce_9 = happySpecReduce_1 1# happyReduction_9-happyReduction_9 happy_x_1- = case happyOut22 happy_x_1 of { happy_var_1 -> - happyIn7- (RealDecl happy_var_1- )}--happyReduce_10 = happySpecReduce_3 1# happyReduction_10-happyReduction_10 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_2 of { (TokenName happy_var_2) -> - happyIn7- (RealDecl (Freeze happy_var_2)- )}--happyReduce_11 = happyReduce 4# 1# happyReduction_11-happyReduction_11 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut62 happy_x_1 of { happy_var_1 -> - case happyOut6 happy_x_3 of { happy_var_3 -> - happyIn7- (PUsing happy_var_1 happy_var_3- ) `HappyStk` happyRest}}--happyReduce_12 = happyReduce 4# 1# happyReduction_12-happyReduction_12 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut63 happy_x_1 of { happy_var_1 -> - case happyOut6 happy_x_3 of { happy_var_3 -> - happyIn7- (PDoUsing happy_var_1 happy_var_3- ) `HappyStk` happyRest}}--happyReduce_13 = happyReduce 4# 1# happyReduction_13-happyReduction_13 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut64 happy_x_1 of { happy_var_1 -> - case happyOut6 happy_x_3 of { happy_var_3 -> - happyIn7- (PIdiom happy_var_1 happy_var_3- ) `HappyStk` happyRest}}--happyReduce_14 = happyReduce 4# 1# happyReduction_14-happyReduction_14 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut65 happy_x_1 of { happy_var_1 -> - case happyOut6 happy_x_3 of { happy_var_3 -> - happyIn7- (PParams happy_var_1 happy_var_3- ) `HappyStk` happyRest}}--happyReduce_15 = happyReduce 4# 1# happyReduction_15-happyReduction_15 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut66 happy_x_1 of { happy_var_1 -> - case happyOut6 happy_x_3 of { happy_var_3 -> - happyIn7- (PNamespace happy_var_1 happy_var_3- ) `HappyStk` happyRest}}--happyReduce_16 = happySpecReduce_1 1# happyReduction_16-happyReduction_16 happy_x_1- = case happyOut8 happy_x_1 of { happy_var_1 -> - happyIn7- (RealDecl happy_var_1- )}--happyReduce_17 = happyReduce 6# 1# happyReduction_17-happyReduction_17 (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 happyOut31 happy_x_2 of { happy_var_2 -> - case happyOut40 happy_x_3 of { happy_var_3 -> - case happyOut33 happy_x_5 of { happy_var_5 -> - happyIn7- (PSyntax happy_var_2 happy_var_3 happy_var_5- ) `HappyStk` happyRest}}}--happyReduce_18 = happySpecReduce_2 1# happyReduction_18-happyReduction_18 happy_x_2- happy_x_1- = case happyOutTok happy_x_2 of { (TokenString happy_var_2) -> - happyIn7- (RealDecl (CInclude happy_var_2)- )}--happyReduce_19 = happySpecReduce_2 1# happyReduction_19-happyReduction_19 happy_x_2- happy_x_1- = case happyOutTok happy_x_2 of { (TokenString happy_var_2) -> - happyIn7- (RealDecl (CLib happy_var_2)- )}--happyReduce_20 = happyReduce 5# 2# happyReduction_20-happyReduction_20 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut33 happy_x_2 of { happy_var_2 -> - case happyOut33 happy_x_4 of { happy_var_4 -> - happyIn8- (Transform happy_var_2 happy_var_4- ) `HappyStk` happyRest}}--happyReduce_21 = happyReduce 7# 3# happyReduction_21-happyReduction_21 (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 happyOut31 happy_x_1 of { happy_var_1 -> - case happyOut49 happy_x_3 of { happy_var_3 -> - case happyOut15 happy_x_4 of { happy_var_4 -> - case happyOut77 happy_x_5 of { happy_var_5 -> - case happyOut76 happy_x_6 of { happy_var_6 -> - happyIn9- (FunType happy_var_1 happy_var_3 (nub happy_var_4) happy_var_5 happy_var_6- ) `HappyStk` happyRest}}}}}--happyReduce_22 = happySpecReduce_3 3# happyReduction_22-happyReduction_22 happy_x_3- happy_x_2- happy_x_1- = case happyOut31 happy_x_1 of { happy_var_1 -> - case happyOut74 happy_x_2 of { happy_var_2 -> - happyIn9- (ProofScript happy_var_1 happy_var_2- )}}--happyReduce_23 = happyReduce 9# 3# happyReduction_23-happyReduction_23 (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 happyOut24 happy_x_1 of { happy_var_1 -> - case happyOut12 happy_x_2 of { happy_var_2 -> - case happyOut11 happy_x_3 of { happy_var_3 -> - case happyOut33 happy_x_4 of { happy_var_4 -> - case happyOut14 happy_x_6 of { happy_var_6 -> - case happyOut77 happy_x_8 of { happy_var_8 -> - case happyOut76 happy_x_9 of { happy_var_9 -> - happyIn9- (WithClause (mkDef happy_var_8 happy_var_9 happy_var_1) happy_var_2 happy_var_3 happy_var_4 happy_var_6- ) `HappyStk` happyRest}}}}}}}--happyReduce_24 = happyReduce 10# 3# happyReduction_24-happyReduction_24 (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 happyOut24 happy_x_1 of { happy_var_1 -> - case happyOut12 happy_x_2 of { happy_var_2 -> - case happyOut33 happy_x_4 of { happy_var_4 -> - case happyOut31 happy_x_7 of { happy_var_7 -> - case happyOut77 happy_x_9 of { happy_var_9 -> - case happyOut76 happy_x_10 of { happy_var_10 -> - happyIn9- (FunClauseP (mkDef happy_var_9 happy_var_10 happy_var_1) happy_var_2 happy_var_4 happy_var_7- ) `HappyStk` happyRest}}}}}}--happyReduce_25 = happyReduce 8# 3# happyReduction_25-happyReduction_25 (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 happyOut24 happy_x_1 of { happy_var_1 -> - case happyOut12 happy_x_2 of { happy_var_2 -> - case happyOut33 happy_x_4 of { happy_var_4 -> - case happyOut15 happy_x_5 of { happy_var_5 -> - case happyOut77 happy_x_7 of { happy_var_7 -> - case happyOut76 happy_x_8 of { happy_var_8 -> - happyIn9- (FunClause (mkDef happy_var_7 happy_var_8 happy_var_1) happy_var_2 happy_var_4 (nub happy_var_5)- ) `HappyStk` happyRest}}}}}}--happyReduce_26 = happyReduce 5# 3# happyReduction_26-happyReduction_26 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut13 happy_x_2 of { happy_var_2 -> - case happyOut33 happy_x_4 of { happy_var_4 -> - happyIn9- (FunClause RPlaceholder [happy_var_2] happy_var_4 []- ) `HappyStk` happyRest}}--happyReduce_27 = happyReduce 8# 3# happyReduction_27-happyReduction_27 (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 happyOut13 happy_x_2 of { happy_var_2 -> - case happyOut33 happy_x_4 of { happy_var_4 -> - case happyOut31 happy_x_7 of { happy_var_7 -> - happyIn9- (FunClauseP RPlaceholder [happy_var_2] happy_var_4 happy_var_7- ) `HappyStk` happyRest}}}--happyReduce_28 = happyReduce 7# 3# happyReduction_28-happyReduction_28 (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 happyOut13 happy_x_2 of { happy_var_2 -> - case happyOut11 happy_x_3 of { happy_var_3 -> - case happyOut33 happy_x_4 of { happy_var_4 -> - case happyOut14 happy_x_6 of { happy_var_6 -> - happyIn9- (WithClause RPlaceholder [happy_var_2] happy_var_3 happy_var_4 happy_var_6- ) `HappyStk` happyRest}}}}--happyReduce_29 = happySpecReduce_1 4# happyReduction_29-happyReduction_29 happy_x_1- = happyIn10- (Vis Public- )--happyReduce_30 = happySpecReduce_1 4# happyReduction_30-happyReduction_30 happy_x_1- = happyIn10- (Vis Private- )--happyReduce_31 = happySpecReduce_1 4# happyReduction_31-happyReduction_31 happy_x_1- = happyIn10- (Vis Abstract- )--happyReduce_32 = happySpecReduce_0 4# happyReduction_32-happyReduction_32 = happyIn10- (Vis Public- )--happyReduce_33 = happySpecReduce_1 5# happyReduction_33-happyReduction_33 happy_x_1- = happyIn11- (False- )--happyReduce_34 = happySpecReduce_2 5# happyReduction_34-happyReduction_34 happy_x_2- happy_x_1- = happyIn11- (True- )--happyReduce_35 = happySpecReduce_3 6# happyReduction_35-happyReduction_35 happy_x_3- happy_x_2- happy_x_1- = case happyOut13 happy_x_2 of { happy_var_2 -> - case happyOut12 happy_x_3 of { happy_var_3 -> - happyIn12- (happy_var_2:happy_var_3- )}}--happyReduce_36 = happySpecReduce_0 6# happyReduction_36-happyReduction_36 = happyIn12- ([]- )--happyReduce_37 = happySpecReduce_1 7# happyReduction_37-happyReduction_37 happy_x_1- = case happyOut32 happy_x_1 of { happy_var_1 -> - happyIn13- (happy_var_1- )}--happyReduce_38 = happySpecReduce_1 7# happyReduction_38-happyReduction_38 happy_x_1- = case happyOut54 happy_x_1 of { happy_var_1 -> - happyIn13- (happy_var_1- )}--happyReduce_39 = happySpecReduce_3 7# happyReduction_39-happyReduction_39 happy_x_3- happy_x_2- happy_x_1- = case happyOut33 happy_x_2 of { happy_var_2 -> - happyIn13- (happy_var_2- )}--happyReduce_40 = happyReduce 5# 7# happyReduction_40-happyReduction_40 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut55 happy_x_2 of { happy_var_2 -> - case happyOut77 happy_x_4 of { happy_var_4 -> - case happyOut76 happy_x_5 of { happy_var_5 -> - happyIn13- (pairDesugar happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "mkPair")) happy_var_2- ) `HappyStk` happyRest}}}--happyReduce_41 = happySpecReduce_2 8# happyReduction_41-happyReduction_41 happy_x_2- happy_x_1- = case happyOut9 happy_x_1 of { happy_var_1 -> - case happyOut14 happy_x_2 of { happy_var_2 -> - happyIn14- (happy_var_1:happy_var_2- )}}--happyReduce_42 = happySpecReduce_1 8# happyReduction_42-happyReduction_42 happy_x_1- = case happyOut9 happy_x_1 of { happy_var_1 -> - happyIn14- ([happy_var_1]- )}--happyReduce_43 = happySpecReduce_1 9# happyReduction_43-happyReduction_43 happy_x_1- = case happyOut16 happy_x_1 of { happy_var_1 -> - happyIn15- (happy_var_1- )}--happyReduce_44 = happySpecReduce_3 9# happyReduction_44-happyReduction_44 happy_x_3- happy_x_2- happy_x_1- = case happyOut16 happy_x_2 of { happy_var_2 -> - happyIn15- (happy_var_2- )}--happyReduce_45 = happySpecReduce_0 10# happyReduction_45-happyReduction_45 = happyIn16- ([]- )--happyReduce_46 = happySpecReduce_2 10# happyReduction_46-happyReduction_46 happy_x_2- happy_x_1- = case happyOut17 happy_x_1 of { happy_var_1 -> - case happyOut16 happy_x_2 of { happy_var_2 -> - happyIn16- (happy_var_1 ++ happy_var_2- )}}--happyReduce_47 = happySpecReduce_1 11# happyReduction_47-happyReduction_47 happy_x_1- = happyIn17- ([NoCG]- )--happyReduce_48 = happySpecReduce_1 11# happyReduction_48-happyReduction_48 happy_x_1- = happyIn17- ([CGEval, Inline]- )--happyReduce_49 = happyReduce 4# 11# happyReduction_49-happyReduction_49 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut38 happy_x_3 of { happy_var_3 -> - happyIn17- ([CGSpec happy_var_3]- ) `HappyStk` happyRest}--happyReduce_50 = happySpecReduce_1 11# happyReduction_50-happyReduction_50 happy_x_1- = happyIn17- ([CGSpec []]- )--happyReduce_51 = happySpecReduce_1 11# happyReduction_51-happyReduction_51 happy_x_1- = happyIn17- ([Inline]- )--happyReduce_52 = happySpecReduce_2 11# happyReduction_52-happyReduction_52 happy_x_2- happy_x_1- = case happyOutTok happy_x_2 of { (TokenString happy_var_2) -> - happyIn17- ([CExport happy_var_2]- )}--happyReduce_53 = happyReduce 4# 12# happyReduction_53-happyReduction_53 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut21 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (TokenInt happy_var_2) -> - case happyOut19 happy_x_3 of { happy_var_3 -> - happyIn18- (map (\x -> Fixity x happy_var_1 happy_var_2) happy_var_3- ) `HappyStk` happyRest}}}--happyReduce_54 = happySpecReduce_1 13# happyReduction_54-happyReduction_54 happy_x_1- = case happyOut20 happy_x_1 of { happy_var_1 -> - happyIn19- ([happy_var_1]- )}--happyReduce_55 = happySpecReduce_3 13# happyReduction_55-happyReduction_55 happy_x_3- happy_x_2- happy_x_1- = case happyOut20 happy_x_1 of { happy_var_1 -> - case happyOut19 happy_x_3 of { happy_var_3 -> - happyIn19- (happy_var_1:happy_var_3- )}}--happyReduce_56 = happySpecReduce_1 14# happyReduction_56-happyReduction_56 happy_x_1- = case happyOutTok happy_x_1 of { (TokenInfixName happy_var_1) -> - happyIn20- (happy_var_1- )}--happyReduce_57 = happySpecReduce_1 14# happyReduction_57-happyReduction_57 happy_x_1- = happyIn20- ("-"- )--happyReduce_58 = happySpecReduce_1 14# happyReduction_58-happyReduction_58 happy_x_1- = happyIn20- ("<"- )--happyReduce_59 = happySpecReduce_1 14# happyReduction_59-happyReduction_59 happy_x_1- = happyIn20- (">"- )--happyReduce_60 = happySpecReduce_1 15# happyReduction_60-happyReduction_60 happy_x_1- = happyIn21- (LeftAssoc- )--happyReduce_61 = happySpecReduce_1 15# happyReduction_61-happyReduction_61 happy_x_1- = happyIn21- (RightAssoc- )--happyReduce_62 = happySpecReduce_1 15# happyReduction_62-happyReduction_62 happy_x_1- = happyIn21- (NonAssoc- )--happyReduce_63 = happyReduce 4# 16# happyReduction_63-happyReduction_63 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut23 happy_x_3 of { happy_var_3 -> - happyIn22- (LatexDefs happy_var_3- ) `HappyStk` happyRest}--happyReduce_64 = happySpecReduce_3 17# happyReduction_64-happyReduction_64 happy_x_3- happy_x_2- happy_x_1- = case happyOut31 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_3 of { (TokenString happy_var_3) -> - happyIn23- ([(happy_var_1,happy_var_3)]- )}}--happyReduce_65 = happyReduce 5# 17# happyReduction_65-happyReduction_65 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut31 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_3 of { (TokenString happy_var_3) -> - case happyOut23 happy_x_5 of { happy_var_5 -> - happyIn23- ((happy_var_1,happy_var_3):happy_var_5- ) `HappyStk` happyRest}}}--happyReduce_66 = happySpecReduce_2 18# happyReduction_66-happyReduction_66 happy_x_2- happy_x_1- = case happyOut31 happy_x_1 of { happy_var_1 -> - case happyOut25 happy_x_2 of { happy_var_2 -> - happyIn24- ((happy_var_1, happy_var_2)- )}}--happyReduce_67 = happySpecReduce_0 19# happyReduction_67-happyReduction_67 = happyIn25- ([]- )--happyReduce_68 = happySpecReduce_2 19# happyReduction_68-happyReduction_68 happy_x_2- happy_x_1- = case happyOut53 happy_x_1 of { happy_var_1 -> - case happyOut25 happy_x_2 of { happy_var_2 -> - happyIn25- ((happy_var_1,Nothing):happy_var_2- )}}--happyReduce_69 = happyReduce 5# 19# happyReduction_69-happyReduction_69 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> - case happyOut25 happy_x_3 of { happy_var_3 -> - case happyOut77 happy_x_4 of { happy_var_4 -> - case happyOut76 happy_x_5 of { happy_var_5 -> - happyIn25- ((RVar happy_var_4 happy_var_5 happy_var_1, Just happy_var_1):happy_var_3- ) `HappyStk` happyRest}}}}--happyReduce_70 = happyReduce 5# 19# happyReduction_70-happyReduction_70 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> - case happyOut33 happy_x_3 of { happy_var_3 -> - case happyOut25 happy_x_5 of { happy_var_5 -> - happyIn25- ((happy_var_3, Just happy_var_1):happy_var_5- ) `HappyStk` happyRest}}}--happyReduce_71 = happyReduce 6# 20# happyReduction_71-happyReduction_71 (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_2 of { happy_var_2 -> - case happyOut31 happy_x_3 of { happy_var_3 -> - case happyOut27 happy_x_4 of { happy_var_4 -> - case happyOut77 happy_x_5 of { happy_var_5 -> - case happyOut76 happy_x_6 of { happy_var_6 -> - happyIn26- (mkDatatype happy_var_5 happy_var_6 happy_var_3 happy_var_4 happy_var_2- ) `HappyStk` happyRest}}}}}--happyReduce_72 = happySpecReduce_3 21# happyReduction_72-happyReduction_72 happy_x_3- happy_x_2- happy_x_1- = case happyOut61 happy_x_1 of { happy_var_1 -> - case happyOut70 happy_x_2 of { happy_var_2 -> - happyIn27- (Right (happy_var_1,happy_var_2)- )}}--happyReduce_73 = happySpecReduce_3 21# happyReduction_73-happyReduction_73 happy_x_3- happy_x_2- happy_x_1- = case happyOut49 happy_x_2 of { happy_var_2 -> - happyIn27- (Left happy_var_2- )}--happyReduce_74 = happySpecReduce_3 21# happyReduction_74-happyReduction_74 happy_x_3- happy_x_2- happy_x_1- = case happyOut77 happy_x_2 of { happy_var_2 -> - case happyOut76 happy_x_3 of { happy_var_3 -> - happyIn27- (Left (RConst happy_var_2 happy_var_3 TYPE)- )}}--happyReduce_75 = happySpecReduce_0 22# happyReduction_75-happyReduction_75 = happyIn28- ([]- )--happyReduce_76 = happySpecReduce_3 22# happyReduction_76-happyReduction_76 happy_x_3- happy_x_2- happy_x_1- = case happyOut29 happy_x_2 of { happy_var_2 -> - happyIn28- (happy_var_2- )}--happyReduce_77 = happySpecReduce_1 23# happyReduction_77-happyReduction_77 happy_x_1- = case happyOut30 happy_x_1 of { happy_var_1 -> - happyIn29- ([happy_var_1]- )}--happyReduce_78 = happySpecReduce_3 23# happyReduction_78-happyReduction_78 happy_x_3- happy_x_2- happy_x_1- = case happyOut30 happy_x_1 of { happy_var_1 -> - case happyOut29 happy_x_3 of { happy_var_3 -> - happyIn29- (happy_var_1:happy_var_3- )}}--happyReduce_79 = happySpecReduce_1 24# happyReduction_79-happyReduction_79 happy_x_1- = happyIn30- (NoElim- )--happyReduce_80 = happySpecReduce_1 24# happyReduction_80-happyReduction_80 happy_x_1- = happyIn30- (Collapsible- )--happyReduce_81 = happySpecReduce_1 25# happyReduction_81-happyReduction_81 happy_x_1- = case happyOutTok happy_x_1 of { (TokenName happy_var_1) -> - happyIn31- (happy_var_1- )}--happyReduce_82 = happySpecReduce_3 25# happyReduction_82-happyReduction_82 happy_x_3- happy_x_2- happy_x_1- = case happyOut20 happy_x_2 of { happy_var_2 -> - happyIn31- (useropFn happy_var_2- )}--happyReduce_83 = happyReduce 4# 26# happyReduction_83-happyReduction_83 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut32 happy_x_1 of { happy_var_1 -> - case happyOut77 happy_x_2 of { happy_var_2 -> - case happyOut76 happy_x_3 of { happy_var_3 -> - case happyOut53 happy_x_4 of { happy_var_4 -> - happyIn32- (RApp happy_var_2 happy_var_3 happy_var_1 happy_var_4- ) `HappyStk` happyRest}}}}--happyReduce_84 = happyReduce 5# 26# happyReduction_84-happyReduction_84 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut32 happy_x_1 of { happy_var_1 -> - case happyOut42 happy_x_2 of { happy_var_2 -> - case happyOut77 happy_x_4 of { happy_var_4 -> - case happyOut76 happy_x_5 of { happy_var_5 -> - happyIn32- (RAppImp happy_var_4 happy_var_5 (fst happy_var_2) happy_var_1 (snd happy_var_2)- ) `HappyStk` happyRest}}}}--happyReduce_85 = happySpecReduce_3 26# happyReduction_85-happyReduction_85 happy_x_3- happy_x_2- happy_x_1- = case happyOut31 happy_x_1 of { happy_var_1 -> - case happyOut77 happy_x_2 of { happy_var_2 -> - case happyOut76 happy_x_3 of { happy_var_3 -> - happyIn32- (RVar happy_var_2 happy_var_3 happy_var_1- )}}}--happyReduce_86 = happySpecReduce_3 26# happyReduction_86-happyReduction_86 happy_x_3- happy_x_2- happy_x_1- = case happyOut59 happy_x_1 of { happy_var_1 -> - case happyOut77 happy_x_2 of { happy_var_2 -> - case happyOut76 happy_x_3 of { happy_var_3 -> - happyIn32- (RConst happy_var_2 happy_var_3 happy_var_1- )}}}--happyReduce_87 = happySpecReduce_1 26# happyReduction_87-happyReduction_87 happy_x_1- = happyIn32- (RPlaceholder- )--happyReduce_88 = happySpecReduce_3 26# happyReduction_88-happyReduction_88 happy_x_3- happy_x_2- happy_x_1- = case happyOut77 happy_x_2 of { happy_var_2 -> - case happyOut76 happy_x_3 of { happy_var_3 -> - happyIn32- (RVar happy_var_2 happy_var_3 (UN "__Empty")- )}}--happyReduce_89 = happySpecReduce_3 26# happyReduction_89-happyReduction_89 happy_x_3- happy_x_2- happy_x_1- = case happyOut77 happy_x_2 of { happy_var_2 -> - case happyOut76 happy_x_3 of { happy_var_3 -> - happyIn32- (RVar happy_var_2 happy_var_3 (UN "__Unit")- )}}--happyReduce_90 = happySpecReduce_1 27# happyReduction_90-happyReduction_90 happy_x_1- = case happyOut53 happy_x_1 of { happy_var_1 -> - happyIn33- (happy_var_1- )}--happyReduce_91 = happySpecReduce_3 27# happyReduction_91-happyReduction_91 happy_x_3- happy_x_2- happy_x_1- = case happyOut50 happy_x_2 of { happy_var_2 -> - happyIn33- (happy_var_2- )}--happyReduce_92 = happyReduce 4# 27# happyReduction_92-happyReduction_92 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut33 happy_x_1 of { happy_var_1 -> - case happyOut77 happy_x_2 of { happy_var_2 -> - case happyOut76 happy_x_3 of { happy_var_3 -> - case happyOut53 happy_x_4 of { happy_var_4 -> - happyIn33- (RApp happy_var_2 happy_var_3 happy_var_1 happy_var_4- ) `HappyStk` happyRest}}}}--happyReduce_93 = happyReduce 5# 27# happyReduction_93-happyReduction_93 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut33 happy_x_1 of { happy_var_1 -> - case happyOut42 happy_x_2 of { happy_var_2 -> - case happyOut77 happy_x_4 of { happy_var_4 -> - case happyOut76 happy_x_5 of { happy_var_5 -> - happyIn33- (RAppImp happy_var_4 happy_var_5 (fst happy_var_2) happy_var_1 (snd happy_var_2)- ) `HappyStk` happyRest}}}}--happyReduce_94 = happyReduce 4# 27# happyReduction_94-happyReduction_94 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut33 happy_x_2 of { happy_var_2 -> - case happyOut77 happy_x_3 of { happy_var_3 -> - case happyOut76 happy_x_4 of { happy_var_4 -> - happyIn33- (RApp happy_var_3 happy_var_4 (RApp happy_var_3 happy_var_4 (RVar happy_var_3 happy_var_4 (UN "__lazy")) RPlaceholder) happy_var_2- ) `HappyStk` happyRest}}}--happyReduce_95 = happyReduce 4# 27# happyReduction_95-happyReduction_95 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut34 happy_x_2 of { happy_var_2 -> - case happyOut33 happy_x_4 of { happy_var_4 -> - happyIn33- (doBind Lam happy_var_2 happy_var_4- ) `HappyStk` happyRest}}--happyReduce_96 = happyReduce 4# 27# happyReduction_96-happyReduction_96 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut41 happy_x_2 of { happy_var_2 -> - case happyOut33 happy_x_4 of { happy_var_4 -> - happyIn33- (doLetBind happy_var_2 happy_var_4- ) `HappyStk` happyRest}}--happyReduce_97 = happySpecReduce_1 27# happyReduction_97-happyReduction_97 happy_x_1- = case happyOut43 happy_x_1 of { happy_var_1 -> - happyIn33- (happy_var_1- )}--happyReduce_98 = happyReduce 8# 27# happyReduction_98-happyReduction_98 (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 happyOut33 happy_x_2 of { happy_var_2 -> - case happyOut33 happy_x_4 of { happy_var_4 -> - case happyOut33 happy_x_6 of { happy_var_6 -> - case happyOut77 happy_x_7 of { happy_var_7 -> - case happyOut76 happy_x_8 of { happy_var_8 -> - happyIn33- (mkApp happy_var_7 happy_var_8 (RVar happy_var_7 happy_var_8 (UN "if_then_else")) [happy_var_2,happy_var_4,happy_var_6]- ) `HappyStk` happyRest}}}}}--happyReduce_99 = happySpecReduce_2 28# happyReduction_99-happyReduction_99 happy_x_2- happy_x_1- = case happyOut31 happy_x_1 of { happy_var_1 -> - case happyOut47 happy_x_2 of { happy_var_2 -> - happyIn34- ([(happy_var_1,happy_var_2)]- )}}--happyReduce_100 = happyReduce 4# 28# happyReduction_100-happyReduction_100 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut31 happy_x_1 of { happy_var_1 -> - case happyOut47 happy_x_2 of { happy_var_2 -> - case happyOut34 happy_x_4 of { happy_var_4 -> - happyIn34- ((happy_var_1,happy_var_2):happy_var_4- ) `HappyStk` happyRest}}}--happyReduce_101 = happySpecReduce_3 29# happyReduction_101-happyReduction_101 happy_x_3- happy_x_2- happy_x_1- = case happyOut36 happy_x_1 of { happy_var_1 -> - case happyOut35 happy_x_3 of { happy_var_3 -> - happyIn35- (happy_var_1 ++ happy_var_3- )}}--happyReduce_102 = happySpecReduce_1 29# happyReduction_102-happyReduction_102 happy_x_1- = case happyOut36 happy_x_1 of { happy_var_1 -> - happyIn35- (happy_var_1- )}--happyReduce_103 = happySpecReduce_3 30# happyReduction_103-happyReduction_103 happy_x_3- happy_x_2- happy_x_1- = case happyOut31 happy_x_1 of { happy_var_1 -> - case happyOut49 happy_x_3 of { happy_var_3 -> - happyIn36- (map ( \x -> (x,happy_var_3)) [happy_var_1]- )}}--happyReduce_104 = happySpecReduce_1 31# happyReduction_104-happyReduction_104 happy_x_1- = case happyOut31 happy_x_1 of { happy_var_1 -> - happyIn37- ([happy_var_1]- )}--happyReduce_105 = happySpecReduce_3 31# happyReduction_105-happyReduction_105 happy_x_3- happy_x_2- happy_x_1- = case happyOut31 happy_x_1 of { happy_var_1 -> - case happyOut37 happy_x_3 of { happy_var_3 -> - happyIn37- (happy_var_1:happy_var_3- )}}--happyReduce_106 = happySpecReduce_2 32# happyReduction_106-happyReduction_106 happy_x_2- happy_x_1- = case happyOut31 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (TokenInt happy_var_2) -> - happyIn38- ([(happy_var_1,happy_var_2)]- )}}--happyReduce_107 = happySpecReduce_1 32# happyReduction_107-happyReduction_107 happy_x_1- = case happyOut31 happy_x_1 of { happy_var_1 -> - happyIn38- ([(happy_var_1, 0)]- )}--happyReduce_108 = happySpecReduce_3 32# happyReduction_108-happyReduction_108 happy_x_3- happy_x_2- happy_x_1- = case happyOut31 happy_x_1 of { happy_var_1 -> - case happyOut38 happy_x_3 of { happy_var_3 -> - happyIn38- ((happy_var_1,0):happy_var_3- )}}--happyReduce_109 = happyReduce 4# 32# happyReduction_109-happyReduction_109 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut31 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (TokenInt happy_var_2) -> - case happyOut38 happy_x_4 of { happy_var_4 -> - happyIn38- ((happy_var_1,happy_var_2):happy_var_4- ) `HappyStk` happyRest}}}--happyReduce_110 = happySpecReduce_1 33# happyReduction_110-happyReduction_110 happy_x_1- = case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> - happyIn39- ([happy_var_1]- )}--happyReduce_111 = happySpecReduce_3 33# happyReduction_111-happyReduction_111 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> - case happyOut37 happy_x_3 of { happy_var_3 -> - happyIn39- (happy_var_1:happy_var_3- )}}--happyReduce_112 = happySpecReduce_1 34# happyReduction_112-happyReduction_112 happy_x_1- = case happyOut31 happy_x_1 of { happy_var_1 -> - happyIn40- ([happy_var_1]- )}--happyReduce_113 = happySpecReduce_2 34# happyReduction_113-happyReduction_113 happy_x_2- happy_x_1- = case happyOut31 happy_x_1 of { happy_var_1 -> - case happyOut40 happy_x_2 of { happy_var_2 -> - happyIn40- (happy_var_1:happy_var_2- )}}--happyReduce_114 = happyReduce 4# 35# happyReduction_114-happyReduction_114 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut31 happy_x_1 of { happy_var_1 -> - case happyOut47 happy_x_2 of { happy_var_2 -> - case happyOut33 happy_x_4 of { happy_var_4 -> - happyIn41- ([(happy_var_1,happy_var_2,happy_var_4)]- ) `HappyStk` happyRest}}}--happyReduce_115 = happyReduce 6# 35# happyReduction_115-happyReduction_115 (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 happyOut31 happy_x_1 of { happy_var_1 -> - case happyOut47 happy_x_2 of { happy_var_2 -> - case happyOut33 happy_x_4 of { happy_var_4 -> - case happyOut41 happy_x_6 of { happy_var_6 -> - happyIn41- ((happy_var_1,happy_var_2,happy_var_4):happy_var_6- ) `HappyStk` happyRest}}}}--happyReduce_116 = happySpecReduce_3 36# happyReduction_116-happyReduction_116 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> - case happyOut77 happy_x_2 of { happy_var_2 -> - case happyOut76 happy_x_3 of { happy_var_3 -> - happyIn42- ((happy_var_1, RVar happy_var_2 happy_var_3 happy_var_1)- )}}}--happyReduce_117 = happySpecReduce_3 36# happyReduction_117-happyReduction_117 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> - case happyOut33 happy_x_3 of { happy_var_3 -> - happyIn42- ((happy_var_1, happy_var_3)- )}}--happyReduce_118 = happyReduce 4# 37# happyReduction_118-happyReduction_118 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut33 happy_x_2 of { happy_var_2 -> - case happyOut77 happy_x_3 of { happy_var_3 -> - case happyOut76 happy_x_4 of { happy_var_4 -> - happyIn43- (RInfix happy_var_3 happy_var_4 Minus (RConst happy_var_3 happy_var_4 (Num 0)) happy_var_2- ) `HappyStk` happyRest}}}--happyReduce_119 = happyReduce 5# 37# happyReduction_119-happyReduction_119 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut33 happy_x_1 of { happy_var_1 -> - case happyOut33 happy_x_3 of { happy_var_3 -> - case happyOut77 happy_x_4 of { happy_var_4 -> - case happyOut76 happy_x_5 of { happy_var_5 -> - happyIn43- (RUserInfix happy_var_4 happy_var_5 False "-" happy_var_1 happy_var_3- ) `HappyStk` happyRest}}}}--happyReduce_120 = happyReduce 5# 37# happyReduction_120-happyReduction_120 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut33 happy_x_1 of { happy_var_1 -> - case happyOut33 happy_x_3 of { happy_var_3 -> - case happyOut77 happy_x_4 of { happy_var_4 -> - case happyOut76 happy_x_5 of { happy_var_5 -> - happyIn43- (mkApp happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "Pair")) [happy_var_1, happy_var_3]- ) `HappyStk` happyRest}}}}--happyReduce_121 = happyReduce 5# 37# happyReduction_121-happyReduction_121 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut33 happy_x_1 of { happy_var_1 -> - case happyOut33 happy_x_3 of { happy_var_3 -> - case happyOut77 happy_x_4 of { happy_var_4 -> - case happyOut76 happy_x_5 of { happy_var_5 -> - happyIn43- (RUserInfix happy_var_4 happy_var_5 False "<" happy_var_1 happy_var_3- ) `HappyStk` happyRest}}}}--happyReduce_122 = happyReduce 5# 37# happyReduction_122-happyReduction_122 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut33 happy_x_1 of { happy_var_1 -> - case happyOut33 happy_x_3 of { happy_var_3 -> - case happyOut77 happy_x_4 of { happy_var_4 -> - case happyOut76 happy_x_5 of { happy_var_5 -> - happyIn43- (RUserInfix happy_var_4 happy_var_5 False ">" happy_var_1 happy_var_3- ) `HappyStk` happyRest}}}}--happyReduce_123 = happyReduce 5# 37# happyReduction_123-happyReduction_123 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut33 happy_x_1 of { happy_var_1 -> - case happyOut33 happy_x_3 of { happy_var_3 -> - happyIn43- (RBind (MN "X" 0) (Pi Ex Eager happy_var_1) happy_var_3- ) `HappyStk` happyRest}}--happyReduce_124 = happySpecReduce_1 37# happyReduction_124-happyReduction_124 happy_x_1- = case happyOut44 happy_x_1 of { happy_var_1 -> - happyIn43- (happy_var_1- )}--happyReduce_125 = happyReduce 5# 37# happyReduction_125-happyReduction_125 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut53 happy_x_1 of { happy_var_1 -> - case happyOut53 happy_x_3 of { happy_var_3 -> - case happyOut77 happy_x_4 of { happy_var_4 -> - case happyOut76 happy_x_5 of { happy_var_5 -> - happyIn43- (RInfix happy_var_4 happy_var_5 JMEq happy_var_1 happy_var_3- ) `HappyStk` happyRest}}}}--happyReduce_126 = happyReduce 5# 38# happyReduction_126-happyReduction_126 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut33 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (TokenInfixName happy_var_2) -> - case happyOut33 happy_x_3 of { happy_var_3 -> - case happyOut77 happy_x_4 of { happy_var_4 -> - case happyOut76 happy_x_5 of { happy_var_5 -> - happyIn44- (RUserInfix happy_var_4 happy_var_5 False happy_var_2 happy_var_1 happy_var_3- ) `HappyStk` happyRest}}}}}--happyReduce_127 = happyReduce 6# 39# happyReduction_127-happyReduction_127 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_2 of { (TokenInfixName happy_var_2) -> - case happyOut33 happy_x_3 of { happy_var_3 -> - case happyOut77 happy_x_4 of { happy_var_4 -> - case happyOut76 happy_x_5 of { happy_var_5 -> - happyIn45- (RBind (MN "X" 0) (Lam RPlaceholder) - (RUserInfix happy_var_4 happy_var_5 False happy_var_2 (RVar happy_var_4 happy_var_5 (MN "X" 0)) happy_var_3)- ) `HappyStk` happyRest}}}}--happyReduce_128 = happyReduce 6# 39# happyReduction_128-happyReduction_128 (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 happyOut33 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (TokenInfixName happy_var_3) -> - case happyOut77 happy_x_4 of { happy_var_4 -> - case happyOut76 happy_x_5 of { happy_var_5 -> - happyIn45- (RBind (MN "X" 0) (Lam RPlaceholder) - (RUserInfix happy_var_4 happy_var_5 False happy_var_3 happy_var_2 (RVar happy_var_4 happy_var_5 (MN "X" 0)))- ) `HappyStk` happyRest}}}}--happyReduce_129 = happyReduce 6# 39# happyReduction_129-happyReduction_129 (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 happyOut46 happy_x_2 of { happy_var_2 -> - case happyOut33 happy_x_3 of { happy_var_3 -> - case happyOut77 happy_x_4 of { happy_var_4 -> - case happyOut76 happy_x_5 of { happy_var_5 -> - happyIn45- (RBind (MN "X" 0) (Lam RPlaceholder) - (RUserInfix happy_var_4 happy_var_5 False happy_var_2 (RVar happy_var_4 happy_var_5 (MN "X" 0)) happy_var_3)- ) `HappyStk` happyRest}}}}--happyReduce_130 = happyReduce 6# 39# happyReduction_130-happyReduction_130 (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 happyOut33 happy_x_2 of { happy_var_2 -> - case happyOut46 happy_x_3 of { happy_var_3 -> - case happyOut77 happy_x_4 of { happy_var_4 -> - case happyOut76 happy_x_5 of { happy_var_5 -> - happyIn45- (RBind (MN "X" 0) (Lam RPlaceholder) - (RUserInfix happy_var_4 happy_var_5 False happy_var_3 happy_var_2 (RVar happy_var_4 happy_var_5 (MN "X" 0)))- ) `HappyStk` happyRest}}}}--happyReduce_131 = happyReduce 6# 39# happyReduction_131-happyReduction_131 (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 happyOut33 happy_x_2 of { happy_var_2 -> - case happyOut77 happy_x_4 of { happy_var_4 -> - case happyOut76 happy_x_5 of { happy_var_5 -> - happyIn45- (RBind (MN "X" 0) (Lam RPlaceholder) - (RUserInfix happy_var_4 happy_var_5 False "-" happy_var_2 (RVar happy_var_4 happy_var_5 (MN "X" 0)))- ) `HappyStk` happyRest}}}--happyReduce_132 = happyReduce 6# 39# happyReduction_132-happyReduction_132 (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 happyOut33 happy_x_2 of { happy_var_2 -> - case happyOut77 happy_x_4 of { happy_var_4 -> - case happyOut76 happy_x_5 of { happy_var_5 -> - happyIn45- (RBind (MN "X" 0) (Lam RPlaceholder) - (RBind (MN "X" 1) (Pi Ex Eager happy_var_2) (RVar happy_var_4 happy_var_5 (MN "X" 0)))- ) `HappyStk` happyRest}}}--happyReduce_133 = happyReduce 6# 39# happyReduction_133-happyReduction_133 (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 happyOut33 happy_x_3 of { happy_var_3 -> - case happyOut77 happy_x_4 of { happy_var_4 -> - case happyOut76 happy_x_5 of { happy_var_5 -> - happyIn45- (RBind (MN "X" 0) (Lam RPlaceholder) - (RBind (MN "X" 1) (Pi Ex Eager (RVar happy_var_4 happy_var_5 (MN "X" 0))) happy_var_3)- ) `HappyStk` happyRest}}}--happyReduce_134 = happyReduce 5# 39# happyReduction_134-happyReduction_134 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut77 happy_x_3 of { happy_var_3 -> - case happyOut76 happy_x_4 of { happy_var_4 -> - happyIn45- (RBind (MN "X" 0) (Lam RPlaceholder)- (RBind (MN "X" 1) (Lam RPlaceholder)- (RBind (MN "X" 2) (Pi Ex Eager (RVar happy_var_3 happy_var_4 (MN "X" 0)))- (RVar happy_var_3 happy_var_4 (MN "X" 1))))- ) `HappyStk` happyRest}}--happyReduce_135 = happyReduce 5# 39# happyReduction_135-happyReduction_135 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut77 happy_x_3 of { happy_var_3 -> - case happyOut76 happy_x_4 of { happy_var_4 -> - happyIn45- (RBind (MN "X" 0) (Lam RPlaceholder)- (RBind (MN "X" 1) (Lam RPlaceholder)- (pairDesugar happy_var_3 happy_var_4 (RVar happy_var_3 happy_var_4 (UN "mkPair"))- [RVar happy_var_3 happy_var_4 (MN "X" 0),- RVar happy_var_3 happy_var_4 (MN "X" 1)]))- ) `HappyStk` happyRest}}--happyReduce_136 = happyReduce 6# 39# happyReduction_136-happyReduction_136 (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 happyOut33 happy_x_2 of { happy_var_2 -> - case happyOut77 happy_x_4 of { happy_var_4 -> - case happyOut76 happy_x_5 of { happy_var_5 -> - happyIn45- (RBind (MN "X" 0) (Lam RPlaceholder)- (pairDesugar happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "mkPair"))- [happy_var_2,- RVar happy_var_4 happy_var_5 (MN "X" 0)])- ) `HappyStk` happyRest}}}--happyReduce_137 = happyReduce 6# 39# happyReduction_137-happyReduction_137 (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 happyOut33 happy_x_3 of { happy_var_3 -> - case happyOut77 happy_x_4 of { happy_var_4 -> - case happyOut76 happy_x_5 of { happy_var_5 -> - happyIn45- (RBind (MN "X" 0) (Lam RPlaceholder)- (pairDesugar happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "mkPair"))- [RVar happy_var_4 happy_var_5 (MN "X" 0), happy_var_3])- ) `HappyStk` happyRest}}}--happyReduce_138 = happySpecReduce_1 40# happyReduction_138-happyReduction_138 happy_x_1- = happyIn46- ("<"- )--happyReduce_139 = happySpecReduce_1 40# happyReduction_139-happyReduction_139 happy_x_1- = happyIn46- (">"- )--happyReduce_140 = happySpecReduce_0 41# happyReduction_140-happyReduction_140 = happyIn47- (RPlaceholder- )--happyReduce_141 = happySpecReduce_2 41# happyReduction_141-happyReduction_141 happy_x_2- happy_x_1- = case happyOut50 happy_x_2 of { happy_var_2 -> - happyIn47- (happy_var_2- )}--happyReduce_142 = happySpecReduce_0 42# happyReduction_142-happyReduction_142 = happyIn48- (RPlaceholder- )--happyReduce_143 = happySpecReduce_2 42# happyReduction_143-happyReduction_143 happy_x_2- happy_x_1- = case happyOut50 happy_x_2 of { happy_var_2 -> - happyIn48- (happy_var_2- )}--happyReduce_144 = happyReduce 5# 43# happyReduction_144-happyReduction_144 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut39 happy_x_1 of { happy_var_1 -> - case happyOut48 happy_x_2 of { happy_var_2 -> - case happyOut49 happy_x_5 of { happy_var_5 -> - happyIn49- (doBind (Pi Im Eager) (map (\x -> (x, happy_var_2)) happy_var_1) happy_var_5- ) `HappyStk` happyRest}}}--happyReduce_145 = happySpecReduce_1 43# happyReduction_145-happyReduction_145 happy_x_1- = case happyOut50 happy_x_1 of { happy_var_1 -> - happyIn49- (happy_var_1- )}--happyReduce_146 = happySpecReduce_3 44# happyReduction_146-happyReduction_146 happy_x_3- happy_x_2- happy_x_1- = case happyOut50 happy_x_1 of { happy_var_1 -> - case happyOut50 happy_x_3 of { happy_var_3 -> - happyIn50- (RBind (MN "X" 0) (Pi Ex Eager happy_var_1) happy_var_3- )}}--happyReduce_147 = happyReduce 5# 44# happyReduction_147-happyReduction_147 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut35 happy_x_2 of { happy_var_2 -> - case happyOut50 happy_x_5 of { happy_var_5 -> - happyIn50- (doBind (Pi Ex Eager) happy_var_2 happy_var_5- ) `HappyStk` happyRest}}--happyReduce_148 = happyReduce 5# 44# happyReduction_148-happyReduction_148 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut35 happy_x_2 of { happy_var_2 -> - case happyOut50 happy_x_5 of { happy_var_5 -> - happyIn50- (doBind (Pi Ex Lazy) happy_var_2 happy_var_5- ) `HappyStk` happyRest}}--happyReduce_149 = happySpecReduce_3 44# happyReduction_149-happyReduction_149 happy_x_3- happy_x_2- happy_x_1- = case happyOut50 happy_x_2 of { happy_var_2 -> - happyIn50- (bracket happy_var_2- )}--happyReduce_150 = happyReduce 7# 44# happyReduction_150-happyReduction_150 (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 happyOut50 happy_x_2 of { happy_var_2 -> - case happyOut50 happy_x_4 of { happy_var_4 -> - case happyOut77 happy_x_5 of { happy_var_5 -> - case happyOut76 happy_x_6 of { happy_var_6 -> - happyIn50- (RInfix happy_var_5 happy_var_6 JMEq happy_var_2 happy_var_4- ) `HappyStk` happyRest}}}}--happyReduce_151 = happySpecReduce_1 44# happyReduction_151-happyReduction_151 happy_x_1- = case happyOut32 happy_x_1 of { happy_var_1 -> - happyIn50- (happy_var_1- )}--happyReduce_152 = happySpecReduce_3 44# happyReduction_152-happyReduction_152 happy_x_3- happy_x_2- happy_x_1- = case happyOut33 happy_x_2 of { happy_var_2 -> - happyIn50- (happy_var_2- )}--happyReduce_153 = happyReduce 5# 44# happyReduction_153-happyReduction_153 (happy_x_5 `HappyStk`- 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 happyOutTok happy_x_2 of { (TokenInfixName happy_var_2) -> - case happyOut50 happy_x_3 of { happy_var_3 -> - case happyOut77 happy_x_4 of { happy_var_4 -> - case happyOut76 happy_x_5 of { happy_var_5 -> - happyIn50- (RUserInfix happy_var_4 happy_var_5 False happy_var_2 happy_var_1 happy_var_3- ) `HappyStk` happyRest}}}}}--happyReduce_154 = happyReduce 5# 44# happyReduction_154-happyReduction_154 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut52 happy_x_2 of { happy_var_2 -> - case happyOut77 happy_x_4 of { happy_var_4 -> - case happyOut76 happy_x_5 of { happy_var_5 -> - happyIn50- (pairDesugar happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "Pair")) happy_var_2- ) `HappyStk` happyRest}}}--happyReduce_155 = happySpecReduce_1 44# happyReduction_155-happyReduction_155 happy_x_1- = case happyOut51 happy_x_1 of { happy_var_1 -> - happyIn50- (happy_var_1- )}--happyReduce_156 = happyReduce 8# 45# happyReduction_156-happyReduction_156 (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 happyOut31 happy_x_2 of { happy_var_2 -> - case happyOut47 happy_x_3 of { happy_var_3 -> - case happyOut50 happy_x_5 of { happy_var_5 -> - case happyOut77 happy_x_7 of { happy_var_7 -> - case happyOut76 happy_x_8 of { happy_var_8 -> - happyIn51- (sigDesugar happy_var_7 happy_var_8 (happy_var_2, happy_var_3) happy_var_5- ) `HappyStk` happyRest}}}}}--happyReduce_157 = happySpecReduce_3 46# happyReduction_157-happyReduction_157 happy_x_3- happy_x_2- happy_x_1- = case happyOut50 happy_x_1 of { happy_var_1 -> - case happyOut50 happy_x_3 of { happy_var_3 -> - happyIn52- (happy_var_1:happy_var_3:[]- )}}--happyReduce_158 = happySpecReduce_3 46# happyReduction_158-happyReduction_158 happy_x_3- happy_x_2- happy_x_1- = case happyOut50 happy_x_1 of { happy_var_1 -> - case happyOut52 happy_x_3 of { happy_var_3 -> - happyIn52- (happy_var_1:happy_var_3- )}}--happyReduce_159 = happySpecReduce_3 47# happyReduction_159-happyReduction_159 happy_x_3- happy_x_2- happy_x_1- = case happyOut31 happy_x_1 of { happy_var_1 -> - case happyOut77 happy_x_2 of { happy_var_2 -> - case happyOut76 happy_x_3 of { happy_var_3 -> - happyIn53- (RVar happy_var_2 happy_var_3 happy_var_1- )}}}--happyReduce_160 = happySpecReduce_3 47# happyReduction_160-happyReduction_160 happy_x_3- happy_x_2- happy_x_1- = case happyOut77 happy_x_2 of { happy_var_2 -> - case happyOut76 happy_x_3 of { happy_var_3 -> - happyIn53- (RReturn happy_var_2 happy_var_3- )}}--happyReduce_161 = happySpecReduce_3 47# happyReduction_161-happyReduction_161 happy_x_3- happy_x_2- happy_x_1- = case happyOut33 happy_x_2 of { happy_var_2 -> - happyIn53- (bracket happy_var_2- )}--happyReduce_162 = happySpecReduce_2 47# happyReduction_162-happyReduction_162 happy_x_2- happy_x_1- = case happyOut53 happy_x_2 of { happy_var_2 -> - happyIn53- (RPure happy_var_2- )}--happyReduce_163 = happySpecReduce_1 47# happyReduction_163-happyReduction_163 happy_x_1- = case happyOutTok happy_x_1 of { (TokenMetavar happy_var_1) -> - happyIn53- (RMetavar happy_var_1- )}--happyReduce_164 = happyReduce 4# 47# happyReduction_164-happyReduction_164 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut31 happy_x_2 of { happy_var_2 -> - case happyOut77 happy_x_3 of { happy_var_3 -> - case happyOut76 happy_x_4 of { happy_var_4 -> - happyIn53- (RExpVar happy_var_3 happy_var_4 happy_var_2- ) `HappyStk` happyRest}}}--happyReduce_165 = happySpecReduce_3 47# happyReduction_165-happyReduction_165 happy_x_3- happy_x_2- happy_x_1- = case happyOut59 happy_x_1 of { happy_var_1 -> - case happyOut77 happy_x_2 of { happy_var_2 -> - case happyOut76 happy_x_3 of { happy_var_3 -> - happyIn53- (RConst happy_var_2 happy_var_3 happy_var_1- )}}}--happyReduce_166 = happySpecReduce_1 47# happyReduction_166-happyReduction_166 happy_x_1- = happyIn53- (RRefl- )--happyReduce_167 = happySpecReduce_3 47# happyReduction_167-happyReduction_167 happy_x_3- happy_x_2- happy_x_1- = case happyOut77 happy_x_2 of { happy_var_2 -> - case happyOut76 happy_x_3 of { happy_var_3 -> - happyIn53- (RVar happy_var_2 happy_var_3 (UN "__Empty")- )}}--happyReduce_168 = happySpecReduce_3 47# happyReduction_168-happyReduction_168 happy_x_3- happy_x_2- happy_x_1- = case happyOut77 happy_x_2 of { happy_var_2 -> - case happyOut76 happy_x_3 of { happy_var_3 -> - happyIn53- (RVar happy_var_2 happy_var_3 (UN "__Unit")- )}}--happyReduce_169 = happySpecReduce_1 47# happyReduction_169-happyReduction_169 happy_x_1- = happyIn53- (RPlaceholder- )--happyReduce_170 = happySpecReduce_1 47# happyReduction_170-happyReduction_170 happy_x_1- = case happyOut56 happy_x_1 of { happy_var_1 -> - happyIn53- (RDo happy_var_1- )}--happyReduce_171 = happySpecReduce_3 47# happyReduction_171-happyReduction_171 happy_x_3- happy_x_2- happy_x_1- = case happyOut33 happy_x_2 of { happy_var_2 -> - happyIn53- (RIdiom happy_var_2- )}--happyReduce_172 = happyReduce 5# 47# happyReduction_172-happyReduction_172 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut55 happy_x_2 of { happy_var_2 -> - case happyOut77 happy_x_4 of { happy_var_4 -> - case happyOut76 happy_x_5 of { happy_var_5 -> - happyIn53- (pairDesugar happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "mkPair")) happy_var_2- ) `HappyStk` happyRest}}}--happyReduce_173 = happySpecReduce_1 47# happyReduction_173-happyReduction_173 happy_x_1- = case happyOut51 happy_x_1 of { happy_var_1 -> - happyIn53- (happy_var_1- )}--happyReduce_174 = happySpecReduce_1 47# happyReduction_174-happyReduction_174 happy_x_1- = case happyOut45 happy_x_1 of { happy_var_1 -> - happyIn53- (happy_var_1- )}--happyReduce_175 = happySpecReduce_1 47# happyReduction_175-happyReduction_175 happy_x_1- = case happyOut54 happy_x_1 of { happy_var_1 -> - happyIn53- (happy_var_1- )}--happyReduce_176 = happyReduce 7# 48# happyReduction_176-happyReduction_176 (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 happyOut33 happy_x_2 of { happy_var_2 -> - case happyOut33 happy_x_4 of { happy_var_4 -> - case happyOut77 happy_x_6 of { happy_var_6 -> - case happyOut76 happy_x_7 of { happy_var_7 -> - happyIn54- (RApp happy_var_6 happy_var_7 (RAppImp happy_var_6 happy_var_7 (UN "a") (RVar happy_var_6 happy_var_7 (UN "Exists")) happy_var_2) happy_var_4- ) `HappyStk` happyRest}}}}--happyReduce_177 = happyReduce 5# 48# happyReduction_177-happyReduction_177 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut33 happy_x_2 of { happy_var_2 -> - case happyOut77 happy_x_4 of { happy_var_4 -> - case happyOut76 happy_x_5 of { happy_var_5 -> - happyIn54- (RApp happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "Exists")) happy_var_2- ) `HappyStk` happyRest}}}--happyReduce_178 = happySpecReduce_3 49# happyReduction_178-happyReduction_178 happy_x_3- happy_x_2- happy_x_1- = case happyOut33 happy_x_1 of { happy_var_1 -> - case happyOut33 happy_x_3 of { happy_var_3 -> - happyIn55- (happy_var_1:happy_var_3:[]- )}}--happyReduce_179 = happySpecReduce_3 49# happyReduction_179-happyReduction_179 happy_x_3- happy_x_2- happy_x_1- = case happyOut33 happy_x_1 of { happy_var_1 -> - case happyOut55 happy_x_3 of { happy_var_3 -> - happyIn55- (happy_var_1:happy_var_3- )}}--happyReduce_180 = happyReduce 4# 50# happyReduction_180-happyReduction_180 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut57 happy_x_3 of { happy_var_3 -> - happyIn56- (happy_var_3- ) `HappyStk` happyRest}--happyReduce_181 = happyReduce 10# 50# happyReduction_181-happyReduction_181 (happy_x_10 `HappyStk`- happy_x_9 `HappyStk`- happy_x_8 `HappyStk`- happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_2 of { (TokenBrackName happy_var_2) -> - case happyOut47 happy_x_3 of { happy_var_3 -> - case happyOut33 happy_x_5 of { happy_var_5 -> - case happyOut77 happy_x_6 of { happy_var_6 -> - case happyOut76 happy_x_7 of { happy_var_7 -> - case happyOut57 happy_x_9 of { happy_var_9 -> - happyIn56- (DoBinding happy_var_6 happy_var_7 happy_var_2 happy_var_3 happy_var_5 : happy_var_9- ) `HappyStk` happyRest}}}}}}--happyReduce_182 = happySpecReduce_2 51# happyReduction_182-happyReduction_182 happy_x_2- happy_x_1- = case happyOut58 happy_x_1 of { happy_var_1 -> - case happyOut57 happy_x_2 of { happy_var_2 -> - happyIn57- (happy_var_1:happy_var_2- )}}--happyReduce_183 = happySpecReduce_1 51# happyReduction_183-happyReduction_183 happy_x_1- = case happyOut58 happy_x_1 of { happy_var_1 -> - happyIn57- ([happy_var_1]- )}--happyReduce_184 = happyReduce 7# 52# happyReduction_184-happyReduction_184 (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 happyOut31 happy_x_1 of { happy_var_1 -> - case happyOut47 happy_x_2 of { happy_var_2 -> - case happyOut33 happy_x_4 of { happy_var_4 -> - case happyOut77 happy_x_5 of { happy_var_5 -> - case happyOut76 happy_x_6 of { happy_var_6 -> - happyIn58- (DoBinding happy_var_5 happy_var_6 happy_var_1 happy_var_2 happy_var_4- ) `HappyStk` happyRest}}}}}--happyReduce_185 = happyReduce 8# 52# happyReduction_185-happyReduction_185 (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 happyOut31 happy_x_2 of { happy_var_2 -> - case happyOut47 happy_x_3 of { happy_var_3 -> - case happyOut33 happy_x_5 of { happy_var_5 -> - case happyOut77 happy_x_6 of { happy_var_6 -> - case happyOut76 happy_x_7 of { happy_var_7 -> - happyIn58- (DoLet happy_var_6 happy_var_7 happy_var_2 happy_var_3 happy_var_5- ) `HappyStk` happyRest}}}}}--happyReduce_186 = happyReduce 4# 52# happyReduction_186-happyReduction_186 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut33 happy_x_1 of { happy_var_1 -> - case happyOut77 happy_x_2 of { happy_var_2 -> - case happyOut76 happy_x_3 of { happy_var_3 -> - happyIn58- (DoExp happy_var_2 happy_var_3 happy_var_1- ) `HappyStk` happyRest}}}--happyReduce_187 = happySpecReduce_1 53# happyReduction_187-happyReduction_187 happy_x_1- = happyIn59- (TYPE- )--happyReduce_188 = happySpecReduce_1 53# happyReduction_188-happyReduction_188 happy_x_1- = happyIn59- (StringType- )--happyReduce_189 = happySpecReduce_1 53# happyReduction_189-happyReduction_189 happy_x_1- = happyIn59- (IntType- )--happyReduce_190 = happySpecReduce_1 53# happyReduction_190-happyReduction_190 happy_x_1- = happyIn59- (CharType- )--happyReduce_191 = happySpecReduce_1 53# happyReduction_191-happyReduction_191 happy_x_1- = happyIn59- (FloatType- )--happyReduce_192 = happySpecReduce_1 53# happyReduction_192-happyReduction_192 happy_x_1- = happyIn59- (PtrType- )--happyReduce_193 = happySpecReduce_1 53# happyReduction_193-happyReduction_193 happy_x_1- = happyIn59- (Builtin "Handle"- )--happyReduce_194 = happySpecReduce_1 53# happyReduction_194-happyReduction_194 happy_x_1- = happyIn59- (Builtin "Lock"- )--happyReduce_195 = happySpecReduce_1 53# happyReduction_195-happyReduction_195 happy_x_1- = case happyOutTok happy_x_1 of { (TokenInt happy_var_1) -> - happyIn59- (Num happy_var_1- )}--happyReduce_196 = happySpecReduce_1 53# happyReduction_196-happyReduction_196 happy_x_1- = case happyOutTok happy_x_1 of { (TokenChar happy_var_1) -> - happyIn59- (Ch happy_var_1- )}--happyReduce_197 = happySpecReduce_1 53# happyReduction_197-happyReduction_197 happy_x_1- = case happyOutTok happy_x_1 of { (TokenString happy_var_1) -> - happyIn59- (Str happy_var_1- )}--happyReduce_198 = happySpecReduce_1 53# happyReduction_198-happyReduction_198 happy_x_1- = case happyOutTok happy_x_1 of { (TokenBool happy_var_1) -> - happyIn59- (Bo happy_var_1- )}--happyReduce_199 = happySpecReduce_1 53# happyReduction_199-happyReduction_199 happy_x_1- = case happyOutTok happy_x_1 of { (TokenFloat happy_var_1) -> - happyIn59- (Fl happy_var_1- )}--happyReduce_200 = happySpecReduce_0 54# happyReduction_200-happyReduction_200 = happyIn60- ([]- )--happyReduce_201 = happySpecReduce_2 54# happyReduction_201-happyReduction_201 happy_x_2- happy_x_1- = case happyOut53 happy_x_1 of { happy_var_1 -> - case happyOut60 happy_x_2 of { happy_var_2 -> - happyIn60- (happy_var_1:happy_var_2- )}}--happyReduce_202 = happyReduce 4# 55# happyReduction_202-happyReduction_202 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut49 happy_x_2 of { happy_var_2 -> - case happyOut62 happy_x_3 of { happy_var_3 -> - happyIn61- ((happy_var_2, happy_var_3)- ) `HappyStk` happyRest}}--happyReduce_203 = happySpecReduce_3 55# happyReduction_203-happyReduction_203 happy_x_3- happy_x_2- happy_x_1- = case happyOut77 happy_x_2 of { happy_var_2 -> - case happyOut76 happy_x_3 of { happy_var_3 -> - happyIn61- ((RConst happy_var_2 happy_var_3 TYPE, [])- )}}--happyReduce_204 = happyReduce 4# 55# happyReduction_204-happyReduction_204 (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 happyOut77 happy_x_3 of { happy_var_3 -> - case happyOut76 happy_x_4 of { happy_var_4 -> - happyIn61- ((mkTyParams happy_var_3 happy_var_4 happy_var_1, [])- ) `HappyStk` happyRest}}}--happyReduce_205 = happySpecReduce_0 56# happyReduction_205-happyReduction_205 = happyIn62- ([]- )--happyReduce_206 = happyReduce 4# 56# happyReduction_206-happyReduction_206 (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 -> - happyIn62- (happy_var_3- ) `HappyStk` happyRest}--happyReduce_207 = happyReduce 7# 57# happyReduction_207-happyReduction_207 (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 happyOut31 happy_x_4 of { happy_var_4 -> - case happyOut31 happy_x_6 of { happy_var_6 -> - happyIn63- ((happy_var_4,happy_var_6)- ) `HappyStk` happyRest}}--happyReduce_208 = happyReduce 6# 58# happyReduction_208-happyReduction_208 (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 happyOut31 happy_x_3 of { happy_var_3 -> - case happyOut31 happy_x_5 of { happy_var_5 -> - happyIn64- ((happy_var_3,happy_var_5)- ) `HappyStk` happyRest}}--happyReduce_209 = happyReduce 4# 59# happyReduction_209-happyReduction_209 (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 -> - happyIn65- (happy_var_3- ) `HappyStk` happyRest}--happyReduce_210 = happySpecReduce_2 60# happyReduction_210-happyReduction_210 happy_x_2- happy_x_1- = case happyOut31 happy_x_2 of { happy_var_2 -> - happyIn66- (happy_var_2- )}--happyReduce_211 = happySpecReduce_3 61# happyReduction_211-happyReduction_211 happy_x_3- happy_x_2- happy_x_1- = case happyOut31 happy_x_1 of { happy_var_1 -> - case happyOut49 happy_x_3 of { happy_var_3 -> - happyIn67- ([(happy_var_1, happy_var_3)]- )}}--happyReduce_212 = happyReduce 5# 61# happyReduction_212-happyReduction_212 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut31 happy_x_1 of { happy_var_1 -> - case happyOut49 happy_x_3 of { happy_var_3 -> - case happyOut67 happy_x_5 of { happy_var_5 -> - happyIn67- ((happy_var_1,happy_var_3):happy_var_5- ) `HappyStk` happyRest}}}--happyReduce_213 = happySpecReduce_1 62# happyReduction_213-happyReduction_213 happy_x_1- = case happyOut31 happy_x_1 of { happy_var_1 -> - happyIn68- ([happy_var_1]- )}--happyReduce_214 = happySpecReduce_2 62# happyReduction_214-happyReduction_214 happy_x_2- happy_x_1- = case happyOut31 happy_x_1 of { happy_var_1 -> - case happyOut68 happy_x_2 of { happy_var_2 -> - happyIn68- (happy_var_1:happy_var_2- )}}--happyReduce_215 = happySpecReduce_1 63# happyReduction_215-happyReduction_215 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn69- (happy_var_1- )}--happyReduce_216 = happySpecReduce_1 63# happyReduction_216-happyReduction_216 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn69- (happy_var_1- )}--happyReduce_217 = happySpecReduce_0 64# happyReduction_217-happyReduction_217 = happyIn70- ([]- )--happyReduce_218 = happySpecReduce_1 64# happyReduction_218-happyReduction_218 happy_x_1- = case happyOut71 happy_x_1 of { happy_var_1 -> - happyIn70- ([happy_var_1]- )}--happyReduce_219 = happySpecReduce_3 64# happyReduction_219-happyReduction_219 happy_x_3- happy_x_2- happy_x_1- = case happyOut71 happy_x_1 of { happy_var_1 -> - case happyOut70 happy_x_3 of { happy_var_3 -> - happyIn70- (happy_var_1:happy_var_3- )}}--happyReduce_220 = happySpecReduce_2 65# happyReduction_220-happyReduction_220 happy_x_2- happy_x_1- = case happyOut31 happy_x_1 of { happy_var_1 -> - case happyOut72 happy_x_2 of { happy_var_2 -> - happyIn71- (Full happy_var_1 happy_var_2- )}}--happyReduce_221 = happySpecReduce_2 65# happyReduction_221-happyReduction_221 happy_x_2- happy_x_1- = case happyOut31 happy_x_1 of { happy_var_1 -> - case happyOut60 happy_x_2 of { happy_var_2 -> - happyIn71- (Simple happy_var_1 happy_var_2- )}}--happyReduce_222 = happySpecReduce_2 66# happyReduction_222-happyReduction_222 happy_x_2- happy_x_1- = case happyOut49 happy_x_2 of { happy_var_2 -> - happyIn72- (happy_var_2- )}--happyReduce_223 = happySpecReduce_2 67# happyReduction_223-happyReduction_223 happy_x_2- happy_x_1- = case happyOut37 happy_x_2 of { happy_var_2 -> - happyIn73- (Intro happy_var_2- )}--happyReduce_224 = happySpecReduce_1 67# happyReduction_224-happyReduction_224 happy_x_1- = happyIn73- (Intro []- )--happyReduce_225 = happySpecReduce_2 67# happyReduction_225-happyReduction_225 happy_x_2- happy_x_1- = case happyOut31 happy_x_2 of { happy_var_2 -> - happyIn73- (Refine happy_var_2- )}--happyReduce_226 = happySpecReduce_2 67# happyReduction_226-happyReduction_226 happy_x_2- happy_x_1- = case happyOut33 happy_x_2 of { happy_var_2 -> - happyIn73- (Generalise happy_var_2- )}--happyReduce_227 = happySpecReduce_1 67# happyReduction_227-happyReduction_227 happy_x_1- = happyIn73- (ReflP- )--happyReduce_228 = happySpecReduce_2 67# happyReduction_228-happyReduction_228 happy_x_2- happy_x_1- = case happyOut33 happy_x_2 of { happy_var_2 -> - happyIn73- (Rewrite False False happy_var_2- )}--happyReduce_229 = happySpecReduce_3 67# happyReduction_229-happyReduction_229 happy_x_3- happy_x_2- happy_x_1- = case happyOut33 happy_x_3 of { happy_var_3 -> - happyIn73- (Rewrite False True happy_var_3- )}--happyReduce_230 = happySpecReduce_2 67# happyReduction_230-happyReduction_230 happy_x_2- happy_x_1- = case happyOut33 happy_x_2 of { happy_var_2 -> - happyIn73- (Rewrite True False happy_var_2- )}--happyReduce_231 = happySpecReduce_3 67# happyReduction_231-happyReduction_231 happy_x_3- happy_x_2- happy_x_1- = case happyOut33 happy_x_3 of { happy_var_3 -> - happyIn73- (Rewrite True True happy_var_3- )}--happyReduce_232 = happySpecReduce_1 67# happyReduction_232-happyReduction_232 happy_x_1- = happyIn73- (Compute- )--happyReduce_233 = happySpecReduce_2 67# happyReduction_233-happyReduction_233 happy_x_2- happy_x_1- = case happyOut31 happy_x_2 of { happy_var_2 -> - happyIn73- (Unfold happy_var_2- )}--happyReduce_234 = happySpecReduce_1 67# happyReduction_234-happyReduction_234 happy_x_1- = happyIn73- (Undo- )--happyReduce_235 = happySpecReduce_2 67# happyReduction_235-happyReduction_235 happy_x_2- happy_x_1- = case happyOut33 happy_x_2 of { happy_var_2 -> - happyIn73- (Induction happy_var_2- )}--happyReduce_236 = happySpecReduce_2 67# happyReduction_236-happyReduction_236 happy_x_2- happy_x_1- = case happyOut33 happy_x_2 of { happy_var_2 -> - happyIn73- (Fill happy_var_2- )}--happyReduce_237 = happySpecReduce_1 67# happyReduction_237-happyReduction_237 happy_x_1- = happyIn73- (Trivial- )--happyReduce_238 = happySpecReduce_2 67# happyReduction_238-happyReduction_238 happy_x_2- happy_x_1- = case happyOut33 happy_x_2 of { happy_var_2 -> - happyIn73- (RunTactic happy_var_2- )}--happyReduce_239 = happySpecReduce_2 67# happyReduction_239-happyReduction_239 happy_x_2- happy_x_1- = case happyOut33 happy_x_2 of { happy_var_2 -> - happyIn73- (Believe happy_var_2- )}--happyReduce_240 = happySpecReduce_2 67# happyReduction_240-happyReduction_240 happy_x_2- happy_x_1- = case happyOut33 happy_x_2 of { happy_var_2 -> - happyIn73- (Use happy_var_2- )}--happyReduce_241 = happySpecReduce_2 67# happyReduction_241-happyReduction_241 happy_x_2- happy_x_1- = case happyOut33 happy_x_2 of { happy_var_2 -> - happyIn73- (Decide happy_var_2- )}--happyReduce_242 = happySpecReduce_1 67# happyReduction_242-happyReduction_242 happy_x_1- = happyIn73- (Abandon- )--happyReduce_243 = happySpecReduce_1 67# happyReduction_243-happyReduction_243 happy_x_1- = happyIn73- (Qed- )--happyReduce_244 = happyReduce 4# 68# happyReduction_244-happyReduction_244 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut75 happy_x_3 of { happy_var_3 -> - happyIn74- (happy_var_3- ) `HappyStk` happyRest}--happyReduce_245 = happySpecReduce_2 69# happyReduction_245-happyReduction_245 happy_x_2- happy_x_1- = case happyOut73 happy_x_1 of { happy_var_1 -> - happyIn75- ([happy_var_1]- )}--happyReduce_246 = happySpecReduce_3 69# happyReduction_246-happyReduction_246 happy_x_3- happy_x_2- happy_x_1- = case happyOut73 happy_x_1 of { happy_var_1 -> - case happyOut75 happy_x_3 of { happy_var_3 -> - happyIn75- (happy_var_1:happy_var_3- )}}--happyReduce_247 = happyMonadReduce 0# 70# happyReduction_247-happyReduction_247 (happyRest) tk- = happyThen (( getLineNo)- ) (\r -> happyReturn (happyIn76 r))--happyReduce_248 = happyMonadReduce 0# 71# happyReduction_248-happyReduction_248 (happyRest) tk- = happyThen (( getFileName)- ) (\r -> happyReturn (happyIn77 r))--happyReduce_249 = happyMonadReduce 0# 72# happyReduction_249-happyReduction_249 (happyRest) tk- = happyThen (( getOps)- ) (\r -> happyReturn (happyIn78 r))--happyNewToken action sts stk- = lexer(\tk -> - let cont i = happyDoAction i tk action sts stk in- case tk of {- TokenEOF -> happyDoAction 118# tk action sts stk;- TokenName happy_dollar_dollar -> cont 1#;- TokenInfixName happy_dollar_dollar -> cont 2#;- TokenBrackName happy_dollar_dollar -> cont 3#;- TokenString happy_dollar_dollar -> cont 4#;- TokenInt happy_dollar_dollar -> cont 5#;- TokenFloat happy_dollar_dollar -> cont 6#;- TokenChar happy_dollar_dollar -> cont 7#;- TokenBool happy_dollar_dollar -> cont 8#;- TokenMetavar happy_dollar_dollar -> cont 9#;- TokenColon -> cont 10#;- TokenSemi -> cont 11#;- TokenBar -> cont 12#;- TokenStars -> cont 13#;- TokenLambda -> cont 14#;- TokenHashOB -> cont 15#;- TokenOB -> cont 16#;- TokenCB -> cont 17#;- TokenOCB -> cont 18#;- TokenCCB -> cont 19#;- TokenOSB -> cont 20#;- TokenCSB -> cont 21#;- TokenOId -> cont 22#;- TokenCId -> cont 23#;- TokenLPair -> cont 24#;- TokenRPair -> cont 25#;- TokenExists -> cont 26#;- TokenTilde -> cont 27#;- TokenPlus -> cont 28#;- TokenMinus -> cont 29#;- TokenTimes -> cont 30#;- TokenDivide -> cont 31#;- TokenEquals -> cont 32#;- TokenMightEqual -> cont 33#;- TokenLT -> cont 34#;- TokenGT -> cont 35#;- TokenEllipsis -> cont 36#;- TokenUnderscore -> cont 37#;- TokenComma -> cont 38#;- TokenTuple -> cont 39#;- TokenBang -> cont 40#;- TokenConcat -> cont 41#;- TokenGE -> cont 42#;- TokenLE -> cont 43#;- TokenOr -> cont 44#;- TokenAnd -> cont 45#;- TokenArrow -> cont 46#;- TokenFatArrow -> cont 47#;- TokenTransArrow -> cont 48#;- TokenLeftArrow -> cont 49#;- TokenIntType -> cont 50#;- TokenCharType -> cont 51#;- TokenFloatType -> cont 52#;- TokenStringType -> cont 53#;- TokenHandleType -> cont 54#;- TokenPtrType -> cont 55#;- TokenLockType -> cont 56#;- TokenType -> cont 57#;- TokenLazyBracket -> cont 58#;- TokenDataType -> cont 59#;- TokenInfix -> cont 60#;- TokenInfixL -> cont 61#;- TokenInfixR -> cont 62#;- TokenUsing -> cont 63#;- TokenIdiom -> cont 64#;- TokenParams -> cont 65#;- TokenNamespace -> cont 66#;- TokenPublic -> cont 67#;- TokenPrivate -> cont 68#;- TokenAbstract -> cont 69#;- TokenNoElim -> cont 70#;- TokenCollapsible -> cont 71#;- TokenWhere -> cont 72#;- TokenWith -> cont 73#;- TokenPartial -> cont 74#;- TokenSyntax -> cont 75#;- TokenLazy -> cont 76#;- TokenRefl -> cont 77#;- TokenEmptyType -> cont 78#;- TokenUnitType -> cont 79#;- TokenInclude -> cont 80#;- TokenExport -> cont 81#;- TokenInline -> cont 82#;- TokenDo -> cont 83#;- TokenReturn -> cont 84#;- TokenIf -> cont 85#;- TokenThen -> cont 86#;- TokenElse -> cont 87#;- TokenLet -> cont 88#;- TokenIn -> cont 89#;- TokenProof -> cont 90#;- TokenIntro -> cont 91#;- TokenRefine -> cont 92#;- TokenGeneralise -> cont 93#;- TokenReflP -> cont 94#;- TokenRewrite -> cont 95#;- TokenRewriteAll -> cont 96#;- TokenCompute -> cont 97#;- TokenUnfold -> cont 98#;- TokenUndo -> cont 99#;- TokenInduction -> cont 100#;- TokenFill -> cont 101#;- TokenTrivial -> cont 102#;- TokenMkTac -> cont 103#;- TokenBelieve -> cont 104#;- TokenUse -> cont 105#;- TokenDecide -> cont 106#;- TokenAbandon -> cont 107#;- TokenQED -> cont 108#;- TokenLaTeX -> cont 109#;- TokenNoCG -> cont 110#;- TokenEval -> cont 111#;- TokenSpec -> cont 112#;- TokenFreeze -> cont 113#;- TokenThaw -> cont 114#;- TokenTransform -> cont 115#;- TokenCInclude -> cont 116#;- TokenCLib -> cont 117#;- _ -> happyError' tk- })--happyError_ tk = happyError' tk--happyThen :: () => P a -> (a -> P b) -> P b-happyThen = (thenP)-happyReturn :: () => a -> P a-happyReturn = (returnP)-happyThen1 = happyThen-happyReturn1 :: () => a -> P a-happyReturn1 = happyReturn-happyError' :: () => (Token) -> P a-happyError' tk = (\token -> happyError) tk--mkparse = happySomeParser where- happySomeParser = happyThen (happyParse 0#) (\x -> happyReturn (happyOut6 x))--mkparseTerm = happySomeParser where- happySomeParser = happyThen (happyParse 1#) (\x -> happyReturn (happyOut33 x))--mkparseTactic = happySomeParser where- happySomeParser = happyThen (happyParse 2#) (\x -> happyReturn (happyOut73 x))--happySeq = happyDontSeq---data ConParse = Full Id RawTerm- | Simple Id [RawTerm]--parse :: String -> FilePath -> Result [Decl]-parse s fn = do ds <- mkparse s fn 1 []- collectDecls ds--processImports :: [Opt] -> [FilePath] -> Result [Decl] -> - IO ([Decl], [FilePath])-processImports opts imped (Success ds) = pi imped [] ds- where pi imps decls ((PInclude fp):xs)- | fp `elem` imps = pi imps decls xs- | otherwise = do- f <- readLibFile defaultLibPath fp- when (Verbose `elem` opts) $ putStrLn ("Reading " ++ fp)- case parse f fp of- Success t -> pi (fp:imps) decls (t++xs)- Failure e f l ->- fail $ f ++ ":" ++ show l ++ ":" ++ e- pi imps decls ((Using t ds):xs)- = do (ds',imps') <- pi imps [] ds- pi imps' (decls++[Using t ds']) xs- pi imps decls ((Params t ds):xs)- = do (ds',imps') <- pi imps [] ds- pi imps' (decls++[Params t ds']) xs- pi imps decls ((DoUsing b r ds):xs)- = do (ds',imps') <- pi imps [] ds- pi imps' (decls++[DoUsing b r ds']) xs- pi imps decls ((Idiom b r ds):xs)- = do (ds',imps') <- pi imps [] ds- pi imps' (decls++[Idiom b r ds']) xs- pi imps decls ((Namespace n ds):xs)- = do (ds',imps') <- pi imps [] ds- pi imps' (decls++[Namespace n ds']) xs- pi imps decls (x:xs) = pi imps (decls++[x]) xs- pi imps decls [] = return (decls, imps)--processImports _ imped (Failure e f l) - = fail $ show f ++ ":" ++ show l ++ ":" ++ show e---parseTerm :: String -> Result RawTerm-parseTerm s = mkparseTerm s "(input)" 0 []--parseTactic :: String -> Result ITactic-parseTactic s = mkparseTactic s "(tactic)" 0 []--mkCon :: RawTerm -> ConParse -> (Id,RawTerm)-mkCon _ (Full n t) = (n,t)-mkCon ty (Simple n args) = (n, mkConTy args ty)- where mkConTy [] ty = ty- mkConTy (a:as) ty = RBind (MN "X" 0) (Pi Ex Eager a) (mkConTy as ty)--mkDef file line (n, tms) = mkImpApp (RVar file line n) tms- where mkImpApp f [] = f- mkImpApp f ((tm,Just n):ts) = mkImpApp (RAppImp file line n f tm) ts- mkImpApp f ((tm, Nothing):ts) = mkImpApp (RApp file line f tm) ts--doBind :: (RawTerm -> RBinder) -> [(Id,RawTerm)] -> RawTerm -> RawTerm-doBind b [] t = t-doBind b ((x,ty):ts) tm = RBind x (b ty) (doBind b ts tm)--doLetBind :: [(Id,RawTerm,RawTerm)] -> RawTerm -> RawTerm-doLetBind [] t = t-doLetBind ((x,ty,val):ts) tm = RBind x (RLet val ty) (doLetBind ts tm)--mkTyApp :: String -> Int -> Id -> RawTerm -> RawTerm-mkTyApp file line n ty = mkApp file line (RVar file line n) (getTyArgs ty)- where getTyArgs (RBind n _ t) = (RVar file line n):(getTyArgs t)- getTyArgs x = []--mkTyParams :: String -> Int -> [Id] -> RawTerm-mkTyParams f l [] = RConst f l TYPE-mkTyParams f l (x:xs) = RBind x (Pi Ex Eager (RConst f l TYPE)) (mkTyParams f l xs)+newtype HappyAbsSyn t72 = HappyAbsSyn HappyAny+#if __GLASGOW_HASKELL__ >= 607+type HappyAny = Happy_GHC_Exts.Any+#else+type HappyAny = forall a . a+#endif+happyIn6 :: ([ParseDecl]) -> (HappyAbsSyn t72)+happyIn6 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn6 #-}+happyOut6 :: (HappyAbsSyn t72) -> ([ParseDecl])+happyOut6 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut6 #-}+happyIn7 :: (ParseDecl) -> (HappyAbsSyn t72)+happyIn7 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn7 #-}+happyOut7 :: (HappyAbsSyn t72) -> (ParseDecl)+happyOut7 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut7 #-}+happyIn8 :: (Decl) -> (HappyAbsSyn t72)+happyIn8 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn8 #-}+happyOut8 :: (HappyAbsSyn t72) -> (Decl)+happyOut8 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut8 #-}+happyIn9 :: (ParseDecl) -> (HappyAbsSyn t72)+happyIn9 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn9 #-}+happyOut9 :: (HappyAbsSyn t72) -> (ParseDecl)+happyOut9 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut9 #-}+happyIn10 :: (CGFlag) -> (HappyAbsSyn t72)+happyIn10 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn10 #-}+happyOut10 :: (HappyAbsSyn t72) -> (CGFlag)+happyOut10 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut10 #-}+happyIn11 :: (Bool) -> (HappyAbsSyn t72)+happyIn11 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn11 #-}+happyOut11 :: (HappyAbsSyn t72) -> (Bool)+happyOut11 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut11 #-}+happyIn12 :: ([RawTerm]) -> (HappyAbsSyn t72)+happyIn12 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn12 #-}+happyOut12 :: (HappyAbsSyn t72) -> ([RawTerm])+happyOut12 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut12 #-}+happyIn13 :: (RawTerm) -> (HappyAbsSyn t72)+happyIn13 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn13 #-}+happyOut13 :: (HappyAbsSyn t72) -> (RawTerm)+happyOut13 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut13 #-}+happyIn14 :: ([ParseDecl]) -> (HappyAbsSyn t72)+happyIn14 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn14 #-}+happyOut14 :: (HappyAbsSyn t72) -> ([ParseDecl])+happyOut14 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut14 #-}+happyIn15 :: ([CGFlag]) -> (HappyAbsSyn t72)+happyIn15 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn15 #-}+happyOut15 :: (HappyAbsSyn t72) -> ([CGFlag])+happyOut15 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut15 #-}+happyIn16 :: ([CGFlag]) -> (HappyAbsSyn t72)+happyIn16 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn16 #-}+happyOut16 :: (HappyAbsSyn t72) -> ([CGFlag])+happyOut16 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut16 #-}+happyIn17 :: ([CGFlag]) -> (HappyAbsSyn t72)+happyIn17 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn17 #-}+happyOut17 :: (HappyAbsSyn t72) -> ([CGFlag])+happyOut17 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut17 #-}+happyIn18 :: ([Decl]) -> (HappyAbsSyn t72)+happyIn18 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn18 #-}+happyOut18 :: (HappyAbsSyn t72) -> ([Decl])+happyOut18 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut18 #-}+happyIn19 :: ([String]) -> (HappyAbsSyn t72)+happyIn19 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn19 #-}+happyOut19 :: (HappyAbsSyn t72) -> ([String])+happyOut19 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut19 #-}+happyIn20 :: (String) -> (HappyAbsSyn t72)+happyIn20 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn20 #-}+happyOut20 :: (HappyAbsSyn t72) -> (String)+happyOut20 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut20 #-}+happyIn21 :: (Fixity) -> (HappyAbsSyn t72)+happyIn21 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn21 #-}+happyOut21 :: (HappyAbsSyn t72) -> (Fixity)+happyOut21 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut21 #-}+happyIn22 :: (Decl) -> (HappyAbsSyn t72)+happyIn22 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn22 #-}+happyOut22 :: (HappyAbsSyn t72) -> (Decl)+happyOut22 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut22 #-}+happyIn23 :: ([(Id,String)]) -> (HappyAbsSyn t72)+happyIn23 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn23 #-}+happyOut23 :: (HappyAbsSyn t72) -> ([(Id,String)])+happyOut23 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut23 #-}+happyIn24 :: ((Id, [(RawTerm, Maybe Id)])) -> (HappyAbsSyn t72)+happyIn24 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn24 #-}+happyOut24 :: (HappyAbsSyn t72) -> ((Id, [(RawTerm, Maybe Id)]))+happyOut24 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut24 #-}+happyIn25 :: ([(RawTerm,Maybe Id)]) -> (HappyAbsSyn t72)+happyIn25 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn25 #-}+happyOut25 :: (HappyAbsSyn t72) -> ([(RawTerm,Maybe Id)])+happyOut25 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut25 #-}+happyIn26 :: (Datatype) -> (HappyAbsSyn t72)+happyIn26 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn26 #-}+happyOut26 :: (HappyAbsSyn t72) -> (Datatype)+happyOut26 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut26 #-}+happyIn27 :: (Either RawTerm ((RawTerm, [(Id, RawTerm)]), [ConParse])) -> (HappyAbsSyn t72)+happyIn27 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn27 #-}+happyOut27 :: (HappyAbsSyn t72) -> (Either RawTerm ((RawTerm, [(Id, RawTerm)]), [ConParse]))+happyOut27 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut27 #-}+happyIn28 :: ([TyOpt]) -> (HappyAbsSyn t72)+happyIn28 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn28 #-}+happyOut28 :: (HappyAbsSyn t72) -> ([TyOpt])+happyOut28 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut28 #-}+happyIn29 :: ([TyOpt]) -> (HappyAbsSyn t72)+happyIn29 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn29 #-}+happyOut29 :: (HappyAbsSyn t72) -> ([TyOpt])+happyOut29 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut29 #-}+happyIn30 :: (TyOpt) -> (HappyAbsSyn t72)+happyIn30 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn30 #-}+happyOut30 :: (HappyAbsSyn t72) -> (TyOpt)+happyOut30 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut30 #-}+happyIn31 :: (Id) -> (HappyAbsSyn t72)+happyIn31 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn31 #-}+happyOut31 :: (HappyAbsSyn t72) -> (Id)+happyOut31 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut31 #-}+happyIn32 :: (RawTerm) -> (HappyAbsSyn t72)+happyIn32 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn32 #-}+happyOut32 :: (HappyAbsSyn t72) -> (RawTerm)+happyOut32 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut32 #-}+happyIn33 :: (RawTerm) -> (HappyAbsSyn t72)+happyIn33 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn33 #-}+happyOut33 :: (HappyAbsSyn t72) -> (RawTerm)+happyOut33 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut33 #-}+happyIn34 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t72)+happyIn34 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn34 #-}+happyOut34 :: (HappyAbsSyn t72) -> ([(Id, RawTerm)])+happyOut34 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut34 #-}+happyIn35 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t72)+happyIn35 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn35 #-}+happyOut35 :: (HappyAbsSyn t72) -> ([(Id, RawTerm)])+happyOut35 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut35 #-}+happyIn36 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t72)+happyIn36 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn36 #-}+happyOut36 :: (HappyAbsSyn t72) -> ([(Id, RawTerm)])+happyOut36 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut36 #-}+happyIn37 :: ([Id]) -> (HappyAbsSyn t72)+happyIn37 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn37 #-}+happyOut37 :: (HappyAbsSyn t72) -> ([Id])+happyOut37 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut37 #-}+happyIn38 :: ([(Id, Int)]) -> (HappyAbsSyn t72)+happyIn38 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn38 #-}+happyOut38 :: (HappyAbsSyn t72) -> ([(Id, Int)])+happyOut38 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut38 #-}+happyIn39 :: ([Id]) -> (HappyAbsSyn t72)+happyIn39 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn39 #-}+happyOut39 :: (HappyAbsSyn t72) -> ([Id])+happyOut39 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut39 #-}+happyIn40 :: ([Id]) -> (HappyAbsSyn t72)+happyIn40 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn40 #-}+happyOut40 :: (HappyAbsSyn t72) -> ([Id])+happyOut40 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut40 #-}+happyIn41 :: ([(Id, RawTerm, RawTerm)]) -> (HappyAbsSyn t72)+happyIn41 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn41 #-}+happyOut41 :: (HappyAbsSyn t72) -> ([(Id, RawTerm, RawTerm)])+happyOut41 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut41 #-}+happyIn42 :: ((Id, RawTerm)) -> (HappyAbsSyn t72)+happyIn42 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn42 #-}+happyOut42 :: (HappyAbsSyn t72) -> ((Id, RawTerm))+happyOut42 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut42 #-}+happyIn43 :: (RawTerm) -> (HappyAbsSyn t72)+happyIn43 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn43 #-}+happyOut43 :: (HappyAbsSyn t72) -> (RawTerm)+happyOut43 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut43 #-}+happyIn44 :: (RawTerm) -> (HappyAbsSyn t72)+happyIn44 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn44 #-}+happyOut44 :: (HappyAbsSyn t72) -> (RawTerm)+happyOut44 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut44 #-}+happyIn45 :: (RawTerm) -> (HappyAbsSyn t72)+happyIn45 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn45 #-}+happyOut45 :: (HappyAbsSyn t72) -> (RawTerm)+happyOut45 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut45 #-}+happyIn46 :: (String) -> (HappyAbsSyn t72)+happyIn46 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn46 #-}+happyOut46 :: (HappyAbsSyn t72) -> (String)+happyOut46 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut46 #-}+happyIn47 :: (RawTerm) -> (HappyAbsSyn t72)+happyIn47 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn47 #-}+happyOut47 :: (HappyAbsSyn t72) -> (RawTerm)+happyOut47 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut47 #-}+happyIn48 :: (RawTerm) -> (HappyAbsSyn t72)+happyIn48 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn48 #-}+happyOut48 :: (HappyAbsSyn t72) -> (RawTerm)+happyOut48 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut48 #-}+happyIn49 :: (RawTerm) -> (HappyAbsSyn t72)+happyIn49 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn49 #-}+happyOut49 :: (HappyAbsSyn t72) -> (RawTerm)+happyOut49 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut49 #-}+happyIn50 :: (RawTerm) -> (HappyAbsSyn t72)+happyIn50 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn50 #-}+happyOut50 :: (HappyAbsSyn t72) -> (RawTerm)+happyOut50 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut50 #-}+happyIn51 :: (ArgOpt) -> (HappyAbsSyn t72)+happyIn51 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn51 #-}+happyOut51 :: (HappyAbsSyn t72) -> (ArgOpt)+happyOut51 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut51 #-}+happyIn52 :: ([ArgOpt]) -> (HappyAbsSyn t72)+happyIn52 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn52 #-}+happyOut52 :: (HappyAbsSyn t72) -> ([ArgOpt])+happyOut52 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut52 #-}+happyIn53 :: ([ArgOpt]) -> (HappyAbsSyn t72)+happyIn53 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn53 #-}+happyOut53 :: (HappyAbsSyn t72) -> ([ArgOpt])+happyOut53 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut53 #-}+happyIn54 :: (RawTerm) -> (HappyAbsSyn t72)+happyIn54 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn54 #-}+happyOut54 :: (HappyAbsSyn t72) -> (RawTerm)+happyOut54 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut54 #-}+happyIn55 :: ([RawTerm]) -> (HappyAbsSyn t72)+happyIn55 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn55 #-}+happyOut55 :: (HappyAbsSyn t72) -> ([RawTerm])+happyOut55 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut55 #-}+happyIn56 :: (RawTerm) -> (HappyAbsSyn t72)+happyIn56 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn56 #-}+happyOut56 :: (HappyAbsSyn t72) -> (RawTerm)+happyOut56 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut56 #-}+happyIn57 :: (RawTerm) -> (HappyAbsSyn t72)+happyIn57 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn57 #-}+happyOut57 :: (HappyAbsSyn t72) -> (RawTerm)+happyOut57 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut57 #-}+happyIn58 :: ([RawTerm]) -> (HappyAbsSyn t72)+happyIn58 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn58 #-}+happyOut58 :: (HappyAbsSyn t72) -> ([RawTerm])+happyOut58 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut58 #-}+happyIn59 :: ([Do]) -> (HappyAbsSyn t72)+happyIn59 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn59 #-}+happyOut59 :: (HappyAbsSyn t72) -> ([Do])+happyOut59 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut59 #-}+happyIn60 :: ([Do]) -> (HappyAbsSyn t72)+happyIn60 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn60 #-}+happyOut60 :: (HappyAbsSyn t72) -> ([Do])+happyOut60 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut60 #-}+happyIn61 :: (Do) -> (HappyAbsSyn t72)+happyIn61 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn61 #-}+happyOut61 :: (HappyAbsSyn t72) -> (Do)+happyOut61 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut61 #-}+happyIn62 :: (Constant) -> (HappyAbsSyn t72)+happyIn62 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn62 #-}+happyOut62 :: (HappyAbsSyn t72) -> (Constant)+happyOut62 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut62 #-}+happyIn63 :: ([RawTerm]) -> (HappyAbsSyn t72)+happyIn63 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn63 #-}+happyOut63 :: (HappyAbsSyn t72) -> ([RawTerm])+happyOut63 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut63 #-}+happyIn64 :: ((RawTerm, [(Id, RawTerm)])) -> (HappyAbsSyn t72)+happyIn64 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn64 #-}+happyOut64 :: (HappyAbsSyn t72) -> ((RawTerm, [(Id, RawTerm)]))+happyOut64 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut64 #-}+happyIn65 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t72)+happyIn65 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn65 #-}+happyOut65 :: (HappyAbsSyn t72) -> ([(Id, RawTerm)])+happyOut65 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut65 #-}+happyIn66 :: ((Id,Id)) -> (HappyAbsSyn t72)+happyIn66 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn66 #-}+happyOut66 :: (HappyAbsSyn t72) -> ((Id,Id))+happyOut66 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut66 #-}+happyIn67 :: ((Id,Id)) -> (HappyAbsSyn t72)+happyIn67 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn67 #-}+happyOut67 :: (HappyAbsSyn t72) -> ((Id,Id))+happyOut67 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut67 #-}+happyIn68 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t72)+happyIn68 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn68 #-}+happyOut68 :: (HappyAbsSyn t72) -> ([(Id, RawTerm)])+happyOut68 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut68 #-}+happyIn69 :: (Id) -> (HappyAbsSyn t72)+happyIn69 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn69 #-}+happyOut69 :: (HappyAbsSyn t72) -> (Id)+happyOut69 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut69 #-}+happyIn70 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t72)+happyIn70 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn70 #-}+happyOut70 :: (HappyAbsSyn t72) -> ([(Id, RawTerm)])+happyOut70 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut70 #-}+happyIn71 :: ([Id]) -> (HappyAbsSyn t72)+happyIn71 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn71 #-}+happyOut71 :: (HappyAbsSyn t72) -> ([Id])+happyOut71 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut71 #-}+happyIn72 :: t72 -> (HappyAbsSyn t72)+happyIn72 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn72 #-}+happyOut72 :: (HappyAbsSyn t72) -> t72+happyOut72 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut72 #-}+happyIn73 :: ([ConParse]) -> (HappyAbsSyn t72)+happyIn73 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn73 #-}+happyOut73 :: (HappyAbsSyn t72) -> ([ConParse])+happyOut73 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut73 #-}+happyIn74 :: (ConParse) -> (HappyAbsSyn t72)+happyIn74 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn74 #-}+happyOut74 :: (HappyAbsSyn t72) -> (ConParse)+happyOut74 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut74 #-}+happyIn75 :: (RawTerm) -> (HappyAbsSyn t72)+happyIn75 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn75 #-}+happyOut75 :: (HappyAbsSyn t72) -> (RawTerm)+happyOut75 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut75 #-}+happyIn76 :: (ITactic) -> (HappyAbsSyn t72)+happyIn76 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn76 #-}+happyOut76 :: (HappyAbsSyn t72) -> (ITactic)+happyOut76 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut76 #-}+happyIn77 :: ([ITactic]) -> (HappyAbsSyn t72)+happyIn77 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn77 #-}+happyOut77 :: (HappyAbsSyn t72) -> ([ITactic])+happyOut77 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut77 #-}+happyIn78 :: ([ITactic]) -> (HappyAbsSyn t72)+happyIn78 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn78 #-}+happyOut78 :: (HappyAbsSyn t72) -> ([ITactic])+happyOut78 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut78 #-}+happyIn79 :: (LineNumber) -> (HappyAbsSyn t72)+happyIn79 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn79 #-}+happyOut79 :: (HappyAbsSyn t72) -> (LineNumber)+happyOut79 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut79 #-}+happyIn80 :: (String) -> (HappyAbsSyn t72)+happyIn80 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn80 #-}+happyOut80 :: (HappyAbsSyn t72) -> (String)+happyOut80 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut80 #-}+happyIn81 :: (Fixities) -> (HappyAbsSyn t72)+happyIn81 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn81 #-}+happyOut81 :: (HappyAbsSyn t72) -> (Fixities)+happyOut81 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut81 #-}+happyInTok :: (Token) -> (HappyAbsSyn t72)+happyInTok x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyInTok #-}+happyOutTok :: (HappyAbsSyn t72) -> (Token)+happyOutTok x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOutTok #-}+++happyActOffsets :: HappyAddr+happyActOffsets = HappyA# "\x1b\x00\x6d\x05\x76\x08\x00\x00\x20\x04\x6d\x05\x1f\x01\x1f\x01\x6d\x05\x00\x00\x69\x03\x13\x03\x00\x00\x1f\x01\x00\x00\x6d\x05\x6d\x05\x00\x00\x6d\x05\x6d\x05\x6d\x05\x6d\x05\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6f\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x01\x61\x09\x67\x02\x6d\x05\x6d\x05\x38\x08\x6d\x05\x00\x00\x1f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x05\x00\x00\x00\x00\x00\x00\x5b\x00\x00\x00\x6d\x05\xae\x00\x1a\x04\x01\x00\x00\x00\x00\x00\x01\x00\x89\x04\x00\x00\x7b\x04\x00\x00\x2c\x02\x73\x04\x72\x04\x70\x04\x6e\x04\x6c\x04\x9b\x09\xd1\x01\x68\x04\x00\x00\x00\x00\x00\x00\x67\x04\x66\x04\x58\x04\xae\x00\xae\x00\x71\x04\x2e\x04\x55\x04\x65\x04\x6d\x05\x5b\x04\x56\x04\x00\x00\x00\x00\x29\x02\x00\x00\xae\x00\x50\x04\x53\x04\xae\x00\x00\x00\xae\x00\xae\x00\xae\x00\xae\x00\x32\x02\x4c\x04\x00\x00\x00\x00\x00\x00\x00\x00\x82\x00\x00\x00\xfe\xff\x00\x00\x00\x00\xbd\x02\x00\x00\x00\x00\x00\x00\xd1\x00\xd1\x00\xd1\x00\xd1\x00\xd1\x00\x00\x00\xfd\x07\x51\x04\x02\x00\x27\x09\x43\x04\x2a\x00\x9b\x09\xd1\x01\x00\x00\x00\x00\x4a\x04\xff\x03\xe6\x01\x00\x00\x49\x04\x17\x05\x00\x00\x00\x00\x4f\x04\x00\x00\x4f\x04\x00\x00\xe1\x02\x78\x0a\x76\x01\x86\x03\xc1\x04\x3f\x04\xc1\x04\xc1\x04\x3e\x04\x33\x04\xc1\x04\xc1\x04\xcf\x01\x6c\x00\x00\x00\xc1\x04\xed\x08\xae\x00\x38\x04\x16\x04\x00\x00\x38\x08\x29\x04\x00\x00\xc1\x04\x1b\x04\xc1\x04\xc1\x04\xc1\x04\xc1\x04\xc1\x04\x00\x00\xa7\x01\x97\x01\x89\x01\x7a\x01\x67\x01\x58\x01\x00\x00\x4a\x01\xc1\x04\x36\x01\xc1\x04\x28\x01\x00\x00\x13\x04\x00\x00\xf8\x00\xae\x00\xc3\x00\x03\x00\x00\x00\x35\x04\x35\x04\x35\x04\x35\x04\x35\x04\x00\x00\xc1\x04\x35\x04\x38\x08\x00\x00\x00\x00\x00\x00\xc1\x04\x0b\x04\x61\x09\x1c\x04\x1e\x04\x08\x04\x17\x01\x19\x04\xc2\x00\x17\x04\x92\x08\x61\x09\x00\x00\x61\x09\x0f\x04\x00\x00\x36\x05\x00\x00\x36\x05\x00\x00\x36\x05\x00\x00\x36\x05\x00\x00\xc1\x04\x00\x00\xc1\x04\xc1\x04\xc1\x04\xc1\x04\xc1\x04\x14\x04\x00\x00\x00\x00\xc1\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x22\x00\x36\x05\x0c\x04\x6b\x04\xae\x00\xfb\x03\x00\x00\x15\x04\x15\x04\xf7\x03\x07\x04\xfa\x03\x00\x04\x15\x04\x15\x04\x15\x04\xae\x03\x76\x08\xf9\x03\xf3\xff\x0d\x00\xea\x03\xfd\x07\x15\x04\x00\x00\x00\x00\xf5\x03\xf4\x03\xf1\x03\xee\x03\xec\x03\x00\x00\x00\x00\x32\x03\xed\x03\x00\x00\x00\x00\x15\x04\x15\x04\x15\x04\x00\x00\xe6\x03\xd7\x03\x00\x00\x00\x00\x1d\x03\xf0\x03\xde\x03\xd3\x03\xdd\x03\xae\x00\xcc\x03\x01\x00\xae\x00\xd0\x03\xc9\x03\x00\x00\x15\x04\xe0\x04\xd6\x03\xdc\x03\x00\x00\xbc\x03\x00\x00\x15\x04\x00\x00\x00\x00\xae\x00\x00\x00\x27\x09\x00\x00\xae\x00\xae\x00\xbb\x03\x27\x09\x00\x00\x00\x00\x32\x02\x00\x00\x8a\x04\x34\x04\x07\x05\x00\x00\x00\x00\x00\x00\x00\x00\x15\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x09\x00\x00\xae\x00\x00\x00\x00\x00\x20\x02\x20\x02\xd5\x03\x00\x00\x00\x00\x00\x00\xc8\x03\xc3\x03\x61\x09\xc7\x03\xbd\x03\x00\x00\x88\x03\xc9\x01\x59\x03\x00\x00\xd1\x01\x00\x00\x15\x04\xa6\x00\x5d\x00\x15\x04\xc2\x03\x00\x00\x00\x00\x00\x00\xa3\x03\x98\x08\x00\x00\x73\x08\xe3\x03\x00\x00\x61\x09\x00\x00\x30\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xba\x03\x00\x00\xb9\x03\x00\x00\x38\x08\x00\x00\x9b\x03\x00\x00\x00\x00\x00\x00\x00\x00\x61\x09\x61\x09\xa8\x03\x27\x09\xae\x00\x93\x03\x27\x09\x0d\x00\xae\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x08\x73\x08\x73\x08\x73\x08\x73\x08\x73\x08\x00\x00\x00\x00\x00\x00\x00\x00\x61\x09\x00\x00\xb9\x00\x8d\x03\x10\x02\xd8\x00\x00\x00\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc2\x07\x00\x00\x87\x07\x00\x00\x4c\x07\x00\x00\x11\x07\xa9\x03\xa2\x03\xa1\x03\xa0\x03\x9f\x03\x0a\x00\x00\x00\x00\x00\x15\x04\xd6\x06\x8e\x03\x36\x05\x15\x04\x66\x00\x00\x00\xd5\x01\x9c\x03\x92\x03\x00\x00\x76\x08\x0d\x00\x6b\x03\xae\x00\x00\x00\x8f\x03\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x06\x00\x00\xd5\x01\x00\x00\x84\x03\x00\x00\x00\x00\x00\x00\xf8\xff\x00\x00\x60\x06\x8b\x03\x89\x03\x00\x00\x00\x00\x6e\x03\x81\x03\x03\x03\xae\x00\x6a\x03\x00\x00\x00\x00\xae\x00\x7e\x03\x00\x00\x00\x00\xae\x00\x00\x00\xae\x00\x00\x00\x38\x08\x00\x00\x00\x00\x27\x09\x00\x00\x45\x03\x00\x00\x00\x00\x00\x00\xae\x00\xd5\x01\x79\x03\x00\x00\x00\x00\x00\x00\x7a\x03\x00\x00\x7d\x01\x72\x03\x27\x09\x00\x00\xae\x00\x00\x00\x6f\x03\xae\x00\x7b\x03\x00\x00\x15\x04\x00\x00\x36\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x57\x03\x65\x03\x00\x00\x00\x00\x61\x09\x47\x03\x47\x03\x00\x00\x10\x02\x63\x03\x00\x00\x00\x00\x00\x00\x66\x00\x25\x06\x00\x00\x00\x00\x00\x00\x00\x00\x5e\x03\x00\x00\x00\x00\x40\x03\xae\x00\x00\x00\x00\x00\x00\x00\x50\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xae\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbf\x03\x00\x00\xea\x05\x00\x00\x00\x00\x00\x00\x00\x00\xaf\x05\x51\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#++happyGotoOffsets :: HappyAddr+happyGotoOffsets = HappyA# "\x65\x0a\x97\x0d\x17\x03\x00\x00\x00\x00\x83\x0d\x97\x00\x41\x03\x7c\x0d\x00\x00\x68\x0d\x61\x0d\x00\x00\x38\x03\x00\x00\x4d\x0d\x46\x0d\x00\x00\x32\x0d\x2b\x0d\x17\x0d\x10\x0d\x00\x00\x00\x00\x00\x00\x06\x03\x77\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd3\x00\x52\x09\x83\x0a\xfc\x0c\xf5\x0c\xc6\x0d\xe1\x0c\x00\x00\x29\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xda\x0c\x00\x00\xf6\x02\xf5\x02\x00\x00\xf4\x02\xc6\x0c\x8c\x01\x00\x00\x4b\x0a\x00\x00\x00\x00\x31\x0a\x00\x00\x00\x00\x36\x03\x00\x00\x0a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x28\x03\x24\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x03\x1e\x03\x00\x00\x00\x00\x00\x00\x00\x00\xbf\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x77\x01\xe2\x02\xaa\x01\x00\x00\x00\x00\x10\x01\x00\x00\x04\x00\x16\x03\xfa\xff\x0b\x03\x43\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1a\x03\xd3\x02\x72\x01\x00\x00\xcb\x02\x97\x0a\x00\x00\xc6\x02\xc0\x02\x17\x0a\xfd\x09\xe3\x09\xc9\x09\x79\x09\x00\x00\x1e\x06\x00\x00\x00\x00\xbb\x0d\x00\x00\xfd\x02\xfd\xff\x18\x02\x00\x00\x00\x00\xd6\x02\x00\x00\x6e\x01\xb8\x02\xd4\x02\xd3\x0a\xb3\x02\xb2\x02\x6c\x01\xaf\x02\x6b\x01\x00\x00\x69\x01\x69\x01\x15\x01\x78\x00\xab\x0c\x00\x00\xa4\x0c\x90\x0c\x00\x00\x00\x00\xba\x04\x64\x04\x5d\x01\x00\x00\x00\x00\x89\x0c\x7a\x02\x0b\x02\xcf\x02\x00\x00\xae\x02\xab\x0d\x00\x00\xa4\x02\x75\x0c\xa2\x02\x6e\x0c\x5a\x0c\x53\x0c\x3f\x0c\x38\x0c\x9e\x02\x5a\x01\x5a\x01\x5a\x01\x5a\x01\x5a\x01\x5a\x01\x00\x00\x5a\x01\x24\x0c\x5a\x01\x1d\x0c\x5a\x01\x00\x00\x00\x00\x00\x00\x5a\x01\x85\x00\x5a\x01\x5a\x01\x00\x00\x55\x01\x47\x01\x3e\x01\x3d\x01\x2c\x01\x98\x02\x09\x0c\x2a\x01\x9e\x0d\x94\x02\x8f\x02\x00\x00\x02\x0c\x00\x00\x2b\x08\x00\x00\x00\x00\x00\x00\x38\x00\x00\x00\x00\x00\x00\x00\x25\x01\xef\x07\x00\x00\xb4\x07\x00\x00\x8e\x02\x12\x01\x8d\x02\x08\x01\x8b\x02\xe6\x00\x88\x02\xe4\x00\x86\x02\x0e\x04\x00\x00\xb8\x03\xee\x0b\xe7\x0b\xb6\x02\xe0\x01\x00\x00\x00\x00\x84\x02\xd3\x0b\x81\x02\x80\x02\x7f\x02\x00\x00\x00\x00\x28\x00\xe3\x00\x00\x00\xbf\x0a\x3b\x01\x00\x00\x00\x00\xcc\x0b\xb8\x0b\x00\x00\x00\x00\x00\x00\xc1\x02\xb1\x0b\x9d\x0b\x96\x0b\x00\x00\xbc\x01\x90\x02\x01\x02\x00\x00\x00\x00\xe3\x05\x82\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x02\x6f\x02\xde\x00\x00\x00\x6b\x02\x68\x02\x7b\x0b\x67\x0b\x60\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x05\x09\x97\x02\x00\x00\x00\x00\x66\x02\x4c\x0b\xde\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x45\x0b\x00\x00\x00\x00\x8c\x02\x00\x00\x8e\x09\x64\x02\xf2\xff\x8c\x00\x00\x00\x29\x08\x63\x02\x62\x02\xaf\x01\x00\x00\xde\x00\xde\x00\xde\x00\x00\x00\x00\x00\x5f\x02\x00\x00\xe7\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xde\x00\x5e\x02\x80\x00\x5d\x02\x00\x00\xce\x01\x5b\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x07\x00\x00\x00\x00\x00\x00\xde\x00\xa3\x00\xde\x00\x00\x00\xcb\x00\x00\x00\x31\x0b\xde\x00\xde\x00\x2a\x0b\x3e\x02\x00\x00\x00\x00\x5b\x02\x00\x00\xf6\x07\x00\x00\xf6\x07\xde\x00\x5a\x02\x3f\x07\x59\x02\xde\x00\x00\x00\x58\x02\x4d\x02\x45\x02\x42\x02\x3d\x02\x3c\x02\x3a\x02\x00\x00\x35\x02\x00\x00\x21\x02\xbb\x07\x2a\x02\x00\x00\x27\x02\x00\x00\xff\x01\x00\x00\x04\x07\x1e\x02\x92\x01\x78\x07\x00\x02\x00\x00\x3d\x07\x00\x00\x16\x00\xde\x00\x1d\x02\x0c\x02\x00\x00\x0a\x02\xde\x00\x00\x00\x04\x02\xfc\x01\xf5\x01\xe5\x01\xda\x01\x00\x00\xcf\x06\xcf\x06\xcf\x06\xcf\x06\xcf\x06\xcf\x06\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x06\x00\x00\x00\x00\x00\x00\xcb\x01\x00\x00\x00\x00\xd0\x01\xb6\x01\xb3\x01\xa8\x01\x00\x00\xcf\x06\x00\x00\xcf\x06\x00\x00\xcf\x06\x00\x00\xcf\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x49\x01\x16\x0b\xcf\x06\x00\x00\xdd\x00\x0f\x0b\xcf\x00\x00\x00\x40\x02\x00\x00\x00\x00\x00\x00\xef\x00\x00\x00\x00\x00\xeb\x00\x00\x00\x00\x00\x00\x00\xa4\x01\x00\x00\xa1\x01\x66\x05\x9e\x01\x0e\x02\x00\x00\x00\x00\x00\x00\x9b\x01\x86\x01\x38\x01\x24\x01\x99\x05\x00\x00\x00\x00\x00\x00\x68\x01\x00\x00\x00\x00\xcf\x00\x85\x01\x00\x00\x00\x00\x00\x00\x4f\x01\x00\x00\x00\x00\x00\x00\xf9\xff\x00\x00\x0b\x00\x00\x00\x18\x09\x00\x00\x00\x00\x02\x07\x64\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x01\xc5\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x06\x00\x00\x34\x00\xea\x00\x00\x00\xf7\xff\xca\x00\x2e\x01\xfb\x0a\x00\x00\xbf\x00\x0e\x01\x77\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfa\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x06\x00\x00\x00\x00\x00\x00\x90\x01\x00\x00\xbc\x00\x00\x00\x9f\x00\xad\x00\x59\x06\x73\x00\x00\x00\x37\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd2\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x21\x00\x00\x00\x3c\x00\x59\x06\xab\x0a\xe5\xff\x59\x06\x00\x00\x00\x00\x00\x00\x00\x00\x59\x06\x00\x00\x00\x00\xd0\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#++happyDefActions :: HappyAddr+happyDefActions = HappyA# "\x2c\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\xff\x00\x00\x00\x00\x15\xff\x00\x00\x00\x00\x10\xff\x00\x00\x0e\xff\x00\x00\x00\x00\x0b\xff\x00\x00\x00\x00\x00\x00\x00\x00\x06\xff\x05\xff\x04\xff\xff\xfe\xff\xfe\x9e\xff\x83\xff\x4b\xff\x4c\xff\xa5\xff\x4a\xff\x4f\xff\xff\xfe\xae\xff\x34\xff\x36\xff\x32\xff\x35\xff\x33\xff\x56\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\xff\x00\x00\x3c\xff\x3b\xff\x3a\xff\x3d\xff\x38\xff\x39\xff\x37\xff\x3e\xff\x00\x00\x53\xff\xff\xfe\xff\xfe\x00\x00\xff\xfe\x00\x00\x00\x00\x00\x00\x2c\xff\xef\xff\xf8\xff\x2c\xff\x00\x00\xf6\xff\xdb\xff\xf7\xff\xbc\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb4\xff\xc1\xff\xc3\xff\xc2\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xec\xff\xed\xff\xff\xfe\xff\xfe\x00\x00\x00\x00\x00\x00\x8f\xff\x27\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc7\xff\xc6\xff\xc5\xff\xc4\xff\x00\x00\xff\xfe\xff\xfe\xd9\xff\xff\xfe\x00\x00\xa8\xff\xff\xfe\xff\xfe\x2c\xff\x2c\xff\x2c\xff\x2c\xff\x2c\xff\xbd\xff\xbc\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfa\xff\xfb\xff\x73\xff\x00\x00\xff\xfe\x00\xff\x73\xff\x00\x00\x00\xff\x00\xff\xff\xfe\xff\xfe\xff\xfe\x57\xff\xff\xfe\xff\xfe\xff\xfe\xff\xfe\x00\x00\x00\x00\xc7\xff\xc6\xff\x75\xff\x74\xff\xff\xfe\xff\xfe\xff\xfe\x00\x00\x64\xff\x00\x00\x00\x00\x00\x00\x73\xff\x00\x00\x00\xff\x00\x00\x00\x00\x00\xff\x00\x00\xff\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xfe\xff\xfe\xff\xfe\xff\xfe\xff\xfe\xff\xfe\x0f\xff\xff\xfe\x00\x00\xff\xfe\x00\x00\xff\xfe\x18\xff\x97\xff\x1a\xff\xff\xfe\x00\x00\xff\xfe\xff\xfe\x5a\xff\xff\xfe\xff\xfe\xff\xfe\xff\xfe\xff\xfe\x00\xff\x00\x00\xff\xfe\x00\x00\xff\xfe\xff\xfe\x54\xff\x00\x00\x9c\xff\x00\x00\x00\x00\x00\x00\x99\xff\xff\xfe\x00\x00\x00\x00\x00\x00\xff\xfe\x00\x00\xa4\xff\x00\x00\x00\x00\x00\xff\xff\xfe\x00\xff\xff\xfe\x00\xff\xff\xfe\xff\xfe\xff\xfe\xff\xfe\xff\xfe\x58\xff\xff\xfe\x75\xff\x74\xff\xff\xfe\xff\xfe\x00\x00\x4e\xff\xff\xfe\x00\x00\x00\xff\x00\xff\x00\xff\x52\xff\x51\xff\xff\xfe\xff\xfe\x00\x00\x42\xff\x00\x00\x00\x00\x59\xff\x00\x00\x00\x00\x00\x00\x00\x00\xc9\xff\xdb\xff\x00\x00\x00\x00\x00\x00\xde\xff\x00\x00\x71\xff\xd2\xff\x6e\xff\x91\xff\xbc\xff\x00\x00\xe9\xff\xbb\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\x00\xff\xff\xfe\x00\x00\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\xad\xff\x00\x00\xb2\xff\xb0\xff\xaf\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8f\xff\x00\x00\x2c\xff\x00\x00\x00\x00\x00\x00\x00\xff\x00\x00\xff\xfe\x00\x00\x00\x00\xc0\xff\x00\x00\xf9\xff\x00\x00\x8e\xff\x28\xff\x00\x00\x2b\xff\x00\x00\xff\xfe\x24\xff\x20\xff\x00\x00\x00\x00\xff\xfe\xff\xfe\x00\x00\xb3\xff\xff\xfe\xff\xfe\xff\xfe\xaa\xff\xa9\xff\xff\xfe\xd8\xff\x00\x00\xa7\xff\xa6\xff\xf0\xff\xf1\xff\xf2\xff\xf3\xff\xf4\xff\xff\xfe\xff\xfe\x00\x00\xff\xfe\xd4\xff\xd2\xff\xd2\xff\x00\x00\xcc\xff\xd0\xff\xcf\xff\xcd\xff\x00\x00\x00\x00\x00\x00\x00\x00\xdd\xff\xff\xfe\xff\xfe\xff\xfe\xdc\xff\x00\x00\xca\xff\x00\x00\xff\xfe\xff\xfe\x00\x00\x73\xff\x43\xff\x45\xff\x00\xff\x00\x00\xa1\xff\x55\xff\x89\xff\xff\xfe\x00\xff\x00\x00\x00\xff\xff\xfe\x46\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\xff\xfe\x6d\xff\xff\xfe\x67\xff\xff\xfe\x6a\xff\x00\x00\x00\x00\x60\xff\x00\x00\x00\x00\x00\x00\x00\x00\x72\xff\x00\x00\xff\xfe\x00\xff\x00\xff\xa3\xff\x00\xff\xff\xfe\x8b\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x96\xff\x84\xff\x87\xff\x85\xff\x86\xff\x88\xff\x81\xff\xa2\xff\x82\xff\x9b\xff\x98\xff\x00\x00\x9a\xff\x72\xff\x00\x00\x00\x00\x5c\xff\x5b\xff\xff\xfe\x00\xff\x00\xff\x00\xff\xac\xff\x00\x00\x79\xff\x00\x00\x78\xff\x00\x00\x4d\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\xff\xff\xfe\x00\x00\x00\x00\x00\x00\xff\xfe\x00\x00\xff\xfe\xc8\xff\x00\x00\x00\x00\x00\x00\x03\xff\x02\xff\x70\xff\x00\x00\x00\x00\xcb\xff\x00\x00\xd1\xff\x00\xff\x90\xff\x00\xff\xbc\xff\x00\xff\x00\x00\xe5\xff\x00\x00\xb1\xff\x00\xff\x00\xff\x2c\xff\xff\xfe\x31\xff\x00\x00\x1f\xff\x23\xff\x00\xff\x26\xff\x00\x00\xff\xfe\x00\x00\xbf\xff\xf5\xff\xeb\xff\x00\x00\x00\x00\xee\xff\x29\xff\x00\x00\xb8\xff\x20\xff\xb7\xff\x31\xff\x1c\xff\x1d\xff\x00\x00\x00\xff\x00\x00\xb6\xff\xb5\xff\x2e\xff\x00\x00\xd5\xff\x00\x00\xd7\xff\xb9\xff\xba\xff\x00\x00\xd3\xff\x94\xff\x00\x00\x00\x00\x01\xff\x00\x00\xff\xfe\x00\x00\x00\x00\xff\xfe\x00\xff\x00\x00\x3f\xff\xff\xfe\x00\xff\xff\xfe\x7b\xff\x77\xff\x7c\xff\x7f\xff\x7d\xff\x7e\xff\x80\xff\x76\xff\x7a\xff\xab\xff\x66\xff\x65\xff\x00\xff\x5e\xff\x00\x00\x63\xff\x62\xff\x00\x00\x6b\xff\x6c\xff\x61\xff\x00\x00\x00\x00\x00\xff\x49\xff\x00\xff\xff\xfe\x00\x00\x00\xff\x8c\xff\xff\xfe\x00\xff\x00\x00\x6f\xff\xce\xff\x95\xff\x00\x00\xea\xff\xe3\xff\xd6\xff\x00\x00\x2f\xff\x2d\xff\x1b\xff\x30\xff\x1e\xff\x25\xff\x2a\xff\xbe\xff\xe4\xff\x93\xff\x00\x00\xff\xfe\xe6\xff\x00\xff\x9d\xff\x00\x00\x00\xff\x00\x00\x5d\xff\x69\xff\x5f\xff\x41\xff\x00\x00\x00\x00\xe8\xff\x00\xff\x92\xff\xe7\xff\x44\xff\x40\xff"#++happyCheck :: HappyAddr+happyCheck = HappyA# "\xff\xff\x03\x00\x01\x00\x0b\x00\x07\x00\x02\x00\x03\x00\x14\x00\x02\x00\x03\x00\x0c\x00\x19\x00\x02\x00\x0c\x00\x0b\x00\x02\x00\x19\x00\x10\x00\x19\x00\x19\x00\x13\x00\x13\x00\x19\x00\x1a\x00\x19\x00\x49\x00\x23\x00\x11\x00\x01\x00\x19\x00\x20\x00\x21\x00\x1d\x00\x22\x00\x20\x00\x1d\x00\x19\x00\x22\x00\x23\x00\x0c\x00\x22\x00\x23\x00\x27\x00\x10\x00\x0a\x00\x27\x00\x49\x00\x19\x00\x33\x00\x2e\x00\x1c\x00\x41\x00\x2e\x00\x38\x00\x07\x00\x3f\x00\x2e\x00\x40\x00\x40\x00\x2e\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x40\x00\x52\x00\x53\x00\x49\x00\x19\x00\x1a\x00\x20\x00\x21\x00\x4b\x00\x19\x00\x43\x00\x44\x00\x15\x00\x29\x00\x51\x00\x31\x00\x19\x00\x54\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x03\x00\x02\x00\x03\x00\x29\x00\x33\x00\x70\x00\x71\x00\x72\x00\x4b\x00\x38\x00\x02\x00\x03\x00\x19\x00\x4a\x00\x51\x00\x12\x00\x02\x00\x54\x00\x6f\x00\x20\x00\x4a\x00\x49\x00\x73\x00\x3a\x00\x75\x00\x76\x00\x77\x00\x78\x00\x1d\x00\x78\x00\x41\x00\x11\x00\x78\x00\x22\x00\x23\x00\x4a\x00\x4a\x00\x1d\x00\x27\x00\x49\x00\x02\x00\x03\x00\x22\x00\x23\x00\x6f\x00\x2e\x00\x26\x00\x27\x00\x73\x00\x0b\x00\x75\x00\x76\x00\x77\x00\x78\x00\x2e\x00\x11\x00\x12\x00\x13\x00\x14\x00\x19\x00\x2e\x00\x17\x00\x24\x00\x19\x00\x19\x00\x1f\x00\x28\x00\x1d\x00\x20\x00\x21\x00\x1f\x00\x19\x00\x22\x00\x23\x00\x02\x00\x03\x00\x26\x00\x27\x00\x09\x00\x0a\x00\x0b\x00\x01\x00\x19\x00\x0b\x00\x2e\x00\x2f\x00\x49\x00\x58\x00\x1f\x00\x11\x00\x12\x00\x13\x00\x14\x00\x02\x00\x49\x00\x17\x00\x10\x00\x19\x00\x5a\x00\x4a\x00\x4a\x00\x1d\x00\x02\x00\x02\x00\x03\x00\x24\x00\x22\x00\x23\x00\x11\x00\x49\x00\x26\x00\x27\x00\x0b\x00\x43\x00\x44\x00\x24\x00\x01\x00\x11\x00\x2e\x00\x2f\x00\x52\x00\x53\x00\x0d\x00\x0e\x00\x02\x00\x57\x00\x58\x00\x0c\x00\x5a\x00\x26\x00\x1d\x00\x10\x00\x20\x00\x24\x00\x13\x00\x22\x00\x23\x00\x2e\x00\x49\x00\x27\x00\x27\x00\x19\x00\x19\x00\x4a\x00\x24\x00\x1c\x00\x2e\x00\x2e\x00\x20\x00\x24\x00\x70\x00\x71\x00\x72\x00\x4a\x00\x52\x00\x53\x00\x02\x00\x03\x00\x78\x00\x57\x00\x58\x00\x27\x00\x5a\x00\x24\x00\x24\x00\x0b\x00\x19\x00\x49\x00\x2e\x00\x24\x00\x24\x00\x4a\x00\x24\x00\x20\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x4a\x00\x1d\x00\x70\x00\x71\x00\x72\x00\x4a\x00\x22\x00\x23\x00\x4b\x00\x13\x00\x78\x00\x27\x00\x01\x00\x0a\x00\x51\x00\x19\x00\x0d\x00\x54\x00\x2e\x00\x4a\x00\x4a\x00\x19\x00\x02\x00\x03\x00\x24\x00\x4a\x00\x4a\x00\x10\x00\x4a\x00\x27\x00\x22\x00\x0b\x00\x4a\x00\x46\x00\x24\x00\x48\x00\x02\x00\x03\x00\x30\x00\x78\x00\x32\x00\x33\x00\x29\x00\x35\x00\x6f\x00\x0b\x00\x38\x00\x49\x00\x73\x00\x1d\x00\x75\x00\x76\x00\x77\x00\x24\x00\x22\x00\x23\x00\x02\x00\x03\x00\x24\x00\x27\x00\x24\x00\x47\x00\x4a\x00\x1d\x00\x19\x00\x0b\x00\x2e\x00\x49\x00\x22\x00\x23\x00\x02\x00\x03\x00\x4a\x00\x27\x00\x23\x00\x4a\x00\x11\x00\x24\x00\x24\x00\x0b\x00\x2e\x00\x0a\x00\x0b\x00\x1d\x00\x19\x00\x02\x00\x03\x00\x24\x00\x22\x00\x23\x00\x4a\x00\x4a\x00\x78\x00\x27\x00\x0b\x00\x3b\x00\x4a\x00\x1d\x00\x4a\x00\x49\x00\x2e\x00\x24\x00\x22\x00\x23\x00\x02\x00\x03\x00\x24\x00\x27\x00\x0a\x00\x24\x00\x05\x00\x0d\x00\x1d\x00\x0b\x00\x2e\x00\x4a\x00\x4a\x00\x22\x00\x23\x00\x02\x00\x03\x00\x24\x00\x27\x00\x24\x00\x24\x00\x4a\x00\x24\x00\x4a\x00\x0b\x00\x2e\x00\x24\x00\x1d\x00\x19\x00\x02\x00\x03\x00\x24\x00\x22\x00\x23\x00\x19\x00\x4a\x00\x78\x00\x27\x00\x0b\x00\x26\x00\x4a\x00\x19\x00\x1d\x00\x4a\x00\x2e\x00\x02\x00\x03\x00\x22\x00\x23\x00\x49\x00\x78\x00\x23\x00\x27\x00\x49\x00\x0b\x00\x4a\x00\x1d\x00\x4a\x00\x4a\x00\x2e\x00\x4a\x00\x22\x00\x23\x00\x11\x00\x4a\x00\x2d\x00\x27\x00\x2f\x00\x2e\x00\x4a\x00\x78\x00\x19\x00\x1d\x00\x2e\x00\x17\x00\x18\x00\x03\x00\x22\x00\x23\x00\x02\x00\x03\x00\x08\x00\x27\x00\x49\x00\x78\x00\x02\x00\x03\x00\x02\x00\x0b\x00\x2e\x00\x01\x00\x12\x00\x0a\x00\x0b\x00\x0b\x00\x0c\x00\x0d\x00\x14\x00\x19\x00\x78\x00\x11\x00\x0c\x00\x13\x00\x14\x00\x49\x00\x10\x00\x1d\x00\x49\x00\x02\x00\x03\x00\x49\x00\x22\x00\x23\x00\x49\x00\x1d\x00\x20\x00\x27\x00\x49\x00\x78\x00\x22\x00\x23\x00\x26\x00\x27\x00\x2e\x00\x2d\x00\x19\x00\x2f\x00\x1b\x00\x49\x00\x2e\x00\x2f\x00\x49\x00\x31\x00\x78\x00\x46\x00\x1d\x00\x48\x00\x25\x00\x26\x00\x27\x00\x22\x00\x23\x00\x09\x00\x0a\x00\x0b\x00\x27\x00\x3f\x00\x78\x00\x30\x00\x03\x00\x32\x00\x33\x00\x2e\x00\x35\x00\x08\x00\x48\x00\x38\x00\x19\x00\x4a\x00\x52\x00\x53\x00\x1d\x00\x1e\x00\x78\x00\x12\x00\x52\x00\x53\x00\x49\x00\x19\x00\x0d\x00\x0e\x00\x19\x00\x1d\x00\x1e\x00\x4a\x00\x02\x00\x03\x00\x01\x00\x49\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x19\x00\x1a\x00\x70\x00\x71\x00\x72\x00\x10\x00\x57\x00\x49\x00\x70\x00\x71\x00\x72\x00\x16\x00\x03\x00\x18\x00\x49\x00\x1d\x00\x1b\x00\x08\x00\x4a\x00\x2c\x00\x22\x00\x23\x00\x49\x00\x30\x00\x31\x00\x27\x00\x25\x00\x12\x00\x49\x00\x28\x00\x49\x00\x38\x00\x2e\x00\x2f\x00\x19\x00\x17\x00\x18\x00\x4c\x00\x4d\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x49\x00\x29\x00\x01\x00\x02\x00\x49\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x4a\x00\x52\x00\x53\x00\x4a\x00\x0e\x00\x0f\x00\x10\x00\x46\x00\x47\x00\x4e\x00\x4f\x00\x50\x00\x16\x00\x49\x00\x18\x00\x54\x00\x55\x00\x1b\x00\x49\x00\x1d\x00\x49\x00\x49\x00\x5b\x00\x0e\x00\x22\x00\x23\x00\x49\x00\x25\x00\x26\x00\x49\x00\x28\x00\x70\x00\x71\x00\x72\x00\x19\x00\x1a\x00\x2e\x00\x49\x00\x1d\x00\x1e\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x49\x00\x49\x00\x49\x00\x49\x00\x19\x00\x2c\x00\x4a\x00\x4a\x00\x4a\x00\x30\x00\x31\x00\x4a\x00\x4a\x00\x4a\x00\x49\x00\x19\x00\x49\x00\x38\x00\x4c\x00\x49\x00\x4e\x00\x4f\x00\x50\x00\x49\x00\x49\x00\x2a\x00\x54\x00\x55\x00\x56\x00\x01\x00\x02\x00\x59\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x06\x00\x49\x00\x49\x00\x49\x00\x0e\x00\x0f\x00\x10\x00\x4a\x00\x19\x00\x4a\x00\x1b\x00\x4a\x00\x16\x00\x49\x00\x18\x00\x49\x00\x49\x00\x1b\x00\x4a\x00\x1d\x00\x25\x00\x26\x00\x27\x00\x4a\x00\x22\x00\x23\x00\x49\x00\x25\x00\x02\x00\x03\x00\x28\x00\x30\x00\x49\x00\x32\x00\x33\x00\x34\x00\x35\x00\x4a\x00\x49\x00\x38\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x49\x00\x29\x00\x4a\x00\x19\x00\x49\x00\x49\x00\x29\x00\x1d\x00\x29\x00\x4a\x00\x49\x00\x05\x00\x22\x00\x23\x00\x02\x00\x03\x00\x26\x00\x27\x00\x4c\x00\x4a\x00\x4e\x00\x4f\x00\x50\x00\x0b\x00\x2e\x00\x4a\x00\x54\x00\x55\x00\x56\x00\x01\x00\x4a\x00\x59\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x4a\x00\x01\x00\x05\x00\x1d\x00\x0e\x00\x0f\x00\x10\x00\x19\x00\x22\x00\x23\x00\x0a\x00\x0b\x00\x16\x00\x27\x00\x18\x00\x4a\x00\x10\x00\x1b\x00\x19\x00\x1d\x00\x2e\x00\x02\x00\x03\x00\x02\x00\x03\x00\x0e\x00\x19\x00\x25\x00\x19\x00\x16\x00\x28\x00\x06\x00\x20\x00\x4a\x00\x4a\x00\x4a\x00\x11\x00\x19\x00\x11\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x1d\x00\x4a\x00\x1d\x00\x4a\x00\x19\x00\x22\x00\x23\x00\x22\x00\x23\x00\x26\x00\x27\x00\x26\x00\x27\x00\x19\x00\x02\x00\x03\x00\x46\x00\x2e\x00\x4c\x00\x2e\x00\x4e\x00\x4f\x00\x50\x00\x13\x00\x15\x00\x26\x00\x54\x00\x55\x00\x56\x00\x01\x00\x12\x00\x59\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x15\x00\x11\x00\x2e\x00\x1d\x00\x0e\x00\x0f\x00\x10\x00\x15\x00\x22\x00\x23\x00\x26\x00\x03\x00\x16\x00\x27\x00\x18\x00\x13\x00\x11\x00\x1b\x00\x0b\x00\x1d\x00\x2e\x00\x02\x00\x03\x00\x02\x00\x03\x00\x13\x00\x48\x00\x25\x00\x11\x00\x26\x00\x28\x00\x11\x00\x0b\x00\x26\x00\x0c\x00\x0b\x00\x11\x00\x14\x00\x2e\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x1d\x00\x15\x00\x1d\x00\x14\x00\x0b\x00\x22\x00\x23\x00\x22\x00\x23\x00\x26\x00\x27\x00\x20\x00\x27\x00\x11\x00\x11\x00\x11\x00\x11\x00\x2e\x00\x4c\x00\x2e\x00\x4e\x00\x4f\x00\x50\x00\x11\x00\x2e\x00\x14\x00\x54\x00\x55\x00\x56\x00\x01\x00\x2e\x00\x59\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x2e\x00\x11\x00\x11\x00\x0a\x00\x0e\x00\x0f\x00\x10\x00\x13\x00\x19\x00\x0b\x00\x1b\x00\x31\x00\x16\x00\x13\x00\x18\x00\x10\x00\x04\x00\x1b\x00\x20\x00\x1d\x00\x25\x00\x26\x00\x27\x00\x04\x00\x0b\x00\x26\x00\x13\x00\x25\x00\x02\x00\x03\x00\x28\x00\x30\x00\x20\x00\x32\x00\x33\x00\x20\x00\x35\x00\x11\x00\x11\x00\x38\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x26\x00\x0a\x00\x15\x00\x19\x00\x26\x00\x11\x00\x13\x00\x1d\x00\x13\x00\x4a\x00\x0a\x00\x13\x00\x22\x00\x23\x00\x13\x00\x13\x00\x5b\x00\x27\x00\x4c\x00\x0c\x00\x4e\x00\x4f\x00\x50\x00\x26\x00\x2e\x00\x0b\x00\x54\x00\x55\x00\x56\x00\x01\x00\x20\x00\x59\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x13\x00\x26\x00\x0d\x00\x13\x00\x0e\x00\x0f\x00\x10\x00\x0a\x00\x19\x00\x11\x00\x1b\x00\x11\x00\x16\x00\x31\x00\x18\x00\x26\x00\x11\x00\x1b\x00\x26\x00\x1d\x00\x25\x00\x26\x00\x27\x00\x02\x00\x03\x00\x03\x00\x26\x00\x25\x00\x20\x00\x13\x00\x28\x00\x30\x00\x0b\x00\x32\x00\x33\x00\x0a\x00\x35\x00\x11\x00\x2f\x00\x38\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x11\x00\x11\x00\x1d\x00\x03\x00\x0a\x00\x0a\x00\x12\x00\x22\x00\x23\x00\x4a\x00\x5a\x00\x04\x00\x27\x00\x0b\x00\x11\x00\x0b\x00\x04\x00\x10\x00\x4c\x00\x2e\x00\x4e\x00\x4f\x00\x50\x00\x01\x00\x12\x00\x10\x00\x54\x00\x55\x00\x56\x00\x01\x00\x3f\x00\x59\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x04\x00\x10\x00\x10\x00\xff\xff\x0e\x00\x0f\x00\x10\x00\x14\x00\x19\x00\x12\x00\x1b\x00\x12\x00\x16\x00\x12\x00\x18\x00\x12\x00\x12\x00\x1b\x00\x0c\x00\x1d\x00\x25\x00\x26\x00\x27\x00\x02\x00\x03\x00\x05\x00\x20\x00\x25\x00\xff\xff\x78\x00\x28\x00\x30\x00\x0b\x00\x32\x00\x33\x00\x78\x00\x35\x00\xff\xff\xff\xff\x38\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x1d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x23\x00\x4a\x00\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4c\x00\x2e\x00\x4e\x00\x4f\x00\x50\x00\xff\xff\xff\xff\xff\xff\x54\x00\x55\x00\x56\x00\x01\x00\xff\xff\x59\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0e\x00\x0f\x00\x10\x00\xff\xff\x19\x00\xff\xff\x1b\x00\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\x1d\x00\x25\x00\x26\x00\x27\x00\x02\x00\x03\x00\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x30\x00\x0b\x00\x32\x00\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x1d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x23\x00\x4a\x00\xff\xff\xff\xff\x27\x00\xff\xff\x02\x00\x03\x00\xff\xff\xff\xff\x4c\x00\x2e\x00\x4e\x00\x4f\x00\x50\x00\xff\xff\xff\xff\xff\xff\x54\x00\x55\x00\x56\x00\x01\x00\x12\x00\x59\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\xff\xff\xff\xff\x1d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\x16\x00\x27\x00\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\x1d\x00\x2e\x00\x02\x00\x03\x00\x02\x00\x03\x00\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x13\x00\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x1d\x00\xff\xff\x1d\x00\xff\xff\xff\xff\x22\x00\x23\x00\x22\x00\x23\x00\xff\xff\x27\x00\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\x4c\x00\x2e\x00\x4e\x00\x4f\x00\x50\x00\xff\xff\xff\xff\xff\xff\x54\x00\x55\x00\x56\x00\x01\x00\xff\xff\x59\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\xff\xff\x13\x00\xff\xff\x0e\x00\x0f\x00\x10\x00\xff\xff\x19\x00\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\x1d\x00\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x30\x00\xff\xff\x32\x00\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\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\x01\x00\xff\xff\x19\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x4c\x00\x0b\x00\x4e\x00\x4f\x00\x50\x00\xff\xff\x10\x00\x27\x00\x54\x00\x55\x00\x56\x00\xff\xff\x16\x00\x59\x00\x18\x00\xff\xff\x30\x00\x1b\x00\x32\x00\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\x39\x00\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x45\x00\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\x13\x00\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\x19\x00\x4e\x00\x4f\x00\x50\x00\x16\x00\xff\xff\x18\x00\x54\x00\x55\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x30\x00\xff\xff\x32\x00\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\x13\x00\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\x19\x00\x4e\x00\x4f\x00\x50\x00\x16\x00\xff\xff\x18\x00\x54\x00\x55\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x30\x00\xff\xff\x32\x00\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x19\x00\x1a\x00\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\x19\x00\x4e\x00\x4f\x00\x50\x00\x16\x00\xff\xff\x18\x00\x54\x00\x55\x00\x1b\x00\xff\xff\xff\xff\x2c\x00\xff\xff\x27\x00\xff\xff\x30\x00\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x30\x00\x38\x00\x32\x00\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x19\x00\x1a\x00\x19\x00\x1a\x00\xff\xff\xff\xff\x10\x00\xff\xff\x21\x00\x4e\x00\x4f\x00\x50\x00\x16\x00\xff\xff\x18\x00\x54\x00\x55\x00\x1b\x00\x2b\x00\x2c\x00\xff\xff\x2c\x00\xff\xff\x30\x00\xff\xff\x30\x00\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x38\x00\xff\xff\x38\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\x19\x00\x4e\x00\x4f\x00\x50\x00\x16\x00\xff\xff\x18\x00\x54\x00\x55\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x30\x00\xff\xff\x32\x00\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x19\x00\x1a\x00\x19\x00\x1a\x00\xff\xff\xff\xff\x10\x00\x11\x00\x21\x00\x4e\x00\x4f\x00\x50\x00\x16\x00\xff\xff\x18\x00\x54\x00\x55\x00\x1b\x00\x2b\x00\x2c\x00\xff\xff\x2c\x00\xff\xff\x30\x00\xff\xff\x30\x00\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x38\x00\xff\xff\x38\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x19\x00\x1a\x00\x19\x00\x1a\x00\xff\xff\xff\xff\x10\x00\x11\x00\x21\x00\x4e\x00\x4f\x00\x50\x00\x16\x00\xff\xff\x18\x00\x54\x00\x55\x00\x1b\x00\x2b\x00\x2c\x00\xff\xff\x2c\x00\xff\xff\x30\x00\xff\xff\x30\x00\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x38\x00\xff\xff\x38\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x19\x00\x1a\x00\x19\x00\x1a\x00\xff\xff\xff\xff\x10\x00\x11\x00\x21\x00\x4e\x00\x4f\x00\x50\x00\x16\x00\xff\xff\x18\x00\x54\x00\x55\x00\x1b\x00\x2b\x00\x2c\x00\xff\xff\x2c\x00\xff\xff\x30\x00\xff\xff\x30\x00\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x38\x00\xff\xff\x38\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x19\x00\x1a\x00\xff\xff\xff\xff\xff\xff\x10\x00\x11\x00\x19\x00\x4e\x00\x4f\x00\x50\x00\x16\x00\xff\xff\x18\x00\x54\x00\x55\x00\x1b\x00\xff\xff\xff\xff\x2c\x00\xff\xff\x27\x00\xff\xff\x30\x00\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x30\x00\x38\x00\x32\x00\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x19\x00\x1a\x00\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\x19\x00\x4e\x00\x4f\x00\x50\x00\x16\x00\xff\xff\x18\x00\x54\x00\x55\x00\x1b\x00\xff\xff\xff\xff\x2c\x00\xff\xff\x27\x00\xff\xff\x30\x00\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x30\x00\x38\x00\x32\x00\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x19\x00\x1a\x00\x19\x00\x1a\x00\xff\xff\xff\xff\x10\x00\xff\xff\x21\x00\x4e\x00\x4f\x00\x50\x00\x16\x00\xff\xff\x18\x00\x54\x00\x55\x00\x1b\x00\x2b\x00\x2c\x00\xff\xff\x2c\x00\xff\xff\x30\x00\xff\xff\x30\x00\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x38\x00\xff\xff\x38\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x16\x00\xff\xff\x18\x00\x54\x00\x55\x00\x1b\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\x02\x00\x03\x00\xff\xff\xff\xff\x25\x00\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x11\x00\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x16\x00\x1d\x00\x18\x00\xff\xff\xff\xff\x1b\x00\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x2e\x00\x4e\x00\x4f\x00\x50\x00\xff\xff\xff\xff\xff\xff\x54\x00\x55\x00\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\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\xff\xff\x4e\x00\x4f\x00\x50\x00\xff\xff\xff\xff\xff\xff\x54\x00\x55\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\x1d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x23\x00\x0c\x00\x25\x00\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\xff\xff\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\xff\xff\x27\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x25\x00\x35\x00\xff\xff\xff\xff\x38\x00\x39\x00\xff\xff\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x01\x00\xff\xff\x13\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x19\x00\x1a\x00\xff\xff\x1d\x00\xff\xff\x0f\x00\x10\x00\xff\xff\x22\x00\x23\x00\xff\xff\x4f\x00\x50\x00\x27\x00\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\x2c\x00\x2e\x00\xff\xff\xff\xff\x30\x00\xff\xff\xff\xff\x0c\x00\x25\x00\xff\xff\x0f\x00\x10\x00\x38\x00\x12\x00\xff\xff\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\xff\xff\xff\xff\x19\x00\x1a\x00\xff\xff\xff\xff\x10\x00\xff\xff\xff\xff\xff\xff\x21\x00\x4f\x00\x50\x00\xff\xff\x18\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x2b\x00\x2c\x00\xff\xff\xff\xff\xff\xff\x30\x00\xff\xff\x25\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x0c\x00\xff\xff\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\xff\xff\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\xff\xff\xff\xff\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\xff\xff\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x0c\x00\xff\xff\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\xff\xff\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x0c\x00\xff\xff\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\xff\xff\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x0c\x00\xff\xff\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\xff\xff\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x0c\x00\xff\xff\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\xff\xff\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x0c\x00\xff\xff\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\xff\xff\x14\x00\x02\x00\x03\x00\xff\xff\xff\xff\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\xff\xff\x0e\x00\xff\xff\xff\xff\xff\xff\x1d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x23\x00\x19\x00\xff\xff\x1b\x00\x27\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x0e\x00\x2e\x00\xff\xff\x25\x00\x26\x00\x27\x00\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\xff\xff\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\xff\xff\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x30\x00\xff\xff\x32\x00\x33\x00\xff\xff\x35\x00\x36\x00\x37\x00\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x30\x00\xff\xff\x32\x00\x33\x00\xff\xff\x35\x00\x36\x00\x37\x00\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x30\x00\xff\xff\x32\x00\x33\x00\xff\xff\x35\x00\x36\x00\x37\x00\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\xff\xff\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\xff\xff\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\xff\xff\x35\x00\xff\xff\x30\x00\x38\x00\x32\x00\x33\x00\x27\x00\x35\x00\x19\x00\x1a\x00\x38\x00\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x21\x00\x32\x00\x33\x00\x19\x00\x35\x00\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x2b\x00\x2c\x00\xff\xff\xff\xff\xff\xff\x30\x00\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\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"#++happyTable :: HappyAddr+happyTable = HappyA# "\x00\x00\xb6\x00\x24\x00\x12\x02\x10\x01\xb5\x00\xb6\x00\x69\x01\xb5\x00\xb6\x00\xda\xff\x4b\x01\xe8\x00\x53\x00\x11\xff\xe8\x00\x90\x00\x54\x00\x32\x01\x32\x01\xfc\xff\x1b\x01\x78\x00\x79\x00\x36\x01\x6f\x02\x48\x02\x2b\x02\x24\x00\x32\x01\xda\xff\xda\xff\xb7\x00\x45\x01\x1c\x01\xb7\x00\xf7\x01\xb8\x00\xb9\x00\x53\x00\xb8\x00\xb9\x00\xba\x00\x54\x00\xdf\x00\xba\x00\x6a\x02\xae\x00\x7a\x00\xbb\x00\xbb\x01\xfa\x01\xbb\x00\x7b\x00\x77\x00\x59\x00\xea\x00\x59\x02\x33\x01\xea\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x35\x01\x6a\x01\x6b\x01\xda\xff\x78\x00\x79\x00\x13\x01\x14\x01\x5d\x00\x4b\x02\x58\x02\xf9\x01\x4a\x01\x81\x01\x5e\x00\x73\xff\x4b\x01\x5f\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x95\x00\xb5\x00\xb6\x00\xfb\x00\x7a\x00\x6c\x01\x6d\x01\x6e\x01\x5d\x00\x7b\x00\xb5\x00\xb6\x00\x1c\x02\x6d\x02\x5e\x00\x96\x00\xe8\x00\x5f\x00\x60\x00\x6e\x02\xbb\x00\x15\x01\x61\x00\x4c\x01\x62\x00\x63\x00\x64\x00\xfc\xff\xb7\x00\x11\xff\x4d\x01\xe9\x00\xff\xff\xb8\x00\xb9\x00\x61\x02\x28\x01\xb7\x00\xba\x00\x6c\x02\xb5\x00\xb6\x00\xb8\x00\xb9\x00\x60\x00\xbb\x00\x24\x02\xba\x00\x61\x00\xa0\xff\x62\x00\x63\x00\x64\x00\xfc\xff\xbb\x00\xa0\xff\xa0\xff\xa0\xff\xa0\xff\xc9\x00\xea\x00\xa0\xff\xb2\x00\xa0\xff\xc9\x00\xeb\x01\xf3\x00\xb7\x00\x2b\x01\x2c\x01\xb2\x01\xf7\x01\xb8\x00\xb9\x00\xb5\x00\xb6\x00\xa0\xff\xba\x00\xe0\x01\x66\x01\x67\x01\x24\x00\xc9\x00\x9f\xff\xbb\x00\xa0\xff\x60\x02\xdd\x01\xca\x00\x9f\xff\x9f\xff\x9f\xff\x9f\xff\xe8\x00\x62\x02\x9f\xff\x54\x00\x9f\xff\x8d\xff\x42\x02\xb3\x00\xb7\x00\xe8\x00\xb5\x00\xb6\x00\xb2\x00\xb8\x00\xb9\x00\x6e\xff\x15\x01\x9f\xff\xba\x00\x13\xff\xf8\x01\xf9\x01\xb2\x00\x24\x00\x9d\x01\xbb\x00\x9f\xff\xa0\xff\xa0\xff\xde\x01\x0f\x01\xe8\x00\xa0\xff\xa0\xff\x53\x00\xa0\xff\x6e\xff\xb7\x00\x54\x00\x9e\x01\xb2\x00\xfc\xff\xb8\x00\xb9\x00\xea\x00\x65\x02\x9f\x01\xba\x00\x1c\x02\xae\x00\xb3\x00\xb2\x00\xaf\x00\xea\x00\xbb\x00\x5d\x02\xb2\x00\xa0\xff\xa0\xff\xa0\xff\x64\x02\x9f\xff\x9f\xff\xb5\x00\xb6\x00\xa0\xff\x9f\xff\x9f\xff\x9f\x01\x9f\xff\xb2\x00\xb2\x00\x17\xff\x1c\x02\x66\x02\xea\x00\xb2\x00\xb2\x00\x44\x02\xb2\x00\x1d\x02\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x47\x02\xb7\x00\x9f\xff\x9f\xff\x9f\xff\xb3\x00\xb8\x00\xb9\x00\x5d\x00\x85\x00\x9f\xff\xba\x00\x24\x00\xa1\x01\x5e\x00\x19\x00\x73\xff\x5f\x00\xbb\x00\x25\x02\xb3\x00\x36\x01\xb5\x00\xb6\x00\xb2\x00\x80\x01\x8f\x01\x54\x00\x91\x01\x1d\x00\x37\x01\x16\xff\x4a\x02\x70\x01\xb2\x00\x1f\x02\xb5\x00\xb6\x00\x1e\x00\x13\xff\x86\x00\x20\x00\xfb\x00\x21\x00\x60\x00\x14\xff\x22\x00\x41\x02\x61\x00\xb7\x00\x62\x00\x63\x00\x64\x00\xb2\x00\xb8\x00\xb9\x00\xb5\x00\xb6\x00\xb2\x00\xba\x00\xb2\x00\x87\x00\x93\x01\xb7\x00\x7d\x01\x12\xff\xbb\x00\x43\x02\xb8\x00\xb9\x00\xb5\x00\xb6\x00\x95\x01\xba\x00\x91\x00\xbb\x00\x5b\x02\xb2\x00\xb2\x00\x0d\xff\xbb\x00\xe8\x01\x67\x01\xb7\x00\x3b\x01\xb5\x00\xb6\x00\xb2\x00\xb8\x00\xb9\x00\x0f\x02\xb3\x00\x17\xff\xba\x00\x0c\xff\x10\x02\xaa\x01\xb7\x00\xad\x01\x46\x02\xbb\x00\xb2\x00\xb8\x00\xb9\x00\xb5\x00\xb6\x00\xb2\x00\xba\x00\xdf\x00\xea\x00\x4f\x02\x73\xff\xb7\x00\x0a\xff\xbb\x00\xae\x01\xaf\x01\xb8\x00\xb9\x00\xb5\x00\xb6\x00\xb2\x00\xba\x00\xb2\x00\xb2\x00\xb0\x01\xb2\x00\x29\x02\x09\xff\xbb\x00\xea\x00\xb7\x00\x53\x02\xb5\x00\xb6\x00\xb2\x00\xb8\x00\xb9\x00\x04\x02\xb1\x01\x16\xff\xba\x00\x08\xff\x50\x02\xb3\x00\x90\x00\xb7\x00\xeb\x00\xbb\x00\xb5\x00\xb6\x00\xb8\x00\xb9\x00\x55\x02\x14\xff\x91\x00\xba\x00\x08\x02\x07\xff\xb3\x00\xb7\x00\xff\x00\x01\x01\xbb\x00\xb3\x00\xb8\x00\xb9\x00\x3a\x01\xeb\x00\x38\x02\xba\x00\x68\x02\xc0\x01\xb3\x00\x12\xff\x3b\x01\xb7\x00\xbb\x00\xf2\x01\x2e\x01\x15\x02\xb8\x00\xb9\x00\xb5\x00\xb6\x00\x52\x02\xba\x00\x12\x02\x0d\xff\x68\xff\xb6\x00\x74\x00\xd2\xff\xbb\x00\x24\x00\x4a\x00\xe9\x01\x67\x01\x68\xff\x68\xff\x68\xff\x69\x01\x4c\x00\x0c\xff\x68\xff\x53\x00\x68\xff\x68\xff\x13\x02\x54\x00\xb7\x00\x17\x02\xb5\x00\xb6\x00\x19\x02\xb8\x00\xb9\x00\x1a\x02\x75\x00\x68\xff\xba\x00\x34\x02\x0a\xff\x76\x00\x77\x00\x68\xff\x68\xff\xbb\x00\x38\x02\x19\x00\x39\x02\xd0\x00\x35\x02\x68\xff\x68\xff\x36\x02\x68\xff\x09\xff\x70\x01\xb7\x00\x71\x01\x1b\x00\x1c\x00\x1d\x00\xb8\x00\xb9\x00\x65\x01\x66\x01\x67\x01\xba\x00\x68\xff\x08\xff\x1e\x00\x15\x02\x1f\x00\x20\x00\xbb\x00\x21\x00\x16\x02\x68\xff\x22\x00\xdf\x00\x37\x02\x6a\x01\x6b\x01\xbe\x01\xe1\x00\x07\xff\x4a\x00\x68\xff\x68\xff\xb3\x01\xdf\x00\x0e\x01\x0f\x01\x4c\x00\xe0\x00\xe1\x00\x88\x01\xb5\x00\xb6\x00\x24\x00\xb4\x01\x89\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x8a\x00\x78\x00\xa8\x00\x6c\x01\x6d\x01\x6e\x01\x2d\x00\x0c\x01\xb5\x01\x68\xff\x68\xff\x68\xff\x2e\x00\x15\x02\x2f\x00\xb6\x01\xb7\x00\x30\x00\x22\x02\xc5\x01\xc2\x01\xb8\x00\xb9\x00\xb7\x01\xaa\x00\xc3\x01\xba\x00\x32\x00\x4a\x00\xb8\x01\x33\x00\xb9\x01\x7b\x00\xbb\x00\x3e\x01\x4c\x00\x2d\x01\x2e\x01\x3b\x02\x3c\x02\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\xba\x01\xda\x01\x24\x00\xa3\x00\xc9\x01\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\xc6\x01\x6a\x01\x6b\x01\xc7\x01\x2b\x00\x2c\x00\x2d\x00\x30\x01\x31\x01\x3d\x00\x3e\x00\x3f\x00\x2e\x00\xcb\x01\x2f\x00\x40\x00\x41\x00\x30\x00\xcd\x01\xa4\x00\xce\x01\xcf\x01\x8b\x00\x72\x00\xa5\x00\xa6\x00\xd0\x01\x32\x00\xa7\x00\xd1\x01\x33\x00\x6c\x01\x6d\x01\x6e\x01\xe2\x00\xa8\x00\xa8\x00\xd2\x01\xe3\x00\xe1\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\xd3\x01\xd4\x01\xd6\x01\xd9\x01\xfd\x01\xe4\x00\xea\x01\xec\x01\xee\x01\xaa\x00\xe5\x00\xf3\x01\xf4\x01\xfb\x01\x3f\x01\x42\x01\x56\x01\x7b\x00\x3c\x00\x57\x01\x3d\x00\x3e\x00\x3f\x00\x5b\x01\x5c\x01\x6e\x01\x40\x00\x41\x00\x42\x00\x24\x00\x74\x00\x43\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x76\x01\x82\x01\x83\x01\x84\x01\x2b\x00\x2c\x00\x2d\x00\x86\x01\x19\x00\x8e\x01\x89\x01\x90\x01\x2e\x00\x92\x01\x2f\x00\x94\x01\x96\x01\x30\x00\xa7\x01\xa4\x00\x1b\x00\x1c\x00\x1d\x00\xa8\x01\x76\x00\x77\x00\xac\x01\x32\x00\xb5\x00\xb6\x00\x33\x00\x1e\x00\xcf\x00\x1f\x00\x20\x00\x8a\x01\x21\x00\xd5\x00\xd8\x00\x22\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\xdb\x00\xdd\x00\x00\x01\xfe\x00\x02\x01\x03\x01\x09\x01\xb7\x00\x0d\x01\x8b\x01\x0a\x01\x11\x01\xb8\x00\xb9\x00\xb5\x00\xb6\x00\xff\x00\xba\x00\x3c\x00\x23\x01\x3d\x00\x3e\x00\x3f\x00\x06\x02\xbb\x00\x24\x01\x40\x00\x41\x00\x42\x00\x24\x00\x27\x01\x43\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x28\x01\x24\x00\x29\x01\xb7\x00\x2b\x00\x2c\x00\x2d\x00\x31\x01\xb8\x00\xb9\x00\x4f\x01\x50\x01\x2e\x00\xba\x00\x2f\x00\x3c\x01\x54\x00\x30\x00\x34\x01\x31\x00\xbb\x00\xb5\x00\xb6\x00\xb5\x00\xb6\x00\x72\x00\x6b\x00\x32\x00\x6c\x00\x70\x00\x33\x00\x8b\x00\x51\x01\x93\x00\x96\x00\x97\x00\x47\xff\x99\x00\x5a\x01\xc5\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\xb7\x00\xb0\x00\xb7\x00\xbb\x00\xc2\x00\xb8\x00\xb9\x00\xb8\x00\xb9\x00\x5b\x01\xba\x00\x5b\x01\xba\x00\xc8\x00\xb5\x00\xb6\x00\x04\x00\xbb\x00\x3c\x00\xbb\x00\x3d\x00\x3e\x00\x3f\x00\x71\x02\x5d\x02\x5f\x02\x40\x00\x41\x00\x42\x00\x24\x00\xe0\x01\x43\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x60\x02\x68\x02\xea\x00\xb7\x00\x2b\x00\x2c\x00\x2d\x00\x40\x02\xb8\x00\xb9\x00\x41\x02\x00\x00\x2e\x00\xba\x00\x2f\x00\x4a\x02\x4e\x02\x30\x00\x51\x02\x31\x00\xbb\x00\xf5\x00\xb6\x00\xb5\x00\xb6\x00\x52\x02\x55\x02\x32\x00\x5b\x02\x04\x02\x33\x00\x07\x02\xe2\x01\x08\x02\x0a\x02\x0b\x02\xf6\x00\x15\x02\x1f\x02\xc7\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\xf7\x00\x1c\x02\xb7\x00\x21\x02\x22\x02\xf8\x00\xf9\x00\xb8\x00\xb9\x00\xfa\x00\xba\x00\x27\x02\xba\x00\x2c\x02\x2d\x02\x2e\x02\x2f\x02\xfb\x00\x3c\x00\xbb\x00\x3d\x00\x3e\x00\x3f\x00\x30\x02\x3d\x02\xc2\x01\x40\x00\x41\x00\x42\x00\x24\x00\xbe\x01\x43\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\xea\x00\xcb\x01\xcd\x01\xdf\x00\x2b\x00\x2c\x00\x2d\x00\xe3\x01\x19\x00\xe4\x01\xd4\x00\xd9\x01\x2e\x00\xe6\x01\x2f\x00\xe7\x01\xe8\x01\x30\x00\xf7\x01\x31\x00\x1b\x00\x1c\x00\x1d\x00\x01\x02\x02\x02\x00\x02\x42\x01\x32\x00\xb5\x00\xb6\x00\x33\x00\x1e\x00\x41\x01\x1f\x00\x20\x00\x45\x01\x21\x00\x47\x01\x49\x01\x22\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x48\x01\x4a\x01\x53\x01\xd8\x01\x52\x01\x59\x01\x5e\x01\xb7\x00\x5f\x01\x8c\x01\x70\x01\x60\x01\xb8\x00\xb9\x00\x61\x01\x62\x01\x73\x01\xba\x00\x3c\x00\x8d\x00\x3d\x00\x3e\x00\x3f\x00\x65\x01\xbb\x00\x79\x01\x40\x00\x41\x00\x42\x00\x24\x00\x7a\x01\x09\x01\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x80\x01\x78\x01\x88\x01\x98\x01\x2b\x00\x2c\x00\x2d\x00\xa4\x01\x19\x00\x9c\x01\xd7\x00\xa0\x01\x2e\x00\x7d\x01\x2f\x00\xa2\x01\xa3\x01\x30\x00\xa6\x01\x31\x00\x1b\x00\x1c\x00\x1d\x00\xb5\x00\xb6\x00\x00\x00\xcd\x00\x32\x00\xd7\x00\xda\x00\x33\x00\x1e\x00\xf1\x01\x1f\x00\x20\x00\xdf\x00\x21\x00\xc4\xff\xdd\x00\x22\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\xc5\xff\xf2\x00\xb7\x00\x00\x00\xdf\x00\xdf\x00\x16\x01\xb8\x00\xb9\x00\x8d\x01\x0d\x01\x65\x00\xba\x00\x1d\x01\x2d\x01\x39\x01\x66\x00\x3a\x01\x3c\x00\xbb\x00\x3d\x00\x3e\x00\x3f\x00\x68\x00\x69\x00\x6e\x00\x40\x00\x41\x00\x42\x00\x24\x00\x6a\x00\x43\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x6b\x00\x6f\x00\x70\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x72\x00\x19\x00\x81\x00\xec\x00\x82\x00\x2e\x00\x83\x00\x2f\x00\x84\x00\x85\x00\x30\x00\x8d\x00\x31\x00\x1b\x00\x1c\x00\x1d\x00\xb5\x00\xb6\x00\x8e\x00\xb2\x00\x32\x00\x00\x00\xff\xff\x33\x00\x1e\x00\xf2\x01\x1f\x00\x20\x00\xff\xff\x21\x00\x00\x00\x00\x00\x22\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\xb7\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8\x00\xb9\x00\xed\x00\x00\x00\x00\x00\xba\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x00\xbb\x00\x3d\x00\x3e\x00\x3f\x00\x00\x00\x00\x00\x00\x00\x40\x00\x41\x00\x42\x00\x24\x00\x00\x00\x09\x01\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x00\x00\x19\x00\x00\x00\xee\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x00\x00\x30\x00\x00\x00\x31\x00\x1b\x00\x1c\x00\x1d\x00\xb5\x00\xb6\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x1e\x00\x03\x02\x1f\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x22\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\xb7\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8\x00\xb9\x00\xef\x00\x00\x00\x00\x00\xba\x00\x00\x00\xb5\x00\xb6\x00\x00\x00\x00\x00\x3c\x00\xbb\x00\x3d\x00\x3e\x00\x3f\x00\x00\x00\x00\x00\x00\x00\x40\x00\x41\x00\x42\x00\x24\x00\xf0\x01\x43\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\xb7\x00\x2b\x00\x2c\x00\x2d\x00\x00\x00\xb8\x00\xb9\x00\x00\x00\x00\x00\x2e\x00\xba\x00\x2f\x00\x00\x00\x00\x00\x30\x00\x00\x00\x31\x00\xbb\x00\xb5\x00\xb6\x00\xb5\x00\xb6\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8a\xff\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\xb7\x00\x00\x00\xb7\x00\x00\x00\x00\x00\xb8\x00\xb9\x00\xb8\x00\xb9\x00\x00\x00\xba\x00\x00\x00\xba\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbb\x00\x3c\x00\xbb\x00\x3d\x00\x3e\x00\x3f\x00\x00\x00\x00\x00\x00\x00\x40\x00\x41\x00\x42\x00\x24\x00\x00\x00\x09\x01\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x18\x02\x00\x00\x2b\x00\x2c\x00\x2d\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x00\x00\x30\x00\x00\x00\x31\x00\x00\x00\x00\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x1e\x00\x00\x00\x86\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x22\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x19\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x3c\x00\x72\x02\x3d\x00\x3e\x00\x3f\x00\x00\x00\x2d\x00\x1d\x00\x40\x00\x41\x00\x42\x00\x00\x00\x2e\x00\x43\x00\x2f\x00\x00\x00\x1e\x00\x30\x00\x0b\x02\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x22\x00\x0c\x02\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0d\x02\x00\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x6a\x02\x63\x01\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x19\x00\x3d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x2f\x00\x40\x00\x41\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x1e\x00\x00\x00\x86\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x22\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x64\x02\x1d\x01\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x19\x00\x3d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x2f\x00\x40\x00\x41\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x1e\x00\x00\x00\x86\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x22\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x0f\x02\x78\x00\xa8\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x19\x00\x3d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x2f\x00\x40\x00\x41\x00\x30\x00\x00\x00\x00\x00\x3e\x02\x00\x00\x1d\x00\x00\x00\xaa\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x1e\x00\x7b\x00\xa9\x01\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x22\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x24\x00\x00\x00\x89\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x78\x00\xa8\x00\x78\x00\xa8\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x16\x01\x3d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x2f\x00\x40\x00\x41\x00\x30\x00\x4c\x02\x18\x01\x00\x00\x3d\x02\x00\x00\xaa\x00\x00\x00\xaa\x00\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x7b\x00\x00\x00\x7b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x28\x02\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x19\x00\x3d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x2f\x00\x40\x00\x41\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x1e\x00\x00\x00\xa9\x01\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x22\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x78\x00\xa8\x00\x78\x00\xa8\x00\x00\x00\x00\x00\x2d\x00\x31\x02\x16\x01\x3d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x2f\x00\x40\x00\x41\x00\x30\x00\x56\x02\x18\x01\x00\x00\xc4\x01\x00\x00\xaa\x00\x00\x00\xaa\x00\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x7b\x00\x00\x00\x7b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x78\x00\xa8\x00\x78\x00\xa8\x00\x00\x00\x00\x00\x2d\x00\x32\x02\x16\x01\x3d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x2f\x00\x40\x00\x41\x00\x30\x00\xbc\x01\x18\x01\x00\x00\xd5\x01\x00\x00\xaa\x00\x00\x00\xaa\x00\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x7b\x00\x00\x00\x7b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x78\x00\xa8\x00\x78\x00\xa8\x00\x00\x00\x00\x00\x2d\x00\x33\x02\x16\x01\x3d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x2f\x00\x40\x00\x41\x00\x30\x00\xbc\x01\xbf\x01\x00\x00\xe4\x01\x00\x00\xaa\x00\x00\x00\xaa\x00\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x7b\x00\x00\x00\x7b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x78\x00\xa8\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x34\x02\x19\x00\x3d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x2f\x00\x40\x00\x41\x00\x30\x00\x00\x00\x00\x00\x98\x01\x00\x00\x1d\x00\x00\x00\xaa\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x1e\x00\x7b\x00\xc8\x01\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x22\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x24\x00\x00\x00\x89\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x78\x00\xa8\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x19\x00\x3d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x2f\x00\x40\x00\x41\x00\x30\x00\x00\x00\x00\x00\x99\x01\x00\x00\x1d\x00\x00\x00\xaa\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x1e\x00\x7b\x00\xa9\x01\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x22\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x78\x00\xa8\x00\x78\x00\xa8\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x16\x01\x3d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x2f\x00\x40\x00\x41\x00\x30\x00\xf5\x01\x18\x01\x00\x00\xa4\x01\x00\x00\xaa\x00\x00\x00\xaa\x00\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x7b\x00\x00\x00\x7b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x00\x00\x3d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x2f\x00\x40\x00\x41\x00\x30\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\xb5\x00\xb6\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x01\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\xb7\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8\x00\xb9\x00\x00\x00\x00\x00\x00\x00\xba\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbb\x00\x3d\x00\x3e\x00\x3f\x00\x00\x00\x00\x00\x00\x00\x40\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x74\x00\x00\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac\x00\xad\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x43\x01\x44\x00\x45\x00\x46\x00\x00\x00\x75\x00\x00\x00\x00\x00\x00\x00\x00\x00\x76\x00\x77\x00\x47\x00\x7e\x00\x00\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\xae\x00\x24\x00\x00\x00\x1a\x01\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac\x00\xad\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x00\x80\x00\x00\x00\x1d\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x00\x00\x0b\x02\x20\x00\x7e\x00\x21\x00\x00\x00\x00\x00\x22\x00\x57\x02\x00\x00\xb5\x00\xb6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\xae\x00\x24\x00\x00\x00\xee\x01\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x78\x00\xa8\x00\x00\x00\xb7\x00\x00\x00\xac\x00\xad\x00\x00\x00\xb8\x00\xb9\x00\x00\x00\x7f\x00\x80\x00\xba\x00\x1e\x01\x44\x00\x45\x00\x46\x00\x00\x00\xa9\x00\xbb\x00\x00\x00\x00\x00\xaa\x00\x00\x00\x00\x00\x47\x00\x7e\x00\x00\x00\x48\x00\x49\x00\x7b\x00\x4a\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\xae\x00\x24\x00\x00\x00\x00\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x00\x00\x00\x00\x78\x00\xa8\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x16\x01\x7f\x00\x80\x00\x00\x00\x2f\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xfc\x01\x18\x01\x00\x00\x00\x00\x00\x00\xaa\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x00\x00\x1f\x01\x44\x00\x45\x00\x46\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x47\x00\x00\x00\x00\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x20\x01\x44\x00\x45\x00\x46\x00\x00\x00\x00\x00\x00\x00\x7f\x00\x80\x00\x00\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x21\x01\x44\x00\x45\x00\x46\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x47\x00\x00\x00\x00\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x22\x01\x44\x00\x45\x00\x46\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x47\x00\x00\x00\x00\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x8e\x00\x44\x00\x45\x00\x46\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x47\x00\x00\x00\x00\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x8f\x00\x44\x00\x45\x00\x46\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x47\x00\x00\x00\x00\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x47\x00\x00\x00\x00\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\xb5\x00\xb6\x00\x00\x00\x00\x00\x4c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfd\x00\x00\x00\x72\x00\x00\x00\x00\x00\x00\x00\xb7\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8\x00\xb9\x00\x9e\x00\x00\x00\x9f\x00\xba\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x72\x00\xbb\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x25\x01\x1e\x00\x00\x00\x1f\x00\x20\x00\xa1\x00\x21\x00\x00\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x01\x00\x00\x05\x01\x1e\x00\x00\x00\x1f\x00\x20\x00\x26\x01\x21\x00\x00\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x01\x00\x00\x05\x01\x1e\x00\x00\x00\x1f\x00\x20\x00\x00\x00\x21\x00\x6b\x02\x07\x01\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x01\x00\x00\x05\x01\x1e\x00\x00\x00\x1f\x00\x20\x00\x00\x00\x21\x00\x7e\x01\x07\x01\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x89\x01\x1e\x00\x00\x00\x1f\x00\x20\x00\x00\x00\x21\x00\x06\x01\x07\x01\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x45\x02\x1e\x00\x00\x00\x1f\x00\x20\x00\x8a\x01\x21\x00\x00\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x24\x02\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x28\x02\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xdb\x01\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xdd\x01\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xfe\x01\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x3e\x01\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x53\x01\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x54\x01\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x55\x01\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x62\x01\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x73\x01\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x74\x01\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x75\x01\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x7a\x01\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x7b\x01\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x85\x01\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xd2\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xd3\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xa6\x01\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xab\x01\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xcd\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xce\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xd0\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xd1\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xd2\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xd3\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xd4\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xd7\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xe6\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x9a\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xf0\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xf2\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x66\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x92\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x98\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x9a\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x9c\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x9d\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xbc\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xbd\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xbe\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xbf\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xc0\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xc1\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xc3\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xc5\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xc7\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xcb\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x1a\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x00\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x00\x00\x21\x00\x00\x00\x1e\x00\x22\x00\xa9\x01\x20\x00\x1d\x00\x21\x00\x78\x00\xa8\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x16\x01\xda\x00\x20\x00\x19\x00\x21\x00\x00\x00\x00\x00\x22\x00\x00\x00\x00\x00\x17\x01\x18\x01\x00\x00\x00\x00\x00\x00\xaa\x00\x00\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x00\x00\x1e\x00\x00\x00\x9b\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#++happyReduceArr = Happy_Data_Array.array (3, 257) [+ (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),+ (167 , happyReduce_167),+ (168 , happyReduce_168),+ (169 , happyReduce_169),+ (170 , happyReduce_170),+ (171 , happyReduce_171),+ (172 , happyReduce_172),+ (173 , happyReduce_173),+ (174 , happyReduce_174),+ (175 , happyReduce_175),+ (176 , happyReduce_176),+ (177 , happyReduce_177),+ (178 , happyReduce_178),+ (179 , happyReduce_179),+ (180 , happyReduce_180),+ (181 , happyReduce_181),+ (182 , happyReduce_182),+ (183 , happyReduce_183),+ (184 , happyReduce_184),+ (185 , happyReduce_185),+ (186 , happyReduce_186),+ (187 , happyReduce_187),+ (188 , happyReduce_188),+ (189 , happyReduce_189),+ (190 , happyReduce_190),+ (191 , happyReduce_191),+ (192 , happyReduce_192),+ (193 , happyReduce_193),+ (194 , happyReduce_194),+ (195 , happyReduce_195),+ (196 , happyReduce_196),+ (197 , happyReduce_197),+ (198 , happyReduce_198),+ (199 , happyReduce_199),+ (200 , happyReduce_200),+ (201 , happyReduce_201),+ (202 , happyReduce_202),+ (203 , happyReduce_203),+ (204 , happyReduce_204),+ (205 , happyReduce_205),+ (206 , happyReduce_206),+ (207 , happyReduce_207),+ (208 , happyReduce_208),+ (209 , happyReduce_209),+ (210 , happyReduce_210),+ (211 , happyReduce_211),+ (212 , happyReduce_212),+ (213 , happyReduce_213),+ (214 , happyReduce_214),+ (215 , happyReduce_215),+ (216 , happyReduce_216),+ (217 , happyReduce_217),+ (218 , happyReduce_218),+ (219 , happyReduce_219),+ (220 , happyReduce_220),+ (221 , happyReduce_221),+ (222 , happyReduce_222),+ (223 , happyReduce_223),+ (224 , happyReduce_224),+ (225 , happyReduce_225),+ (226 , happyReduce_226),+ (227 , happyReduce_227),+ (228 , happyReduce_228),+ (229 , happyReduce_229),+ (230 , happyReduce_230),+ (231 , happyReduce_231),+ (232 , happyReduce_232),+ (233 , happyReduce_233),+ (234 , happyReduce_234),+ (235 , happyReduce_235),+ (236 , happyReduce_236),+ (237 , happyReduce_237),+ (238 , happyReduce_238),+ (239 , happyReduce_239),+ (240 , happyReduce_240),+ (241 , happyReduce_241),+ (242 , happyReduce_242),+ (243 , happyReduce_243),+ (244 , happyReduce_244),+ (245 , happyReduce_245),+ (246 , happyReduce_246),+ (247 , happyReduce_247),+ (248 , happyReduce_248),+ (249 , happyReduce_249),+ (250 , happyReduce_250),+ (251 , happyReduce_251),+ (252 , happyReduce_252),+ (253 , happyReduce_253),+ (254 , happyReduce_254),+ (255 , happyReduce_255),+ (256 , happyReduce_256),+ (257 , happyReduce_257)+ ]++happy_n_terms = 121 :: Int+happy_n_nonterms = 76 :: Int++happyReduce_3 = happySpecReduce_0 0# happyReduction_3+happyReduction_3 = happyIn6+ ([]+ )++happyReduce_4 = happySpecReduce_2 0# happyReduction_4+happyReduction_4 happy_x_2+ happy_x_1+ = case happyOut7 happy_x_1 of { happy_var_1 -> + case happyOut6 happy_x_2 of { happy_var_2 -> + happyIn6+ (happy_var_1:happy_var_2+ )}}++happyReduce_5 = happySpecReduce_2 0# happyReduction_5+happyReduction_5 happy_x_2+ happy_x_1+ = case happyOut18 happy_x_1 of { happy_var_1 -> + case happyOut6 happy_x_2 of { happy_var_2 -> + happyIn6+ (map RealDecl happy_var_1 ++ happy_var_2+ )}}++happyReduce_6 = happyReduce 4# 0# happyReduction_6+happyReduction_6 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOutTok happy_x_2 of { (TokenString happy_var_2) -> + case happyOut6 happy_x_4 of { happy_var_4 -> + happyIn6+ (RealDecl (PInclude happy_var_2) : happy_var_4+ ) `HappyStk` happyRest}}++happyReduce_7 = happySpecReduce_1 1# happyReduction_7+happyReduction_7 happy_x_1+ = case happyOut9 happy_x_1 of { happy_var_1 -> + happyIn7+ (happy_var_1+ )}++happyReduce_8 = happySpecReduce_1 1# happyReduction_8+happyReduction_8 happy_x_1+ = case happyOut26 happy_x_1 of { happy_var_1 -> + happyIn7+ (RealDecl (DataDecl happy_var_1)+ )}++happyReduce_9 = happySpecReduce_1 1# happyReduction_9+happyReduction_9 happy_x_1+ = case happyOut22 happy_x_1 of { happy_var_1 -> + happyIn7+ (RealDecl happy_var_1+ )}++happyReduce_10 = happyReduce 5# 1# happyReduction_10+happyReduction_10 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOutTok happy_x_2 of { (TokenName happy_var_2) -> + case happyOut80 happy_x_3 of { happy_var_3 -> + case happyOut79 happy_x_4 of { happy_var_4 -> + happyIn7+ (RealDecl (Freeze happy_var_3 happy_var_4 [] happy_var_2)+ ) `HappyStk` happyRest}}}++happyReduce_11 = happyReduce 4# 1# happyReduction_11+happyReduction_11 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut65 happy_x_1 of { happy_var_1 -> + case happyOut6 happy_x_3 of { happy_var_3 -> + happyIn7+ (PUsing happy_var_1 happy_var_3+ ) `HappyStk` happyRest}}++happyReduce_12 = happyReduce 4# 1# happyReduction_12+happyReduction_12 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut66 happy_x_1 of { happy_var_1 -> + case happyOut6 happy_x_3 of { happy_var_3 -> + happyIn7+ (PDoUsing happy_var_1 happy_var_3+ ) `HappyStk` happyRest}}++happyReduce_13 = happyReduce 4# 1# happyReduction_13+happyReduction_13 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut67 happy_x_1 of { happy_var_1 -> + case happyOut6 happy_x_3 of { happy_var_3 -> + happyIn7+ (PIdiom happy_var_1 happy_var_3+ ) `HappyStk` happyRest}}++happyReduce_14 = happyReduce 4# 1# happyReduction_14+happyReduction_14 (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 happyOut6 happy_x_3 of { happy_var_3 -> + happyIn7+ (PParams happy_var_1 happy_var_3+ ) `HappyStk` happyRest}}++happyReduce_15 = happyReduce 4# 1# happyReduction_15+happyReduction_15 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut69 happy_x_1 of { happy_var_1 -> + case happyOut6 happy_x_3 of { happy_var_3 -> + happyIn7+ (PNamespace happy_var_1 happy_var_3+ ) `HappyStk` happyRest}}++happyReduce_16 = happySpecReduce_1 1# happyReduction_16+happyReduction_16 happy_x_1+ = case happyOut8 happy_x_1 of { happy_var_1 -> + happyIn7+ (RealDecl happy_var_1+ )}++happyReduce_17 = happyReduce 6# 1# happyReduction_17+happyReduction_17 (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 happyOut31 happy_x_2 of { happy_var_2 -> + case happyOut40 happy_x_3 of { happy_var_3 -> + case happyOut33 happy_x_5 of { happy_var_5 -> + happyIn7+ (RealDecl (SynDef happy_var_2 happy_var_3 happy_var_5)+ ) `HappyStk` happyRest}}}++happyReduce_18 = happySpecReduce_2 1# happyReduction_18+happyReduction_18 happy_x_2+ happy_x_1+ = case happyOutTok happy_x_2 of { (TokenString happy_var_2) -> + happyIn7+ (RealDecl (CInclude happy_var_2)+ )}++happyReduce_19 = happySpecReduce_2 1# happyReduction_19+happyReduction_19 happy_x_2+ happy_x_1+ = case happyOutTok happy_x_2 of { (TokenString happy_var_2) -> + happyIn7+ (RealDecl (CLib happy_var_2)+ )}++happyReduce_20 = happyReduce 5# 2# happyReduction_20+happyReduction_20 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut33 happy_x_2 of { happy_var_2 -> + case happyOut33 happy_x_4 of { happy_var_4 -> + happyIn8+ (Transform happy_var_2 happy_var_4+ ) `HappyStk` happyRest}}++happyReduce_21 = happyReduce 7# 3# happyReduction_21+happyReduction_21 (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 happyOut31 happy_x_1 of { happy_var_1 -> + case happyOut49 happy_x_3 of { happy_var_3 -> + case happyOut15 happy_x_4 of { happy_var_4 -> + case happyOut80 happy_x_5 of { happy_var_5 -> + case happyOut79 happy_x_6 of { happy_var_6 -> + happyIn9+ (FunType happy_var_1 happy_var_3 (nub happy_var_4) happy_var_5 happy_var_6+ ) `HappyStk` happyRest}}}}}++happyReduce_22 = happySpecReduce_3 3# happyReduction_22+happyReduction_22 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut31 happy_x_1 of { happy_var_1 -> + case happyOut77 happy_x_2 of { happy_var_2 -> + happyIn9+ (ProofScript happy_var_1 happy_var_2+ )}}++happyReduce_23 = happyReduce 9# 3# happyReduction_23+happyReduction_23 (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 happyOut24 happy_x_1 of { happy_var_1 -> + case happyOut12 happy_x_2 of { happy_var_2 -> + case happyOut11 happy_x_3 of { happy_var_3 -> + case happyOut33 happy_x_4 of { happy_var_4 -> + case happyOut14 happy_x_6 of { happy_var_6 -> + case happyOut80 happy_x_8 of { happy_var_8 -> + case happyOut79 happy_x_9 of { happy_var_9 -> + happyIn9+ (WithClause (mkDef happy_var_8 happy_var_9 happy_var_1) happy_var_2 happy_var_3 happy_var_4 happy_var_6+ ) `HappyStk` happyRest}}}}}}}++happyReduce_24 = happyReduce 10# 3# happyReduction_24+happyReduction_24 (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 happyOut24 happy_x_1 of { happy_var_1 -> + case happyOut12 happy_x_2 of { happy_var_2 -> + case happyOut33 happy_x_4 of { happy_var_4 -> + case happyOut31 happy_x_7 of { happy_var_7 -> + case happyOut80 happy_x_9 of { happy_var_9 -> + case happyOut79 happy_x_10 of { happy_var_10 -> + happyIn9+ (FunClauseP (mkDef happy_var_9 happy_var_10 happy_var_1) happy_var_2 happy_var_4 happy_var_7+ ) `HappyStk` happyRest}}}}}}++happyReduce_25 = happyReduce 8# 3# happyReduction_25+happyReduction_25 (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 happyOut24 happy_x_1 of { happy_var_1 -> + case happyOut12 happy_x_2 of { happy_var_2 -> + case happyOut33 happy_x_4 of { happy_var_4 -> + case happyOut15 happy_x_5 of { happy_var_5 -> + case happyOut80 happy_x_7 of { happy_var_7 -> + case happyOut79 happy_x_8 of { happy_var_8 -> + happyIn9+ (FunClause (mkDef happy_var_7 happy_var_8 happy_var_1) happy_var_2 happy_var_4 (nub happy_var_5)+ ) `HappyStk` happyRest}}}}}}++happyReduce_26 = happyReduce 5# 3# happyReduction_26+happyReduction_26 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut13 happy_x_2 of { happy_var_2 -> + case happyOut33 happy_x_4 of { happy_var_4 -> + happyIn9+ (FunClause RPlaceholder [happy_var_2] happy_var_4 []+ ) `HappyStk` happyRest}}++happyReduce_27 = happyReduce 8# 3# happyReduction_27+happyReduction_27 (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 happyOut13 happy_x_2 of { happy_var_2 -> + case happyOut33 happy_x_4 of { happy_var_4 -> + case happyOut31 happy_x_7 of { happy_var_7 -> + happyIn9+ (FunClauseP RPlaceholder [happy_var_2] happy_var_4 happy_var_7+ ) `HappyStk` happyRest}}}++happyReduce_28 = happyReduce 7# 3# happyReduction_28+happyReduction_28 (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 happyOut13 happy_x_2 of { happy_var_2 -> + case happyOut11 happy_x_3 of { happy_var_3 -> + case happyOut33 happy_x_4 of { happy_var_4 -> + case happyOut14 happy_x_6 of { happy_var_6 -> + happyIn9+ (WithClause RPlaceholder [happy_var_2] happy_var_3 happy_var_4 happy_var_6+ ) `HappyStk` happyRest}}}}++happyReduce_29 = happySpecReduce_1 4# happyReduction_29+happyReduction_29 happy_x_1+ = happyIn10+ (Vis Public+ )++happyReduce_30 = happySpecReduce_1 4# happyReduction_30+happyReduction_30 happy_x_1+ = happyIn10+ (Vis Private+ )++happyReduce_31 = happySpecReduce_1 4# happyReduction_31+happyReduction_31 happy_x_1+ = happyIn10+ (Vis Abstract+ )++happyReduce_32 = happySpecReduce_0 4# happyReduction_32+happyReduction_32 = happyIn10+ (Vis Public+ )++happyReduce_33 = happySpecReduce_1 5# happyReduction_33+happyReduction_33 happy_x_1+ = happyIn11+ (False+ )++happyReduce_34 = happySpecReduce_2 5# happyReduction_34+happyReduction_34 happy_x_2+ happy_x_1+ = happyIn11+ (True+ )++happyReduce_35 = happySpecReduce_3 6# happyReduction_35+happyReduction_35 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut13 happy_x_2 of { happy_var_2 -> + case happyOut12 happy_x_3 of { happy_var_3 -> + happyIn12+ (happy_var_2:happy_var_3+ )}}++happyReduce_36 = happySpecReduce_0 6# happyReduction_36+happyReduction_36 = happyIn12+ ([]+ )++happyReduce_37 = happySpecReduce_1 7# happyReduction_37+happyReduction_37 happy_x_1+ = case happyOut32 happy_x_1 of { happy_var_1 -> + happyIn13+ (happy_var_1+ )}++happyReduce_38 = happySpecReduce_1 7# happyReduction_38+happyReduction_38 happy_x_1+ = case happyOut57 happy_x_1 of { happy_var_1 -> + happyIn13+ (happy_var_1+ )}++happyReduce_39 = happySpecReduce_3 7# happyReduction_39+happyReduction_39 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut33 happy_x_2 of { happy_var_2 -> + happyIn13+ (happy_var_2+ )}++happyReduce_40 = happyReduce 5# 7# happyReduction_40+happyReduction_40 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut58 happy_x_2 of { happy_var_2 -> + case happyOut80 happy_x_4 of { happy_var_4 -> + case happyOut79 happy_x_5 of { happy_var_5 -> + happyIn13+ (pairDesugar happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "mkPair")) happy_var_2+ ) `HappyStk` happyRest}}}++happyReduce_41 = happySpecReduce_2 8# happyReduction_41+happyReduction_41 happy_x_2+ happy_x_1+ = case happyOut9 happy_x_1 of { happy_var_1 -> + case happyOut14 happy_x_2 of { happy_var_2 -> + happyIn14+ (happy_var_1:happy_var_2+ )}}++happyReduce_42 = happySpecReduce_1 8# happyReduction_42+happyReduction_42 happy_x_1+ = case happyOut9 happy_x_1 of { happy_var_1 -> + happyIn14+ ([happy_var_1]+ )}++happyReduce_43 = happySpecReduce_1 9# happyReduction_43+happyReduction_43 happy_x_1+ = case happyOut16 happy_x_1 of { happy_var_1 -> + happyIn15+ (happy_var_1+ )}++happyReduce_44 = happySpecReduce_3 9# happyReduction_44+happyReduction_44 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut16 happy_x_2 of { happy_var_2 -> + happyIn15+ (happy_var_2+ )}++happyReduce_45 = happySpecReduce_0 10# happyReduction_45+happyReduction_45 = happyIn16+ ([]+ )++happyReduce_46 = happySpecReduce_2 10# happyReduction_46+happyReduction_46 happy_x_2+ happy_x_1+ = case happyOut17 happy_x_1 of { happy_var_1 -> + case happyOut16 happy_x_2 of { happy_var_2 -> + happyIn16+ (happy_var_1 ++ happy_var_2+ )}}++happyReduce_47 = happySpecReduce_1 11# happyReduction_47+happyReduction_47 happy_x_1+ = happyIn17+ ([NoCG]+ )++happyReduce_48 = happySpecReduce_1 11# happyReduction_48+happyReduction_48 happy_x_1+ = happyIn17+ ([CGEval, Inline]+ )++happyReduce_49 = happyReduce 4# 11# happyReduction_49+happyReduction_49 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut38 happy_x_3 of { happy_var_3 -> + happyIn17+ ([CGSpec happy_var_3]+ ) `HappyStk` happyRest}++happyReduce_50 = happySpecReduce_1 11# happyReduction_50+happyReduction_50 happy_x_1+ = happyIn17+ ([CGSpec []]+ )++happyReduce_51 = happySpecReduce_1 11# happyReduction_51+happyReduction_51 happy_x_1+ = happyIn17+ ([Inline]+ )++happyReduce_52 = happySpecReduce_2 11# happyReduction_52+happyReduction_52 happy_x_2+ happy_x_1+ = case happyOutTok happy_x_2 of { (TokenString happy_var_2) -> + happyIn17+ ([CExport happy_var_2]+ )}++happyReduce_53 = happyReduce 4# 12# happyReduction_53+happyReduction_53 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut21 happy_x_1 of { happy_var_1 -> + case happyOutTok happy_x_2 of { (TokenInt happy_var_2) -> + case happyOut19 happy_x_3 of { happy_var_3 -> + happyIn18+ (map (\x -> Fixity x happy_var_1 happy_var_2) happy_var_3+ ) `HappyStk` happyRest}}}++happyReduce_54 = happySpecReduce_1 13# happyReduction_54+happyReduction_54 happy_x_1+ = case happyOut20 happy_x_1 of { happy_var_1 -> + happyIn19+ ([happy_var_1]+ )}++happyReduce_55 = happySpecReduce_3 13# happyReduction_55+happyReduction_55 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut20 happy_x_1 of { happy_var_1 -> + case happyOut19 happy_x_3 of { happy_var_3 -> + happyIn19+ (happy_var_1:happy_var_3+ )}}++happyReduce_56 = happySpecReduce_1 14# happyReduction_56+happyReduction_56 happy_x_1+ = case happyOutTok happy_x_1 of { (TokenInfixName happy_var_1) -> + happyIn20+ (happy_var_1+ )}++happyReduce_57 = happySpecReduce_1 14# happyReduction_57+happyReduction_57 happy_x_1+ = happyIn20+ ("-"+ )++happyReduce_58 = happySpecReduce_1 14# happyReduction_58+happyReduction_58 happy_x_1+ = happyIn20+ ("<"+ )++happyReduce_59 = happySpecReduce_1 14# happyReduction_59+happyReduction_59 happy_x_1+ = happyIn20+ (">"+ )++happyReduce_60 = happySpecReduce_1 15# happyReduction_60+happyReduction_60 happy_x_1+ = happyIn21+ (LeftAssoc+ )++happyReduce_61 = happySpecReduce_1 15# happyReduction_61+happyReduction_61 happy_x_1+ = happyIn21+ (RightAssoc+ )++happyReduce_62 = happySpecReduce_1 15# happyReduction_62+happyReduction_62 happy_x_1+ = happyIn21+ (NonAssoc+ )++happyReduce_63 = happyReduce 4# 16# happyReduction_63+happyReduction_63 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut23 happy_x_3 of { happy_var_3 -> + happyIn22+ (LatexDefs happy_var_3+ ) `HappyStk` happyRest}++happyReduce_64 = happySpecReduce_3 17# happyReduction_64+happyReduction_64 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut31 happy_x_1 of { happy_var_1 -> + case happyOutTok happy_x_3 of { (TokenString happy_var_3) -> + happyIn23+ ([(happy_var_1,happy_var_3)]+ )}}++happyReduce_65 = happyReduce 5# 17# happyReduction_65+happyReduction_65 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut31 happy_x_1 of { happy_var_1 -> + case happyOutTok happy_x_3 of { (TokenString happy_var_3) -> + case happyOut23 happy_x_5 of { happy_var_5 -> + happyIn23+ ((happy_var_1,happy_var_3):happy_var_5+ ) `HappyStk` happyRest}}}++happyReduce_66 = happySpecReduce_2 18# happyReduction_66+happyReduction_66 happy_x_2+ happy_x_1+ = case happyOut31 happy_x_1 of { happy_var_1 -> + case happyOut25 happy_x_2 of { happy_var_2 -> + happyIn24+ ((happy_var_1, happy_var_2)+ )}}++happyReduce_67 = happySpecReduce_0 19# happyReduction_67+happyReduction_67 = happyIn25+ ([]+ )++happyReduce_68 = happySpecReduce_2 19# happyReduction_68+happyReduction_68 happy_x_2+ happy_x_1+ = case happyOut56 happy_x_1 of { happy_var_1 -> + case happyOut25 happy_x_2 of { happy_var_2 -> + happyIn25+ ((happy_var_1,Nothing):happy_var_2+ )}}++happyReduce_69 = happyReduce 5# 19# happyReduction_69+happyReduction_69 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> + case happyOut25 happy_x_3 of { happy_var_3 -> + case happyOut80 happy_x_4 of { happy_var_4 -> + case happyOut79 happy_x_5 of { happy_var_5 -> + happyIn25+ ((RVar happy_var_4 happy_var_5 happy_var_1, Just happy_var_1):happy_var_3+ ) `HappyStk` happyRest}}}}++happyReduce_70 = happyReduce 5# 19# happyReduction_70+happyReduction_70 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> + case happyOut33 happy_x_3 of { happy_var_3 -> + case happyOut25 happy_x_5 of { happy_var_5 -> + happyIn25+ ((happy_var_3, Just happy_var_1):happy_var_5+ ) `HappyStk` happyRest}}}++happyReduce_71 = happyReduce 6# 20# happyReduction_71+happyReduction_71 (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_2 of { happy_var_2 -> + case happyOut31 happy_x_3 of { happy_var_3 -> + case happyOut27 happy_x_4 of { happy_var_4 -> + case happyOut80 happy_x_5 of { happy_var_5 -> + case happyOut79 happy_x_6 of { happy_var_6 -> + happyIn26+ (mkDatatype happy_var_5 happy_var_6 happy_var_3 happy_var_4 happy_var_2+ ) `HappyStk` happyRest}}}}}++happyReduce_72 = happySpecReduce_3 21# happyReduction_72+happyReduction_72 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut64 happy_x_1 of { happy_var_1 -> + case happyOut73 happy_x_2 of { happy_var_2 -> + happyIn27+ (Right (happy_var_1,happy_var_2)+ )}}++happyReduce_73 = happySpecReduce_3 21# happyReduction_73+happyReduction_73 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut49 happy_x_2 of { happy_var_2 -> + happyIn27+ (Left happy_var_2+ )}++happyReduce_74 = happySpecReduce_3 21# happyReduction_74+happyReduction_74 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut80 happy_x_2 of { happy_var_2 -> + case happyOut79 happy_x_3 of { happy_var_3 -> + happyIn27+ (Left (RConst happy_var_2 happy_var_3 TYPE)+ )}}++happyReduce_75 = happySpecReduce_0 22# happyReduction_75+happyReduction_75 = happyIn28+ ([]+ )++happyReduce_76 = happySpecReduce_3 22# happyReduction_76+happyReduction_76 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut29 happy_x_2 of { happy_var_2 -> + happyIn28+ (happy_var_2+ )}++happyReduce_77 = happySpecReduce_1 23# happyReduction_77+happyReduction_77 happy_x_1+ = case happyOut30 happy_x_1 of { happy_var_1 -> + happyIn29+ ([happy_var_1]+ )}++happyReduce_78 = happySpecReduce_3 23# happyReduction_78+happyReduction_78 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut30 happy_x_1 of { happy_var_1 -> + case happyOut29 happy_x_3 of { happy_var_3 -> + happyIn29+ (happy_var_1:happy_var_3+ )}}++happyReduce_79 = happySpecReduce_1 24# happyReduction_79+happyReduction_79 happy_x_1+ = happyIn30+ (NoElim+ )++happyReduce_80 = happySpecReduce_1 24# happyReduction_80+happyReduction_80 happy_x_1+ = happyIn30+ (Collapsible+ )++happyReduce_81 = happySpecReduce_1 25# happyReduction_81+happyReduction_81 happy_x_1+ = case happyOutTok happy_x_1 of { (TokenName happy_var_1) -> + happyIn31+ (happy_var_1+ )}++happyReduce_82 = happySpecReduce_3 25# happyReduction_82+happyReduction_82 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut20 happy_x_2 of { happy_var_2 -> + happyIn31+ (useropFn happy_var_2+ )}++happyReduce_83 = happyReduce 4# 26# happyReduction_83+happyReduction_83 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut32 happy_x_1 of { happy_var_1 -> + case happyOut80 happy_x_2 of { happy_var_2 -> + case happyOut79 happy_x_3 of { happy_var_3 -> + case happyOut56 happy_x_4 of { happy_var_4 -> + happyIn32+ (RApp happy_var_2 happy_var_3 happy_var_1 happy_var_4+ ) `HappyStk` happyRest}}}}++happyReduce_84 = happyReduce 5# 26# happyReduction_84+happyReduction_84 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut32 happy_x_1 of { happy_var_1 -> + case happyOut42 happy_x_2 of { happy_var_2 -> + case happyOut80 happy_x_4 of { happy_var_4 -> + case happyOut79 happy_x_5 of { happy_var_5 -> + happyIn32+ (RAppImp happy_var_4 happy_var_5 (fst happy_var_2) happy_var_1 (snd happy_var_2)+ ) `HappyStk` happyRest}}}}++happyReduce_85 = happySpecReduce_3 26# happyReduction_85+happyReduction_85 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut31 happy_x_1 of { happy_var_1 -> + case happyOut80 happy_x_2 of { happy_var_2 -> + case happyOut79 happy_x_3 of { happy_var_3 -> + happyIn32+ (RVar happy_var_2 happy_var_3 happy_var_1+ )}}}++happyReduce_86 = happySpecReduce_3 26# happyReduction_86+happyReduction_86 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut62 happy_x_1 of { happy_var_1 -> + case happyOut80 happy_x_2 of { happy_var_2 -> + case happyOut79 happy_x_3 of { happy_var_3 -> + happyIn32+ (RConst happy_var_2 happy_var_3 happy_var_1+ )}}}++happyReduce_87 = happySpecReduce_1 26# happyReduction_87+happyReduction_87 happy_x_1+ = happyIn32+ (RPlaceholder+ )++happyReduce_88 = happySpecReduce_3 26# happyReduction_88+happyReduction_88 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut80 happy_x_2 of { happy_var_2 -> + case happyOut79 happy_x_3 of { happy_var_3 -> + happyIn32+ (RVar happy_var_2 happy_var_3 (UN "__Empty")+ )}}++happyReduce_89 = happySpecReduce_3 26# happyReduction_89+happyReduction_89 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut80 happy_x_2 of { happy_var_2 -> + case happyOut79 happy_x_3 of { happy_var_3 -> + happyIn32+ (RVar happy_var_2 happy_var_3 (UN "__Unit")+ )}}++happyReduce_90 = happySpecReduce_1 27# happyReduction_90+happyReduction_90 happy_x_1+ = case happyOut56 happy_x_1 of { happy_var_1 -> + happyIn33+ (happy_var_1+ )}++happyReduce_91 = happySpecReduce_3 27# happyReduction_91+happyReduction_91 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut50 happy_x_2 of { happy_var_2 -> + happyIn33+ (happy_var_2+ )}++happyReduce_92 = happyReduce 4# 27# happyReduction_92+happyReduction_92 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut33 happy_x_1 of { happy_var_1 -> + case happyOut80 happy_x_2 of { happy_var_2 -> + case happyOut79 happy_x_3 of { happy_var_3 -> + case happyOut56 happy_x_4 of { happy_var_4 -> + happyIn33+ (RApp happy_var_2 happy_var_3 happy_var_1 happy_var_4+ ) `HappyStk` happyRest}}}}++happyReduce_93 = happyReduce 5# 27# happyReduction_93+happyReduction_93 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut33 happy_x_1 of { happy_var_1 -> + case happyOut42 happy_x_2 of { happy_var_2 -> + case happyOut80 happy_x_4 of { happy_var_4 -> + case happyOut79 happy_x_5 of { happy_var_5 -> + happyIn33+ (RAppImp happy_var_4 happy_var_5 (fst happy_var_2) happy_var_1 (snd happy_var_2)+ ) `HappyStk` happyRest}}}}++happyReduce_94 = happyReduce 4# 27# happyReduction_94+happyReduction_94 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut33 happy_x_2 of { happy_var_2 -> + case happyOut80 happy_x_3 of { happy_var_3 -> + case happyOut79 happy_x_4 of { happy_var_4 -> + happyIn33+ (RApp happy_var_3 happy_var_4 (RApp happy_var_3 happy_var_4 (RVar happy_var_3 happy_var_4 (UN "__lazy")) RPlaceholder) happy_var_2+ ) `HappyStk` happyRest}}}++happyReduce_95 = happyReduce 4# 27# happyReduction_95+happyReduction_95 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut34 happy_x_2 of { happy_var_2 -> + case happyOut33 happy_x_4 of { happy_var_4 -> + happyIn33+ (doBind Lam happy_var_2 happy_var_4+ ) `HappyStk` happyRest}}++happyReduce_96 = happyReduce 4# 27# happyReduction_96+happyReduction_96 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut41 happy_x_2 of { happy_var_2 -> + case happyOut33 happy_x_4 of { happy_var_4 -> + happyIn33+ (doLetBind happy_var_2 happy_var_4+ ) `HappyStk` happyRest}}++happyReduce_97 = happySpecReduce_1 27# happyReduction_97+happyReduction_97 happy_x_1+ = case happyOut43 happy_x_1 of { happy_var_1 -> + happyIn33+ (happy_var_1+ )}++happyReduce_98 = happyReduce 8# 27# happyReduction_98+happyReduction_98 (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 happyOut33 happy_x_2 of { happy_var_2 -> + case happyOut33 happy_x_4 of { happy_var_4 -> + case happyOut33 happy_x_6 of { happy_var_6 -> + case happyOut80 happy_x_7 of { happy_var_7 -> + case happyOut79 happy_x_8 of { happy_var_8 -> + happyIn33+ (mkApp happy_var_7 happy_var_8 (RVar happy_var_7 happy_var_8 (UN "if_then_else")) [happy_var_2,happy_var_4,happy_var_6]+ ) `HappyStk` happyRest}}}}}++happyReduce_99 = happySpecReduce_2 28# happyReduction_99+happyReduction_99 happy_x_2+ happy_x_1+ = case happyOut31 happy_x_1 of { happy_var_1 -> + case happyOut47 happy_x_2 of { happy_var_2 -> + happyIn34+ ([(happy_var_1,happy_var_2)]+ )}}++happyReduce_100 = happyReduce 4# 28# happyReduction_100+happyReduction_100 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut31 happy_x_1 of { happy_var_1 -> + case happyOut47 happy_x_2 of { happy_var_2 -> + case happyOut34 happy_x_4 of { happy_var_4 -> + happyIn34+ ((happy_var_1,happy_var_2):happy_var_4+ ) `HappyStk` happyRest}}}++happyReduce_101 = happySpecReduce_3 29# happyReduction_101+happyReduction_101 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut36 happy_x_1 of { happy_var_1 -> + case happyOut35 happy_x_3 of { happy_var_3 -> + happyIn35+ (happy_var_1 ++ happy_var_3+ )}}++happyReduce_102 = happySpecReduce_1 29# happyReduction_102+happyReduction_102 happy_x_1+ = case happyOut36 happy_x_1 of { happy_var_1 -> + happyIn35+ (happy_var_1+ )}++happyReduce_103 = happySpecReduce_3 30# happyReduction_103+happyReduction_103 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut31 happy_x_1 of { happy_var_1 -> + case happyOut49 happy_x_3 of { happy_var_3 -> + happyIn36+ (map ( \x -> (x,happy_var_3)) [happy_var_1]+ )}}++happyReduce_104 = happySpecReduce_1 31# happyReduction_104+happyReduction_104 happy_x_1+ = case happyOut31 happy_x_1 of { happy_var_1 -> + happyIn37+ ([happy_var_1]+ )}++happyReduce_105 = happySpecReduce_3 31# happyReduction_105+happyReduction_105 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut31 happy_x_1 of { happy_var_1 -> + case happyOut37 happy_x_3 of { happy_var_3 -> + happyIn37+ (happy_var_1:happy_var_3+ )}}++happyReduce_106 = happySpecReduce_2 32# happyReduction_106+happyReduction_106 happy_x_2+ happy_x_1+ = case happyOut31 happy_x_1 of { happy_var_1 -> + case happyOutTok happy_x_2 of { (TokenInt happy_var_2) -> + happyIn38+ ([(happy_var_1,happy_var_2)]+ )}}++happyReduce_107 = happySpecReduce_1 32# happyReduction_107+happyReduction_107 happy_x_1+ = case happyOut31 happy_x_1 of { happy_var_1 -> + happyIn38+ ([(happy_var_1, 0)]+ )}++happyReduce_108 = happySpecReduce_3 32# happyReduction_108+happyReduction_108 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut31 happy_x_1 of { happy_var_1 -> + case happyOut38 happy_x_3 of { happy_var_3 -> + happyIn38+ ((happy_var_1,0):happy_var_3+ )}}++happyReduce_109 = happyReduce 4# 32# happyReduction_109+happyReduction_109 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut31 happy_x_1 of { happy_var_1 -> + case happyOutTok happy_x_2 of { (TokenInt happy_var_2) -> + case happyOut38 happy_x_4 of { happy_var_4 -> + happyIn38+ ((happy_var_1,happy_var_2):happy_var_4+ ) `HappyStk` happyRest}}}++happyReduce_110 = happySpecReduce_1 33# happyReduction_110+happyReduction_110 happy_x_1+ = case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> + happyIn39+ ([happy_var_1]+ )}++happyReduce_111 = happySpecReduce_3 33# happyReduction_111+happyReduction_111 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> + case happyOut37 happy_x_3 of { happy_var_3 -> + happyIn39+ (happy_var_1:happy_var_3+ )}}++happyReduce_112 = happySpecReduce_0 34# happyReduction_112+happyReduction_112 = happyIn40+ ([]+ )++happyReduce_113 = happySpecReduce_2 34# happyReduction_113+happyReduction_113 happy_x_2+ happy_x_1+ = case happyOut31 happy_x_1 of { happy_var_1 -> + case happyOut40 happy_x_2 of { happy_var_2 -> + happyIn40+ (happy_var_1:happy_var_2+ )}}++happyReduce_114 = happyReduce 4# 35# happyReduction_114+happyReduction_114 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut31 happy_x_1 of { happy_var_1 -> + case happyOut47 happy_x_2 of { happy_var_2 -> + case happyOut33 happy_x_4 of { happy_var_4 -> + happyIn41+ ([(happy_var_1,happy_var_2,happy_var_4)]+ ) `HappyStk` happyRest}}}++happyReduce_115 = happyReduce 6# 35# happyReduction_115+happyReduction_115 (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 happyOut31 happy_x_1 of { happy_var_1 -> + case happyOut47 happy_x_2 of { happy_var_2 -> + case happyOut33 happy_x_4 of { happy_var_4 -> + case happyOut41 happy_x_6 of { happy_var_6 -> + happyIn41+ ((happy_var_1,happy_var_2,happy_var_4):happy_var_6+ ) `HappyStk` happyRest}}}}++happyReduce_116 = happySpecReduce_3 36# happyReduction_116+happyReduction_116 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> + case happyOut80 happy_x_2 of { happy_var_2 -> + case happyOut79 happy_x_3 of { happy_var_3 -> + happyIn42+ ((happy_var_1, RVar happy_var_2 happy_var_3 happy_var_1)+ )}}}++happyReduce_117 = happySpecReduce_3 36# happyReduction_117+happyReduction_117 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> + case happyOut33 happy_x_3 of { happy_var_3 -> + happyIn42+ ((happy_var_1, happy_var_3)+ )}}++happyReduce_118 = happyReduce 4# 37# happyReduction_118+happyReduction_118 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut33 happy_x_2 of { happy_var_2 -> + case happyOut80 happy_x_3 of { happy_var_3 -> + case happyOut79 happy_x_4 of { happy_var_4 -> + happyIn43+ (RInfix happy_var_3 happy_var_4 Minus (RConst happy_var_3 happy_var_4 (Num 0)) happy_var_2+ ) `HappyStk` happyRest}}}++happyReduce_119 = happyReduce 5# 37# happyReduction_119+happyReduction_119 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut33 happy_x_1 of { happy_var_1 -> + case happyOut33 happy_x_3 of { happy_var_3 -> + case happyOut80 happy_x_4 of { happy_var_4 -> + case happyOut79 happy_x_5 of { happy_var_5 -> + happyIn43+ (RUserInfix happy_var_4 happy_var_5 False "-" happy_var_1 happy_var_3+ ) `HappyStk` happyRest}}}}++happyReduce_120 = happyReduce 5# 37# happyReduction_120+happyReduction_120 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut33 happy_x_1 of { happy_var_1 -> + case happyOut33 happy_x_3 of { happy_var_3 -> + case happyOut80 happy_x_4 of { happy_var_4 -> + case happyOut79 happy_x_5 of { happy_var_5 -> + happyIn43+ (mkApp happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "Pair")) [happy_var_1, happy_var_3]+ ) `HappyStk` happyRest}}}}++happyReduce_121 = happyReduce 5# 37# happyReduction_121+happyReduction_121 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut33 happy_x_1 of { happy_var_1 -> + case happyOut33 happy_x_3 of { happy_var_3 -> + case happyOut80 happy_x_4 of { happy_var_4 -> + case happyOut79 happy_x_5 of { happy_var_5 -> + happyIn43+ (RUserInfix happy_var_4 happy_var_5 False "<" happy_var_1 happy_var_3+ ) `HappyStk` happyRest}}}}++happyReduce_122 = happyReduce 5# 37# happyReduction_122+happyReduction_122 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut33 happy_x_1 of { happy_var_1 -> + case happyOut33 happy_x_3 of { happy_var_3 -> + case happyOut80 happy_x_4 of { happy_var_4 -> + case happyOut79 happy_x_5 of { happy_var_5 -> + happyIn43+ (RUserInfix happy_var_4 happy_var_5 False ">" happy_var_1 happy_var_3+ ) `HappyStk` happyRest}}}}++happyReduce_123 = happyReduce 5# 37# happyReduction_123+happyReduction_123 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut33 happy_x_1 of { happy_var_1 -> + case happyOut33 happy_x_3 of { happy_var_3 -> + happyIn43+ (RBind (MN "X" 0) (Pi Ex [] happy_var_1) happy_var_3+ ) `HappyStk` happyRest}}++happyReduce_124 = happySpecReduce_1 37# happyReduction_124+happyReduction_124 happy_x_1+ = case happyOut44 happy_x_1 of { happy_var_1 -> + happyIn43+ (happy_var_1+ )}++happyReduce_125 = happyReduce 5# 37# happyReduction_125+happyReduction_125 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut56 happy_x_1 of { happy_var_1 -> + case happyOut56 happy_x_3 of { happy_var_3 -> + case happyOut80 happy_x_4 of { happy_var_4 -> + case happyOut79 happy_x_5 of { happy_var_5 -> + happyIn43+ (RInfix happy_var_4 happy_var_5 JMEq happy_var_1 happy_var_3+ ) `HappyStk` happyRest}}}}++happyReduce_126 = happyReduce 5# 38# happyReduction_126+happyReduction_126 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut33 happy_x_1 of { happy_var_1 -> + case happyOutTok happy_x_2 of { (TokenInfixName happy_var_2) -> + case happyOut33 happy_x_3 of { happy_var_3 -> + case happyOut80 happy_x_4 of { happy_var_4 -> + case happyOut79 happy_x_5 of { happy_var_5 -> + happyIn44+ (RUserInfix happy_var_4 happy_var_5 False happy_var_2 happy_var_1 happy_var_3+ ) `HappyStk` happyRest}}}}}++happyReduce_127 = happyReduce 6# 39# happyReduction_127+happyReduction_127 (happy_x_6 `HappyStk`+ happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOutTok happy_x_2 of { (TokenInfixName happy_var_2) -> + case happyOut33 happy_x_3 of { happy_var_3 -> + case happyOut80 happy_x_4 of { happy_var_4 -> + case happyOut79 happy_x_5 of { happy_var_5 -> + happyIn45+ (RBind (MN "X" 0) (Lam RPlaceholder) + (RUserInfix happy_var_4 happy_var_5 False happy_var_2 (RVar happy_var_4 happy_var_5 (MN "X" 0)) happy_var_3)+ ) `HappyStk` happyRest}}}}++happyReduce_128 = happyReduce 6# 39# happyReduction_128+happyReduction_128 (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 happyOut33 happy_x_2 of { happy_var_2 -> + case happyOutTok happy_x_3 of { (TokenInfixName happy_var_3) -> + case happyOut80 happy_x_4 of { happy_var_4 -> + case happyOut79 happy_x_5 of { happy_var_5 -> + happyIn45+ (RBind (MN "X" 0) (Lam RPlaceholder) + (RUserInfix happy_var_4 happy_var_5 False happy_var_3 happy_var_2 (RVar happy_var_4 happy_var_5 (MN "X" 0)))+ ) `HappyStk` happyRest}}}}++happyReduce_129 = happyReduce 6# 39# happyReduction_129+happyReduction_129 (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 happyOut46 happy_x_2 of { happy_var_2 -> + case happyOut33 happy_x_3 of { happy_var_3 -> + case happyOut80 happy_x_4 of { happy_var_4 -> + case happyOut79 happy_x_5 of { happy_var_5 -> + happyIn45+ (RBind (MN "X" 0) (Lam RPlaceholder) + (RUserInfix happy_var_4 happy_var_5 False happy_var_2 (RVar happy_var_4 happy_var_5 (MN "X" 0)) happy_var_3)+ ) `HappyStk` happyRest}}}}++happyReduce_130 = happyReduce 6# 39# happyReduction_130+happyReduction_130 (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 happyOut33 happy_x_2 of { happy_var_2 -> + case happyOut46 happy_x_3 of { happy_var_3 -> + case happyOut80 happy_x_4 of { happy_var_4 -> + case happyOut79 happy_x_5 of { happy_var_5 -> + happyIn45+ (RBind (MN "X" 0) (Lam RPlaceholder) + (RUserInfix happy_var_4 happy_var_5 False happy_var_3 happy_var_2 (RVar happy_var_4 happy_var_5 (MN "X" 0)))+ ) `HappyStk` happyRest}}}}++happyReduce_131 = happyReduce 6# 39# happyReduction_131+happyReduction_131 (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 happyOut33 happy_x_2 of { happy_var_2 -> + case happyOut80 happy_x_4 of { happy_var_4 -> + case happyOut79 happy_x_5 of { happy_var_5 -> + happyIn45+ (RBind (MN "X" 0) (Lam RPlaceholder) + (RUserInfix happy_var_4 happy_var_5 False "-" happy_var_2 (RVar happy_var_4 happy_var_5 (MN "X" 0)))+ ) `HappyStk` happyRest}}}++happyReduce_132 = happyReduce 6# 39# happyReduction_132+happyReduction_132 (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 happyOut33 happy_x_2 of { happy_var_2 -> + case happyOut80 happy_x_4 of { happy_var_4 -> + case happyOut79 happy_x_5 of { happy_var_5 -> + happyIn45+ (RBind (MN "X" 0) (Lam RPlaceholder) + (RBind (MN "X" 1) (Pi Ex [] happy_var_2) (RVar happy_var_4 happy_var_5 (MN "X" 0)))+ ) `HappyStk` happyRest}}}++happyReduce_133 = happyReduce 6# 39# happyReduction_133+happyReduction_133 (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 happyOut33 happy_x_3 of { happy_var_3 -> + case happyOut80 happy_x_4 of { happy_var_4 -> + case happyOut79 happy_x_5 of { happy_var_5 -> + happyIn45+ (RBind (MN "X" 0) (Lam RPlaceholder) + (RBind (MN "X" 1) (Pi Ex [] (RVar happy_var_4 happy_var_5 (MN "X" 0))) happy_var_3)+ ) `HappyStk` happyRest}}}++happyReduce_134 = happyReduce 5# 39# happyReduction_134+happyReduction_134 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut80 happy_x_3 of { happy_var_3 -> + case happyOut79 happy_x_4 of { happy_var_4 -> + happyIn45+ (RBind (MN "X" 0) (Lam RPlaceholder)+ (RBind (MN "X" 1) (Lam RPlaceholder)+ (RBind (MN "X" 2) (Pi Ex [] (RVar happy_var_3 happy_var_4 (MN "X" 0)))+ (RVar happy_var_3 happy_var_4 (MN "X" 1))))+ ) `HappyStk` happyRest}}++happyReduce_135 = happyReduce 5# 39# happyReduction_135+happyReduction_135 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut80 happy_x_3 of { happy_var_3 -> + case happyOut79 happy_x_4 of { happy_var_4 -> + happyIn45+ (RBind (MN "X" 0) (Lam RPlaceholder)+ (RBind (MN "X" 1) (Lam RPlaceholder)+ (pairDesugar happy_var_3 happy_var_4 (RVar happy_var_3 happy_var_4 (UN "mkPair"))+ [RVar happy_var_3 happy_var_4 (MN "X" 0),+ RVar happy_var_3 happy_var_4 (MN "X" 1)]))+ ) `HappyStk` happyRest}}++happyReduce_136 = happyReduce 6# 39# happyReduction_136+happyReduction_136 (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 happyOut33 happy_x_2 of { happy_var_2 -> + case happyOut80 happy_x_4 of { happy_var_4 -> + case happyOut79 happy_x_5 of { happy_var_5 -> + happyIn45+ (RBind (MN "X" 0) (Lam RPlaceholder)+ (pairDesugar happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "mkPair"))+ [happy_var_2,+ RVar happy_var_4 happy_var_5 (MN "X" 0)])+ ) `HappyStk` happyRest}}}++happyReduce_137 = happyReduce 6# 39# happyReduction_137+happyReduction_137 (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 happyOut33 happy_x_3 of { happy_var_3 -> + case happyOut80 happy_x_4 of { happy_var_4 -> + case happyOut79 happy_x_5 of { happy_var_5 -> + happyIn45+ (RBind (MN "X" 0) (Lam RPlaceholder)+ (pairDesugar happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "mkPair"))+ [RVar happy_var_4 happy_var_5 (MN "X" 0), happy_var_3])+ ) `HappyStk` happyRest}}}++happyReduce_138 = happySpecReduce_1 40# happyReduction_138+happyReduction_138 happy_x_1+ = happyIn46+ ("<"+ )++happyReduce_139 = happySpecReduce_1 40# happyReduction_139+happyReduction_139 happy_x_1+ = happyIn46+ (">"+ )++happyReduce_140 = happySpecReduce_0 41# happyReduction_140+happyReduction_140 = happyIn47+ (RPlaceholder+ )++happyReduce_141 = happySpecReduce_2 41# happyReduction_141+happyReduction_141 happy_x_2+ happy_x_1+ = case happyOut50 happy_x_2 of { happy_var_2 -> + happyIn47+ (happy_var_2+ )}++happyReduce_142 = happySpecReduce_0 42# happyReduction_142+happyReduction_142 = happyIn48+ (RPlaceholder+ )++happyReduce_143 = happySpecReduce_2 42# happyReduction_143+happyReduction_143 happy_x_2+ happy_x_1+ = case happyOut50 happy_x_2 of { happy_var_2 -> + happyIn48+ (happy_var_2+ )}++happyReduce_144 = happyReduce 5# 43# happyReduction_144+happyReduction_144 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut39 happy_x_1 of { happy_var_1 -> + case happyOut48 happy_x_2 of { happy_var_2 -> + case happyOut49 happy_x_5 of { happy_var_5 -> + happyIn49+ (doBind (Pi Im []) (map (\x -> (x, happy_var_2)) happy_var_1) happy_var_5+ ) `HappyStk` happyRest}}}++happyReduce_145 = happySpecReduce_1 43# happyReduction_145+happyReduction_145 happy_x_1+ = case happyOut50 happy_x_1 of { happy_var_1 -> + happyIn49+ (happy_var_1+ )}++happyReduce_146 = happySpecReduce_3 44# happyReduction_146+happyReduction_146 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut50 happy_x_1 of { happy_var_1 -> + case happyOut50 happy_x_3 of { happy_var_3 -> + happyIn50+ (RBind (MN "X" 0) (Pi Ex [] happy_var_1) happy_var_3+ )}}++happyReduce_147 = happyReduce 6# 44# happyReduction_147+happyReduction_147 (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 happyOut35 happy_x_2 of { happy_var_2 -> + case happyOut52 happy_x_4 of { happy_var_4 -> + case happyOut50 happy_x_6 of { happy_var_6 -> + happyIn50+ (doBind (Pi Ex happy_var_4) happy_var_2 happy_var_6+ ) `HappyStk` happyRest}}}++happyReduce_148 = happyReduce 5# 44# happyReduction_148+happyReduction_148 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut35 happy_x_2 of { happy_var_2 -> + case happyOut50 happy_x_5 of { happy_var_5 -> + happyIn50+ (doBind (Pi Ex [Lazy]) happy_var_2 happy_var_5+ ) `HappyStk` happyRest}}++happyReduce_149 = happySpecReduce_3 44# happyReduction_149+happyReduction_149 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut50 happy_x_2 of { happy_var_2 -> + happyIn50+ (bracket happy_var_2+ )}++happyReduce_150 = happyReduce 7# 44# happyReduction_150+happyReduction_150 (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 happyOut50 happy_x_2 of { happy_var_2 -> + case happyOut50 happy_x_4 of { happy_var_4 -> + case happyOut80 happy_x_5 of { happy_var_5 -> + case happyOut79 happy_x_6 of { happy_var_6 -> + happyIn50+ (RInfix happy_var_5 happy_var_6 JMEq happy_var_2 happy_var_4+ ) `HappyStk` happyRest}}}}++happyReduce_151 = happySpecReduce_1 44# happyReduction_151+happyReduction_151 happy_x_1+ = case happyOut32 happy_x_1 of { happy_var_1 -> + happyIn50+ (happy_var_1+ )}++happyReduce_152 = happySpecReduce_3 44# happyReduction_152+happyReduction_152 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut33 happy_x_2 of { happy_var_2 -> + happyIn50+ (happy_var_2+ )}++happyReduce_153 = happyReduce 5# 44# happyReduction_153+happyReduction_153 (happy_x_5 `HappyStk`+ 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 happyOutTok happy_x_2 of { (TokenInfixName happy_var_2) -> + case happyOut50 happy_x_3 of { happy_var_3 -> + case happyOut80 happy_x_4 of { happy_var_4 -> + case happyOut79 happy_x_5 of { happy_var_5 -> + happyIn50+ (RUserInfix happy_var_4 happy_var_5 False happy_var_2 happy_var_1 happy_var_3+ ) `HappyStk` happyRest}}}}}++happyReduce_154 = happyReduce 5# 44# happyReduction_154+happyReduction_154 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut55 happy_x_2 of { happy_var_2 -> + case happyOut80 happy_x_4 of { happy_var_4 -> + case happyOut79 happy_x_5 of { happy_var_5 -> + happyIn50+ (pairDesugar happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "Pair")) happy_var_2+ ) `HappyStk` happyRest}}}++happyReduce_155 = happySpecReduce_1 44# happyReduction_155+happyReduction_155 happy_x_1+ = case happyOut54 happy_x_1 of { happy_var_1 -> + happyIn50+ (happy_var_1+ )}++happyReduce_156 = happySpecReduce_1 45# happyReduction_156+happyReduction_156 happy_x_1+ = happyIn51+ (Lazy+ )++happyReduce_157 = happySpecReduce_1 45# happyReduction_157+happyReduction_157 happy_x_1+ = happyIn51+ (Static+ )++happyReduce_158 = happySpecReduce_3 46# happyReduction_158+happyReduction_158 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut53 happy_x_2 of { happy_var_2 -> + happyIn52+ (happy_var_2+ )}++happyReduce_159 = happySpecReduce_0 46# happyReduction_159+happyReduction_159 = happyIn52+ ([]+ )++happyReduce_160 = happySpecReduce_3 47# happyReduction_160+happyReduction_160 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut51 happy_x_1 of { happy_var_1 -> + case happyOut53 happy_x_3 of { happy_var_3 -> + happyIn53+ (happy_var_1:happy_var_3+ )}}++happyReduce_161 = happySpecReduce_1 47# happyReduction_161+happyReduction_161 happy_x_1+ = case happyOut51 happy_x_1 of { happy_var_1 -> + happyIn53+ ([happy_var_1]+ )}++happyReduce_162 = happyReduce 8# 48# happyReduction_162+happyReduction_162 (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 happyOut31 happy_x_2 of { happy_var_2 -> + case happyOut47 happy_x_3 of { happy_var_3 -> + case happyOut50 happy_x_5 of { happy_var_5 -> + case happyOut80 happy_x_7 of { happy_var_7 -> + case happyOut79 happy_x_8 of { happy_var_8 -> + happyIn54+ (sigDesugar happy_var_7 happy_var_8 (happy_var_2, happy_var_3) happy_var_5+ ) `HappyStk` happyRest}}}}}++happyReduce_163 = happySpecReduce_3 49# happyReduction_163+happyReduction_163 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut50 happy_x_1 of { happy_var_1 -> + case happyOut50 happy_x_3 of { happy_var_3 -> + happyIn55+ (happy_var_1:happy_var_3:[]+ )}}++happyReduce_164 = happySpecReduce_3 49# happyReduction_164+happyReduction_164 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut50 happy_x_1 of { happy_var_1 -> + case happyOut55 happy_x_3 of { happy_var_3 -> + happyIn55+ (happy_var_1:happy_var_3+ )}}++happyReduce_165 = happySpecReduce_3 50# happyReduction_165+happyReduction_165 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut31 happy_x_1 of { happy_var_1 -> + case happyOut80 happy_x_2 of { happy_var_2 -> + case happyOut79 happy_x_3 of { happy_var_3 -> + happyIn56+ (RVar happy_var_2 happy_var_3 happy_var_1+ )}}}++happyReduce_166 = happySpecReduce_3 50# happyReduction_166+happyReduction_166 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut80 happy_x_2 of { happy_var_2 -> + case happyOut79 happy_x_3 of { happy_var_3 -> + happyIn56+ (RReturn happy_var_2 happy_var_3+ )}}++happyReduce_167 = happySpecReduce_3 50# happyReduction_167+happyReduction_167 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut33 happy_x_2 of { happy_var_2 -> + happyIn56+ (bracket happy_var_2+ )}++happyReduce_168 = happySpecReduce_2 50# happyReduction_168+happyReduction_168 happy_x_2+ happy_x_1+ = case happyOut56 happy_x_2 of { happy_var_2 -> + happyIn56+ (RPure happy_var_2+ )}++happyReduce_169 = happySpecReduce_1 50# happyReduction_169+happyReduction_169 happy_x_1+ = case happyOutTok happy_x_1 of { (TokenMetavar happy_var_1) -> + happyIn56+ (RMetavar happy_var_1+ )}++happyReduce_170 = happyReduce 4# 50# happyReduction_170+happyReduction_170 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut31 happy_x_2 of { happy_var_2 -> + case happyOut80 happy_x_3 of { happy_var_3 -> + case happyOut79 happy_x_4 of { happy_var_4 -> + happyIn56+ (RExpVar happy_var_3 happy_var_4 happy_var_2+ ) `HappyStk` happyRest}}}++happyReduce_171 = happySpecReduce_3 50# happyReduction_171+happyReduction_171 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut62 happy_x_1 of { happy_var_1 -> + case happyOut80 happy_x_2 of { happy_var_2 -> + case happyOut79 happy_x_3 of { happy_var_3 -> + happyIn56+ (RConst happy_var_2 happy_var_3 happy_var_1+ )}}}++happyReduce_172 = happySpecReduce_1 50# happyReduction_172+happyReduction_172 happy_x_1+ = happyIn56+ (RRefl+ )++happyReduce_173 = happySpecReduce_3 50# happyReduction_173+happyReduction_173 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut80 happy_x_2 of { happy_var_2 -> + case happyOut79 happy_x_3 of { happy_var_3 -> + happyIn56+ (RVar happy_var_2 happy_var_3 (UN "__Empty")+ )}}++happyReduce_174 = happySpecReduce_3 50# happyReduction_174+happyReduction_174 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut80 happy_x_2 of { happy_var_2 -> + case happyOut79 happy_x_3 of { happy_var_3 -> + happyIn56+ (RVar happy_var_2 happy_var_3 (UN "__Unit")+ )}}++happyReduce_175 = happySpecReduce_1 50# happyReduction_175+happyReduction_175 happy_x_1+ = happyIn56+ (RPlaceholder+ )++happyReduce_176 = happySpecReduce_1 50# happyReduction_176+happyReduction_176 happy_x_1+ = case happyOut59 happy_x_1 of { happy_var_1 -> + happyIn56+ (RDo happy_var_1+ )}++happyReduce_177 = happySpecReduce_3 50# happyReduction_177+happyReduction_177 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut33 happy_x_2 of { happy_var_2 -> + happyIn56+ (RIdiom happy_var_2+ )}++happyReduce_178 = happyReduce 5# 50# happyReduction_178+happyReduction_178 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut58 happy_x_2 of { happy_var_2 -> + case happyOut80 happy_x_4 of { happy_var_4 -> + case happyOut79 happy_x_5 of { happy_var_5 -> + happyIn56+ (pairDesugar happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "mkPair")) happy_var_2+ ) `HappyStk` happyRest}}}++happyReduce_179 = happySpecReduce_1 50# happyReduction_179+happyReduction_179 happy_x_1+ = case happyOut54 happy_x_1 of { happy_var_1 -> + happyIn56+ (happy_var_1+ )}++happyReduce_180 = happySpecReduce_1 50# happyReduction_180+happyReduction_180 happy_x_1+ = case happyOut45 happy_x_1 of { happy_var_1 -> + happyIn56+ (happy_var_1+ )}++happyReduce_181 = happySpecReduce_1 50# happyReduction_181+happyReduction_181 happy_x_1+ = case happyOut57 happy_x_1 of { happy_var_1 -> + happyIn56+ (happy_var_1+ )}++happyReduce_182 = happyReduce 7# 51# happyReduction_182+happyReduction_182 (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 happyOut33 happy_x_2 of { happy_var_2 -> + case happyOut33 happy_x_4 of { happy_var_4 -> + case happyOut80 happy_x_6 of { happy_var_6 -> + case happyOut79 happy_x_7 of { happy_var_7 -> + happyIn57+ (RApp happy_var_6 happy_var_7 (RApp happy_var_6 happy_var_7 (RVar happy_var_6 happy_var_7 (UN "Exists")) happy_var_2) happy_var_4+ ) `HappyStk` happyRest}}}}++happyReduce_183 = happyReduce 5# 51# happyReduction_183+happyReduction_183 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut33 happy_x_2 of { happy_var_2 -> + case happyOut80 happy_x_4 of { happy_var_4 -> + case happyOut79 happy_x_5 of { happy_var_5 -> + happyIn57+ (RApp happy_var_4 happy_var_5 (RApp happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "Exists")) RPlaceholder) happy_var_2+ ) `HappyStk` happyRest}}}++happyReduce_184 = happySpecReduce_3 52# happyReduction_184+happyReduction_184 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut33 happy_x_1 of { happy_var_1 -> + case happyOut33 happy_x_3 of { happy_var_3 -> + happyIn58+ (happy_var_1:happy_var_3:[]+ )}}++happyReduce_185 = happySpecReduce_3 52# happyReduction_185+happyReduction_185 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut33 happy_x_1 of { happy_var_1 -> + case happyOut58 happy_x_3 of { happy_var_3 -> + happyIn58+ (happy_var_1:happy_var_3+ )}}++happyReduce_186 = happyReduce 4# 53# happyReduction_186+happyReduction_186 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut60 happy_x_3 of { happy_var_3 -> + happyIn59+ (happy_var_3+ ) `HappyStk` happyRest}++happyReduce_187 = happyReduce 10# 53# happyReduction_187+happyReduction_187 (happy_x_10 `HappyStk`+ happy_x_9 `HappyStk`+ happy_x_8 `HappyStk`+ happy_x_7 `HappyStk`+ happy_x_6 `HappyStk`+ happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOutTok happy_x_2 of { (TokenBrackName happy_var_2) -> + case happyOut47 happy_x_3 of { happy_var_3 -> + case happyOut33 happy_x_5 of { happy_var_5 -> + case happyOut80 happy_x_6 of { happy_var_6 -> + case happyOut79 happy_x_7 of { happy_var_7 -> + case happyOut60 happy_x_9 of { happy_var_9 -> + happyIn59+ (DoBinding happy_var_6 happy_var_7 happy_var_2 happy_var_3 happy_var_5 : happy_var_9+ ) `HappyStk` happyRest}}}}}}++happyReduce_188 = happySpecReduce_2 54# happyReduction_188+happyReduction_188 happy_x_2+ happy_x_1+ = case happyOut61 happy_x_1 of { happy_var_1 -> + case happyOut60 happy_x_2 of { happy_var_2 -> + happyIn60+ (happy_var_1:happy_var_2+ )}}++happyReduce_189 = happySpecReduce_1 54# happyReduction_189+happyReduction_189 happy_x_1+ = case happyOut61 happy_x_1 of { happy_var_1 -> + happyIn60+ ([happy_var_1]+ )}++happyReduce_190 = happyReduce 7# 55# happyReduction_190+happyReduction_190 (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 happyOut31 happy_x_1 of { happy_var_1 -> + case happyOut47 happy_x_2 of { happy_var_2 -> + case happyOut33 happy_x_4 of { happy_var_4 -> + case happyOut80 happy_x_5 of { happy_var_5 -> + case happyOut79 happy_x_6 of { happy_var_6 -> + happyIn61+ (DoBinding happy_var_5 happy_var_6 happy_var_1 happy_var_2 happy_var_4+ ) `HappyStk` happyRest}}}}}++happyReduce_191 = happyReduce 8# 55# happyReduction_191+happyReduction_191 (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 happyOut31 happy_x_2 of { happy_var_2 -> + case happyOut47 happy_x_3 of { happy_var_3 -> + case happyOut33 happy_x_5 of { happy_var_5 -> + case happyOut80 happy_x_6 of { happy_var_6 -> + case happyOut79 happy_x_7 of { happy_var_7 -> + happyIn61+ (DoLet happy_var_6 happy_var_7 happy_var_2 happy_var_3 happy_var_5+ ) `HappyStk` happyRest}}}}}++happyReduce_192 = happyReduce 4# 55# happyReduction_192+happyReduction_192 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut33 happy_x_1 of { happy_var_1 -> + case happyOut80 happy_x_2 of { happy_var_2 -> + case happyOut79 happy_x_3 of { happy_var_3 -> + happyIn61+ (DoExp happy_var_2 happy_var_3 happy_var_1+ ) `HappyStk` happyRest}}}++happyReduce_193 = happySpecReduce_1 56# happyReduction_193+happyReduction_193 happy_x_1+ = happyIn62+ (TYPE+ )++happyReduce_194 = happySpecReduce_1 56# happyReduction_194+happyReduction_194 happy_x_1+ = happyIn62+ (StringType+ )++happyReduce_195 = happySpecReduce_1 56# happyReduction_195+happyReduction_195 happy_x_1+ = happyIn62+ (IntType+ )++happyReduce_196 = happySpecReduce_1 56# happyReduction_196+happyReduction_196 happy_x_1+ = happyIn62+ (CharType+ )++happyReduce_197 = happySpecReduce_1 56# happyReduction_197+happyReduction_197 happy_x_1+ = happyIn62+ (FloatType+ )++happyReduce_198 = happySpecReduce_1 56# happyReduction_198+happyReduction_198 happy_x_1+ = happyIn62+ (PtrType+ )++happyReduce_199 = happySpecReduce_1 56# happyReduction_199+happyReduction_199 happy_x_1+ = happyIn62+ (Builtin "Handle"+ )++happyReduce_200 = happySpecReduce_1 56# happyReduction_200+happyReduction_200 happy_x_1+ = happyIn62+ (Builtin "Lock"+ )++happyReduce_201 = happySpecReduce_1 56# happyReduction_201+happyReduction_201 happy_x_1+ = case happyOutTok happy_x_1 of { (TokenInt happy_var_1) -> + happyIn62+ (Num happy_var_1+ )}++happyReduce_202 = happySpecReduce_1 56# happyReduction_202+happyReduction_202 happy_x_1+ = case happyOutTok happy_x_1 of { (TokenChar happy_var_1) -> + happyIn62+ (Ch happy_var_1+ )}++happyReduce_203 = happySpecReduce_1 56# happyReduction_203+happyReduction_203 happy_x_1+ = case happyOutTok happy_x_1 of { (TokenString happy_var_1) -> + happyIn62+ (Str happy_var_1+ )}++happyReduce_204 = happySpecReduce_1 56# happyReduction_204+happyReduction_204 happy_x_1+ = case happyOutTok happy_x_1 of { (TokenBool happy_var_1) -> + happyIn62+ (Bo happy_var_1+ )}++happyReduce_205 = happySpecReduce_1 56# happyReduction_205+happyReduction_205 happy_x_1+ = case happyOutTok happy_x_1 of { (TokenFloat happy_var_1) -> + happyIn62+ (Fl happy_var_1+ )}++happyReduce_206 = happySpecReduce_0 57# happyReduction_206+happyReduction_206 = happyIn63+ ([]+ )++happyReduce_207 = happySpecReduce_2 57# happyReduction_207+happyReduction_207 happy_x_2+ happy_x_1+ = case happyOut56 happy_x_1 of { happy_var_1 -> + case happyOut63 happy_x_2 of { happy_var_2 -> + happyIn63+ (happy_var_1:happy_var_2+ )}}++happyReduce_208 = happyReduce 4# 58# happyReduction_208+happyReduction_208 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut49 happy_x_2 of { happy_var_2 -> + case happyOut65 happy_x_3 of { happy_var_3 -> + happyIn64+ ((happy_var_2, happy_var_3)+ ) `HappyStk` happyRest}}++happyReduce_209 = happySpecReduce_3 58# happyReduction_209+happyReduction_209 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut80 happy_x_2 of { happy_var_2 -> + case happyOut79 happy_x_3 of { happy_var_3 -> + happyIn64+ ((RConst happy_var_2 happy_var_3 TYPE, [])+ )}}++happyReduce_210 = happyReduce 4# 58# happyReduction_210+happyReduction_210 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut71 happy_x_1 of { happy_var_1 -> + case happyOut80 happy_x_3 of { happy_var_3 -> + case happyOut79 happy_x_4 of { happy_var_4 -> + happyIn64+ ((mkTyParams happy_var_3 happy_var_4 happy_var_1, [])+ ) `HappyStk` happyRest}}}++happyReduce_211 = happySpecReduce_0 59# happyReduction_211+happyReduction_211 = happyIn65+ ([]+ )++happyReduce_212 = happyReduce 4# 59# happyReduction_212+happyReduction_212 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut70 happy_x_3 of { happy_var_3 -> + happyIn65+ (happy_var_3+ ) `HappyStk` happyRest}++happyReduce_213 = happyReduce 7# 60# happyReduction_213+happyReduction_213 (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 happyOut31 happy_x_4 of { happy_var_4 -> + case happyOut31 happy_x_6 of { happy_var_6 -> + happyIn66+ ((happy_var_4,happy_var_6)+ ) `HappyStk` happyRest}}++happyReduce_214 = happyReduce 6# 61# happyReduction_214+happyReduction_214 (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 happyOut31 happy_x_3 of { happy_var_3 -> + case happyOut31 happy_x_5 of { happy_var_5 -> + happyIn67+ ((happy_var_3,happy_var_5)+ ) `HappyStk` happyRest}}++happyReduce_215 = happyReduce 4# 62# happyReduction_215+happyReduction_215 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut70 happy_x_3 of { happy_var_3 -> + happyIn68+ (happy_var_3+ ) `HappyStk` happyRest}++happyReduce_216 = happySpecReduce_2 63# happyReduction_216+happyReduction_216 happy_x_2+ happy_x_1+ = case happyOut31 happy_x_2 of { happy_var_2 -> + happyIn69+ (happy_var_2+ )}++happyReduce_217 = happySpecReduce_3 64# happyReduction_217+happyReduction_217 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut31 happy_x_1 of { happy_var_1 -> + case happyOut49 happy_x_3 of { happy_var_3 -> + happyIn70+ ([(happy_var_1, happy_var_3)]+ )}}++happyReduce_218 = happyReduce 5# 64# happyReduction_218+happyReduction_218 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut31 happy_x_1 of { happy_var_1 -> + case happyOut49 happy_x_3 of { happy_var_3 -> + case happyOut70 happy_x_5 of { happy_var_5 -> + happyIn70+ ((happy_var_1,happy_var_3):happy_var_5+ ) `HappyStk` happyRest}}}++happyReduce_219 = happySpecReduce_1 65# happyReduction_219+happyReduction_219 happy_x_1+ = case happyOut31 happy_x_1 of { happy_var_1 -> + happyIn71+ ([happy_var_1]+ )}++happyReduce_220 = happySpecReduce_2 65# happyReduction_220+happyReduction_220 happy_x_2+ happy_x_1+ = case happyOut31 happy_x_1 of { happy_var_1 -> + case happyOut71 happy_x_2 of { happy_var_2 -> + happyIn71+ (happy_var_1:happy_var_2+ )}}++happyReduce_221 = happySpecReduce_1 66# happyReduction_221+happyReduction_221 happy_x_1+ = case happyOutTok happy_x_1 of { happy_var_1 -> + happyIn72+ (happy_var_1+ )}++happyReduce_222 = happySpecReduce_1 66# happyReduction_222+happyReduction_222 happy_x_1+ = case happyOutTok happy_x_1 of { happy_var_1 -> + happyIn72+ (happy_var_1+ )}++happyReduce_223 = happySpecReduce_0 67# happyReduction_223+happyReduction_223 = happyIn73+ ([]+ )++happyReduce_224 = happySpecReduce_1 67# happyReduction_224+happyReduction_224 happy_x_1+ = case happyOut74 happy_x_1 of { happy_var_1 -> + happyIn73+ ([happy_var_1]+ )}++happyReduce_225 = happySpecReduce_3 67# happyReduction_225+happyReduction_225 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut74 happy_x_1 of { happy_var_1 -> + case happyOut73 happy_x_3 of { happy_var_3 -> + happyIn73+ (happy_var_1:happy_var_3+ )}}++happyReduce_226 = happySpecReduce_2 68# happyReduction_226+happyReduction_226 happy_x_2+ happy_x_1+ = case happyOut31 happy_x_1 of { happy_var_1 -> + case happyOut75 happy_x_2 of { happy_var_2 -> + happyIn74+ (Full happy_var_1 happy_var_2+ )}}++happyReduce_227 = happySpecReduce_2 68# happyReduction_227+happyReduction_227 happy_x_2+ happy_x_1+ = case happyOut31 happy_x_1 of { happy_var_1 -> + case happyOut63 happy_x_2 of { happy_var_2 -> + happyIn74+ (Simple happy_var_1 happy_var_2+ )}}++happyReduce_228 = happySpecReduce_2 69# happyReduction_228+happyReduction_228 happy_x_2+ happy_x_1+ = case happyOut49 happy_x_2 of { happy_var_2 -> + happyIn75+ (happy_var_2+ )}++happyReduce_229 = happySpecReduce_2 70# happyReduction_229+happyReduction_229 happy_x_2+ happy_x_1+ = case happyOut37 happy_x_2 of { happy_var_2 -> + happyIn76+ (Intro happy_var_2+ )}++happyReduce_230 = happySpecReduce_1 70# happyReduction_230+happyReduction_230 happy_x_1+ = happyIn76+ (Intro []+ )++happyReduce_231 = happySpecReduce_2 70# happyReduction_231+happyReduction_231 happy_x_2+ happy_x_1+ = case happyOut31 happy_x_2 of { happy_var_2 -> + happyIn76+ (Refine happy_var_2+ )}++happyReduce_232 = happySpecReduce_2 70# happyReduction_232+happyReduction_232 happy_x_2+ happy_x_1+ = case happyOut33 happy_x_2 of { happy_var_2 -> + happyIn76+ (Exists happy_var_2+ )}++happyReduce_233 = happySpecReduce_2 70# happyReduction_233+happyReduction_233 happy_x_2+ happy_x_1+ = case happyOut33 happy_x_2 of { happy_var_2 -> + happyIn76+ (Generalise happy_var_2+ )}++happyReduce_234 = happySpecReduce_1 70# happyReduction_234+happyReduction_234 happy_x_1+ = happyIn76+ (ReflP+ )++happyReduce_235 = happySpecReduce_2 70# happyReduction_235+happyReduction_235 happy_x_2+ happy_x_1+ = case happyOut33 happy_x_2 of { happy_var_2 -> + happyIn76+ (Rewrite False False happy_var_2+ )}++happyReduce_236 = happySpecReduce_3 70# happyReduction_236+happyReduction_236 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut33 happy_x_3 of { happy_var_3 -> + happyIn76+ (Rewrite False True happy_var_3+ )}++happyReduce_237 = happySpecReduce_2 70# happyReduction_237+happyReduction_237 happy_x_2+ happy_x_1+ = case happyOut33 happy_x_2 of { happy_var_2 -> + happyIn76+ (Rewrite True False happy_var_2+ )}++happyReduce_238 = happySpecReduce_3 70# happyReduction_238+happyReduction_238 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut33 happy_x_3 of { happy_var_3 -> + happyIn76+ (Rewrite True True happy_var_3+ )}++happyReduce_239 = happySpecReduce_1 70# happyReduction_239+happyReduction_239 happy_x_1+ = happyIn76+ (Compute+ )++happyReduce_240 = happySpecReduce_2 70# happyReduction_240+happyReduction_240 happy_x_2+ happy_x_1+ = case happyOut31 happy_x_2 of { happy_var_2 -> + happyIn76+ (Unfold happy_var_2+ )}++happyReduce_241 = happySpecReduce_1 70# happyReduction_241+happyReduction_241 happy_x_1+ = happyIn76+ (Undo+ )++happyReduce_242 = happySpecReduce_2 70# happyReduction_242+happyReduction_242 happy_x_2+ happy_x_1+ = case happyOut33 happy_x_2 of { happy_var_2 -> + happyIn76+ (Induction happy_var_2+ )}++happyReduce_243 = happySpecReduce_2 70# happyReduction_243+happyReduction_243 happy_x_2+ happy_x_1+ = case happyOut33 happy_x_2 of { happy_var_2 -> + happyIn76+ (Fill happy_var_2+ )}++happyReduce_244 = happySpecReduce_1 70# happyReduction_244+happyReduction_244 happy_x_1+ = happyIn76+ (Trivial+ )++happyReduce_245 = happySpecReduce_2 70# happyReduction_245+happyReduction_245 happy_x_2+ happy_x_1+ = case happyOut33 happy_x_2 of { happy_var_2 -> + happyIn76+ (RunTactic happy_var_2+ )}++happyReduce_246 = happySpecReduce_2 70# happyReduction_246+happyReduction_246 happy_x_2+ happy_x_1+ = case happyOut33 happy_x_2 of { happy_var_2 -> + happyIn76+ (Believe happy_var_2+ )}++happyReduce_247 = happySpecReduce_2 70# happyReduction_247+happyReduction_247 happy_x_2+ happy_x_1+ = case happyOut33 happy_x_2 of { happy_var_2 -> + happyIn76+ (Use happy_var_2+ )}++happyReduce_248 = happySpecReduce_2 70# happyReduction_248+happyReduction_248 happy_x_2+ happy_x_1+ = case happyOut33 happy_x_2 of { happy_var_2 -> + happyIn76+ (Decide happy_var_2+ )}++happyReduce_249 = happySpecReduce_1 70# happyReduction_249+happyReduction_249 happy_x_1+ = happyIn76+ (Abandon+ )++happyReduce_250 = happySpecReduce_1 70# happyReduction_250+happyReduction_250 happy_x_1+ = happyIn76+ (ProofTerm+ )++happyReduce_251 = happySpecReduce_1 70# happyReduction_251+happyReduction_251 happy_x_1+ = happyIn76+ (Qed+ )++happyReduce_252 = happyReduce 4# 71# happyReduction_252+happyReduction_252 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut78 happy_x_3 of { happy_var_3 -> + happyIn77+ (happy_var_3+ ) `HappyStk` happyRest}++happyReduce_253 = happySpecReduce_2 72# happyReduction_253+happyReduction_253 happy_x_2+ happy_x_1+ = case happyOut76 happy_x_1 of { happy_var_1 -> + happyIn78+ ([happy_var_1]+ )}++happyReduce_254 = happySpecReduce_3 72# happyReduction_254+happyReduction_254 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut76 happy_x_1 of { happy_var_1 -> + case happyOut78 happy_x_3 of { happy_var_3 -> + happyIn78+ (happy_var_1:happy_var_3+ )}}++happyReduce_255 = happyMonadReduce 0# 73# happyReduction_255+happyReduction_255 (happyRest) tk+ = happyThen (( getLineNo)+ ) (\r -> happyReturn (happyIn79 r))++happyReduce_256 = happyMonadReduce 0# 74# happyReduction_256+happyReduction_256 (happyRest) tk+ = happyThen (( getFileName)+ ) (\r -> happyReturn (happyIn80 r))++happyReduce_257 = happyMonadReduce 0# 75# happyReduction_257+happyReduction_257 (happyRest) tk+ = happyThen (( getOps)+ ) (\r -> happyReturn (happyIn81 r))++happyNewToken action sts stk+ = lexer(\tk -> + let cont i = happyDoAction i tk action sts stk in+ case tk of {+ TokenEOF -> happyDoAction 120# tk action sts stk;+ TokenName happy_dollar_dollar -> cont 1#;+ TokenInfixName happy_dollar_dollar -> cont 2#;+ TokenBrackName happy_dollar_dollar -> cont 3#;+ TokenString happy_dollar_dollar -> cont 4#;+ TokenInt happy_dollar_dollar -> cont 5#;+ TokenFloat happy_dollar_dollar -> cont 6#;+ TokenChar happy_dollar_dollar -> cont 7#;+ TokenBool happy_dollar_dollar -> cont 8#;+ TokenMetavar happy_dollar_dollar -> cont 9#;+ TokenColon -> cont 10#;+ TokenSemi -> cont 11#;+ TokenBar -> cont 12#;+ TokenStars -> cont 13#;+ TokenLambda -> cont 14#;+ TokenHashOB -> cont 15#;+ TokenOB -> cont 16#;+ TokenCB -> cont 17#;+ TokenOCB -> cont 18#;+ TokenCCB -> cont 19#;+ TokenOSB -> cont 20#;+ TokenCSB -> cont 21#;+ TokenOId -> cont 22#;+ TokenCId -> cont 23#;+ TokenLPair -> cont 24#;+ TokenRPair -> cont 25#;+ TokenExists -> cont 26#;+ TokenTilde -> cont 27#;+ TokenPlus -> cont 28#;+ TokenMinus -> cont 29#;+ TokenTimes -> cont 30#;+ TokenDivide -> cont 31#;+ TokenEquals -> cont 32#;+ TokenMightEqual -> cont 33#;+ TokenLT -> cont 34#;+ TokenGT -> cont 35#;+ TokenEllipsis -> cont 36#;+ TokenUnderscore -> cont 37#;+ TokenComma -> cont 38#;+ TokenTuple -> cont 39#;+ TokenBang -> cont 40#;+ TokenConcat -> cont 41#;+ TokenGE -> cont 42#;+ TokenLE -> cont 43#;+ TokenOr -> cont 44#;+ TokenAnd -> cont 45#;+ TokenArrow -> cont 46#;+ TokenFatArrow -> cont 47#;+ TokenTransArrow -> cont 48#;+ TokenLeftArrow -> cont 49#;+ TokenIntType -> cont 50#;+ TokenCharType -> cont 51#;+ TokenFloatType -> cont 52#;+ TokenStringType -> cont 53#;+ TokenHandleType -> cont 54#;+ TokenPtrType -> cont 55#;+ TokenLockType -> cont 56#;+ TokenType -> cont 57#;+ TokenLazyBracket -> cont 58#;+ TokenDataType -> cont 59#;+ TokenInfix -> cont 60#;+ TokenInfixL -> cont 61#;+ TokenInfixR -> cont 62#;+ TokenUsing -> cont 63#;+ TokenIdiom -> cont 64#;+ TokenParams -> cont 65#;+ TokenNamespace -> cont 66#;+ TokenPublic -> cont 67#;+ TokenPrivate -> cont 68#;+ TokenAbstract -> cont 69#;+ TokenNoElim -> cont 70#;+ TokenCollapsible -> cont 71#;+ TokenWhere -> cont 72#;+ TokenWith -> cont 73#;+ TokenPartial -> cont 74#;+ TokenSyntax -> cont 75#;+ TokenLazy -> cont 76#;+ TokenStatic -> cont 77#;+ TokenRefl -> cont 78#;+ TokenEmptyType -> cont 79#;+ TokenUnitType -> cont 80#;+ TokenInclude -> cont 81#;+ TokenExport -> cont 82#;+ TokenInline -> cont 83#;+ TokenDo -> cont 84#;+ TokenReturn -> cont 85#;+ TokenIf -> cont 86#;+ TokenThen -> cont 87#;+ TokenElse -> cont 88#;+ TokenLet -> cont 89#;+ TokenIn -> cont 90#;+ TokenProof -> cont 91#;+ TokenIntro -> cont 92#;+ TokenRefine -> cont 93#;+ TokenGeneralise -> cont 94#;+ TokenReflP -> cont 95#;+ TokenRewrite -> cont 96#;+ TokenRewriteAll -> cont 97#;+ TokenCompute -> cont 98#;+ TokenUnfold -> cont 99#;+ TokenUndo -> cont 100#;+ TokenInduction -> cont 101#;+ TokenFill -> cont 102#;+ TokenTrivial -> cont 103#;+ TokenMkTac -> cont 104#;+ TokenBelieve -> cont 105#;+ TokenUse -> cont 106#;+ TokenDecide -> cont 107#;+ TokenAbandon -> cont 108#;+ TokenProofTerm -> cont 109#;+ TokenQED -> cont 110#;+ TokenLaTeX -> cont 111#;+ TokenNoCG -> cont 112#;+ TokenEval -> cont 113#;+ TokenSpec -> cont 114#;+ TokenFreeze -> cont 115#;+ TokenThaw -> cont 116#;+ TokenTransform -> cont 117#;+ TokenCInclude -> cont 118#;+ TokenCLib -> cont 119#;+ _ -> happyError' tk+ })++happyError_ tk = happyError' tk++happyThen :: () => P a -> (a -> P b) -> P b+happyThen = (thenP)+happyReturn :: () => a -> P a+happyReturn = (returnP)+happyThen1 = happyThen+happyReturn1 :: () => a -> P a+happyReturn1 = happyReturn+happyError' :: () => (Token) -> P a+happyError' tk = (\token -> happyError) tk++mkparse = happySomeParser where+ happySomeParser = happyThen (happyParse 0#) (\x -> happyReturn (happyOut6 x))++mkparseTerm = happySomeParser where+ happySomeParser = happyThen (happyParse 1#) (\x -> happyReturn (happyOut33 x))++mkparseTactic = happySomeParser where+ happySomeParser = happyThen (happyParse 2#) (\x -> happyReturn (happyOut76 x))++happySeq = happyDontSeq+++data ConParse = Full Id RawTerm+ | Simple Id [RawTerm]++parse :: String -> FilePath -> Result [Decl]+parse s fn = do ds <- mkparse s fn 1 []+ collectDecls ds++processImports :: [Opt] -> [FilePath] -> Result [Decl] -> + IO ([Decl], [FilePath])+processImports opts imped (Success ds) = pi imped [] ds+ where pi imps decls ((PInclude fp):xs)+ | fp `elem` imps = pi imps decls xs+ | otherwise = do+ f <- readLibFile defaultLibPath fp+ when (Verbose `elem` opts) $ putStrLn ("Reading " ++ fp)+ case parse f fp of+ Success t -> pi (fp:imps) decls (t++xs)+ Failure e f l ->+ fail $ f ++ ":" ++ show l ++ ":" ++ e+ pi imps decls ((Using t ds):xs)+ = do (ds',imps') <- pi imps [] ds+ pi imps' (decls++[Using t ds']) xs+ pi imps decls ((Params t ds):xs)+ = do (ds',imps') <- pi imps [] ds+ pi imps' (decls++[Params t ds']) xs+ pi imps decls ((DoUsing b r ds):xs)+ = do (ds',imps') <- pi imps [] ds+ pi imps' (decls++[DoUsing b r ds']) xs+ pi imps decls ((Idiom b r ds):xs)+ = do (ds',imps') <- pi imps [] ds+ pi imps' (decls++[Idiom b r ds']) xs+ pi imps decls ((Namespace n ds):xs)+ = do (ds',imps') <- pi imps [] ds+ pi imps' (decls++[Namespace n ds']) xs+ pi imps decls (x:xs) = pi imps (decls++[x]) xs+ pi imps decls [] = return (decls, imps)++processImports _ imped (Failure e f l) + = fail $ show f ++ ":" ++ show l ++ ":" ++ show e+++parseTerm :: String -> Result RawTerm+parseTerm s = mkparseTerm s "(input)" 0 []++parseTactic :: String -> Result ITactic+parseTactic s = mkparseTactic s "(tactic)" 0 []++mkCon :: RawTerm -> ConParse -> (Id,RawTerm)+mkCon _ (Full n t) = (n,t)+mkCon ty (Simple n args) = (n, mkConTy args ty)+ where mkConTy [] ty = ty+ mkConTy (a:as) ty = RBind (MN "X" 0) (Pi Ex [] a) (mkConTy as ty)++mkDef file line (n, tms) = mkImpApp (RVar file line n) tms+ where mkImpApp f [] = f+ mkImpApp f ((tm,Just n):ts) = mkImpApp (RAppImp file line n f tm) ts+ mkImpApp f ((tm, Nothing):ts) = mkImpApp (RApp file line f tm) ts++doBind :: (RawTerm -> RBinder) -> [(Id,RawTerm)] -> RawTerm -> RawTerm+doBind b [] t = t+doBind b ((x,ty):ts) tm = RBind x (b ty) (doBind b ts tm)++doLetBind :: [(Id,RawTerm,RawTerm)] -> RawTerm -> RawTerm+doLetBind [] t = t+doLetBind ((x,ty,val):ts) tm = RBind x (RLet val ty) (doLetBind ts tm)++mkTyApp :: String -> Int -> Id -> RawTerm -> RawTerm+mkTyApp file line n ty = mkApp file line (RVar file line n) (getTyArgs ty)+ where getTyArgs (RBind n _ t) = (RVar file line n):(getTyArgs t)+ getTyArgs x = []++mkTyParams :: String -> Int -> [Id] -> RawTerm+mkTyParams f l [] = RConst f l TYPE+mkTyParams f l (x:xs) = RBind x (Pi Ex [] (RConst f l TYPE)) (mkTyParams f l xs) mkDatatype :: String -> Int -> Id -> Either RawTerm ((RawTerm, [(Id, RawTerm)]), [ConParse]) ->
dist/build/Idris/idris-tmp/Idris/Parser.hs view
@@ -29,3400 +29,3490 @@ -- parser produced by Happy Version 1.18.4 -newtype HappyAbsSyn t69 = HappyAbsSyn HappyAny-#if __GLASGOW_HASKELL__ >= 607-type HappyAny = Happy_GHC_Exts.Any-#else-type HappyAny = forall a . a-#endif-happyIn6 :: ([ParseDecl]) -> (HappyAbsSyn t69)-happyIn6 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn6 #-}-happyOut6 :: (HappyAbsSyn t69) -> ([ParseDecl])-happyOut6 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut6 #-}-happyIn7 :: (ParseDecl) -> (HappyAbsSyn t69)-happyIn7 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn7 #-}-happyOut7 :: (HappyAbsSyn t69) -> (ParseDecl)-happyOut7 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut7 #-}-happyIn8 :: (Decl) -> (HappyAbsSyn t69)-happyIn8 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn8 #-}-happyOut8 :: (HappyAbsSyn t69) -> (Decl)-happyOut8 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut8 #-}-happyIn9 :: (ParseDecl) -> (HappyAbsSyn t69)-happyIn9 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn9 #-}-happyOut9 :: (HappyAbsSyn t69) -> (ParseDecl)-happyOut9 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut9 #-}-happyIn10 :: (CGFlag) -> (HappyAbsSyn t69)-happyIn10 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn10 #-}-happyOut10 :: (HappyAbsSyn t69) -> (CGFlag)-happyOut10 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut10 #-}-happyIn11 :: (Bool) -> (HappyAbsSyn t69)-happyIn11 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn11 #-}-happyOut11 :: (HappyAbsSyn t69) -> (Bool)-happyOut11 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut11 #-}-happyIn12 :: ([RawTerm]) -> (HappyAbsSyn t69)-happyIn12 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn12 #-}-happyOut12 :: (HappyAbsSyn t69) -> ([RawTerm])-happyOut12 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut12 #-}-happyIn13 :: (RawTerm) -> (HappyAbsSyn t69)-happyIn13 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn13 #-}-happyOut13 :: (HappyAbsSyn t69) -> (RawTerm)-happyOut13 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut13 #-}-happyIn14 :: ([ParseDecl]) -> (HappyAbsSyn t69)-happyIn14 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn14 #-}-happyOut14 :: (HappyAbsSyn t69) -> ([ParseDecl])-happyOut14 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut14 #-}-happyIn15 :: ([CGFlag]) -> (HappyAbsSyn t69)-happyIn15 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn15 #-}-happyOut15 :: (HappyAbsSyn t69) -> ([CGFlag])-happyOut15 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut15 #-}-happyIn16 :: ([CGFlag]) -> (HappyAbsSyn t69)-happyIn16 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn16 #-}-happyOut16 :: (HappyAbsSyn t69) -> ([CGFlag])-happyOut16 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut16 #-}-happyIn17 :: ([CGFlag]) -> (HappyAbsSyn t69)-happyIn17 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn17 #-}-happyOut17 :: (HappyAbsSyn t69) -> ([CGFlag])-happyOut17 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut17 #-}-happyIn18 :: ([Decl]) -> (HappyAbsSyn t69)-happyIn18 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn18 #-}-happyOut18 :: (HappyAbsSyn t69) -> ([Decl])-happyOut18 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut18 #-}-happyIn19 :: ([String]) -> (HappyAbsSyn t69)-happyIn19 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn19 #-}-happyOut19 :: (HappyAbsSyn t69) -> ([String])-happyOut19 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut19 #-}-happyIn20 :: (String) -> (HappyAbsSyn t69)-happyIn20 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn20 #-}-happyOut20 :: (HappyAbsSyn t69) -> (String)-happyOut20 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut20 #-}-happyIn21 :: (Fixity) -> (HappyAbsSyn t69)-happyIn21 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn21 #-}-happyOut21 :: (HappyAbsSyn t69) -> (Fixity)-happyOut21 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut21 #-}-happyIn22 :: (Decl) -> (HappyAbsSyn t69)-happyIn22 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn22 #-}-happyOut22 :: (HappyAbsSyn t69) -> (Decl)-happyOut22 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut22 #-}-happyIn23 :: ([(Id,String)]) -> (HappyAbsSyn t69)-happyIn23 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn23 #-}-happyOut23 :: (HappyAbsSyn t69) -> ([(Id,String)])-happyOut23 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut23 #-}-happyIn24 :: ((Id, [(RawTerm, Maybe Id)])) -> (HappyAbsSyn t69)-happyIn24 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn24 #-}-happyOut24 :: (HappyAbsSyn t69) -> ((Id, [(RawTerm, Maybe Id)]))-happyOut24 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut24 #-}-happyIn25 :: ([(RawTerm,Maybe Id)]) -> (HappyAbsSyn t69)-happyIn25 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn25 #-}-happyOut25 :: (HappyAbsSyn t69) -> ([(RawTerm,Maybe Id)])-happyOut25 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut25 #-}-happyIn26 :: (Datatype) -> (HappyAbsSyn t69)-happyIn26 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn26 #-}-happyOut26 :: (HappyAbsSyn t69) -> (Datatype)-happyOut26 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut26 #-}-happyIn27 :: (Either RawTerm ((RawTerm, [(Id, RawTerm)]), [ConParse])) -> (HappyAbsSyn t69)-happyIn27 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn27 #-}-happyOut27 :: (HappyAbsSyn t69) -> (Either RawTerm ((RawTerm, [(Id, RawTerm)]), [ConParse]))-happyOut27 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut27 #-}-happyIn28 :: ([TyOpt]) -> (HappyAbsSyn t69)-happyIn28 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn28 #-}-happyOut28 :: (HappyAbsSyn t69) -> ([TyOpt])-happyOut28 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut28 #-}-happyIn29 :: ([TyOpt]) -> (HappyAbsSyn t69)-happyIn29 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn29 #-}-happyOut29 :: (HappyAbsSyn t69) -> ([TyOpt])-happyOut29 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut29 #-}-happyIn30 :: (TyOpt) -> (HappyAbsSyn t69)-happyIn30 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn30 #-}-happyOut30 :: (HappyAbsSyn t69) -> (TyOpt)-happyOut30 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut30 #-}-happyIn31 :: (Id) -> (HappyAbsSyn t69)-happyIn31 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn31 #-}-happyOut31 :: (HappyAbsSyn t69) -> (Id)-happyOut31 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut31 #-}-happyIn32 :: (RawTerm) -> (HappyAbsSyn t69)-happyIn32 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn32 #-}-happyOut32 :: (HappyAbsSyn t69) -> (RawTerm)-happyOut32 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut32 #-}-happyIn33 :: (RawTerm) -> (HappyAbsSyn t69)-happyIn33 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn33 #-}-happyOut33 :: (HappyAbsSyn t69) -> (RawTerm)-happyOut33 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut33 #-}-happyIn34 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t69)-happyIn34 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn34 #-}-happyOut34 :: (HappyAbsSyn t69) -> ([(Id, RawTerm)])-happyOut34 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut34 #-}-happyIn35 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t69)-happyIn35 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn35 #-}-happyOut35 :: (HappyAbsSyn t69) -> ([(Id, RawTerm)])-happyOut35 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut35 #-}-happyIn36 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t69)-happyIn36 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn36 #-}-happyOut36 :: (HappyAbsSyn t69) -> ([(Id, RawTerm)])-happyOut36 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut36 #-}-happyIn37 :: ([Id]) -> (HappyAbsSyn t69)-happyIn37 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn37 #-}-happyOut37 :: (HappyAbsSyn t69) -> ([Id])-happyOut37 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut37 #-}-happyIn38 :: ([(Id, Int)]) -> (HappyAbsSyn t69)-happyIn38 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn38 #-}-happyOut38 :: (HappyAbsSyn t69) -> ([(Id, Int)])-happyOut38 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut38 #-}-happyIn39 :: ([Id]) -> (HappyAbsSyn t69)-happyIn39 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn39 #-}-happyOut39 :: (HappyAbsSyn t69) -> ([Id])-happyOut39 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut39 #-}-happyIn40 :: ([Id]) -> (HappyAbsSyn t69)-happyIn40 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn40 #-}-happyOut40 :: (HappyAbsSyn t69) -> ([Id])-happyOut40 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut40 #-}-happyIn41 :: ([(Id, RawTerm, RawTerm)]) -> (HappyAbsSyn t69)-happyIn41 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn41 #-}-happyOut41 :: (HappyAbsSyn t69) -> ([(Id, RawTerm, RawTerm)])-happyOut41 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut41 #-}-happyIn42 :: ((Id, RawTerm)) -> (HappyAbsSyn t69)-happyIn42 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn42 #-}-happyOut42 :: (HappyAbsSyn t69) -> ((Id, RawTerm))-happyOut42 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut42 #-}-happyIn43 :: (RawTerm) -> (HappyAbsSyn t69)-happyIn43 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn43 #-}-happyOut43 :: (HappyAbsSyn t69) -> (RawTerm)-happyOut43 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut43 #-}-happyIn44 :: (RawTerm) -> (HappyAbsSyn t69)-happyIn44 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn44 #-}-happyOut44 :: (HappyAbsSyn t69) -> (RawTerm)-happyOut44 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut44 #-}-happyIn45 :: (RawTerm) -> (HappyAbsSyn t69)-happyIn45 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn45 #-}-happyOut45 :: (HappyAbsSyn t69) -> (RawTerm)-happyOut45 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut45 #-}-happyIn46 :: (String) -> (HappyAbsSyn t69)-happyIn46 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn46 #-}-happyOut46 :: (HappyAbsSyn t69) -> (String)-happyOut46 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut46 #-}-happyIn47 :: (RawTerm) -> (HappyAbsSyn t69)-happyIn47 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn47 #-}-happyOut47 :: (HappyAbsSyn t69) -> (RawTerm)-happyOut47 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut47 #-}-happyIn48 :: (RawTerm) -> (HappyAbsSyn t69)-happyIn48 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn48 #-}-happyOut48 :: (HappyAbsSyn t69) -> (RawTerm)-happyOut48 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut48 #-}-happyIn49 :: (RawTerm) -> (HappyAbsSyn t69)-happyIn49 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn49 #-}-happyOut49 :: (HappyAbsSyn t69) -> (RawTerm)-happyOut49 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut49 #-}-happyIn50 :: (RawTerm) -> (HappyAbsSyn t69)-happyIn50 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn50 #-}-happyOut50 :: (HappyAbsSyn t69) -> (RawTerm)-happyOut50 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut50 #-}-happyIn51 :: (RawTerm) -> (HappyAbsSyn t69)-happyIn51 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn51 #-}-happyOut51 :: (HappyAbsSyn t69) -> (RawTerm)-happyOut51 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut51 #-}-happyIn52 :: ([RawTerm]) -> (HappyAbsSyn t69)-happyIn52 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn52 #-}-happyOut52 :: (HappyAbsSyn t69) -> ([RawTerm])-happyOut52 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut52 #-}-happyIn53 :: (RawTerm) -> (HappyAbsSyn t69)-happyIn53 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn53 #-}-happyOut53 :: (HappyAbsSyn t69) -> (RawTerm)-happyOut53 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut53 #-}-happyIn54 :: (RawTerm) -> (HappyAbsSyn t69)-happyIn54 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn54 #-}-happyOut54 :: (HappyAbsSyn t69) -> (RawTerm)-happyOut54 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut54 #-}-happyIn55 :: ([RawTerm]) -> (HappyAbsSyn t69)-happyIn55 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn55 #-}-happyOut55 :: (HappyAbsSyn t69) -> ([RawTerm])-happyOut55 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut55 #-}-happyIn56 :: ([Do]) -> (HappyAbsSyn t69)-happyIn56 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn56 #-}-happyOut56 :: (HappyAbsSyn t69) -> ([Do])-happyOut56 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut56 #-}-happyIn57 :: ([Do]) -> (HappyAbsSyn t69)-happyIn57 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn57 #-}-happyOut57 :: (HappyAbsSyn t69) -> ([Do])-happyOut57 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut57 #-}-happyIn58 :: (Do) -> (HappyAbsSyn t69)-happyIn58 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn58 #-}-happyOut58 :: (HappyAbsSyn t69) -> (Do)-happyOut58 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut58 #-}-happyIn59 :: (Constant) -> (HappyAbsSyn t69)-happyIn59 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn59 #-}-happyOut59 :: (HappyAbsSyn t69) -> (Constant)-happyOut59 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut59 #-}-happyIn60 :: ([RawTerm]) -> (HappyAbsSyn t69)-happyIn60 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn60 #-}-happyOut60 :: (HappyAbsSyn t69) -> ([RawTerm])-happyOut60 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut60 #-}-happyIn61 :: ((RawTerm, [(Id, RawTerm)])) -> (HappyAbsSyn t69)-happyIn61 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn61 #-}-happyOut61 :: (HappyAbsSyn t69) -> ((RawTerm, [(Id, RawTerm)]))-happyOut61 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut61 #-}-happyIn62 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t69)-happyIn62 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn62 #-}-happyOut62 :: (HappyAbsSyn t69) -> ([(Id, RawTerm)])-happyOut62 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut62 #-}-happyIn63 :: ((Id,Id)) -> (HappyAbsSyn t69)-happyIn63 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn63 #-}-happyOut63 :: (HappyAbsSyn t69) -> ((Id,Id))-happyOut63 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut63 #-}-happyIn64 :: ((Id,Id)) -> (HappyAbsSyn t69)-happyIn64 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn64 #-}-happyOut64 :: (HappyAbsSyn t69) -> ((Id,Id))-happyOut64 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut64 #-}-happyIn65 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t69)-happyIn65 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn65 #-}-happyOut65 :: (HappyAbsSyn t69) -> ([(Id, RawTerm)])-happyOut65 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut65 #-}-happyIn66 :: (Id) -> (HappyAbsSyn t69)-happyIn66 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn66 #-}-happyOut66 :: (HappyAbsSyn t69) -> (Id)-happyOut66 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut66 #-}-happyIn67 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t69)-happyIn67 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn67 #-}-happyOut67 :: (HappyAbsSyn t69) -> ([(Id, RawTerm)])-happyOut67 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut67 #-}-happyIn68 :: ([Id]) -> (HappyAbsSyn t69)-happyIn68 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn68 #-}-happyOut68 :: (HappyAbsSyn t69) -> ([Id])-happyOut68 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut68 #-}-happyIn69 :: t69 -> (HappyAbsSyn t69)-happyIn69 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn69 #-}-happyOut69 :: (HappyAbsSyn t69) -> t69-happyOut69 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut69 #-}-happyIn70 :: ([ConParse]) -> (HappyAbsSyn t69)-happyIn70 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn70 #-}-happyOut70 :: (HappyAbsSyn t69) -> ([ConParse])-happyOut70 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut70 #-}-happyIn71 :: (ConParse) -> (HappyAbsSyn t69)-happyIn71 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn71 #-}-happyOut71 :: (HappyAbsSyn t69) -> (ConParse)-happyOut71 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut71 #-}-happyIn72 :: (RawTerm) -> (HappyAbsSyn t69)-happyIn72 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn72 #-}-happyOut72 :: (HappyAbsSyn t69) -> (RawTerm)-happyOut72 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut72 #-}-happyIn73 :: (ITactic) -> (HappyAbsSyn t69)-happyIn73 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn73 #-}-happyOut73 :: (HappyAbsSyn t69) -> (ITactic)-happyOut73 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut73 #-}-happyIn74 :: ([ITactic]) -> (HappyAbsSyn t69)-happyIn74 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn74 #-}-happyOut74 :: (HappyAbsSyn t69) -> ([ITactic])-happyOut74 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut74 #-}-happyIn75 :: ([ITactic]) -> (HappyAbsSyn t69)-happyIn75 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn75 #-}-happyOut75 :: (HappyAbsSyn t69) -> ([ITactic])-happyOut75 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut75 #-}-happyIn76 :: (LineNumber) -> (HappyAbsSyn t69)-happyIn76 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn76 #-}-happyOut76 :: (HappyAbsSyn t69) -> (LineNumber)-happyOut76 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut76 #-}-happyIn77 :: (String) -> (HappyAbsSyn t69)-happyIn77 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn77 #-}-happyOut77 :: (HappyAbsSyn t69) -> (String)-happyOut77 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut77 #-}-happyIn78 :: (Fixities) -> (HappyAbsSyn t69)-happyIn78 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn78 #-}-happyOut78 :: (HappyAbsSyn t69) -> (Fixities)-happyOut78 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut78 #-}-happyInTok :: (Token) -> (HappyAbsSyn t69)-happyInTok x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyInTok #-}-happyOutTok :: (HappyAbsSyn t69) -> (Token)-happyOutTok x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOutTok #-}---happyActOffsets :: HappyAddr-happyActOffsets = HappyA# "\x1a\x00\x44\x05\x1e\x0e\x00\x00\xf2\x03\x13\x01\x13\x01\x44\x05\x00\x00\x46\x03\xf1\x02\x00\x00\x13\x01\x00\x00\x44\x05\x44\x05\x00\x00\x44\x05\x44\x05\x44\x05\x44\x05\x00\x00\x00\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x43\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x13\x01\x23\x09\x47\x02\x44\x05\x44\x05\x17\x08\x44\x05\x00\x00\x13\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x05\x00\x00\x00\x00\x00\x00\xb9\x00\x00\x00\x44\x05\x6a\x00\xeb\x03\x01\x00\x00\x00\x00\x00\x01\x00\x5a\x04\x00\x00\x36\x04\x00\x00\x0d\x02\x4a\x04\x40\x04\x3f\x04\x3d\x04\x35\x04\x5d\x09\xb9\x01\x27\x04\x00\x00\x00\x00\x00\x00\x31\x04\x30\x04\x2a\x04\x6a\x00\x6a\x00\x34\x04\xf6\x03\x1d\x04\x2b\x04\x44\x05\x18\x04\x17\x04\x00\x00\x00\x00\x8b\x03\x0f\x04\x6a\x00\x06\x04\x0e\x04\x6a\x00\x00\x00\x6a\x00\x6a\x00\x6a\x00\x6a\x00\x12\x02\x03\x04\x00\x00\x00\x00\x00\x00\x00\x00\xfc\xff\x00\x00\x17\x00\x00\x00\x00\x00\x9c\x02\x00\x00\x00\x00\x00\x00\xcf\x00\xcf\x00\xcf\x00\xcf\x00\xcf\x00\x00\x00\xdd\x07\x08\x04\x0e\x01\xe9\x08\x00\x04\xe9\xff\x5d\x09\xb9\x01\x00\x00\x00\x00\x07\x04\xb7\x03\x8c\x02\x00\x00\x05\x04\xef\x04\x00\x00\x00\x00\x0b\x04\x00\x00\x0b\x04\x00\x00\x0c\x0a\xa8\x0a\xca\x01\xfc\x09\x9a\x04\xfb\x03\x9a\x04\x9a\x04\xf9\x03\xf8\x03\x9a\x04\x9a\x04\xb2\x01\x4e\x00\x00\x00\x9a\x04\xaf\x08\x6a\x00\xfd\x03\xce\x03\x00\x00\x17\x08\xe7\x03\x00\x00\x9a\x04\xdc\x03\x9a\x04\x9a\x04\x9a\x04\x9a\x04\x9a\x04\x00\x00\x8a\x01\x76\x01\x68\x01\x54\x01\x46\x01\x32\x01\x00\x00\x24\x01\x9a\x04\x10\x01\x9a\x04\xc4\x00\x00\x00\xd5\x03\x00\x00\x6a\x00\x5b\x00\x05\x00\x00\x00\xef\x03\xef\x03\xef\x03\xef\x03\xef\x03\x00\x00\x9a\x04\xef\x03\x17\x08\x00\x00\x00\x00\x00\x00\x9a\x04\xc7\x03\x23\x09\xe2\x03\xda\x03\xc0\x03\xb7\x01\xd4\x03\x86\x00\xcf\x03\x8f\x0a\x23\x09\x00\x00\x23\x09\xd0\x03\x00\x00\x17\x09\x00\x00\x17\x09\x00\x00\x17\x09\x00\x00\x17\x09\x00\x00\x9a\x04\x00\x00\x9a\x04\x9a\x04\x9a\x04\x9a\x04\x9a\x04\xcd\x03\x00\x00\x00\x00\x9a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfa\xff\x17\x09\xc4\x03\x45\x04\x6a\x00\x96\x03\x00\x00\xf0\x03\xf0\x03\xa6\x03\xba\x03\x9e\x03\xb3\x03\xf0\x03\xf0\x03\xf0\x03\x67\x03\x1e\x0e\xb4\x03\x97\x00\x03\x00\x97\x03\xdd\x07\xf0\x03\x00\x00\x00\x00\xa9\x03\xa8\x03\xa4\x03\xa2\x03\xa1\x03\x00\x00\x00\x00\xef\x09\x9f\x03\x00\x00\x00\x00\xf0\x03\xf0\x03\xf0\x03\x00\x00\x9a\x03\x86\x03\x00\x00\x00\x00\xe3\x00\x9d\x03\x94\x03\x80\x03\x87\x03\x6a\x00\x7d\x03\x01\x00\x6a\x00\x83\x03\x77\x03\x00\x00\xf0\x03\x82\x0a\x8d\x03\x00\x00\x69\x03\x00\x00\xf0\x03\x00\x00\x00\x00\x6a\x00\x00\x00\xe9\x08\x00\x00\x6a\x00\x6a\x00\x70\x03\xe9\x08\x00\x00\x00\x00\x12\x02\x00\x00\x80\x0a\x6d\x0a\x5a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x0a\x00\x00\x6a\x00\x00\x00\x00\x00\xcd\x01\xcd\x01\x82\x03\x00\x00\x00\x00\x00\x00\x7c\x03\x78\x03\x23\x09\x7f\x03\x76\x03\x00\x00\x46\x0a\xac\x01\x32\x0a\x00\x00\xb9\x01\x00\x00\xf0\x03\xa7\x00\x45\x00\xf0\x03\x7b\x03\x00\x00\x00\x00\x00\x00\x57\x03\x76\x08\x00\x00\x51\x08\x29\x0a\x00\x00\x23\x09\x00\x00\x0e\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x03\x00\x00\x6f\x03\x00\x00\x17\x08\x00\x00\x55\x03\x00\x00\x00\x00\x00\x00\x00\x00\x23\x09\x23\x09\x54\x03\xe9\x08\x6a\x00\x53\x03\xe9\x08\x03\x00\x6a\x00\x81\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9f\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x08\x51\x08\x51\x08\x51\x08\x51\x08\x51\x08\x00\x00\x00\x00\x00\x00\x00\x00\x23\x09\x00\x00\x88\x00\x23\x09\x1d\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa3\x07\x00\x00\x69\x07\x00\x00\x2f\x07\x00\x00\xf5\x06\x65\x03\x63\x03\x62\x03\x5b\x03\x59\x03\x1c\x00\x00\x00\x00\x00\xf0\x03\xbb\x06\x49\x03\x17\x09\xf0\x03\x0a\x02\x00\x00\x82\x01\x5d\x03\x4c\x03\x00\x00\x1e\x0e\x03\x00\x36\x03\x6a\x00\x00\x00\x4d\x03\x00\x00\x00\x00\x00\x00\x00\x00\x81\x06\x00\x00\x82\x01\x00\x00\x4b\x03\x00\x00\x00\x00\x00\x00\xf6\xff\x00\x00\x47\x06\x52\x03\x4e\x03\x00\x00\x00\x00\x31\x03\x47\x03\x19\x0a\x6a\x00\x2b\x03\x00\x00\x6a\x00\x42\x03\x00\x00\x00\x00\x6a\x00\x00\x00\x6a\x00\x00\x00\x17\x08\x00\x00\x00\x00\xe9\x08\x00\x00\x08\x03\x00\x00\x00\x00\x00\x00\x6a\x00\x82\x01\x3f\x03\x00\x00\x00\x00\x00\x00\x3d\x03\x00\x00\xfe\xff\x32\x03\xe9\x08\x00\x00\x6a\x00\x00\x00\x2f\x03\x6a\x00\x3e\x03\x00\x00\xf0\x03\x00\x00\x17\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0d\x03\x0d\x03\x29\x03\x00\x00\x00\x00\x00\x00\x0a\x02\x0d\x06\x00\x00\x00\x00\x00\x00\x00\x00\x24\x03\x00\x00\x00\x00\x12\x03\x6a\x00\x00\x00\x00\x00\x00\x00\x22\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x76\x08\x9b\x03\x00\x00\xd3\x05\x00\x00\x00\x00\x00\x00\x99\x05\x20\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#--happyGotoOffsets :: HappyAddr-happyGotoOffsets = HappyA# "\x67\x09\x43\x0e\xef\x02\x00\x00\x00\x00\x91\x01\x16\x03\x32\x0e\x00\x00\x21\x0e\x10\x0e\x00\x00\x13\x03\x00\x00\xff\x0d\xee\x0d\x00\x00\xdd\x0d\xcc\x0d\xbb\x0d\xaa\x0d\x00\x00\x00\x00\xda\x02\x41\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd9\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9a\x01\xaf\x06\xab\x0a\x99\x0d\x88\x0d\x58\x05\x77\x0d\x00\x00\x05\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x0d\x00\x00\xd6\x02\xd5\x02\x00\x00\xd1\x02\x55\x0d\x4d\x01\x00\x00\xf4\x08\x00\x00\x00\x00\x72\x05\x00\x00\x00\x00\x11\x03\x00\x00\xb8\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x07\x03\xfe\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfa\x02\xf9\x02\x00\x00\x00\x00\x00\x00\x00\x00\x44\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x41\x01\x00\x00\x86\x01\x00\x00\x00\x00\x0f\x01\x00\x00\x60\x00\xf6\x02\x48\x00\xf4\x02\x1f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x03\xc4\x02\x40\x01\x00\x00\xc3\x02\xbe\x0a\x00\x00\xb7\x02\xb6\x02\x1d\x05\xc8\x04\x73\x04\x1e\x04\xc9\x03\x00\x00\x04\x04\x00\x00\x00\x00\xce\x07\x00\x00\xc1\x02\xff\xff\x0b\x02\x00\x00\x00\x00\xd3\x02\x00\x00\x3d\x01\xad\x02\xd2\x02\xf1\x0a\xa8\x02\xa7\x02\x39\x01\xa5\x02\x36\x01\x00\x00\x17\x01\x17\x01\x27\x01\x8d\x00\x33\x0d\x00\x00\x22\x0d\x11\x0d\x00\x00\x00\x00\xbe\x09\xba\x09\x15\x01\x00\x00\x00\x00\x00\x0d\xc7\x05\x11\x02\xbb\x02\x00\x00\xa1\x02\x36\x05\x00\x00\xa0\x02\xef\x0c\x9e\x02\xde\x0c\xcd\x0c\xbc\x0c\xab\x0c\x9a\x0c\x9b\x02\x14\x01\x14\x01\x14\x01\x14\x01\x14\x01\x14\x01\x00\x00\x14\x01\x89\x0c\x14\x01\x78\x0c\x14\x01\x00\x00\x00\x00\x00\x00\x87\x01\x14\x01\x14\x01\x00\x00\x0c\x01\x07\x01\x06\x01\x05\x01\xf8\x00\x9a\x02\x67\x0c\xe5\x00\x03\x05\x98\x02\x96\x02\x00\x00\x56\x0c\x00\x00\x75\x06\x00\x00\x00\x00\x00\x00\x96\x00\x00\x00\x00\x00\x00\x00\xde\x00\x3b\x06\x00\x00\x39\x06\x00\x00\x95\x02\xd7\x00\x92\x02\xd2\x00\x91\x02\xd1\x00\x82\x02\xc1\x00\x81\x02\x9f\x09\x00\x00\x9b\x09\x45\x0c\x34\x0c\x40\x03\x80\x09\x00\x00\x00\x00\x80\x02\x23\x0c\x7f\x02\x7d\x02\x7c\x02\x00\x00\x00\x00\xe2\xff\xba\x00\x00\x00\xe0\x0a\x3f\x01\x00\x00\x00\x00\x12\x0c\x01\x0c\x00\x00\x00\x00\x00\x00\xba\x02\xf0\x0b\xdf\x0b\xce\x0b\x00\x00\xa6\x01\xbc\x01\x48\x02\x00\x00\x00\x00\xaf\x03\xbd\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x02\x76\x02\xb8\x00\x00\x00\x75\x02\x6f\x02\xac\x0b\x9b\x0b\x8a\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaa\x00\x00\x00\xca\x02\x9f\x02\x00\x00\x00\x00\x00\x00\x79\x0b\xb8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x0b\x00\x00\x00\x00\x9d\x02\x00\x00\x94\x07\x6a\x02\x08\x00\x30\x00\x00\x00\x5a\x07\x69\x02\x66\x02\xf1\x01\x00\x00\xb8\x00\xb8\x00\xb8\x00\x00\x00\x00\x00\x61\x02\x00\x00\x02\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8\x00\x60\x02\x53\x01\x5f\x02\x00\x00\xee\x01\xbd\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x06\x00\x00\x00\x00\x00\x00\xb8\x00\x0c\x00\xb8\x00\x00\x00\x95\x01\x00\x00\x57\x0b\xb8\x00\xb8\x00\x46\x0b\xd6\x01\x00\x00\x00\x00\x53\x02\x00\x00\xe1\x04\x00\x00\xe1\x04\xb8\x00\x52\x02\x7b\x05\x51\x02\xb8\x00\x00\x00\x4c\x02\x4b\x02\x43\x02\x41\x02\x40\x02\x3b\x02\x32\x02\x00\x00\x31\x02\x00\x00\x30\x02\xae\x04\x2c\x02\x00\x00\x2b\x02\x00\x00\x1e\x02\x00\x00\x01\x03\x57\x02\x00\x00\x20\x07\xd9\x01\x00\x00\xe6\x06\x00\x00\xf3\xff\xb8\x00\x25\x02\x22\x02\x00\x00\x20\x02\xb8\x00\x00\x00\x18\x02\x0e\x02\x04\x02\x01\x02\xf8\x01\x00\x00\x8c\x04\x8c\x04\x8c\x04\x8c\x04\x8c\x04\x8c\x04\x00\x00\x00\x00\x00\x00\x00\x00\xd5\x01\x00\x00\x00\x00\xa0\x01\x00\x00\x00\x00\xed\x01\xf3\x01\xe5\x01\xe0\x01\x00\x00\x8c\x04\x00\x00\x8c\x04\x00\x00\x8c\x04\x00\x00\x8c\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x01\x35\x0b\x8c\x04\x00\x00\xb5\x00\x24\x0b\x99\x00\x00\x00\x21\x02\x00\x00\x00\x00\x00\x00\x9f\x01\x00\x00\x00\x00\x85\x01\x00\x00\x00\x00\x00\x00\xc5\x01\x00\x00\xaf\x01\x5b\x02\xaa\x01\x99\x01\x00\x00\x00\x00\x00\x00\x97\x01\x7c\x01\x71\x01\x4a\x01\x1d\x09\x00\x00\x00\x00\x00\x00\x38\x01\x00\x00\x00\x00\x99\x00\x31\x01\x00\x00\x00\x00\x56\x01\x00\x00\x00\x00\x00\x00\x15\x00\x00\x00\xf9\xff\x00\x00\x59\x04\x00\x00\x00\x00\x72\x06\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1d\x01\x77\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xda\x01\x00\x00\x0b\x01\xd9\x00\x00\x00\xe1\x00\x7b\x00\xa6\x00\x13\x0b\x00\x00\x3f\x00\x82\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x5c\x00\x00\x00\x50\x00\xef\xff\x37\x04\x4b\x00\x00\x00\x38\x00\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7b\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x01\x28\x00\x00\x00\xdf\xff\x37\x04\xcf\x0a\xda\xff\x37\x04\x00\x00\x00\x00\x00\x00\x37\x04\x00\x00\x00\x00\xc8\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#--happyDefActions :: HappyAddr-happyDefActions = HappyA# "\x32\xff\x00\x00\x00\x00\x00\x00\x00\x00\x1f\xff\x00\x00\x00\x00\x1c\xff\x00\x00\x00\x00\x17\xff\x00\x00\x15\xff\x00\x00\x00\x00\x12\xff\x00\x00\x00\x00\x00\x00\x00\x00\x0d\xff\x0c\xff\x07\xff\x07\xff\x9e\xff\x83\xff\x51\xff\x52\xff\xa5\xff\x50\xff\x55\xff\x07\xff\xae\xff\x3a\xff\x3c\xff\x38\xff\x3b\xff\x39\xff\x5c\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x56\xff\x00\x00\x42\xff\x41\xff\x40\xff\x43\xff\x3e\xff\x3f\xff\x3d\xff\x44\xff\x00\x00\x59\xff\x07\xff\x07\xff\x00\x00\x07\xff\x00\x00\x00\x00\x00\x00\x32\xff\xef\xff\xf8\xff\x32\xff\x00\x00\xf6\xff\xdb\xff\xf7\xff\xbc\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb4\xff\xc1\xff\xc3\xff\xc2\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xec\xff\xed\xff\x07\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc7\xff\xc6\xff\xc5\xff\xc4\xff\x00\x00\x07\xff\x07\xff\xd9\xff\x07\xff\x00\x00\xa8\xff\x07\xff\x07\xff\x32\xff\x32\xff\x32\xff\x32\xff\x32\xff\xbd\xff\xbc\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfa\xff\xfb\xff\x73\xff\x00\x00\x07\xff\x08\xff\x73\xff\x00\x00\x08\xff\x08\xff\x07\xff\x07\xff\x07\xff\x5d\xff\x07\xff\x07\xff\x07\xff\x07\xff\x00\x00\x00\x00\xc7\xff\xc6\xff\x75\xff\x74\xff\x07\xff\x07\xff\x07\xff\x00\x00\x64\xff\x00\x00\x00\x00\x00\x00\x73\xff\x00\x00\x08\xff\x00\x00\x00\x00\x08\xff\x00\x00\x07\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\xff\x07\xff\x07\xff\x07\xff\x07\xff\x07\xff\x07\xff\x16\xff\x07\xff\x00\x00\x07\xff\x00\x00\x07\xff\x1e\xff\x97\xff\x20\xff\x00\x00\x07\xff\x07\xff\x60\xff\x07\xff\x07\xff\x07\xff\x07\xff\x07\xff\x08\xff\x00\x00\x07\xff\x00\x00\x07\xff\x07\xff\x5a\xff\x00\x00\x9c\xff\x00\x00\x00\x00\x00\x00\x99\xff\x07\xff\x00\x00\x00\x00\x00\x00\x07\xff\x00\x00\xa4\xff\x00\x00\x00\x00\x08\xff\x07\xff\x08\xff\x07\xff\x08\xff\x07\xff\x07\xff\x07\xff\x07\xff\x07\xff\x5e\xff\x07\xff\x75\xff\x74\xff\x07\xff\x07\xff\x00\x00\x54\xff\x07\xff\x00\x00\x08\xff\x08\xff\x08\xff\x58\xff\x57\xff\x07\xff\x07\xff\x00\x00\x48\xff\x00\x00\x00\x00\x5f\xff\x00\x00\x00\x00\x00\x00\x00\x00\xc9\xff\xdb\xff\x00\x00\x00\x00\x00\x00\xde\xff\x00\x00\x71\xff\xd2\xff\x6e\xff\x91\xff\xbc\xff\x00\x00\xe9\xff\xbb\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\xff\x08\xff\x07\xff\x00\x00\x08\xff\x08\xff\x00\x00\x00\x00\x00\x00\xad\xff\x00\x00\xb2\xff\xb0\xff\xaf\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8f\xff\x00\x00\x32\xff\x00\x00\x00\x00\x00\x00\xf5\xff\x00\x00\x07\xff\x00\x00\xc0\xff\x00\x00\xf9\xff\x00\x00\x8e\xff\x2e\xff\x00\x00\x31\xff\x00\x00\x07\xff\x2a\xff\x26\xff\x00\x00\x00\x00\x07\xff\x07\xff\x00\x00\xb3\xff\x07\xff\x07\xff\x07\xff\xaa\xff\xa9\xff\x07\xff\xd8\xff\x00\x00\xa7\xff\xa6\xff\xf0\xff\xf1\xff\xf2\xff\xf3\xff\xf4\xff\x07\xff\x07\xff\x00\x00\x07\xff\xd4\xff\xd2\xff\xd2\xff\x00\x00\xcc\xff\xd0\xff\xcf\xff\xcd\xff\x00\x00\x00\x00\x00\x00\x00\x00\xdd\xff\x07\xff\x07\xff\x07\xff\xdc\xff\x00\x00\xca\xff\x00\x00\x07\xff\x07\xff\x00\x00\x73\xff\x49\xff\x4b\xff\x08\xff\x00\x00\xa1\xff\x5b\xff\x89\xff\x07\xff\x08\xff\x00\x00\x08\xff\x07\xff\x4c\xff\x08\xff\x08\xff\x08\xff\x08\xff\x08\xff\x08\xff\x08\xff\x00\x00\x08\xff\x00\x00\x08\xff\x00\x00\x07\xff\x6d\xff\x07\xff\x67\xff\x07\xff\x6a\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\xff\x00\x00\x07\xff\x08\xff\x08\xff\xa3\xff\x08\xff\x07\xff\x8b\xff\x08\xff\x08\xff\x08\xff\x08\xff\x08\xff\x96\xff\x84\xff\x87\xff\x85\xff\x86\xff\x88\xff\x81\xff\xa2\xff\x82\xff\x9b\xff\x98\xff\x00\x00\x9a\xff\x72\xff\x00\x00\x62\xff\x61\xff\x07\xff\x08\xff\x08\xff\x08\xff\xac\xff\x00\x00\x79\xff\x00\x00\x78\xff\x00\x00\x53\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\xff\x07\xff\x00\x00\x00\x00\x00\x00\x07\xff\x00\x00\x07\xff\xc8\xff\x00\x00\x00\x00\x00\x00\x0b\xff\x0a\xff\x70\xff\x00\x00\x00\x00\xcb\xff\x00\x00\xd1\xff\x08\xff\x90\xff\x08\xff\xbc\xff\x08\xff\x00\x00\xe5\xff\x00\x00\xb1\xff\x08\xff\x08\xff\x32\xff\x07\xff\x37\xff\x00\x00\x25\xff\x29\xff\x08\xff\x2c\xff\x00\x00\x07\xff\x00\x00\xbf\xff\xeb\xff\x00\x00\x00\x00\xee\xff\x2f\xff\x00\x00\xb8\xff\x26\xff\xb7\xff\x37\xff\x22\xff\x23\xff\x00\x00\x08\xff\x00\x00\xb6\xff\xb5\xff\x34\xff\x00\x00\xd5\xff\x00\x00\xd7\xff\xb9\xff\xba\xff\x00\x00\xd3\xff\x94\xff\x00\x00\x00\x00\x09\xff\x00\x00\x07\xff\x00\x00\x00\x00\x07\xff\x08\xff\x00\x00\x45\xff\x07\xff\x08\xff\x07\xff\x7b\xff\x77\xff\x7c\xff\x7f\xff\x7d\xff\x7e\xff\x80\xff\x76\xff\x7a\xff\xab\xff\x66\xff\x65\xff\x08\xff\x6c\xff\x6b\xff\x00\x00\x08\xff\x4f\xff\x08\xff\x07\xff\x00\x00\x08\xff\x8c\xff\x07\xff\x08\xff\x00\x00\x6f\xff\xce\xff\x95\xff\x00\x00\xea\xff\xe3\xff\xd6\xff\x00\x00\x35\xff\x33\xff\x21\xff\x36\xff\x24\xff\x2b\xff\x30\xff\xbe\xff\xe4\xff\x93\xff\x00\x00\x07\xff\xe6\xff\x08\xff\x9d\xff\x00\x00\x08\xff\x00\x00\x63\xff\x69\xff\x47\xff\x00\x00\x00\x00\xe8\xff\x08\xff\x92\xff\xe7\xff\x4a\xff\x46\xff"#--happyCheck :: HappyAddr-happyCheck = HappyA# "\xff\xff\x0b\x00\x01\x00\x05\x00\x0a\x00\x02\x00\x07\x00\x02\x00\x03\x00\x20\x00\x21\x00\x29\x00\x19\x00\x0c\x00\x46\x00\x1c\x00\x0b\x00\x10\x00\x19\x00\x24\x00\x13\x00\x09\x00\x0a\x00\x0b\x00\x19\x00\x1a\x00\x03\x00\x01\x00\x20\x00\x21\x00\x02\x00\x02\x00\x46\x00\x19\x00\x1d\x00\x0c\x00\x26\x00\x46\x00\x0c\x00\x22\x00\x23\x00\x47\x00\x10\x00\x31\x00\x27\x00\x11\x00\x19\x00\x30\x00\x24\x00\x2e\x00\x49\x00\x2e\x00\x35\x00\x3f\x00\x47\x00\x20\x00\x21\x00\x40\x00\x41\x00\x07\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x27\x00\x49\x00\x3e\x00\x02\x00\x03\x00\x19\x00\x2e\x00\x2e\x00\x4b\x00\x19\x00\x1a\x00\x46\x00\x02\x00\x50\x00\x3d\x00\x47\x00\x53\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x02\x00\x03\x00\x11\x00\x49\x00\x19\x00\x1d\x00\x24\x00\x30\x00\x4b\x00\x0b\x00\x22\x00\x23\x00\x35\x00\x50\x00\x01\x00\x27\x00\x53\x00\x6d\x00\x47\x00\x40\x00\x41\x00\x71\x00\x2e\x00\x73\x00\x74\x00\x75\x00\x76\x00\x1d\x00\x19\x00\x10\x00\x76\x00\x2e\x00\x22\x00\x23\x00\x47\x00\x02\x00\x03\x00\x27\x00\x02\x00\x03\x00\x3d\x00\x47\x00\x6d\x00\x02\x00\x2e\x00\x02\x00\x71\x00\x0b\x00\x73\x00\x74\x00\x75\x00\x76\x00\x46\x00\x11\x00\x12\x00\x13\x00\x14\x00\x46\x00\x11\x00\x17\x00\x11\x00\x19\x00\x1d\x00\x57\x00\x3d\x00\x1d\x00\x24\x00\x22\x00\x23\x00\x46\x00\x22\x00\x23\x00\x27\x00\x20\x00\x26\x00\x27\x00\x02\x00\x03\x00\x14\x00\x2e\x00\x27\x00\x26\x00\x2e\x00\x2f\x00\x24\x00\x0b\x00\x46\x00\x2e\x00\x28\x00\x2e\x00\x47\x00\x11\x00\x12\x00\x13\x00\x14\x00\x03\x00\x24\x00\x17\x00\x29\x00\x19\x00\x15\x00\x47\x00\x19\x00\x1d\x00\x19\x00\x02\x00\x03\x00\x46\x00\x22\x00\x23\x00\x12\x00\x22\x00\x26\x00\x27\x00\x0b\x00\x01\x00\x76\x00\x51\x00\x52\x00\x47\x00\x2e\x00\x2f\x00\x56\x00\x57\x00\x24\x00\x59\x00\x0c\x00\x24\x00\x47\x00\x24\x00\x10\x00\x47\x00\x1d\x00\x13\x00\x37\x00\x01\x00\x24\x00\x22\x00\x23\x00\x51\x00\x52\x00\x3e\x00\x27\x00\x46\x00\x0a\x00\x0b\x00\x6e\x00\x6f\x00\x70\x00\x2e\x00\x10\x00\x76\x00\x24\x00\x24\x00\x76\x00\x51\x00\x52\x00\x19\x00\x24\x00\x47\x00\x56\x00\x57\x00\x47\x00\x59\x00\x47\x00\x24\x00\x20\x00\x23\x00\x6e\x00\x6f\x00\x70\x00\x47\x00\x24\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x02\x00\x03\x00\x01\x00\x6e\x00\x6f\x00\x70\x00\x47\x00\x47\x00\x4b\x00\x0b\x00\x24\x00\x76\x00\x47\x00\x50\x00\x47\x00\x13\x00\x53\x00\x10\x00\x19\x00\x47\x00\x02\x00\x03\x00\x19\x00\x24\x00\x24\x00\x24\x00\x47\x00\x1d\x00\x20\x00\x0b\x00\x24\x00\x22\x00\x22\x00\x23\x00\x02\x00\x03\x00\x19\x00\x27\x00\x24\x00\x24\x00\x76\x00\x24\x00\x6d\x00\x0b\x00\x2e\x00\x47\x00\x71\x00\x1d\x00\x73\x00\x74\x00\x75\x00\x46\x00\x22\x00\x23\x00\x02\x00\x03\x00\x19\x00\x27\x00\x47\x00\x47\x00\x47\x00\x1d\x00\x29\x00\x0b\x00\x2e\x00\x47\x00\x22\x00\x23\x00\x02\x00\x03\x00\x19\x00\x27\x00\x24\x00\x47\x00\x47\x00\x24\x00\x47\x00\x0b\x00\x2e\x00\x24\x00\x23\x00\x1d\x00\x24\x00\x24\x00\x19\x00\x11\x00\x22\x00\x23\x00\x02\x00\x03\x00\x19\x00\x27\x00\x47\x00\x19\x00\x23\x00\x1d\x00\x1f\x00\x0b\x00\x2e\x00\x19\x00\x22\x00\x23\x00\x02\x00\x03\x00\x03\x00\x27\x00\x20\x00\x47\x00\x46\x00\x08\x00\x47\x00\x0b\x00\x2e\x00\x01\x00\x47\x00\x1d\x00\x76\x00\x47\x00\x47\x00\x12\x00\x22\x00\x23\x00\x02\x00\x03\x00\x0c\x00\x27\x00\x19\x00\x47\x00\x10\x00\x1d\x00\x19\x00\x0b\x00\x2e\x00\x11\x00\x22\x00\x23\x00\x76\x00\x20\x00\x03\x00\x27\x00\x19\x00\x19\x00\x19\x00\x08\x00\x0d\x00\x0e\x00\x2e\x00\x20\x00\x1f\x00\x1d\x00\x76\x00\x38\x00\x19\x00\x12\x00\x22\x00\x23\x00\x02\x00\x03\x00\x1f\x00\x27\x00\x19\x00\x19\x00\x02\x00\x03\x00\x1c\x00\x0b\x00\x2e\x00\x19\x00\x1a\x00\x02\x00\x76\x00\x0b\x00\x0c\x00\x0d\x00\x14\x00\x0a\x00\x46\x00\x11\x00\x0d\x00\x13\x00\x14\x00\x0a\x00\x0b\x00\x1d\x00\x76\x00\x13\x00\x2c\x00\x2d\x00\x22\x00\x23\x00\x47\x00\x19\x00\x20\x00\x27\x00\x0a\x00\x35\x00\x1d\x00\x0d\x00\x26\x00\x27\x00\x2e\x00\x22\x00\x23\x00\x46\x00\x76\x00\x27\x00\x2e\x00\x2f\x00\x43\x00\x31\x00\x45\x00\x2d\x00\x2a\x00\x2f\x00\x30\x00\x43\x00\x32\x00\x45\x00\x76\x00\x35\x00\x19\x00\x1a\x00\x46\x00\x3f\x00\x19\x00\x19\x00\x1a\x00\x46\x00\x1d\x00\x1e\x00\x0a\x00\x0b\x00\x48\x00\x21\x00\x44\x00\x51\x00\x52\x00\x29\x00\x76\x00\x2c\x00\x2d\x00\x51\x00\x52\x00\x2b\x00\x2c\x00\x2d\x00\x17\x00\x18\x00\x35\x00\x46\x00\x02\x00\x03\x00\x01\x00\x35\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0d\x00\x0e\x00\x6e\x00\x6f\x00\x70\x00\x10\x00\x51\x00\x52\x00\x6e\x00\x6f\x00\x70\x00\x16\x00\x03\x00\x18\x00\x46\x00\x1d\x00\x1b\x00\x08\x00\x19\x00\x46\x00\x22\x00\x23\x00\x1d\x00\x1e\x00\x26\x00\x27\x00\x25\x00\x12\x00\x47\x00\x28\x00\x17\x00\x18\x00\x2e\x00\x46\x00\x19\x00\x6e\x00\x6f\x00\x70\x00\x46\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x46\x00\x01\x00\x02\x00\x46\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x09\x00\x0a\x00\x0b\x00\x46\x00\x0e\x00\x0f\x00\x10\x00\x46\x00\x47\x00\x4d\x00\x4e\x00\x4f\x00\x16\x00\x46\x00\x18\x00\x53\x00\x54\x00\x1b\x00\x59\x00\x1d\x00\x47\x00\x46\x00\x5a\x00\x46\x00\x22\x00\x23\x00\x46\x00\x25\x00\x26\x00\x13\x00\x28\x00\x19\x00\x1a\x00\x47\x00\x47\x00\x19\x00\x2e\x00\x46\x00\x46\x00\x46\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x46\x00\x27\x00\x2c\x00\x2d\x00\x2e\x00\x46\x00\x46\x00\x2d\x00\x46\x00\x2f\x00\x30\x00\x35\x00\x32\x00\x02\x00\x03\x00\x35\x00\x46\x00\x46\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x46\x00\x46\x00\x46\x00\x53\x00\x54\x00\x55\x00\x01\x00\x02\x00\x58\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x47\x00\x47\x00\x47\x00\x1d\x00\x0e\x00\x0f\x00\x10\x00\x47\x00\x22\x00\x23\x00\x47\x00\x47\x00\x16\x00\x27\x00\x18\x00\x46\x00\x19\x00\x1b\x00\x19\x00\x1d\x00\x2e\x00\x46\x00\x46\x00\x46\x00\x22\x00\x23\x00\x06\x00\x25\x00\x46\x00\x46\x00\x28\x00\x46\x00\x05\x00\x47\x00\x47\x00\x47\x00\x00\x00\x01\x00\x02\x00\x03\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x0c\x00\x46\x00\x46\x00\x0f\x00\x10\x00\x46\x00\x12\x00\x47\x00\x14\x00\x47\x00\x46\x00\x46\x00\x56\x00\x19\x00\x29\x00\x47\x00\x46\x00\x46\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x47\x00\x46\x00\x46\x00\x53\x00\x54\x00\x55\x00\x01\x00\x46\x00\x58\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x29\x00\x29\x00\x47\x00\x47\x00\x0e\x00\x0f\x00\x10\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x16\x00\x05\x00\x18\x00\x47\x00\x47\x00\x1b\x00\x19\x00\x1d\x00\x19\x00\x02\x00\x03\x00\x19\x00\x19\x00\x16\x00\x0e\x00\x25\x00\x06\x00\x47\x00\x28\x00\x19\x00\x1a\x00\x47\x00\x47\x00\x19\x00\x11\x00\x47\x00\x47\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x1d\x00\x19\x00\x2c\x00\x2d\x00\x19\x00\x22\x00\x23\x00\x43\x00\x13\x00\x26\x00\x27\x00\x35\x00\x15\x00\x26\x00\x15\x00\x11\x00\x2e\x00\x2e\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x03\x00\x13\x00\x11\x00\x53\x00\x54\x00\x55\x00\x01\x00\x0b\x00\x58\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x48\x00\x26\x00\x13\x00\x11\x00\x0e\x00\x0f\x00\x10\x00\x26\x00\x11\x00\x19\x00\x0c\x00\x1b\x00\x16\x00\x0b\x00\x18\x00\x14\x00\x14\x00\x1b\x00\x15\x00\x1d\x00\x2e\x00\x25\x00\x26\x00\x27\x00\x0b\x00\x20\x00\x11\x00\x25\x00\x11\x00\x2d\x00\x28\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x11\x00\x11\x00\x35\x00\x11\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x11\x00\x2e\x00\x2e\x00\x2e\x00\x11\x00\x0a\x00\x04\x00\x47\x00\x31\x00\x13\x00\x0b\x00\x13\x00\x10\x00\x02\x00\x03\x00\x26\x00\x20\x00\x04\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x13\x00\x20\x00\x11\x00\x53\x00\x54\x00\x55\x00\x01\x00\x20\x00\x58\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x11\x00\x26\x00\x0a\x00\x1d\x00\x0e\x00\x0f\x00\x10\x00\x26\x00\x22\x00\x23\x00\x15\x00\x11\x00\x16\x00\x27\x00\x18\x00\x13\x00\x13\x00\x1b\x00\x13\x00\x1d\x00\x2e\x00\x2f\x00\x13\x00\x13\x00\x26\x00\x0a\x00\x0c\x00\x25\x00\x5a\x00\x13\x00\x28\x00\x26\x00\x0b\x00\x20\x00\x31\x00\x19\x00\x00\x00\x01\x00\x02\x00\x03\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x0c\x00\x27\x00\x13\x00\x0f\x00\x10\x00\x0d\x00\x12\x00\x2d\x00\x14\x00\x2f\x00\x30\x00\x11\x00\x32\x00\x19\x00\x13\x00\x35\x00\x11\x00\x26\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x11\x00\x0a\x00\x26\x00\x53\x00\x54\x00\x55\x00\x01\x00\x03\x00\x58\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x13\x00\x26\x00\x20\x00\x2f\x00\x0e\x00\x0f\x00\x10\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x16\x00\x0a\x00\x18\x00\x11\x00\x11\x00\x1b\x00\x11\x00\x1d\x00\x03\x00\x0a\x00\x59\x00\x0a\x00\x12\x00\x0b\x00\x11\x00\x25\x00\x10\x00\x13\x00\x28\x00\x0b\x00\x0b\x00\x04\x00\x04\x00\x19\x00\x00\x00\x01\x00\x02\x00\x03\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x0c\x00\x27\x00\x01\x00\x0f\x00\x10\x00\x12\x00\x12\x00\x2d\x00\x14\x00\x2f\x00\x30\x00\x3f\x00\x32\x00\x19\x00\x04\x00\x35\x00\x10\x00\x14\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x10\x00\x10\x00\x0c\x00\x53\x00\x54\x00\x55\x00\x01\x00\x12\x00\x58\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x12\x00\x19\x00\x12\x00\x12\x00\x0e\x00\x0f\x00\x10\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x16\x00\x12\x00\x18\x00\x27\x00\x05\x00\x1b\x00\x76\x00\x1d\x00\x20\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\x76\x00\x32\x00\x25\x00\xff\xff\x35\x00\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\x01\x00\x02\x00\x03\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x0c\x00\x27\x00\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\x2d\x00\x14\x00\x2f\x00\x30\x00\xff\xff\x32\x00\x19\x00\xff\xff\x35\x00\x36\x00\xff\xff\x4c\x00\x4d\x00\x4e\x00\x4f\x00\xff\xff\xff\xff\xff\xff\x53\x00\x54\x00\x55\x00\x01\x00\xff\xff\x58\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x19\x00\xff\xff\xff\xff\x0e\x00\x0f\x00\x10\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x16\x00\xff\xff\x18\x00\x27\x00\xff\xff\x1b\x00\xff\xff\x1d\x00\xff\xff\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\x25\x00\xff\xff\x35\x00\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\x01\x00\x02\x00\x03\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x0c\x00\x27\x00\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\x2d\x00\x14\x00\x2f\x00\x30\x00\xff\xff\x32\x00\x19\x00\xff\xff\x35\x00\xff\xff\xff\xff\x4c\x00\x4d\x00\x4e\x00\x4f\x00\xff\xff\xff\xff\xff\xff\x53\x00\x54\x00\x55\x00\x01\x00\xff\xff\x58\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x19\x00\xff\xff\xff\xff\x0e\x00\x0f\x00\x10\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x16\x00\xff\xff\x18\x00\x27\x00\xff\xff\x1b\x00\xff\xff\x1d\x00\xff\xff\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\x25\x00\xff\xff\x35\x00\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\x01\x00\x02\x00\x03\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x0c\x00\x27\x00\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\x2d\x00\x14\x00\x2f\x00\x30\x00\xff\xff\x32\x00\x19\x00\xff\xff\x35\x00\xff\xff\xff\xff\x4c\x00\x4d\x00\x4e\x00\x4f\x00\xff\xff\xff\xff\xff\xff\x53\x00\x54\x00\x55\x00\x01\x00\xff\xff\x58\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x19\x00\xff\xff\xff\xff\x0e\x00\x0f\x00\x10\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x16\x00\xff\xff\x18\x00\x27\x00\xff\xff\x1b\x00\xff\xff\x1d\x00\xff\xff\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\x25\x00\xff\xff\x35\x00\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\x01\x00\x02\x00\x03\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x0c\x00\x27\x00\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\x2d\x00\x14\x00\x2f\x00\x30\x00\xff\xff\x32\x00\x19\x00\xff\xff\x35\x00\xff\xff\xff\xff\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x19\x00\x1a\x00\xff\xff\x53\x00\x54\x00\x55\x00\x01\x00\xff\xff\x58\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\xff\xff\xff\xff\x2c\x00\x2d\x00\x10\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x16\x00\x35\x00\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\x0e\x00\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\xff\xff\x19\x00\x1a\x00\xff\xff\x10\x00\x1d\x00\x1e\x00\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2c\x00\x2d\x00\x2e\x00\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x35\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\xff\xff\x19\x00\x1a\x00\xff\xff\x10\x00\xff\xff\xff\xff\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2c\x00\x2d\x00\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x35\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x19\x00\x1a\x00\x19\x00\x1a\x00\xff\xff\x10\x00\xff\xff\xff\xff\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\xff\xff\xff\xff\x2c\x00\x2d\x00\x2c\x00\x2d\x00\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\x35\x00\x28\x00\x35\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x19\x00\x1a\x00\xff\xff\x19\x00\x1a\x00\xff\xff\x10\x00\xff\xff\x21\x00\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\x2b\x00\x2c\x00\x2d\x00\xff\xff\x2c\x00\x2d\x00\xff\xff\xff\xff\xff\xff\x25\x00\x35\x00\xff\xff\x28\x00\x35\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\xff\xff\x19\x00\x1a\x00\xff\xff\x10\x00\xff\xff\xff\xff\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2c\x00\x2d\x00\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x35\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x19\x00\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\x11\x00\x21\x00\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\x2b\x00\x2c\x00\x2d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x35\x00\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x19\x00\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\x11\x00\x21\x00\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\x2b\x00\x2c\x00\x2d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x35\x00\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x19\x00\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\x11\x00\x21\x00\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\x2b\x00\x2c\x00\x2d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x35\x00\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x19\x00\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\x11\x00\x21\x00\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\x2b\x00\x2c\x00\x2d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x35\x00\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x19\x00\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\x21\x00\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\x2b\x00\x2c\x00\x2d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x35\x00\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\xff\xff\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\xff\xff\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x4d\x00\x4e\x00\x4f\x00\x02\x00\x03\x00\xff\xff\x53\x00\x54\x00\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x01\x00\x02\x00\x13\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1d\x00\xff\xff\x0f\x00\x10\x00\xff\xff\x22\x00\x23\x00\x4d\x00\x4e\x00\x4f\x00\x27\x00\xff\xff\xff\xff\x53\x00\x54\x00\xff\xff\x1d\x00\x2e\x00\xff\xff\xff\xff\xff\xff\x22\x00\x23\x00\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\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\xff\xff\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x25\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x02\x00\x03\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\xff\xff\x0f\x00\x10\x00\x1d\x00\xff\xff\x19\x00\x4e\x00\x4f\x00\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\x2e\x00\xff\xff\xff\xff\x25\x00\xff\xff\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x36\x00\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x01\x00\x42\x00\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\x10\x00\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x0c\x00\xff\xff\x18\x00\x0f\x00\x10\x00\xff\xff\x12\x00\xff\xff\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\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\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\x19\x00\x35\x00\x1b\x00\xff\xff\x19\x00\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x25\x00\x26\x00\x27\x00\x47\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\x2d\x00\x32\x00\x2f\x00\x30\x00\x35\x00\x32\x00\xff\xff\x19\x00\x35\x00\x1b\x00\xff\xff\x19\x00\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\x47\x00\x25\x00\x26\x00\x27\x00\x47\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\x2d\x00\x32\x00\x2f\x00\x30\x00\x35\x00\x32\x00\x02\x00\x03\x00\x35\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x02\x00\x03\x00\x11\x00\x47\x00\xff\xff\xff\xff\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1d\x00\x11\x00\x02\x00\x03\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\x26\x00\x27\x00\xff\xff\xff\xff\x1d\x00\xff\xff\x02\x00\x03\x00\x2e\x00\x22\x00\x23\x00\xff\xff\xff\xff\x26\x00\x27\x00\x0b\x00\x19\x00\xff\xff\xff\xff\xff\xff\x1d\x00\x2e\x00\x02\x00\x03\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\x26\x00\x27\x00\x02\x00\x03\x00\x1d\x00\xff\xff\xff\xff\xff\xff\x2e\x00\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x19\x00\xff\xff\x12\x00\xff\xff\x1d\x00\x2e\x00\x02\x00\x03\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\x1d\x00\x27\x00\x0b\x00\xff\xff\xff\xff\x22\x00\x23\x00\xff\xff\x2e\x00\xff\xff\x27\x00\x02\x00\x03\x00\x02\x00\x03\x00\xff\xff\xff\xff\x2e\x00\xff\xff\xff\xff\x1d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x23\x00\xff\xff\x13\x00\x12\x00\x27\x00\xff\xff\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\x2e\x00\x1d\x00\xff\xff\x1d\x00\x0b\x00\xff\xff\x22\x00\x23\x00\x22\x00\x23\x00\xff\xff\x27\x00\xff\xff\x27\x00\x02\x00\x03\x00\x02\x00\x03\x00\x2e\x00\xff\xff\x2e\x00\xff\xff\x1d\x00\x0b\x00\xff\xff\x0b\x00\xff\xff\x22\x00\x23\x00\x02\x00\x03\x00\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\x1d\x00\xff\xff\x1d\x00\x11\x00\xff\xff\x22\x00\x23\x00\x22\x00\x23\x00\xff\xff\x27\x00\xff\xff\x27\x00\x02\x00\x03\x00\x1d\x00\xff\xff\x2e\x00\xff\xff\x2e\x00\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\x0e\x00\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\x17\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x1d\x00\x1b\x00\xff\xff\xff\xff\xff\xff\x22\x00\x23\x00\x0e\x00\xff\xff\xff\xff\x27\x00\x25\x00\x26\x00\x27\x00\x28\x00\xff\xff\xff\xff\x2e\x00\x19\x00\x2d\x00\x1b\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xff\xff\xff\xff\x35\x00\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#--happyTable :: HappyAddr-happyTable = HappyA# "\x00\x00\x0c\x02\x22\x00\x42\x02\xdc\x00\xe5\x00\x0d\x01\xb3\x00\xb4\x00\x10\x01\x11\x01\x7d\x01\xac\x00\x51\x00\x61\x02\xb7\x01\x18\xff\x52\x00\xf2\x01\xb0\x00\xfc\xff\xdb\x01\x62\x01\x63\x01\x76\x00\x77\x00\xb4\x00\x22\x00\x28\x01\x29\x01\xe5\x00\xe5\x00\x5c\x02\x47\x01\xb5\x00\xda\xff\x43\x02\x5e\x02\x51\x00\xb6\x00\xb7\x00\xb9\x00\x52\x00\x73\xff\xb8\x00\x25\x02\x2f\x01\x78\x00\xb0\x00\xe7\x00\x12\x01\xb9\x00\x79\x00\x57\x00\x57\x02\xda\xff\xda\xff\x4b\x02\xf4\x01\x75\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x9b\x01\x12\x01\xf5\x01\xb3\x00\xb4\x00\xf2\x01\xe7\x00\xe7\x00\x5b\x00\x76\x00\x77\x00\x53\x02\xe5\x00\x5c\x00\x4c\x02\xb1\x00\x5d\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xb3\x00\xb4\x00\xe6\x00\xda\xff\x2f\x01\xb5\x00\xb0\x00\x78\x00\x5b\x00\x1a\xff\xb6\x00\xb7\x00\x79\x00\x5c\x00\x22\x00\xb8\x00\x5d\x00\x5e\x00\x5f\x02\xf3\x01\xf4\x01\x5f\x00\xb9\x00\x60\x00\x61\x00\x62\x00\xfc\xff\xb5\x00\x2f\x01\x52\x00\x18\xff\xe7\x00\xb6\x00\xb7\x00\x54\x02\xb3\x00\xb4\x00\xb8\x00\xb3\x00\xb4\x00\x30\x01\x37\x02\x5e\x00\xe5\x00\xb9\x00\xe5\x00\x5f\x00\xa0\xff\x60\x00\x61\x00\x62\x00\xfc\xff\x55\x02\xa0\xff\xa0\xff\xa0\xff\xa0\xff\x58\x02\x99\x01\xa0\xff\x6e\xff\xa0\xff\xb5\x00\xd8\x01\x32\x01\xb5\x00\xb0\x00\xb6\x00\xb7\x00\x59\x02\xb6\x00\xb7\x00\xb8\x00\x9a\x01\xa0\xff\xb8\x00\xb3\x00\xb4\x00\x65\x01\xb9\x00\x9b\x01\x6e\xff\xb9\x00\xa0\xff\xb0\x00\x9f\xff\x34\x02\xe7\x00\xf0\x00\xe7\x00\x35\x02\x9f\xff\x9f\xff\x9f\xff\x9f\xff\x93\x00\xb0\x00\x9f\xff\xf8\x00\x9f\xff\x46\x01\x3a\x02\x33\x01\xb5\x00\x47\x01\xb3\x00\xb4\x00\x36\x02\xb6\x00\xb7\x00\x94\x00\x41\x01\x9f\xff\xb8\x00\x1d\xff\x22\x00\x1a\xff\xa0\xff\xa0\xff\xb1\x00\xb9\x00\x9f\xff\xa0\xff\xa0\xff\xb0\x00\xa0\xff\x51\x00\xb0\x00\x25\x01\xb0\x00\x52\x00\xb1\x00\xb5\x00\xfc\xff\x48\x01\x22\x00\xb0\x00\xb6\x00\xb7\x00\x66\x01\x67\x01\x49\x01\xb8\x00\x39\x02\x4b\x01\x4c\x01\xa0\xff\xa0\xff\xa0\xff\xb9\x00\x52\x00\xff\xff\xb0\x00\xb0\x00\xa0\xff\x9f\xff\x9f\xff\x8e\x00\xb0\x00\x1f\x02\x9f\xff\x9f\xff\xb1\x00\x9f\xff\x7c\x01\xb0\x00\x4d\x01\x3b\x02\x68\x01\x69\x01\x6a\x01\x8b\x01\xb0\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xb3\x00\xb4\x00\x22\x00\x9f\xff\x9f\xff\x9f\xff\x8d\x01\x8f\x01\x5b\x00\x1b\xff\xb0\x00\x9f\xff\x91\x01\x5c\x00\x3d\x02\x18\x01\x5d\x00\x52\x00\x3e\x02\xb1\x00\xb3\x00\xb4\x00\x33\x01\xb0\x00\xb0\x00\xb0\x00\xa6\x01\xb5\x00\x19\x01\x19\xff\xb0\x00\x34\x01\xb6\x00\xb7\x00\xb3\x00\xb4\x00\x46\x02\xb8\x00\xb0\x00\xe7\x00\x1d\xff\xb0\x00\x5e\x00\x14\xff\xb9\x00\xa9\x01\x5f\x00\xb5\x00\x60\x00\x61\x00\x62\x00\x48\x02\xb6\x00\xb7\x00\xb3\x00\xb4\x00\xfe\x01\xb8\x00\xaa\x01\xab\x01\xac\x01\xb5\x00\xf8\x00\x13\xff\xb9\x00\xad\x01\xb6\x00\xb7\x00\xb3\x00\xb4\x00\x79\x01\xb8\x00\xb0\x00\xb1\x00\xe8\x00\xb0\x00\xb1\x00\x11\xff\xb9\x00\xb0\x00\x8f\x00\xb5\x00\xe7\x00\xb0\x00\x8e\x00\x4e\x02\xb6\x00\xb7\x00\xb3\x00\xb4\x00\xc7\x00\xb8\x00\xb9\x00\x38\x01\x8f\x00\xb5\x00\xe6\x01\x10\xff\xb9\x00\x16\x02\xb6\x00\xb7\x00\xb3\x00\xb4\x00\x0f\x02\xb8\x00\x60\x02\xfc\x00\x02\x02\x45\x02\xfe\x00\x0f\xff\xb9\x00\x22\x00\xb1\x00\xb5\x00\x1b\xff\xe8\x00\xb1\x00\x48\x00\xb6\x00\xb7\x00\xb3\x00\xb4\x00\x51\x00\xb8\x00\x4a\x00\x09\x02\x52\x00\xb5\x00\x16\x02\x0e\xff\xb9\x00\x37\x01\xb6\x00\xb7\x00\x19\xff\x50\x02\x0f\x02\xb8\x00\x16\x02\x38\x01\xc7\x00\x10\x02\xd9\x01\x0c\x01\xb9\x00\x17\x02\xae\x01\xb5\x00\x14\xff\x0a\x02\xc7\x00\x48\x00\xb6\x00\xb7\x00\xb3\x00\xb4\x00\xc8\x00\xb8\x00\x4a\x00\xac\x00\x68\xff\xb4\x00\xad\x00\xd2\xff\xb9\x00\x76\x00\xa6\x00\x72\x00\x13\xff\x68\xff\x68\xff\x68\xff\x65\x01\x9d\x01\x0c\x02\x68\xff\x73\xff\x68\xff\x68\xff\xe3\x01\x63\x01\xb5\x00\x11\xff\x83\x00\x32\x02\xa8\x00\xb6\x00\xb7\x00\x23\x02\x17\x00\x68\xff\xb8\x00\xdc\x00\x79\x00\x73\x00\x73\xff\x68\xff\x68\xff\xb9\x00\x74\x00\x75\x00\x0d\x02\x10\xff\x1b\x00\x68\xff\x68\xff\x6c\x01\x68\xff\x19\x02\x1c\x00\x6a\x01\x84\x00\x1e\x00\x6c\x01\x1f\x00\x6d\x01\x0f\xff\x20\x00\x76\x00\xa6\x00\x11\x02\x68\xff\xdc\x00\x76\x00\xa6\x00\x13\x02\xba\x01\xde\x00\xe4\x01\x63\x01\x68\xff\x13\x01\x85\x00\x66\x01\x67\x01\xd5\x01\x0e\xff\x33\x02\xa8\x00\x68\xff\x68\xff\x3f\x02\x15\x01\xa8\x00\xed\x01\x2b\x01\x79\x00\x14\x02\xb3\x00\xb4\x00\x22\x00\x79\x00\x87\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x88\x00\x0b\x01\x0c\x01\x68\x01\x69\x01\x6a\x01\x2b\x00\x66\x01\x67\x01\x68\xff\x68\xff\x68\xff\x2c\x00\x0f\x02\x2d\x00\x2e\x02\xb5\x00\x2e\x00\x1c\x02\xdc\x00\x2f\x02\xb6\x00\xb7\x00\xdd\x00\xde\x00\x1e\x02\xb8\x00\x30\x00\x48\x00\x31\x02\x31\x00\x2a\x01\x2b\x01\xb9\x00\x30\x02\x4a\x00\x68\x01\x69\x01\x6a\x01\xaf\x01\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xb0\x01\x22\x00\xa1\x00\xb1\x01\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x61\x01\x62\x01\x63\x01\xb2\x01\x29\x00\x2a\x00\x2b\x00\x2d\x01\x2e\x01\x3b\x00\x3c\x00\x3d\x00\x2c\x00\xb3\x01\x2d\x00\x3e\x00\x3f\x00\x2e\x00\x8d\xff\xa2\x00\xc0\x01\xb4\x01\x89\x00\xb5\x01\xa3\x00\xa4\x00\xb6\x01\x30\x00\xa5\x00\x12\x02\x31\x00\x76\x00\xa6\x00\xc1\x01\xc2\x01\x17\x00\xa6\x00\xc4\x01\xc6\x01\xc8\x01\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xc9\x01\x1b\x00\xbd\x01\xa8\x00\xbe\x01\xca\x01\xcb\x01\x1c\x00\xcc\x01\x84\x00\x1e\x00\x79\x00\x1f\x00\xb3\x00\xb4\x00\x20\x00\xcd\x01\xce\x01\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xcf\x01\xd1\x01\xd4\x01\x3e\x00\x3f\x00\x40\x00\x22\x00\x72\x00\x41\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\xe5\x01\xe7\x01\xe9\x01\xb5\x00\x29\x00\x2a\x00\x2b\x00\xee\x01\xb6\x00\xb7\x00\xef\x01\xf6\x01\x2c\x00\xb8\x00\x2d\x00\x52\x01\xf8\x01\x2e\x00\x3e\x01\xa2\x00\xb9\x00\x53\x01\x57\x01\x58\x01\x74\x00\x75\x00\x72\x01\x30\x00\x7e\x01\x7f\x01\x31\x00\x80\x01\x0e\x01\x82\x01\x8a\x01\x8c\x01\x3f\x01\x42\x00\x43\x00\x44\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x45\x00\x8e\x01\x90\x01\x46\x00\x47\x00\x92\x01\x48\x00\xa3\x01\x49\x00\xa4\x01\xa8\x01\xcc\x00\x09\x01\x4a\x00\xda\x00\xd2\x00\xd5\x00\xd8\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xfd\x00\xff\x00\x00\x01\x3e\x00\x3f\x00\x40\x00\x22\x00\x07\x01\x41\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x06\x01\x0a\x01\x20\x01\x21\x01\x29\x00\x2a\x00\x2b\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x2c\x00\x26\x01\x2d\x00\x24\x01\x25\x01\x2e\x00\x2e\x01\x2f\x00\x31\x01\xb3\x00\xb4\x00\x69\x00\x6a\x00\x6e\x00\x70\x00\x30\x00\x89\x00\x91\x00\x31\x00\x76\x00\xa6\x00\x94\x00\x95\x00\x97\x00\x4d\xff\xae\x00\xb9\x00\xc3\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xb5\x00\xc0\x00\xbf\x01\xa8\x00\xc6\x00\xb6\x00\xb7\x00\x04\x00\x63\x02\x57\x01\xb8\x00\x79\x00\x50\x02\x52\x02\x53\x02\x5b\x02\xe7\x00\xb9\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x3d\x02\x41\x02\x3e\x00\x3f\x00\x40\x00\x22\x00\x44\x02\x41\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x48\x02\xfe\x01\x45\x02\x4e\x02\x29\x00\x2a\x00\x2b\x00\x02\x02\x01\x02\x17\x00\x04\x02\x85\x01\x2c\x00\x05\x02\x2d\x00\x0f\x02\x1b\x02\x2e\x00\x16\x02\x2f\x00\x19\x02\x19\x00\x1a\x00\x1b\x00\x1c\x02\x21\x02\x26\x02\x30\x00\x27\x02\x1c\x00\x31\x00\x1d\x00\x1e\x00\x86\x01\x1f\x00\x28\x02\x29\x02\x20\x00\x2a\x02\xc5\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xc6\x01\xba\x01\xbd\x01\xe7\x00\xc8\x01\xdc\x00\xe3\x01\x87\x01\xd4\x01\xde\x01\xdf\x01\xe1\x01\xe2\x01\xb3\x00\xb4\x00\xfb\x01\xf2\x01\xfc\x01\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x01\x3d\x01\x43\x01\x3e\x00\x3f\x00\x40\x00\x22\x00\x41\x01\x41\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x45\x01\x44\x01\x46\x01\xb5\x00\x29\x00\x2a\x00\x2b\x00\x4e\x01\xb6\x00\xb7\x00\x4f\x01\x55\x01\x2c\x00\xb8\x00\x2d\x00\x5a\x01\x5b\x01\x2e\x00\x5c\x01\x2f\x00\xb9\x00\x3b\x01\x5d\x01\x5e\x01\x61\x01\x6c\x01\x8b\x00\x30\x00\x6f\x01\x5f\x01\x31\x00\x74\x01\x75\x01\x76\x01\x79\x01\x17\x00\x1b\x01\x42\x00\x43\x00\x44\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x45\x00\x1b\x00\x7c\x01\x46\x00\x47\x00\x84\x01\x48\x00\x1c\x00\x49\x00\x84\x00\x1e\x00\x98\x01\x1f\x00\x4a\x00\x94\x01\x20\x00\x9c\x01\x9e\x01\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x9f\x01\xa0\x01\xa2\x01\x3e\x00\x3f\x00\x40\x00\x22\x00\x00\x00\x06\x01\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\xd7\x00\xca\x00\xd4\x00\xda\x00\x29\x00\x2a\x00\x2b\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x2c\x00\xdc\x00\x2d\x00\xc4\xff\xc5\xff\x2e\x00\xef\x00\x2f\x00\x00\x00\xdc\x00\x0a\x01\xdc\x00\x13\x01\x1a\x01\x2a\x01\x30\x00\x37\x01\x1a\x01\x31\x00\x36\x01\x3a\x01\x63\x00\x64\x00\x17\x00\x1c\x01\x42\x00\x43\x00\x44\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x45\x00\x1b\x00\x66\x00\x46\x00\x47\x00\x67\x00\x48\x00\x1c\x00\x49\x00\x84\x00\x1e\x00\x68\x00\x1f\x00\x4a\x00\x69\x00\x20\x00\x6c\x00\x70\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x6d\x00\x6e\x00\x8b\x00\x3e\x00\x3f\x00\x40\x00\x22\x00\x7f\x00\x41\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x80\x00\x17\x00\x81\x00\x82\x00\x29\x00\x2a\x00\x2b\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x2c\x00\x83\x00\x2d\x00\x1b\x00\x8c\x00\x2e\x00\xff\xff\x2f\x00\xb0\x00\x1c\x00\x00\x00\xa5\x01\x1e\x00\xff\xff\x1f\x00\x30\x00\x00\x00\x20\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x00\x1d\x01\x42\x00\x43\x00\x44\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x45\x00\x1b\x00\x00\x00\x46\x00\x47\x00\x00\x00\x48\x00\x1c\x00\x49\x00\x05\x02\x1e\x00\x00\x00\x1f\x00\x4a\x00\x00\x00\x20\x00\x4a\x02\x00\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x3f\x00\x40\x00\x22\x00\x00\x00\x06\x01\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x17\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x2b\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x2c\x00\x00\x00\x2d\x00\x1b\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x1c\x00\x00\x00\xa5\x01\x1e\x00\x00\x00\x1f\x00\x30\x00\x00\x00\x20\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x00\x1e\x01\x42\x00\x43\x00\x44\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x45\x00\x1b\x00\x00\x00\x46\x00\x47\x00\x00\x00\x48\x00\x1c\x00\x49\x00\xc3\x01\x1e\x00\x00\x00\x1f\x00\x4a\x00\x00\x00\x20\x00\x00\x00\x00\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x3f\x00\x40\x00\x22\x00\x00\x00\x41\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x17\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x2b\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x2c\x00\x00\x00\x2d\x00\x1b\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x1c\x00\x00\x00\xa5\x01\x1e\x00\x00\x00\x1f\x00\x30\x00\x00\x00\x20\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x00\x1f\x01\x42\x00\x43\x00\x44\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x45\x00\x1b\x00\x00\x00\x46\x00\x47\x00\x00\x00\x48\x00\x1c\x00\x49\x00\xa5\x01\x1e\x00\x00\x00\x1f\x00\x4a\x00\x00\x00\x20\x00\x00\x00\x00\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x3f\x00\x40\x00\x22\x00\x00\x00\x06\x01\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x17\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x2b\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x2c\x00\x00\x00\x2d\x00\x1b\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x1c\x00\x00\x00\xd7\x00\x1e\x00\x00\x00\x1f\x00\x30\x00\x00\x00\x20\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x00\x8c\x00\x42\x00\x43\x00\x44\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x45\x00\x1b\x00\x00\x00\x46\x00\x47\x00\x00\x00\x48\x00\x1c\x00\x49\x00\x99\x00\x1e\x00\x00\x00\x1f\x00\x4a\x00\x00\x00\x20\x00\x00\x00\x00\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x76\x00\xa6\x00\x00\x00\x3e\x00\x3f\x00\x40\x00\x22\x00\x00\x00\x41\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x64\x02\x00\x00\x00\x00\xd0\x01\xa8\x00\x2b\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x2c\x00\x79\x00\x2d\x00\x00\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x70\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x5c\x02\x00\x00\xdf\x00\xa6\x00\x00\x00\x2b\x00\xe0\x00\xde\x00\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe1\x00\xa8\x00\xe2\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x31\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x57\x02\x00\x00\x76\x00\xa6\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdf\x01\xa8\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x31\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x09\x02\x76\x00\xa6\x00\x76\x00\xa6\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x00\x00\x94\x01\xa8\x00\x95\x01\xa8\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x79\x00\x31\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x87\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x76\x00\xa6\x00\x00\x00\x76\x00\xa6\x00\x00\x00\x2b\x00\x00\x00\x13\x01\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\x49\x02\x15\x01\xa8\x00\x00\x00\xa0\x01\xa8\x00\x00\x00\x00\x00\x00\x00\x30\x00\x79\x00\x00\x00\x31\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x22\x02\x00\x00\x76\x00\xa6\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa7\x00\xa8\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x31\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x76\x00\xa6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2b\x02\x13\x01\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\xb8\x01\x15\x01\xa8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x79\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x76\x00\xa6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2c\x02\x13\x01\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\xb8\x01\xbb\x01\xa8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x79\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x76\x00\xa6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2d\x02\x13\x01\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\xf0\x01\x15\x01\xa8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x79\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x76\x00\xa6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2e\x02\x13\x01\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\xf7\x01\x15\x01\xa8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x79\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x87\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x76\x00\xa6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x13\x01\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\x14\x01\x15\x01\xa8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x79\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\xb3\x00\xb4\x00\x00\x00\x3e\x00\x3f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x22\x00\x72\x00\x8a\xff\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb5\x00\x00\x00\xaa\x00\xab\x00\x00\x00\xb6\x00\xb7\x00\x00\x00\x00\x00\x00\x00\xb8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\xb9\x00\x00\x00\x00\x00\x00\x00\x74\x00\x75\x00\x00\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xac\x00\x22\x00\x00\x00\x17\x01\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x00\x00\x00\x00\x8d\x00\x42\x00\x43\x00\x44\x00\xaa\x00\xab\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x7e\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x47\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb3\x00\xb4\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xac\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x00\x00\xaa\x00\xab\x00\xb5\x00\x00\x00\x17\x00\x7d\x00\x7e\x00\xb6\x00\xb7\x00\x00\x00\x00\x00\x00\x00\xb8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\xb9\x00\x00\x00\x00\x00\x7c\x00\x00\x00\x1c\x00\x00\x00\x05\x02\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x06\x02\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xac\x00\x22\x00\x07\x02\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x00\x00\x41\x00\x42\x00\x43\x00\x44\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x7e\x00\x45\x00\x00\x00\x2d\x00\x46\x00\x47\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x00\x00\x17\x00\x00\x00\xcd\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x7e\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x17\x00\x20\x00\xd1\x00\x00\x00\x17\x00\x00\x00\xd4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x84\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x1c\x00\x1f\x00\x1d\x00\x1e\x00\x20\x00\x1f\x00\x00\x00\x17\x00\x20\x00\xe9\x00\x00\x00\x17\x00\x00\x00\xeb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x88\x01\x19\x00\x1a\x00\x1b\x00\x89\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x1c\x00\x1f\x00\x1d\x00\x1e\x00\x20\x00\x1f\x00\xb3\x00\xb4\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf2\x00\xb4\x00\x56\x01\xea\x00\x00\x00\x00\x00\x00\x00\xec\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb5\x00\xf3\x00\xb3\x00\xb4\x00\x00\x00\xb6\x00\xb7\x00\x00\x00\x00\x00\x57\x01\xb8\x00\x00\x00\x00\x00\xf4\x00\x00\x00\xb3\x00\xb4\x00\xb9\x00\xf5\x00\xf6\x00\x00\x00\x00\x00\xf7\x00\xb8\x00\x00\x02\xfb\x00\x00\x00\x00\x00\x00\x00\xb5\x00\xf8\x00\xb3\x00\xb4\x00\x00\x00\xb6\x00\xb7\x00\x00\x00\x00\x00\xfc\x00\xb8\x00\xb3\x00\xb4\x00\xb5\x00\x00\x00\x00\x00\x00\x00\xb9\x00\xb6\x00\xb7\x00\x00\x00\x00\x00\x00\x00\xb8\x00\x00\x00\xd3\x01\x00\x00\xdb\x01\x00\x00\xb5\x00\xb9\x00\xb3\x00\xb4\x00\x00\x00\xb6\x00\xb7\x00\x00\x00\x00\x00\xb5\x00\xb8\x00\xdd\x01\x00\x00\x00\x00\xb6\x00\xb7\x00\x00\x00\xb9\x00\x00\x00\xb8\x00\xb3\x00\xb4\x00\xb3\x00\xb4\x00\x00\x00\x00\x00\xb9\x00\x00\x00\x00\x00\xb5\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb6\x00\xb7\x00\x00\x00\xe9\x01\xeb\x01\xb8\x00\x00\x00\xb3\x00\xb4\x00\x00\x00\x00\x00\x00\x00\xb9\x00\xb5\x00\x00\x00\xb5\x00\xec\x01\x00\x00\xb6\x00\xb7\x00\xb6\x00\xb7\x00\x00\x00\xb8\x00\x00\x00\xb8\x00\xb3\x00\xb4\x00\xb3\x00\xb4\x00\xb9\x00\x00\x00\xb9\x00\x00\x00\xb5\x00\xed\x01\x00\x00\xfd\x01\x00\x00\xb6\x00\xb7\x00\xb3\x00\xb4\x00\x00\x00\xb8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb9\x00\x00\x00\xb5\x00\x00\x00\xb5\x00\x97\x01\x00\x00\xb6\x00\xb7\x00\xb6\x00\xb7\x00\x00\x00\xb8\x00\x00\x00\xb8\x00\xb3\x00\xb4\x00\xb5\x00\x00\x00\xb9\x00\x00\x00\xb9\x00\xb6\x00\xb7\x00\x00\x00\x00\x00\x00\x00\xb8\x00\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x00\x00\xb9\x00\x00\x00\xfa\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9c\x00\xb5\x00\x9d\x00\x00\x00\x00\x00\x00\x00\xb6\x00\xb7\x00\x70\x00\x00\x00\x00\x00\xb8\x00\x19\x00\x1a\x00\x1b\x00\x9e\x00\x00\x00\x00\x00\xb9\x00\x17\x00\x1c\x00\x22\x01\x1d\x00\x1e\x00\x9f\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x01\x01\x00\x00\x02\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x23\x01\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x01\x01\x00\x00\x02\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x5d\x02\x04\x01\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x01\x01\x00\x00\x02\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x7a\x01\x04\x01\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x85\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x03\x01\x04\x01\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x38\x02\x1c\x00\x00\x00\x1d\x00\x1e\x00\x86\x01\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x1e\x02\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x22\x02\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xd6\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xd8\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xf9\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x3b\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x4f\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x50\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x51\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x5e\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x6f\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x70\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x71\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x76\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x77\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x81\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xcf\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xd0\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xa2\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xa7\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xca\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xcb\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xcd\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xce\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xcf\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xd0\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xd1\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xd4\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xe3\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x98\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xed\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xef\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x64\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x90\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x96\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x98\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x9a\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x9b\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xba\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xbb\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xbc\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xbd\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xbe\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xbf\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xc1\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xc3\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xc5\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x18\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#--happyReduceArr = Happy_Data_Array.array (3, 249) [- (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),- (167 , happyReduce_167),- (168 , happyReduce_168),- (169 , happyReduce_169),- (170 , happyReduce_170),- (171 , happyReduce_171),- (172 , happyReduce_172),- (173 , happyReduce_173),- (174 , happyReduce_174),- (175 , happyReduce_175),- (176 , happyReduce_176),- (177 , happyReduce_177),- (178 , happyReduce_178),- (179 , happyReduce_179),- (180 , happyReduce_180),- (181 , happyReduce_181),- (182 , happyReduce_182),- (183 , happyReduce_183),- (184 , happyReduce_184),- (185 , happyReduce_185),- (186 , happyReduce_186),- (187 , happyReduce_187),- (188 , happyReduce_188),- (189 , happyReduce_189),- (190 , happyReduce_190),- (191 , happyReduce_191),- (192 , happyReduce_192),- (193 , happyReduce_193),- (194 , happyReduce_194),- (195 , happyReduce_195),- (196 , happyReduce_196),- (197 , happyReduce_197),- (198 , happyReduce_198),- (199 , happyReduce_199),- (200 , happyReduce_200),- (201 , happyReduce_201),- (202 , happyReduce_202),- (203 , happyReduce_203),- (204 , happyReduce_204),- (205 , happyReduce_205),- (206 , happyReduce_206),- (207 , happyReduce_207),- (208 , happyReduce_208),- (209 , happyReduce_209),- (210 , happyReduce_210),- (211 , happyReduce_211),- (212 , happyReduce_212),- (213 , happyReduce_213),- (214 , happyReduce_214),- (215 , happyReduce_215),- (216 , happyReduce_216),- (217 , happyReduce_217),- (218 , happyReduce_218),- (219 , happyReduce_219),- (220 , happyReduce_220),- (221 , happyReduce_221),- (222 , happyReduce_222),- (223 , happyReduce_223),- (224 , happyReduce_224),- (225 , happyReduce_225),- (226 , happyReduce_226),- (227 , happyReduce_227),- (228 , happyReduce_228),- (229 , happyReduce_229),- (230 , happyReduce_230),- (231 , happyReduce_231),- (232 , happyReduce_232),- (233 , happyReduce_233),- (234 , happyReduce_234),- (235 , happyReduce_235),- (236 , happyReduce_236),- (237 , happyReduce_237),- (238 , happyReduce_238),- (239 , happyReduce_239),- (240 , happyReduce_240),- (241 , happyReduce_241),- (242 , happyReduce_242),- (243 , happyReduce_243),- (244 , happyReduce_244),- (245 , happyReduce_245),- (246 , happyReduce_246),- (247 , happyReduce_247),- (248 , happyReduce_248),- (249 , happyReduce_249)- ]--happy_n_terms = 119 :: Int-happy_n_nonterms = 73 :: Int--happyReduce_3 = happySpecReduce_0 0# happyReduction_3-happyReduction_3 = happyIn6- ([]- )--happyReduce_4 = happySpecReduce_2 0# happyReduction_4-happyReduction_4 happy_x_2- happy_x_1- = case happyOut7 happy_x_1 of { happy_var_1 -> - case happyOut6 happy_x_2 of { happy_var_2 -> - happyIn6- (happy_var_1:happy_var_2- )}}--happyReduce_5 = happySpecReduce_2 0# happyReduction_5-happyReduction_5 happy_x_2- happy_x_1- = case happyOut18 happy_x_1 of { happy_var_1 -> - case happyOut6 happy_x_2 of { happy_var_2 -> - happyIn6- (map RealDecl happy_var_1 ++ happy_var_2- )}}--happyReduce_6 = happyReduce 4# 0# happyReduction_6-happyReduction_6 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_2 of { (TokenString happy_var_2) -> - case happyOut6 happy_x_4 of { happy_var_4 -> - happyIn6- (RealDecl (PInclude happy_var_2) : happy_var_4- ) `HappyStk` happyRest}}--happyReduce_7 = happySpecReduce_1 1# happyReduction_7-happyReduction_7 happy_x_1- = case happyOut9 happy_x_1 of { happy_var_1 -> - happyIn7- (happy_var_1- )}--happyReduce_8 = happySpecReduce_1 1# happyReduction_8-happyReduction_8 happy_x_1- = case happyOut26 happy_x_1 of { happy_var_1 -> - happyIn7- (RealDecl (DataDecl happy_var_1)- )}--happyReduce_9 = happySpecReduce_1 1# happyReduction_9-happyReduction_9 happy_x_1- = case happyOut22 happy_x_1 of { happy_var_1 -> - happyIn7- (RealDecl happy_var_1- )}--happyReduce_10 = happySpecReduce_3 1# happyReduction_10-happyReduction_10 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_2 of { (TokenName happy_var_2) -> - happyIn7- (RealDecl (Freeze happy_var_2)- )}--happyReduce_11 = happyReduce 4# 1# happyReduction_11-happyReduction_11 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut62 happy_x_1 of { happy_var_1 -> - case happyOut6 happy_x_3 of { happy_var_3 -> - happyIn7- (PUsing happy_var_1 happy_var_3- ) `HappyStk` happyRest}}--happyReduce_12 = happyReduce 4# 1# happyReduction_12-happyReduction_12 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut63 happy_x_1 of { happy_var_1 -> - case happyOut6 happy_x_3 of { happy_var_3 -> - happyIn7- (PDoUsing happy_var_1 happy_var_3- ) `HappyStk` happyRest}}--happyReduce_13 = happyReduce 4# 1# happyReduction_13-happyReduction_13 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut64 happy_x_1 of { happy_var_1 -> - case happyOut6 happy_x_3 of { happy_var_3 -> - happyIn7- (PIdiom happy_var_1 happy_var_3- ) `HappyStk` happyRest}}--happyReduce_14 = happyReduce 4# 1# happyReduction_14-happyReduction_14 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut65 happy_x_1 of { happy_var_1 -> - case happyOut6 happy_x_3 of { happy_var_3 -> - happyIn7- (PParams happy_var_1 happy_var_3- ) `HappyStk` happyRest}}--happyReduce_15 = happyReduce 4# 1# happyReduction_15-happyReduction_15 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut66 happy_x_1 of { happy_var_1 -> - case happyOut6 happy_x_3 of { happy_var_3 -> - happyIn7- (PNamespace happy_var_1 happy_var_3- ) `HappyStk` happyRest}}--happyReduce_16 = happySpecReduce_1 1# happyReduction_16-happyReduction_16 happy_x_1- = case happyOut8 happy_x_1 of { happy_var_1 -> - happyIn7- (RealDecl happy_var_1- )}--happyReduce_17 = happyReduce 6# 1# happyReduction_17-happyReduction_17 (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 happyOut31 happy_x_2 of { happy_var_2 -> - case happyOut40 happy_x_3 of { happy_var_3 -> - case happyOut33 happy_x_5 of { happy_var_5 -> - happyIn7- (PSyntax happy_var_2 happy_var_3 happy_var_5- ) `HappyStk` happyRest}}}--happyReduce_18 = happySpecReduce_2 1# happyReduction_18-happyReduction_18 happy_x_2- happy_x_1- = case happyOutTok happy_x_2 of { (TokenString happy_var_2) -> - happyIn7- (RealDecl (CInclude happy_var_2)- )}--happyReduce_19 = happySpecReduce_2 1# happyReduction_19-happyReduction_19 happy_x_2- happy_x_1- = case happyOutTok happy_x_2 of { (TokenString happy_var_2) -> - happyIn7- (RealDecl (CLib happy_var_2)- )}--happyReduce_20 = happyReduce 5# 2# happyReduction_20-happyReduction_20 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut33 happy_x_2 of { happy_var_2 -> - case happyOut33 happy_x_4 of { happy_var_4 -> - happyIn8- (Transform happy_var_2 happy_var_4- ) `HappyStk` happyRest}}--happyReduce_21 = happyReduce 7# 3# happyReduction_21-happyReduction_21 (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 happyOut31 happy_x_1 of { happy_var_1 -> - case happyOut49 happy_x_3 of { happy_var_3 -> - case happyOut15 happy_x_4 of { happy_var_4 -> - case happyOut77 happy_x_5 of { happy_var_5 -> - case happyOut76 happy_x_6 of { happy_var_6 -> - happyIn9- (FunType happy_var_1 happy_var_3 (nub happy_var_4) happy_var_5 happy_var_6- ) `HappyStk` happyRest}}}}}--happyReduce_22 = happySpecReduce_3 3# happyReduction_22-happyReduction_22 happy_x_3- happy_x_2- happy_x_1- = case happyOut31 happy_x_1 of { happy_var_1 -> - case happyOut74 happy_x_2 of { happy_var_2 -> - happyIn9- (ProofScript happy_var_1 happy_var_2- )}}--happyReduce_23 = happyReduce 9# 3# happyReduction_23-happyReduction_23 (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 happyOut24 happy_x_1 of { happy_var_1 -> - case happyOut12 happy_x_2 of { happy_var_2 -> - case happyOut11 happy_x_3 of { happy_var_3 -> - case happyOut33 happy_x_4 of { happy_var_4 -> - case happyOut14 happy_x_6 of { happy_var_6 -> - case happyOut77 happy_x_8 of { happy_var_8 -> - case happyOut76 happy_x_9 of { happy_var_9 -> - happyIn9- (WithClause (mkDef happy_var_8 happy_var_9 happy_var_1) happy_var_2 happy_var_3 happy_var_4 happy_var_6- ) `HappyStk` happyRest}}}}}}}--happyReduce_24 = happyReduce 10# 3# happyReduction_24-happyReduction_24 (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 happyOut24 happy_x_1 of { happy_var_1 -> - case happyOut12 happy_x_2 of { happy_var_2 -> - case happyOut33 happy_x_4 of { happy_var_4 -> - case happyOut31 happy_x_7 of { happy_var_7 -> - case happyOut77 happy_x_9 of { happy_var_9 -> - case happyOut76 happy_x_10 of { happy_var_10 -> - happyIn9- (FunClauseP (mkDef happy_var_9 happy_var_10 happy_var_1) happy_var_2 happy_var_4 happy_var_7- ) `HappyStk` happyRest}}}}}}--happyReduce_25 = happyReduce 8# 3# happyReduction_25-happyReduction_25 (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 happyOut24 happy_x_1 of { happy_var_1 -> - case happyOut12 happy_x_2 of { happy_var_2 -> - case happyOut33 happy_x_4 of { happy_var_4 -> - case happyOut15 happy_x_5 of { happy_var_5 -> - case happyOut77 happy_x_7 of { happy_var_7 -> - case happyOut76 happy_x_8 of { happy_var_8 -> - happyIn9- (FunClause (mkDef happy_var_7 happy_var_8 happy_var_1) happy_var_2 happy_var_4 (nub happy_var_5)- ) `HappyStk` happyRest}}}}}}--happyReduce_26 = happyReduce 5# 3# happyReduction_26-happyReduction_26 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut13 happy_x_2 of { happy_var_2 -> - case happyOut33 happy_x_4 of { happy_var_4 -> - happyIn9- (FunClause RPlaceholder [happy_var_2] happy_var_4 []- ) `HappyStk` happyRest}}--happyReduce_27 = happyReduce 8# 3# happyReduction_27-happyReduction_27 (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 happyOut13 happy_x_2 of { happy_var_2 -> - case happyOut33 happy_x_4 of { happy_var_4 -> - case happyOut31 happy_x_7 of { happy_var_7 -> - happyIn9- (FunClauseP RPlaceholder [happy_var_2] happy_var_4 happy_var_7- ) `HappyStk` happyRest}}}--happyReduce_28 = happyReduce 7# 3# happyReduction_28-happyReduction_28 (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 happyOut13 happy_x_2 of { happy_var_2 -> - case happyOut11 happy_x_3 of { happy_var_3 -> - case happyOut33 happy_x_4 of { happy_var_4 -> - case happyOut14 happy_x_6 of { happy_var_6 -> - happyIn9- (WithClause RPlaceholder [happy_var_2] happy_var_3 happy_var_4 happy_var_6- ) `HappyStk` happyRest}}}}--happyReduce_29 = happySpecReduce_1 4# happyReduction_29-happyReduction_29 happy_x_1- = happyIn10- (Vis Public- )--happyReduce_30 = happySpecReduce_1 4# happyReduction_30-happyReduction_30 happy_x_1- = happyIn10- (Vis Private- )--happyReduce_31 = happySpecReduce_1 4# happyReduction_31-happyReduction_31 happy_x_1- = happyIn10- (Vis Abstract- )--happyReduce_32 = happySpecReduce_0 4# happyReduction_32-happyReduction_32 = happyIn10- (Vis Public- )--happyReduce_33 = happySpecReduce_1 5# happyReduction_33-happyReduction_33 happy_x_1- = happyIn11- (False- )--happyReduce_34 = happySpecReduce_2 5# happyReduction_34-happyReduction_34 happy_x_2- happy_x_1- = happyIn11- (True- )--happyReduce_35 = happySpecReduce_3 6# happyReduction_35-happyReduction_35 happy_x_3- happy_x_2- happy_x_1- = case happyOut13 happy_x_2 of { happy_var_2 -> - case happyOut12 happy_x_3 of { happy_var_3 -> - happyIn12- (happy_var_2:happy_var_3- )}}--happyReduce_36 = happySpecReduce_0 6# happyReduction_36-happyReduction_36 = happyIn12- ([]- )--happyReduce_37 = happySpecReduce_1 7# happyReduction_37-happyReduction_37 happy_x_1- = case happyOut32 happy_x_1 of { happy_var_1 -> - happyIn13- (happy_var_1- )}--happyReduce_38 = happySpecReduce_1 7# happyReduction_38-happyReduction_38 happy_x_1- = case happyOut54 happy_x_1 of { happy_var_1 -> - happyIn13- (happy_var_1- )}--happyReduce_39 = happySpecReduce_3 7# happyReduction_39-happyReduction_39 happy_x_3- happy_x_2- happy_x_1- = case happyOut33 happy_x_2 of { happy_var_2 -> - happyIn13- (happy_var_2- )}--happyReduce_40 = happyReduce 5# 7# happyReduction_40-happyReduction_40 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut55 happy_x_2 of { happy_var_2 -> - case happyOut77 happy_x_4 of { happy_var_4 -> - case happyOut76 happy_x_5 of { happy_var_5 -> - happyIn13- (pairDesugar happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "mkPair")) happy_var_2- ) `HappyStk` happyRest}}}--happyReduce_41 = happySpecReduce_2 8# happyReduction_41-happyReduction_41 happy_x_2- happy_x_1- = case happyOut9 happy_x_1 of { happy_var_1 -> - case happyOut14 happy_x_2 of { happy_var_2 -> - happyIn14- (happy_var_1:happy_var_2- )}}--happyReduce_42 = happySpecReduce_1 8# happyReduction_42-happyReduction_42 happy_x_1- = case happyOut9 happy_x_1 of { happy_var_1 -> - happyIn14- ([happy_var_1]- )}--happyReduce_43 = happySpecReduce_1 9# happyReduction_43-happyReduction_43 happy_x_1- = case happyOut16 happy_x_1 of { happy_var_1 -> - happyIn15- (happy_var_1- )}--happyReduce_44 = happySpecReduce_3 9# happyReduction_44-happyReduction_44 happy_x_3- happy_x_2- happy_x_1- = case happyOut16 happy_x_2 of { happy_var_2 -> - happyIn15- (happy_var_2- )}--happyReduce_45 = happySpecReduce_0 10# happyReduction_45-happyReduction_45 = happyIn16- ([]- )--happyReduce_46 = happySpecReduce_2 10# happyReduction_46-happyReduction_46 happy_x_2- happy_x_1- = case happyOut17 happy_x_1 of { happy_var_1 -> - case happyOut16 happy_x_2 of { happy_var_2 -> - happyIn16- (happy_var_1 ++ happy_var_2- )}}--happyReduce_47 = happySpecReduce_1 11# happyReduction_47-happyReduction_47 happy_x_1- = happyIn17- ([NoCG]- )--happyReduce_48 = happySpecReduce_1 11# happyReduction_48-happyReduction_48 happy_x_1- = happyIn17- ([CGEval, Inline]- )--happyReduce_49 = happyReduce 4# 11# happyReduction_49-happyReduction_49 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut38 happy_x_3 of { happy_var_3 -> - happyIn17- ([CGSpec happy_var_3]- ) `HappyStk` happyRest}--happyReduce_50 = happySpecReduce_1 11# happyReduction_50-happyReduction_50 happy_x_1- = happyIn17- ([CGSpec []]- )--happyReduce_51 = happySpecReduce_1 11# happyReduction_51-happyReduction_51 happy_x_1- = happyIn17- ([Inline]- )--happyReduce_52 = happySpecReduce_2 11# happyReduction_52-happyReduction_52 happy_x_2- happy_x_1- = case happyOutTok happy_x_2 of { (TokenString happy_var_2) -> - happyIn17- ([CExport happy_var_2]- )}--happyReduce_53 = happyReduce 4# 12# happyReduction_53-happyReduction_53 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut21 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (TokenInt happy_var_2) -> - case happyOut19 happy_x_3 of { happy_var_3 -> - happyIn18- (map (\x -> Fixity x happy_var_1 happy_var_2) happy_var_3- ) `HappyStk` happyRest}}}--happyReduce_54 = happySpecReduce_1 13# happyReduction_54-happyReduction_54 happy_x_1- = case happyOut20 happy_x_1 of { happy_var_1 -> - happyIn19- ([happy_var_1]- )}--happyReduce_55 = happySpecReduce_3 13# happyReduction_55-happyReduction_55 happy_x_3- happy_x_2- happy_x_1- = case happyOut20 happy_x_1 of { happy_var_1 -> - case happyOut19 happy_x_3 of { happy_var_3 -> - happyIn19- (happy_var_1:happy_var_3- )}}--happyReduce_56 = happySpecReduce_1 14# happyReduction_56-happyReduction_56 happy_x_1- = case happyOutTok happy_x_1 of { (TokenInfixName happy_var_1) -> - happyIn20- (happy_var_1- )}--happyReduce_57 = happySpecReduce_1 14# happyReduction_57-happyReduction_57 happy_x_1- = happyIn20- ("-"- )--happyReduce_58 = happySpecReduce_1 14# happyReduction_58-happyReduction_58 happy_x_1- = happyIn20- ("<"- )--happyReduce_59 = happySpecReduce_1 14# happyReduction_59-happyReduction_59 happy_x_1- = happyIn20- (">"- )--happyReduce_60 = happySpecReduce_1 15# happyReduction_60-happyReduction_60 happy_x_1- = happyIn21- (LeftAssoc- )--happyReduce_61 = happySpecReduce_1 15# happyReduction_61-happyReduction_61 happy_x_1- = happyIn21- (RightAssoc- )--happyReduce_62 = happySpecReduce_1 15# happyReduction_62-happyReduction_62 happy_x_1- = happyIn21- (NonAssoc- )--happyReduce_63 = happyReduce 4# 16# happyReduction_63-happyReduction_63 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut23 happy_x_3 of { happy_var_3 -> - happyIn22- (LatexDefs happy_var_3- ) `HappyStk` happyRest}--happyReduce_64 = happySpecReduce_3 17# happyReduction_64-happyReduction_64 happy_x_3- happy_x_2- happy_x_1- = case happyOut31 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_3 of { (TokenString happy_var_3) -> - happyIn23- ([(happy_var_1,happy_var_3)]- )}}--happyReduce_65 = happyReduce 5# 17# happyReduction_65-happyReduction_65 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut31 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_3 of { (TokenString happy_var_3) -> - case happyOut23 happy_x_5 of { happy_var_5 -> - happyIn23- ((happy_var_1,happy_var_3):happy_var_5- ) `HappyStk` happyRest}}}--happyReduce_66 = happySpecReduce_2 18# happyReduction_66-happyReduction_66 happy_x_2- happy_x_1- = case happyOut31 happy_x_1 of { happy_var_1 -> - case happyOut25 happy_x_2 of { happy_var_2 -> - happyIn24- ((happy_var_1, happy_var_2)- )}}--happyReduce_67 = happySpecReduce_0 19# happyReduction_67-happyReduction_67 = happyIn25- ([]- )--happyReduce_68 = happySpecReduce_2 19# happyReduction_68-happyReduction_68 happy_x_2- happy_x_1- = case happyOut53 happy_x_1 of { happy_var_1 -> - case happyOut25 happy_x_2 of { happy_var_2 -> - happyIn25- ((happy_var_1,Nothing):happy_var_2- )}}--happyReduce_69 = happyReduce 5# 19# happyReduction_69-happyReduction_69 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> - case happyOut25 happy_x_3 of { happy_var_3 -> - case happyOut77 happy_x_4 of { happy_var_4 -> - case happyOut76 happy_x_5 of { happy_var_5 -> - happyIn25- ((RVar happy_var_4 happy_var_5 happy_var_1, Just happy_var_1):happy_var_3- ) `HappyStk` happyRest}}}}--happyReduce_70 = happyReduce 5# 19# happyReduction_70-happyReduction_70 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> - case happyOut33 happy_x_3 of { happy_var_3 -> - case happyOut25 happy_x_5 of { happy_var_5 -> - happyIn25- ((happy_var_3, Just happy_var_1):happy_var_5- ) `HappyStk` happyRest}}}--happyReduce_71 = happyReduce 6# 20# happyReduction_71-happyReduction_71 (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_2 of { happy_var_2 -> - case happyOut31 happy_x_3 of { happy_var_3 -> - case happyOut27 happy_x_4 of { happy_var_4 -> - case happyOut77 happy_x_5 of { happy_var_5 -> - case happyOut76 happy_x_6 of { happy_var_6 -> - happyIn26- (mkDatatype happy_var_5 happy_var_6 happy_var_3 happy_var_4 happy_var_2- ) `HappyStk` happyRest}}}}}--happyReduce_72 = happySpecReduce_3 21# happyReduction_72-happyReduction_72 happy_x_3- happy_x_2- happy_x_1- = case happyOut61 happy_x_1 of { happy_var_1 -> - case happyOut70 happy_x_2 of { happy_var_2 -> - happyIn27- (Right (happy_var_1,happy_var_2)- )}}--happyReduce_73 = happySpecReduce_3 21# happyReduction_73-happyReduction_73 happy_x_3- happy_x_2- happy_x_1- = case happyOut49 happy_x_2 of { happy_var_2 -> - happyIn27- (Left happy_var_2- )}--happyReduce_74 = happySpecReduce_3 21# happyReduction_74-happyReduction_74 happy_x_3- happy_x_2- happy_x_1- = case happyOut77 happy_x_2 of { happy_var_2 -> - case happyOut76 happy_x_3 of { happy_var_3 -> - happyIn27- (Left (RConst happy_var_2 happy_var_3 TYPE)- )}}--happyReduce_75 = happySpecReduce_0 22# happyReduction_75-happyReduction_75 = happyIn28- ([]- )--happyReduce_76 = happySpecReduce_3 22# happyReduction_76-happyReduction_76 happy_x_3- happy_x_2- happy_x_1- = case happyOut29 happy_x_2 of { happy_var_2 -> - happyIn28- (happy_var_2- )}--happyReduce_77 = happySpecReduce_1 23# happyReduction_77-happyReduction_77 happy_x_1- = case happyOut30 happy_x_1 of { happy_var_1 -> - happyIn29- ([happy_var_1]- )}--happyReduce_78 = happySpecReduce_3 23# happyReduction_78-happyReduction_78 happy_x_3- happy_x_2- happy_x_1- = case happyOut30 happy_x_1 of { happy_var_1 -> - case happyOut29 happy_x_3 of { happy_var_3 -> - happyIn29- (happy_var_1:happy_var_3- )}}--happyReduce_79 = happySpecReduce_1 24# happyReduction_79-happyReduction_79 happy_x_1- = happyIn30- (NoElim- )--happyReduce_80 = happySpecReduce_1 24# happyReduction_80-happyReduction_80 happy_x_1- = happyIn30- (Collapsible- )--happyReduce_81 = happySpecReduce_1 25# happyReduction_81-happyReduction_81 happy_x_1- = case happyOutTok happy_x_1 of { (TokenName happy_var_1) -> - happyIn31- (happy_var_1- )}--happyReduce_82 = happySpecReduce_3 25# happyReduction_82-happyReduction_82 happy_x_3- happy_x_2- happy_x_1- = case happyOut20 happy_x_2 of { happy_var_2 -> - happyIn31- (useropFn happy_var_2- )}--happyReduce_83 = happyReduce 4# 26# happyReduction_83-happyReduction_83 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut32 happy_x_1 of { happy_var_1 -> - case happyOut77 happy_x_2 of { happy_var_2 -> - case happyOut76 happy_x_3 of { happy_var_3 -> - case happyOut53 happy_x_4 of { happy_var_4 -> - happyIn32- (RApp happy_var_2 happy_var_3 happy_var_1 happy_var_4- ) `HappyStk` happyRest}}}}--happyReduce_84 = happyReduce 5# 26# happyReduction_84-happyReduction_84 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut32 happy_x_1 of { happy_var_1 -> - case happyOut42 happy_x_2 of { happy_var_2 -> - case happyOut77 happy_x_4 of { happy_var_4 -> - case happyOut76 happy_x_5 of { happy_var_5 -> - happyIn32- (RAppImp happy_var_4 happy_var_5 (fst happy_var_2) happy_var_1 (snd happy_var_2)- ) `HappyStk` happyRest}}}}--happyReduce_85 = happySpecReduce_3 26# happyReduction_85-happyReduction_85 happy_x_3- happy_x_2- happy_x_1- = case happyOut31 happy_x_1 of { happy_var_1 -> - case happyOut77 happy_x_2 of { happy_var_2 -> - case happyOut76 happy_x_3 of { happy_var_3 -> - happyIn32- (RVar happy_var_2 happy_var_3 happy_var_1- )}}}--happyReduce_86 = happySpecReduce_3 26# happyReduction_86-happyReduction_86 happy_x_3- happy_x_2- happy_x_1- = case happyOut59 happy_x_1 of { happy_var_1 -> - case happyOut77 happy_x_2 of { happy_var_2 -> - case happyOut76 happy_x_3 of { happy_var_3 -> - happyIn32- (RConst happy_var_2 happy_var_3 happy_var_1- )}}}--happyReduce_87 = happySpecReduce_1 26# happyReduction_87-happyReduction_87 happy_x_1- = happyIn32- (RPlaceholder- )--happyReduce_88 = happySpecReduce_3 26# happyReduction_88-happyReduction_88 happy_x_3- happy_x_2- happy_x_1- = case happyOut77 happy_x_2 of { happy_var_2 -> - case happyOut76 happy_x_3 of { happy_var_3 -> - happyIn32- (RVar happy_var_2 happy_var_3 (UN "__Empty")- )}}--happyReduce_89 = happySpecReduce_3 26# happyReduction_89-happyReduction_89 happy_x_3- happy_x_2- happy_x_1- = case happyOut77 happy_x_2 of { happy_var_2 -> - case happyOut76 happy_x_3 of { happy_var_3 -> - happyIn32- (RVar happy_var_2 happy_var_3 (UN "__Unit")- )}}--happyReduce_90 = happySpecReduce_1 27# happyReduction_90-happyReduction_90 happy_x_1- = case happyOut53 happy_x_1 of { happy_var_1 -> - happyIn33- (happy_var_1- )}--happyReduce_91 = happySpecReduce_3 27# happyReduction_91-happyReduction_91 happy_x_3- happy_x_2- happy_x_1- = case happyOut50 happy_x_2 of { happy_var_2 -> - happyIn33- (happy_var_2- )}--happyReduce_92 = happyReduce 4# 27# happyReduction_92-happyReduction_92 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut33 happy_x_1 of { happy_var_1 -> - case happyOut77 happy_x_2 of { happy_var_2 -> - case happyOut76 happy_x_3 of { happy_var_3 -> - case happyOut53 happy_x_4 of { happy_var_4 -> - happyIn33- (RApp happy_var_2 happy_var_3 happy_var_1 happy_var_4- ) `HappyStk` happyRest}}}}--happyReduce_93 = happyReduce 5# 27# happyReduction_93-happyReduction_93 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut33 happy_x_1 of { happy_var_1 -> - case happyOut42 happy_x_2 of { happy_var_2 -> - case happyOut77 happy_x_4 of { happy_var_4 -> - case happyOut76 happy_x_5 of { happy_var_5 -> - happyIn33- (RAppImp happy_var_4 happy_var_5 (fst happy_var_2) happy_var_1 (snd happy_var_2)- ) `HappyStk` happyRest}}}}--happyReduce_94 = happyReduce 4# 27# happyReduction_94-happyReduction_94 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut33 happy_x_2 of { happy_var_2 -> - case happyOut77 happy_x_3 of { happy_var_3 -> - case happyOut76 happy_x_4 of { happy_var_4 -> - happyIn33- (RApp happy_var_3 happy_var_4 (RApp happy_var_3 happy_var_4 (RVar happy_var_3 happy_var_4 (UN "__lazy")) RPlaceholder) happy_var_2- ) `HappyStk` happyRest}}}--happyReduce_95 = happyReduce 4# 27# happyReduction_95-happyReduction_95 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut34 happy_x_2 of { happy_var_2 -> - case happyOut33 happy_x_4 of { happy_var_4 -> - happyIn33- (doBind Lam happy_var_2 happy_var_4- ) `HappyStk` happyRest}}--happyReduce_96 = happyReduce 4# 27# happyReduction_96-happyReduction_96 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut41 happy_x_2 of { happy_var_2 -> - case happyOut33 happy_x_4 of { happy_var_4 -> - happyIn33- (doLetBind happy_var_2 happy_var_4- ) `HappyStk` happyRest}}--happyReduce_97 = happySpecReduce_1 27# happyReduction_97-happyReduction_97 happy_x_1- = case happyOut43 happy_x_1 of { happy_var_1 -> - happyIn33- (happy_var_1- )}--happyReduce_98 = happyReduce 8# 27# happyReduction_98-happyReduction_98 (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 happyOut33 happy_x_2 of { happy_var_2 -> - case happyOut33 happy_x_4 of { happy_var_4 -> - case happyOut33 happy_x_6 of { happy_var_6 -> - case happyOut77 happy_x_7 of { happy_var_7 -> - case happyOut76 happy_x_8 of { happy_var_8 -> - happyIn33- (mkApp happy_var_7 happy_var_8 (RVar happy_var_7 happy_var_8 (UN "if_then_else")) [happy_var_2,happy_var_4,happy_var_6]- ) `HappyStk` happyRest}}}}}--happyReduce_99 = happySpecReduce_2 28# happyReduction_99-happyReduction_99 happy_x_2- happy_x_1- = case happyOut31 happy_x_1 of { happy_var_1 -> - case happyOut47 happy_x_2 of { happy_var_2 -> - happyIn34- ([(happy_var_1,happy_var_2)]- )}}--happyReduce_100 = happyReduce 4# 28# happyReduction_100-happyReduction_100 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut31 happy_x_1 of { happy_var_1 -> - case happyOut47 happy_x_2 of { happy_var_2 -> - case happyOut34 happy_x_4 of { happy_var_4 -> - happyIn34- ((happy_var_1,happy_var_2):happy_var_4- ) `HappyStk` happyRest}}}--happyReduce_101 = happySpecReduce_3 29# happyReduction_101-happyReduction_101 happy_x_3- happy_x_2- happy_x_1- = case happyOut36 happy_x_1 of { happy_var_1 -> - case happyOut35 happy_x_3 of { happy_var_3 -> - happyIn35- (happy_var_1 ++ happy_var_3- )}}--happyReduce_102 = happySpecReduce_1 29# happyReduction_102-happyReduction_102 happy_x_1- = case happyOut36 happy_x_1 of { happy_var_1 -> - happyIn35- (happy_var_1- )}--happyReduce_103 = happySpecReduce_3 30# happyReduction_103-happyReduction_103 happy_x_3- happy_x_2- happy_x_1- = case happyOut31 happy_x_1 of { happy_var_1 -> - case happyOut49 happy_x_3 of { happy_var_3 -> - happyIn36- (map ( \x -> (x,happy_var_3)) [happy_var_1]- )}}--happyReduce_104 = happySpecReduce_1 31# happyReduction_104-happyReduction_104 happy_x_1- = case happyOut31 happy_x_1 of { happy_var_1 -> - happyIn37- ([happy_var_1]- )}--happyReduce_105 = happySpecReduce_3 31# happyReduction_105-happyReduction_105 happy_x_3- happy_x_2- happy_x_1- = case happyOut31 happy_x_1 of { happy_var_1 -> - case happyOut37 happy_x_3 of { happy_var_3 -> - happyIn37- (happy_var_1:happy_var_3- )}}--happyReduce_106 = happySpecReduce_2 32# happyReduction_106-happyReduction_106 happy_x_2- happy_x_1- = case happyOut31 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (TokenInt happy_var_2) -> - happyIn38- ([(happy_var_1,happy_var_2)]- )}}--happyReduce_107 = happySpecReduce_1 32# happyReduction_107-happyReduction_107 happy_x_1- = case happyOut31 happy_x_1 of { happy_var_1 -> - happyIn38- ([(happy_var_1, 0)]- )}--happyReduce_108 = happySpecReduce_3 32# happyReduction_108-happyReduction_108 happy_x_3- happy_x_2- happy_x_1- = case happyOut31 happy_x_1 of { happy_var_1 -> - case happyOut38 happy_x_3 of { happy_var_3 -> - happyIn38- ((happy_var_1,0):happy_var_3- )}}--happyReduce_109 = happyReduce 4# 32# happyReduction_109-happyReduction_109 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut31 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (TokenInt happy_var_2) -> - case happyOut38 happy_x_4 of { happy_var_4 -> - happyIn38- ((happy_var_1,happy_var_2):happy_var_4- ) `HappyStk` happyRest}}}--happyReduce_110 = happySpecReduce_1 33# happyReduction_110-happyReduction_110 happy_x_1- = case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> - happyIn39- ([happy_var_1]- )}--happyReduce_111 = happySpecReduce_3 33# happyReduction_111-happyReduction_111 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> - case happyOut37 happy_x_3 of { happy_var_3 -> - happyIn39- (happy_var_1:happy_var_3- )}}--happyReduce_112 = happySpecReduce_1 34# happyReduction_112-happyReduction_112 happy_x_1- = case happyOut31 happy_x_1 of { happy_var_1 -> - happyIn40- ([happy_var_1]- )}--happyReduce_113 = happySpecReduce_2 34# happyReduction_113-happyReduction_113 happy_x_2- happy_x_1- = case happyOut31 happy_x_1 of { happy_var_1 -> - case happyOut40 happy_x_2 of { happy_var_2 -> - happyIn40- (happy_var_1:happy_var_2- )}}--happyReduce_114 = happyReduce 4# 35# happyReduction_114-happyReduction_114 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut31 happy_x_1 of { happy_var_1 -> - case happyOut47 happy_x_2 of { happy_var_2 -> - case happyOut33 happy_x_4 of { happy_var_4 -> - happyIn41- ([(happy_var_1,happy_var_2,happy_var_4)]- ) `HappyStk` happyRest}}}--happyReduce_115 = happyReduce 6# 35# happyReduction_115-happyReduction_115 (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 happyOut31 happy_x_1 of { happy_var_1 -> - case happyOut47 happy_x_2 of { happy_var_2 -> - case happyOut33 happy_x_4 of { happy_var_4 -> - case happyOut41 happy_x_6 of { happy_var_6 -> - happyIn41- ((happy_var_1,happy_var_2,happy_var_4):happy_var_6- ) `HappyStk` happyRest}}}}--happyReduce_116 = happySpecReduce_3 36# happyReduction_116-happyReduction_116 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> - case happyOut77 happy_x_2 of { happy_var_2 -> - case happyOut76 happy_x_3 of { happy_var_3 -> - happyIn42- ((happy_var_1, RVar happy_var_2 happy_var_3 happy_var_1)- )}}}--happyReduce_117 = happySpecReduce_3 36# happyReduction_117-happyReduction_117 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> - case happyOut33 happy_x_3 of { happy_var_3 -> - happyIn42- ((happy_var_1, happy_var_3)- )}}--happyReduce_118 = happyReduce 4# 37# happyReduction_118-happyReduction_118 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut33 happy_x_2 of { happy_var_2 -> - case happyOut77 happy_x_3 of { happy_var_3 -> - case happyOut76 happy_x_4 of { happy_var_4 -> - happyIn43- (RInfix happy_var_3 happy_var_4 Minus (RConst happy_var_3 happy_var_4 (Num 0)) happy_var_2- ) `HappyStk` happyRest}}}--happyReduce_119 = happyReduce 5# 37# happyReduction_119-happyReduction_119 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut33 happy_x_1 of { happy_var_1 -> - case happyOut33 happy_x_3 of { happy_var_3 -> - case happyOut77 happy_x_4 of { happy_var_4 -> - case happyOut76 happy_x_5 of { happy_var_5 -> - happyIn43- (RUserInfix happy_var_4 happy_var_5 False "-" happy_var_1 happy_var_3- ) `HappyStk` happyRest}}}}--happyReduce_120 = happyReduce 5# 37# happyReduction_120-happyReduction_120 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut33 happy_x_1 of { happy_var_1 -> - case happyOut33 happy_x_3 of { happy_var_3 -> - case happyOut77 happy_x_4 of { happy_var_4 -> - case happyOut76 happy_x_5 of { happy_var_5 -> - happyIn43- (mkApp happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "Pair")) [happy_var_1, happy_var_3]- ) `HappyStk` happyRest}}}}--happyReduce_121 = happyReduce 5# 37# happyReduction_121-happyReduction_121 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut33 happy_x_1 of { happy_var_1 -> - case happyOut33 happy_x_3 of { happy_var_3 -> - case happyOut77 happy_x_4 of { happy_var_4 -> - case happyOut76 happy_x_5 of { happy_var_5 -> - happyIn43- (RUserInfix happy_var_4 happy_var_5 False "<" happy_var_1 happy_var_3- ) `HappyStk` happyRest}}}}--happyReduce_122 = happyReduce 5# 37# happyReduction_122-happyReduction_122 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut33 happy_x_1 of { happy_var_1 -> - case happyOut33 happy_x_3 of { happy_var_3 -> - case happyOut77 happy_x_4 of { happy_var_4 -> - case happyOut76 happy_x_5 of { happy_var_5 -> - happyIn43- (RUserInfix happy_var_4 happy_var_5 False ">" happy_var_1 happy_var_3- ) `HappyStk` happyRest}}}}--happyReduce_123 = happyReduce 5# 37# happyReduction_123-happyReduction_123 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut33 happy_x_1 of { happy_var_1 -> - case happyOut33 happy_x_3 of { happy_var_3 -> - happyIn43- (RBind (MN "X" 0) (Pi Ex Eager happy_var_1) happy_var_3- ) `HappyStk` happyRest}}--happyReduce_124 = happySpecReduce_1 37# happyReduction_124-happyReduction_124 happy_x_1- = case happyOut44 happy_x_1 of { happy_var_1 -> - happyIn43- (happy_var_1- )}--happyReduce_125 = happyReduce 5# 37# happyReduction_125-happyReduction_125 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut53 happy_x_1 of { happy_var_1 -> - case happyOut53 happy_x_3 of { happy_var_3 -> - case happyOut77 happy_x_4 of { happy_var_4 -> - case happyOut76 happy_x_5 of { happy_var_5 -> - happyIn43- (RInfix happy_var_4 happy_var_5 JMEq happy_var_1 happy_var_3- ) `HappyStk` happyRest}}}}--happyReduce_126 = happyReduce 5# 38# happyReduction_126-happyReduction_126 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut33 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (TokenInfixName happy_var_2) -> - case happyOut33 happy_x_3 of { happy_var_3 -> - case happyOut77 happy_x_4 of { happy_var_4 -> - case happyOut76 happy_x_5 of { happy_var_5 -> - happyIn44- (RUserInfix happy_var_4 happy_var_5 False happy_var_2 happy_var_1 happy_var_3- ) `HappyStk` happyRest}}}}}--happyReduce_127 = happyReduce 6# 39# happyReduction_127-happyReduction_127 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_2 of { (TokenInfixName happy_var_2) -> - case happyOut33 happy_x_3 of { happy_var_3 -> - case happyOut77 happy_x_4 of { happy_var_4 -> - case happyOut76 happy_x_5 of { happy_var_5 -> - happyIn45- (RBind (MN "X" 0) (Lam RPlaceholder) - (RUserInfix happy_var_4 happy_var_5 False happy_var_2 (RVar happy_var_4 happy_var_5 (MN "X" 0)) happy_var_3)- ) `HappyStk` happyRest}}}}--happyReduce_128 = happyReduce 6# 39# happyReduction_128-happyReduction_128 (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 happyOut33 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (TokenInfixName happy_var_3) -> - case happyOut77 happy_x_4 of { happy_var_4 -> - case happyOut76 happy_x_5 of { happy_var_5 -> - happyIn45- (RBind (MN "X" 0) (Lam RPlaceholder) - (RUserInfix happy_var_4 happy_var_5 False happy_var_3 happy_var_2 (RVar happy_var_4 happy_var_5 (MN "X" 0)))- ) `HappyStk` happyRest}}}}--happyReduce_129 = happyReduce 6# 39# happyReduction_129-happyReduction_129 (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 happyOut46 happy_x_2 of { happy_var_2 -> - case happyOut33 happy_x_3 of { happy_var_3 -> - case happyOut77 happy_x_4 of { happy_var_4 -> - case happyOut76 happy_x_5 of { happy_var_5 -> - happyIn45- (RBind (MN "X" 0) (Lam RPlaceholder) - (RUserInfix happy_var_4 happy_var_5 False happy_var_2 (RVar happy_var_4 happy_var_5 (MN "X" 0)) happy_var_3)- ) `HappyStk` happyRest}}}}--happyReduce_130 = happyReduce 6# 39# happyReduction_130-happyReduction_130 (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 happyOut33 happy_x_2 of { happy_var_2 -> - case happyOut46 happy_x_3 of { happy_var_3 -> - case happyOut77 happy_x_4 of { happy_var_4 -> - case happyOut76 happy_x_5 of { happy_var_5 -> - happyIn45- (RBind (MN "X" 0) (Lam RPlaceholder) - (RUserInfix happy_var_4 happy_var_5 False happy_var_3 happy_var_2 (RVar happy_var_4 happy_var_5 (MN "X" 0)))- ) `HappyStk` happyRest}}}}--happyReduce_131 = happyReduce 6# 39# happyReduction_131-happyReduction_131 (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 happyOut33 happy_x_2 of { happy_var_2 -> - case happyOut77 happy_x_4 of { happy_var_4 -> - case happyOut76 happy_x_5 of { happy_var_5 -> - happyIn45- (RBind (MN "X" 0) (Lam RPlaceholder) - (RUserInfix happy_var_4 happy_var_5 False "-" happy_var_2 (RVar happy_var_4 happy_var_5 (MN "X" 0)))- ) `HappyStk` happyRest}}}--happyReduce_132 = happyReduce 6# 39# happyReduction_132-happyReduction_132 (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 happyOut33 happy_x_2 of { happy_var_2 -> - case happyOut77 happy_x_4 of { happy_var_4 -> - case happyOut76 happy_x_5 of { happy_var_5 -> - happyIn45- (RBind (MN "X" 0) (Lam RPlaceholder) - (RBind (MN "X" 1) (Pi Ex Eager happy_var_2) (RVar happy_var_4 happy_var_5 (MN "X" 0)))- ) `HappyStk` happyRest}}}--happyReduce_133 = happyReduce 6# 39# happyReduction_133-happyReduction_133 (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 happyOut33 happy_x_3 of { happy_var_3 -> - case happyOut77 happy_x_4 of { happy_var_4 -> - case happyOut76 happy_x_5 of { happy_var_5 -> - happyIn45- (RBind (MN "X" 0) (Lam RPlaceholder) - (RBind (MN "X" 1) (Pi Ex Eager (RVar happy_var_4 happy_var_5 (MN "X" 0))) happy_var_3)- ) `HappyStk` happyRest}}}--happyReduce_134 = happyReduce 5# 39# happyReduction_134-happyReduction_134 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut77 happy_x_3 of { happy_var_3 -> - case happyOut76 happy_x_4 of { happy_var_4 -> - happyIn45- (RBind (MN "X" 0) (Lam RPlaceholder)- (RBind (MN "X" 1) (Lam RPlaceholder)- (RBind (MN "X" 2) (Pi Ex Eager (RVar happy_var_3 happy_var_4 (MN "X" 0)))- (RVar happy_var_3 happy_var_4 (MN "X" 1))))- ) `HappyStk` happyRest}}--happyReduce_135 = happyReduce 5# 39# happyReduction_135-happyReduction_135 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut77 happy_x_3 of { happy_var_3 -> - case happyOut76 happy_x_4 of { happy_var_4 -> - happyIn45- (RBind (MN "X" 0) (Lam RPlaceholder)- (RBind (MN "X" 1) (Lam RPlaceholder)- (pairDesugar happy_var_3 happy_var_4 (RVar happy_var_3 happy_var_4 (UN "mkPair"))- [RVar happy_var_3 happy_var_4 (MN "X" 0),- RVar happy_var_3 happy_var_4 (MN "X" 1)]))- ) `HappyStk` happyRest}}--happyReduce_136 = happyReduce 6# 39# happyReduction_136-happyReduction_136 (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 happyOut33 happy_x_2 of { happy_var_2 -> - case happyOut77 happy_x_4 of { happy_var_4 -> - case happyOut76 happy_x_5 of { happy_var_5 -> - happyIn45- (RBind (MN "X" 0) (Lam RPlaceholder)- (pairDesugar happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "mkPair"))- [happy_var_2,- RVar happy_var_4 happy_var_5 (MN "X" 0)])- ) `HappyStk` happyRest}}}--happyReduce_137 = happyReduce 6# 39# happyReduction_137-happyReduction_137 (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 happyOut33 happy_x_3 of { happy_var_3 -> - case happyOut77 happy_x_4 of { happy_var_4 -> - case happyOut76 happy_x_5 of { happy_var_5 -> - happyIn45- (RBind (MN "X" 0) (Lam RPlaceholder)- (pairDesugar happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "mkPair"))- [RVar happy_var_4 happy_var_5 (MN "X" 0), happy_var_3])- ) `HappyStk` happyRest}}}--happyReduce_138 = happySpecReduce_1 40# happyReduction_138-happyReduction_138 happy_x_1- = happyIn46- ("<"- )--happyReduce_139 = happySpecReduce_1 40# happyReduction_139-happyReduction_139 happy_x_1- = happyIn46- (">"- )--happyReduce_140 = happySpecReduce_0 41# happyReduction_140-happyReduction_140 = happyIn47- (RPlaceholder- )--happyReduce_141 = happySpecReduce_2 41# happyReduction_141-happyReduction_141 happy_x_2- happy_x_1- = case happyOut50 happy_x_2 of { happy_var_2 -> - happyIn47- (happy_var_2- )}--happyReduce_142 = happySpecReduce_0 42# happyReduction_142-happyReduction_142 = happyIn48- (RPlaceholder- )--happyReduce_143 = happySpecReduce_2 42# happyReduction_143-happyReduction_143 happy_x_2- happy_x_1- = case happyOut50 happy_x_2 of { happy_var_2 -> - happyIn48- (happy_var_2- )}--happyReduce_144 = happyReduce 5# 43# happyReduction_144-happyReduction_144 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut39 happy_x_1 of { happy_var_1 -> - case happyOut48 happy_x_2 of { happy_var_2 -> - case happyOut49 happy_x_5 of { happy_var_5 -> - happyIn49- (doBind (Pi Im Eager) (map (\x -> (x, happy_var_2)) happy_var_1) happy_var_5- ) `HappyStk` happyRest}}}--happyReduce_145 = happySpecReduce_1 43# happyReduction_145-happyReduction_145 happy_x_1- = case happyOut50 happy_x_1 of { happy_var_1 -> - happyIn49- (happy_var_1- )}--happyReduce_146 = happySpecReduce_3 44# happyReduction_146-happyReduction_146 happy_x_3- happy_x_2- happy_x_1- = case happyOut50 happy_x_1 of { happy_var_1 -> - case happyOut50 happy_x_3 of { happy_var_3 -> - happyIn50- (RBind (MN "X" 0) (Pi Ex Eager happy_var_1) happy_var_3- )}}--happyReduce_147 = happyReduce 5# 44# happyReduction_147-happyReduction_147 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut35 happy_x_2 of { happy_var_2 -> - case happyOut50 happy_x_5 of { happy_var_5 -> - happyIn50- (doBind (Pi Ex Eager) happy_var_2 happy_var_5- ) `HappyStk` happyRest}}--happyReduce_148 = happyReduce 5# 44# happyReduction_148-happyReduction_148 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut35 happy_x_2 of { happy_var_2 -> - case happyOut50 happy_x_5 of { happy_var_5 -> - happyIn50- (doBind (Pi Ex Lazy) happy_var_2 happy_var_5- ) `HappyStk` happyRest}}--happyReduce_149 = happySpecReduce_3 44# happyReduction_149-happyReduction_149 happy_x_3- happy_x_2- happy_x_1- = case happyOut50 happy_x_2 of { happy_var_2 -> - happyIn50- (bracket happy_var_2- )}--happyReduce_150 = happyReduce 7# 44# happyReduction_150-happyReduction_150 (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 happyOut50 happy_x_2 of { happy_var_2 -> - case happyOut50 happy_x_4 of { happy_var_4 -> - case happyOut77 happy_x_5 of { happy_var_5 -> - case happyOut76 happy_x_6 of { happy_var_6 -> - happyIn50- (RInfix happy_var_5 happy_var_6 JMEq happy_var_2 happy_var_4- ) `HappyStk` happyRest}}}}--happyReduce_151 = happySpecReduce_1 44# happyReduction_151-happyReduction_151 happy_x_1- = case happyOut32 happy_x_1 of { happy_var_1 -> - happyIn50- (happy_var_1- )}--happyReduce_152 = happySpecReduce_3 44# happyReduction_152-happyReduction_152 happy_x_3- happy_x_2- happy_x_1- = case happyOut33 happy_x_2 of { happy_var_2 -> - happyIn50- (happy_var_2- )}--happyReduce_153 = happyReduce 5# 44# happyReduction_153-happyReduction_153 (happy_x_5 `HappyStk`- 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 happyOutTok happy_x_2 of { (TokenInfixName happy_var_2) -> - case happyOut50 happy_x_3 of { happy_var_3 -> - case happyOut77 happy_x_4 of { happy_var_4 -> - case happyOut76 happy_x_5 of { happy_var_5 -> - happyIn50- (RUserInfix happy_var_4 happy_var_5 False happy_var_2 happy_var_1 happy_var_3- ) `HappyStk` happyRest}}}}}--happyReduce_154 = happyReduce 5# 44# happyReduction_154-happyReduction_154 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut52 happy_x_2 of { happy_var_2 -> - case happyOut77 happy_x_4 of { happy_var_4 -> - case happyOut76 happy_x_5 of { happy_var_5 -> - happyIn50- (pairDesugar happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "Pair")) happy_var_2- ) `HappyStk` happyRest}}}--happyReduce_155 = happySpecReduce_1 44# happyReduction_155-happyReduction_155 happy_x_1- = case happyOut51 happy_x_1 of { happy_var_1 -> - happyIn50- (happy_var_1- )}--happyReduce_156 = happyReduce 8# 45# happyReduction_156-happyReduction_156 (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 happyOut31 happy_x_2 of { happy_var_2 -> - case happyOut47 happy_x_3 of { happy_var_3 -> - case happyOut50 happy_x_5 of { happy_var_5 -> - case happyOut77 happy_x_7 of { happy_var_7 -> - case happyOut76 happy_x_8 of { happy_var_8 -> - happyIn51- (sigDesugar happy_var_7 happy_var_8 (happy_var_2, happy_var_3) happy_var_5- ) `HappyStk` happyRest}}}}}--happyReduce_157 = happySpecReduce_3 46# happyReduction_157-happyReduction_157 happy_x_3- happy_x_2- happy_x_1- = case happyOut50 happy_x_1 of { happy_var_1 -> - case happyOut50 happy_x_3 of { happy_var_3 -> - happyIn52- (happy_var_1:happy_var_3:[]- )}}--happyReduce_158 = happySpecReduce_3 46# happyReduction_158-happyReduction_158 happy_x_3- happy_x_2- happy_x_1- = case happyOut50 happy_x_1 of { happy_var_1 -> - case happyOut52 happy_x_3 of { happy_var_3 -> - happyIn52- (happy_var_1:happy_var_3- )}}--happyReduce_159 = happySpecReduce_3 47# happyReduction_159-happyReduction_159 happy_x_3- happy_x_2- happy_x_1- = case happyOut31 happy_x_1 of { happy_var_1 -> - case happyOut77 happy_x_2 of { happy_var_2 -> - case happyOut76 happy_x_3 of { happy_var_3 -> - happyIn53- (RVar happy_var_2 happy_var_3 happy_var_1- )}}}--happyReduce_160 = happySpecReduce_3 47# happyReduction_160-happyReduction_160 happy_x_3- happy_x_2- happy_x_1- = case happyOut77 happy_x_2 of { happy_var_2 -> - case happyOut76 happy_x_3 of { happy_var_3 -> - happyIn53- (RReturn happy_var_2 happy_var_3- )}}--happyReduce_161 = happySpecReduce_3 47# happyReduction_161-happyReduction_161 happy_x_3- happy_x_2- happy_x_1- = case happyOut33 happy_x_2 of { happy_var_2 -> - happyIn53- (bracket happy_var_2- )}--happyReduce_162 = happySpecReduce_2 47# happyReduction_162-happyReduction_162 happy_x_2- happy_x_1- = case happyOut53 happy_x_2 of { happy_var_2 -> - happyIn53- (RPure happy_var_2- )}--happyReduce_163 = happySpecReduce_1 47# happyReduction_163-happyReduction_163 happy_x_1- = case happyOutTok happy_x_1 of { (TokenMetavar happy_var_1) -> - happyIn53- (RMetavar happy_var_1- )}--happyReduce_164 = happyReduce 4# 47# happyReduction_164-happyReduction_164 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut31 happy_x_2 of { happy_var_2 -> - case happyOut77 happy_x_3 of { happy_var_3 -> - case happyOut76 happy_x_4 of { happy_var_4 -> - happyIn53- (RExpVar happy_var_3 happy_var_4 happy_var_2- ) `HappyStk` happyRest}}}--happyReduce_165 = happySpecReduce_3 47# happyReduction_165-happyReduction_165 happy_x_3- happy_x_2- happy_x_1- = case happyOut59 happy_x_1 of { happy_var_1 -> - case happyOut77 happy_x_2 of { happy_var_2 -> - case happyOut76 happy_x_3 of { happy_var_3 -> - happyIn53- (RConst happy_var_2 happy_var_3 happy_var_1- )}}}--happyReduce_166 = happySpecReduce_1 47# happyReduction_166-happyReduction_166 happy_x_1- = happyIn53- (RRefl- )--happyReduce_167 = happySpecReduce_3 47# happyReduction_167-happyReduction_167 happy_x_3- happy_x_2- happy_x_1- = case happyOut77 happy_x_2 of { happy_var_2 -> - case happyOut76 happy_x_3 of { happy_var_3 -> - happyIn53- (RVar happy_var_2 happy_var_3 (UN "__Empty")- )}}--happyReduce_168 = happySpecReduce_3 47# happyReduction_168-happyReduction_168 happy_x_3- happy_x_2- happy_x_1- = case happyOut77 happy_x_2 of { happy_var_2 -> - case happyOut76 happy_x_3 of { happy_var_3 -> - happyIn53- (RVar happy_var_2 happy_var_3 (UN "__Unit")- )}}--happyReduce_169 = happySpecReduce_1 47# happyReduction_169-happyReduction_169 happy_x_1- = happyIn53- (RPlaceholder- )--happyReduce_170 = happySpecReduce_1 47# happyReduction_170-happyReduction_170 happy_x_1- = case happyOut56 happy_x_1 of { happy_var_1 -> - happyIn53- (RDo happy_var_1- )}--happyReduce_171 = happySpecReduce_3 47# happyReduction_171-happyReduction_171 happy_x_3- happy_x_2- happy_x_1- = case happyOut33 happy_x_2 of { happy_var_2 -> - happyIn53- (RIdiom happy_var_2- )}--happyReduce_172 = happyReduce 5# 47# happyReduction_172-happyReduction_172 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut55 happy_x_2 of { happy_var_2 -> - case happyOut77 happy_x_4 of { happy_var_4 -> - case happyOut76 happy_x_5 of { happy_var_5 -> - happyIn53- (pairDesugar happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "mkPair")) happy_var_2- ) `HappyStk` happyRest}}}--happyReduce_173 = happySpecReduce_1 47# happyReduction_173-happyReduction_173 happy_x_1- = case happyOut51 happy_x_1 of { happy_var_1 -> - happyIn53- (happy_var_1- )}--happyReduce_174 = happySpecReduce_1 47# happyReduction_174-happyReduction_174 happy_x_1- = case happyOut45 happy_x_1 of { happy_var_1 -> - happyIn53- (happy_var_1- )}--happyReduce_175 = happySpecReduce_1 47# happyReduction_175-happyReduction_175 happy_x_1- = case happyOut54 happy_x_1 of { happy_var_1 -> - happyIn53- (happy_var_1- )}--happyReduce_176 = happyReduce 7# 48# happyReduction_176-happyReduction_176 (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 happyOut33 happy_x_2 of { happy_var_2 -> - case happyOut33 happy_x_4 of { happy_var_4 -> - case happyOut77 happy_x_6 of { happy_var_6 -> - case happyOut76 happy_x_7 of { happy_var_7 -> - happyIn54- (RApp happy_var_6 happy_var_7 (RAppImp happy_var_6 happy_var_7 (UN "a") (RVar happy_var_6 happy_var_7 (UN "Exists")) happy_var_2) happy_var_4- ) `HappyStk` happyRest}}}}--happyReduce_177 = happyReduce 5# 48# happyReduction_177-happyReduction_177 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut33 happy_x_2 of { happy_var_2 -> - case happyOut77 happy_x_4 of { happy_var_4 -> - case happyOut76 happy_x_5 of { happy_var_5 -> - happyIn54- (RApp happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "Exists")) happy_var_2- ) `HappyStk` happyRest}}}--happyReduce_178 = happySpecReduce_3 49# happyReduction_178-happyReduction_178 happy_x_3- happy_x_2- happy_x_1- = case happyOut33 happy_x_1 of { happy_var_1 -> - case happyOut33 happy_x_3 of { happy_var_3 -> - happyIn55- (happy_var_1:happy_var_3:[]- )}}--happyReduce_179 = happySpecReduce_3 49# happyReduction_179-happyReduction_179 happy_x_3- happy_x_2- happy_x_1- = case happyOut33 happy_x_1 of { happy_var_1 -> - case happyOut55 happy_x_3 of { happy_var_3 -> - happyIn55- (happy_var_1:happy_var_3- )}}--happyReduce_180 = happyReduce 4# 50# happyReduction_180-happyReduction_180 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut57 happy_x_3 of { happy_var_3 -> - happyIn56- (happy_var_3- ) `HappyStk` happyRest}--happyReduce_181 = happyReduce 10# 50# happyReduction_181-happyReduction_181 (happy_x_10 `HappyStk`- happy_x_9 `HappyStk`- happy_x_8 `HappyStk`- happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_2 of { (TokenBrackName happy_var_2) -> - case happyOut47 happy_x_3 of { happy_var_3 -> - case happyOut33 happy_x_5 of { happy_var_5 -> - case happyOut77 happy_x_6 of { happy_var_6 -> - case happyOut76 happy_x_7 of { happy_var_7 -> - case happyOut57 happy_x_9 of { happy_var_9 -> - happyIn56- (DoBinding happy_var_6 happy_var_7 happy_var_2 happy_var_3 happy_var_5 : happy_var_9- ) `HappyStk` happyRest}}}}}}--happyReduce_182 = happySpecReduce_2 51# happyReduction_182-happyReduction_182 happy_x_2- happy_x_1- = case happyOut58 happy_x_1 of { happy_var_1 -> - case happyOut57 happy_x_2 of { happy_var_2 -> - happyIn57- (happy_var_1:happy_var_2- )}}--happyReduce_183 = happySpecReduce_1 51# happyReduction_183-happyReduction_183 happy_x_1- = case happyOut58 happy_x_1 of { happy_var_1 -> - happyIn57- ([happy_var_1]- )}--happyReduce_184 = happyReduce 7# 52# happyReduction_184-happyReduction_184 (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 happyOut31 happy_x_1 of { happy_var_1 -> - case happyOut47 happy_x_2 of { happy_var_2 -> - case happyOut33 happy_x_4 of { happy_var_4 -> - case happyOut77 happy_x_5 of { happy_var_5 -> - case happyOut76 happy_x_6 of { happy_var_6 -> - happyIn58- (DoBinding happy_var_5 happy_var_6 happy_var_1 happy_var_2 happy_var_4- ) `HappyStk` happyRest}}}}}--happyReduce_185 = happyReduce 8# 52# happyReduction_185-happyReduction_185 (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 happyOut31 happy_x_2 of { happy_var_2 -> - case happyOut47 happy_x_3 of { happy_var_3 -> - case happyOut33 happy_x_5 of { happy_var_5 -> - case happyOut77 happy_x_6 of { happy_var_6 -> - case happyOut76 happy_x_7 of { happy_var_7 -> - happyIn58- (DoLet happy_var_6 happy_var_7 happy_var_2 happy_var_3 happy_var_5- ) `HappyStk` happyRest}}}}}--happyReduce_186 = happyReduce 4# 52# happyReduction_186-happyReduction_186 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut33 happy_x_1 of { happy_var_1 -> - case happyOut77 happy_x_2 of { happy_var_2 -> - case happyOut76 happy_x_3 of { happy_var_3 -> - happyIn58- (DoExp happy_var_2 happy_var_3 happy_var_1- ) `HappyStk` happyRest}}}--happyReduce_187 = happySpecReduce_1 53# happyReduction_187-happyReduction_187 happy_x_1- = happyIn59- (TYPE- )--happyReduce_188 = happySpecReduce_1 53# happyReduction_188-happyReduction_188 happy_x_1- = happyIn59- (StringType- )--happyReduce_189 = happySpecReduce_1 53# happyReduction_189-happyReduction_189 happy_x_1- = happyIn59- (IntType- )--happyReduce_190 = happySpecReduce_1 53# happyReduction_190-happyReduction_190 happy_x_1- = happyIn59- (CharType- )--happyReduce_191 = happySpecReduce_1 53# happyReduction_191-happyReduction_191 happy_x_1- = happyIn59- (FloatType- )--happyReduce_192 = happySpecReduce_1 53# happyReduction_192-happyReduction_192 happy_x_1- = happyIn59- (PtrType- )--happyReduce_193 = happySpecReduce_1 53# happyReduction_193-happyReduction_193 happy_x_1- = happyIn59- (Builtin "Handle"- )--happyReduce_194 = happySpecReduce_1 53# happyReduction_194-happyReduction_194 happy_x_1- = happyIn59- (Builtin "Lock"- )--happyReduce_195 = happySpecReduce_1 53# happyReduction_195-happyReduction_195 happy_x_1- = case happyOutTok happy_x_1 of { (TokenInt happy_var_1) -> - happyIn59- (Num happy_var_1- )}--happyReduce_196 = happySpecReduce_1 53# happyReduction_196-happyReduction_196 happy_x_1- = case happyOutTok happy_x_1 of { (TokenChar happy_var_1) -> - happyIn59- (Ch happy_var_1- )}--happyReduce_197 = happySpecReduce_1 53# happyReduction_197-happyReduction_197 happy_x_1- = case happyOutTok happy_x_1 of { (TokenString happy_var_1) -> - happyIn59- (Str happy_var_1- )}--happyReduce_198 = happySpecReduce_1 53# happyReduction_198-happyReduction_198 happy_x_1- = case happyOutTok happy_x_1 of { (TokenBool happy_var_1) -> - happyIn59- (Bo happy_var_1- )}--happyReduce_199 = happySpecReduce_1 53# happyReduction_199-happyReduction_199 happy_x_1- = case happyOutTok happy_x_1 of { (TokenFloat happy_var_1) -> - happyIn59- (Fl happy_var_1- )}--happyReduce_200 = happySpecReduce_0 54# happyReduction_200-happyReduction_200 = happyIn60- ([]- )--happyReduce_201 = happySpecReduce_2 54# happyReduction_201-happyReduction_201 happy_x_2- happy_x_1- = case happyOut53 happy_x_1 of { happy_var_1 -> - case happyOut60 happy_x_2 of { happy_var_2 -> - happyIn60- (happy_var_1:happy_var_2- )}}--happyReduce_202 = happyReduce 4# 55# happyReduction_202-happyReduction_202 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut49 happy_x_2 of { happy_var_2 -> - case happyOut62 happy_x_3 of { happy_var_3 -> - happyIn61- ((happy_var_2, happy_var_3)- ) `HappyStk` happyRest}}--happyReduce_203 = happySpecReduce_3 55# happyReduction_203-happyReduction_203 happy_x_3- happy_x_2- happy_x_1- = case happyOut77 happy_x_2 of { happy_var_2 -> - case happyOut76 happy_x_3 of { happy_var_3 -> - happyIn61- ((RConst happy_var_2 happy_var_3 TYPE, [])- )}}--happyReduce_204 = happyReduce 4# 55# happyReduction_204-happyReduction_204 (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 happyOut77 happy_x_3 of { happy_var_3 -> - case happyOut76 happy_x_4 of { happy_var_4 -> - happyIn61- ((mkTyParams happy_var_3 happy_var_4 happy_var_1, [])- ) `HappyStk` happyRest}}}--happyReduce_205 = happySpecReduce_0 56# happyReduction_205-happyReduction_205 = happyIn62- ([]- )--happyReduce_206 = happyReduce 4# 56# happyReduction_206-happyReduction_206 (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 -> - happyIn62- (happy_var_3- ) `HappyStk` happyRest}--happyReduce_207 = happyReduce 7# 57# happyReduction_207-happyReduction_207 (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 happyOut31 happy_x_4 of { happy_var_4 -> - case happyOut31 happy_x_6 of { happy_var_6 -> - happyIn63- ((happy_var_4,happy_var_6)- ) `HappyStk` happyRest}}--happyReduce_208 = happyReduce 6# 58# happyReduction_208-happyReduction_208 (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 happyOut31 happy_x_3 of { happy_var_3 -> - case happyOut31 happy_x_5 of { happy_var_5 -> - happyIn64- ((happy_var_3,happy_var_5)- ) `HappyStk` happyRest}}--happyReduce_209 = happyReduce 4# 59# happyReduction_209-happyReduction_209 (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 -> - happyIn65- (happy_var_3- ) `HappyStk` happyRest}--happyReduce_210 = happySpecReduce_2 60# happyReduction_210-happyReduction_210 happy_x_2- happy_x_1- = case happyOut31 happy_x_2 of { happy_var_2 -> - happyIn66- (happy_var_2- )}--happyReduce_211 = happySpecReduce_3 61# happyReduction_211-happyReduction_211 happy_x_3- happy_x_2- happy_x_1- = case happyOut31 happy_x_1 of { happy_var_1 -> - case happyOut49 happy_x_3 of { happy_var_3 -> - happyIn67- ([(happy_var_1, happy_var_3)]- )}}--happyReduce_212 = happyReduce 5# 61# happyReduction_212-happyReduction_212 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut31 happy_x_1 of { happy_var_1 -> - case happyOut49 happy_x_3 of { happy_var_3 -> - case happyOut67 happy_x_5 of { happy_var_5 -> - happyIn67- ((happy_var_1,happy_var_3):happy_var_5- ) `HappyStk` happyRest}}}--happyReduce_213 = happySpecReduce_1 62# happyReduction_213-happyReduction_213 happy_x_1- = case happyOut31 happy_x_1 of { happy_var_1 -> - happyIn68- ([happy_var_1]- )}--happyReduce_214 = happySpecReduce_2 62# happyReduction_214-happyReduction_214 happy_x_2- happy_x_1- = case happyOut31 happy_x_1 of { happy_var_1 -> - case happyOut68 happy_x_2 of { happy_var_2 -> - happyIn68- (happy_var_1:happy_var_2- )}}--happyReduce_215 = happySpecReduce_1 63# happyReduction_215-happyReduction_215 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn69- (happy_var_1- )}--happyReduce_216 = happySpecReduce_1 63# happyReduction_216-happyReduction_216 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn69- (happy_var_1- )}--happyReduce_217 = happySpecReduce_0 64# happyReduction_217-happyReduction_217 = happyIn70- ([]- )--happyReduce_218 = happySpecReduce_1 64# happyReduction_218-happyReduction_218 happy_x_1- = case happyOut71 happy_x_1 of { happy_var_1 -> - happyIn70- ([happy_var_1]- )}--happyReduce_219 = happySpecReduce_3 64# happyReduction_219-happyReduction_219 happy_x_3- happy_x_2- happy_x_1- = case happyOut71 happy_x_1 of { happy_var_1 -> - case happyOut70 happy_x_3 of { happy_var_3 -> - happyIn70- (happy_var_1:happy_var_3- )}}--happyReduce_220 = happySpecReduce_2 65# happyReduction_220-happyReduction_220 happy_x_2- happy_x_1- = case happyOut31 happy_x_1 of { happy_var_1 -> - case happyOut72 happy_x_2 of { happy_var_2 -> - happyIn71- (Full happy_var_1 happy_var_2- )}}--happyReduce_221 = happySpecReduce_2 65# happyReduction_221-happyReduction_221 happy_x_2- happy_x_1- = case happyOut31 happy_x_1 of { happy_var_1 -> - case happyOut60 happy_x_2 of { happy_var_2 -> - happyIn71- (Simple happy_var_1 happy_var_2- )}}--happyReduce_222 = happySpecReduce_2 66# happyReduction_222-happyReduction_222 happy_x_2- happy_x_1- = case happyOut49 happy_x_2 of { happy_var_2 -> - happyIn72- (happy_var_2- )}--happyReduce_223 = happySpecReduce_2 67# happyReduction_223-happyReduction_223 happy_x_2- happy_x_1- = case happyOut37 happy_x_2 of { happy_var_2 -> - happyIn73- (Intro happy_var_2- )}--happyReduce_224 = happySpecReduce_1 67# happyReduction_224-happyReduction_224 happy_x_1- = happyIn73- (Intro []- )--happyReduce_225 = happySpecReduce_2 67# happyReduction_225-happyReduction_225 happy_x_2- happy_x_1- = case happyOut31 happy_x_2 of { happy_var_2 -> - happyIn73- (Refine happy_var_2- )}--happyReduce_226 = happySpecReduce_2 67# happyReduction_226-happyReduction_226 happy_x_2- happy_x_1- = case happyOut33 happy_x_2 of { happy_var_2 -> - happyIn73- (Generalise happy_var_2- )}--happyReduce_227 = happySpecReduce_1 67# happyReduction_227-happyReduction_227 happy_x_1- = happyIn73- (ReflP- )--happyReduce_228 = happySpecReduce_2 67# happyReduction_228-happyReduction_228 happy_x_2- happy_x_1- = case happyOut33 happy_x_2 of { happy_var_2 -> - happyIn73- (Rewrite False False happy_var_2- )}--happyReduce_229 = happySpecReduce_3 67# happyReduction_229-happyReduction_229 happy_x_3- happy_x_2- happy_x_1- = case happyOut33 happy_x_3 of { happy_var_3 -> - happyIn73- (Rewrite False True happy_var_3- )}--happyReduce_230 = happySpecReduce_2 67# happyReduction_230-happyReduction_230 happy_x_2- happy_x_1- = case happyOut33 happy_x_2 of { happy_var_2 -> - happyIn73- (Rewrite True False happy_var_2- )}--happyReduce_231 = happySpecReduce_3 67# happyReduction_231-happyReduction_231 happy_x_3- happy_x_2- happy_x_1- = case happyOut33 happy_x_3 of { happy_var_3 -> - happyIn73- (Rewrite True True happy_var_3- )}--happyReduce_232 = happySpecReduce_1 67# happyReduction_232-happyReduction_232 happy_x_1- = happyIn73- (Compute- )--happyReduce_233 = happySpecReduce_2 67# happyReduction_233-happyReduction_233 happy_x_2- happy_x_1- = case happyOut31 happy_x_2 of { happy_var_2 -> - happyIn73- (Unfold happy_var_2- )}--happyReduce_234 = happySpecReduce_1 67# happyReduction_234-happyReduction_234 happy_x_1- = happyIn73- (Undo- )--happyReduce_235 = happySpecReduce_2 67# happyReduction_235-happyReduction_235 happy_x_2- happy_x_1- = case happyOut33 happy_x_2 of { happy_var_2 -> - happyIn73- (Induction happy_var_2- )}--happyReduce_236 = happySpecReduce_2 67# happyReduction_236-happyReduction_236 happy_x_2- happy_x_1- = case happyOut33 happy_x_2 of { happy_var_2 -> - happyIn73- (Fill happy_var_2- )}--happyReduce_237 = happySpecReduce_1 67# happyReduction_237-happyReduction_237 happy_x_1- = happyIn73- (Trivial- )--happyReduce_238 = happySpecReduce_2 67# happyReduction_238-happyReduction_238 happy_x_2- happy_x_1- = case happyOut33 happy_x_2 of { happy_var_2 -> - happyIn73- (RunTactic happy_var_2- )}--happyReduce_239 = happySpecReduce_2 67# happyReduction_239-happyReduction_239 happy_x_2- happy_x_1- = case happyOut33 happy_x_2 of { happy_var_2 -> - happyIn73- (Believe happy_var_2- )}--happyReduce_240 = happySpecReduce_2 67# happyReduction_240-happyReduction_240 happy_x_2- happy_x_1- = case happyOut33 happy_x_2 of { happy_var_2 -> - happyIn73- (Use happy_var_2- )}--happyReduce_241 = happySpecReduce_2 67# happyReduction_241-happyReduction_241 happy_x_2- happy_x_1- = case happyOut33 happy_x_2 of { happy_var_2 -> - happyIn73- (Decide happy_var_2- )}--happyReduce_242 = happySpecReduce_1 67# happyReduction_242-happyReduction_242 happy_x_1- = happyIn73- (Abandon- )--happyReduce_243 = happySpecReduce_1 67# happyReduction_243-happyReduction_243 happy_x_1- = happyIn73- (Qed- )--happyReduce_244 = happyReduce 4# 68# happyReduction_244-happyReduction_244 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut75 happy_x_3 of { happy_var_3 -> - happyIn74- (happy_var_3- ) `HappyStk` happyRest}--happyReduce_245 = happySpecReduce_2 69# happyReduction_245-happyReduction_245 happy_x_2- happy_x_1- = case happyOut73 happy_x_1 of { happy_var_1 -> - happyIn75- ([happy_var_1]- )}--happyReduce_246 = happySpecReduce_3 69# happyReduction_246-happyReduction_246 happy_x_3- happy_x_2- happy_x_1- = case happyOut73 happy_x_1 of { happy_var_1 -> - case happyOut75 happy_x_3 of { happy_var_3 -> - happyIn75- (happy_var_1:happy_var_3- )}}--happyReduce_247 = happyMonadReduce 0# 70# happyReduction_247-happyReduction_247 (happyRest) tk- = happyThen (( getLineNo)- ) (\r -> happyReturn (happyIn76 r))--happyReduce_248 = happyMonadReduce 0# 71# happyReduction_248-happyReduction_248 (happyRest) tk- = happyThen (( getFileName)- ) (\r -> happyReturn (happyIn77 r))--happyReduce_249 = happyMonadReduce 0# 72# happyReduction_249-happyReduction_249 (happyRest) tk- = happyThen (( getOps)- ) (\r -> happyReturn (happyIn78 r))--happyNewToken action sts stk- = lexer(\tk -> - let cont i = happyDoAction i tk action sts stk in- case tk of {- TokenEOF -> happyDoAction 118# tk action sts stk;- TokenName happy_dollar_dollar -> cont 1#;- TokenInfixName happy_dollar_dollar -> cont 2#;- TokenBrackName happy_dollar_dollar -> cont 3#;- TokenString happy_dollar_dollar -> cont 4#;- TokenInt happy_dollar_dollar -> cont 5#;- TokenFloat happy_dollar_dollar -> cont 6#;- TokenChar happy_dollar_dollar -> cont 7#;- TokenBool happy_dollar_dollar -> cont 8#;- TokenMetavar happy_dollar_dollar -> cont 9#;- TokenColon -> cont 10#;- TokenSemi -> cont 11#;- TokenBar -> cont 12#;- TokenStars -> cont 13#;- TokenLambda -> cont 14#;- TokenHashOB -> cont 15#;- TokenOB -> cont 16#;- TokenCB -> cont 17#;- TokenOCB -> cont 18#;- TokenCCB -> cont 19#;- TokenOSB -> cont 20#;- TokenCSB -> cont 21#;- TokenOId -> cont 22#;- TokenCId -> cont 23#;- TokenLPair -> cont 24#;- TokenRPair -> cont 25#;- TokenExists -> cont 26#;- TokenTilde -> cont 27#;- TokenPlus -> cont 28#;- TokenMinus -> cont 29#;- TokenTimes -> cont 30#;- TokenDivide -> cont 31#;- TokenEquals -> cont 32#;- TokenMightEqual -> cont 33#;- TokenLT -> cont 34#;- TokenGT -> cont 35#;- TokenEllipsis -> cont 36#;- TokenUnderscore -> cont 37#;- TokenComma -> cont 38#;- TokenTuple -> cont 39#;- TokenBang -> cont 40#;- TokenConcat -> cont 41#;- TokenGE -> cont 42#;- TokenLE -> cont 43#;- TokenOr -> cont 44#;- TokenAnd -> cont 45#;- TokenArrow -> cont 46#;- TokenFatArrow -> cont 47#;- TokenTransArrow -> cont 48#;- TokenLeftArrow -> cont 49#;- TokenIntType -> cont 50#;- TokenCharType -> cont 51#;- TokenFloatType -> cont 52#;- TokenStringType -> cont 53#;- TokenHandleType -> cont 54#;- TokenPtrType -> cont 55#;- TokenLockType -> cont 56#;- TokenType -> cont 57#;- TokenLazyBracket -> cont 58#;- TokenDataType -> cont 59#;- TokenInfix -> cont 60#;- TokenInfixL -> cont 61#;- TokenInfixR -> cont 62#;- TokenUsing -> cont 63#;- TokenIdiom -> cont 64#;- TokenParams -> cont 65#;- TokenNamespace -> cont 66#;- TokenPublic -> cont 67#;- TokenPrivate -> cont 68#;- TokenAbstract -> cont 69#;- TokenNoElim -> cont 70#;- TokenCollapsible -> cont 71#;- TokenWhere -> cont 72#;- TokenWith -> cont 73#;- TokenPartial -> cont 74#;- TokenSyntax -> cont 75#;- TokenLazy -> cont 76#;- TokenRefl -> cont 77#;- TokenEmptyType -> cont 78#;- TokenUnitType -> cont 79#;- TokenInclude -> cont 80#;- TokenExport -> cont 81#;- TokenInline -> cont 82#;- TokenDo -> cont 83#;- TokenReturn -> cont 84#;- TokenIf -> cont 85#;- TokenThen -> cont 86#;- TokenElse -> cont 87#;- TokenLet -> cont 88#;- TokenIn -> cont 89#;- TokenProof -> cont 90#;- TokenIntro -> cont 91#;- TokenRefine -> cont 92#;- TokenGeneralise -> cont 93#;- TokenReflP -> cont 94#;- TokenRewrite -> cont 95#;- TokenRewriteAll -> cont 96#;- TokenCompute -> cont 97#;- TokenUnfold -> cont 98#;- TokenUndo -> cont 99#;- TokenInduction -> cont 100#;- TokenFill -> cont 101#;- TokenTrivial -> cont 102#;- TokenMkTac -> cont 103#;- TokenBelieve -> cont 104#;- TokenUse -> cont 105#;- TokenDecide -> cont 106#;- TokenAbandon -> cont 107#;- TokenQED -> cont 108#;- TokenLaTeX -> cont 109#;- TokenNoCG -> cont 110#;- TokenEval -> cont 111#;- TokenSpec -> cont 112#;- TokenFreeze -> cont 113#;- TokenThaw -> cont 114#;- TokenTransform -> cont 115#;- TokenCInclude -> cont 116#;- TokenCLib -> cont 117#;- _ -> happyError' tk- })--happyError_ tk = happyError' tk--happyThen :: () => P a -> (a -> P b) -> P b-happyThen = (thenP)-happyReturn :: () => a -> P a-happyReturn = (returnP)-happyThen1 = happyThen-happyReturn1 :: () => a -> P a-happyReturn1 = happyReturn-happyError' :: () => (Token) -> P a-happyError' tk = (\token -> happyError) tk--mkparse = happySomeParser where- happySomeParser = happyThen (happyParse 0#) (\x -> happyReturn (happyOut6 x))--mkparseTerm = happySomeParser where- happySomeParser = happyThen (happyParse 1#) (\x -> happyReturn (happyOut33 x))--mkparseTactic = happySomeParser where- happySomeParser = happyThen (happyParse 2#) (\x -> happyReturn (happyOut73 x))--happySeq = happyDontSeq---data ConParse = Full Id RawTerm- | Simple Id [RawTerm]--parse :: String -> FilePath -> Result [Decl]-parse s fn = do ds <- mkparse s fn 1 []- collectDecls ds--processImports :: [Opt] -> [FilePath] -> Result [Decl] -> - IO ([Decl], [FilePath])-processImports opts imped (Success ds) = pi imped [] ds- where pi imps decls ((PInclude fp):xs)- | fp `elem` imps = pi imps decls xs- | otherwise = do- f <- readLibFile defaultLibPath fp- when (Verbose `elem` opts) $ putStrLn ("Reading " ++ fp)- case parse f fp of- Success t -> pi (fp:imps) decls (t++xs)- Failure e f l ->- fail $ f ++ ":" ++ show l ++ ":" ++ e- pi imps decls ((Using t ds):xs)- = do (ds',imps') <- pi imps [] ds- pi imps' (decls++[Using t ds']) xs- pi imps decls ((Params t ds):xs)- = do (ds',imps') <- pi imps [] ds- pi imps' (decls++[Params t ds']) xs- pi imps decls ((DoUsing b r ds):xs)- = do (ds',imps') <- pi imps [] ds- pi imps' (decls++[DoUsing b r ds']) xs- pi imps decls ((Idiom b r ds):xs)- = do (ds',imps') <- pi imps [] ds- pi imps' (decls++[Idiom b r ds']) xs- pi imps decls ((Namespace n ds):xs)- = do (ds',imps') <- pi imps [] ds- pi imps' (decls++[Namespace n ds']) xs- pi imps decls (x:xs) = pi imps (decls++[x]) xs- pi imps decls [] = return (decls, imps)--processImports _ imped (Failure e f l) - = fail $ show f ++ ":" ++ show l ++ ":" ++ show e---parseTerm :: String -> Result RawTerm-parseTerm s = mkparseTerm s "(input)" 0 []--parseTactic :: String -> Result ITactic-parseTactic s = mkparseTactic s "(tactic)" 0 []--mkCon :: RawTerm -> ConParse -> (Id,RawTerm)-mkCon _ (Full n t) = (n,t)-mkCon ty (Simple n args) = (n, mkConTy args ty)- where mkConTy [] ty = ty- mkConTy (a:as) ty = RBind (MN "X" 0) (Pi Ex Eager a) (mkConTy as ty)--mkDef file line (n, tms) = mkImpApp (RVar file line n) tms- where mkImpApp f [] = f- mkImpApp f ((tm,Just n):ts) = mkImpApp (RAppImp file line n f tm) ts- mkImpApp f ((tm, Nothing):ts) = mkImpApp (RApp file line f tm) ts--doBind :: (RawTerm -> RBinder) -> [(Id,RawTerm)] -> RawTerm -> RawTerm-doBind b [] t = t-doBind b ((x,ty):ts) tm = RBind x (b ty) (doBind b ts tm)--doLetBind :: [(Id,RawTerm,RawTerm)] -> RawTerm -> RawTerm-doLetBind [] t = t-doLetBind ((x,ty,val):ts) tm = RBind x (RLet val ty) (doLetBind ts tm)--mkTyApp :: String -> Int -> Id -> RawTerm -> RawTerm-mkTyApp file line n ty = mkApp file line (RVar file line n) (getTyArgs ty)- where getTyArgs (RBind n _ t) = (RVar file line n):(getTyArgs t)- getTyArgs x = []--mkTyParams :: String -> Int -> [Id] -> RawTerm-mkTyParams f l [] = RConst f l TYPE-mkTyParams f l (x:xs) = RBind x (Pi Ex Eager (RConst f l TYPE)) (mkTyParams f l xs)+newtype HappyAbsSyn t72 = HappyAbsSyn HappyAny+#if __GLASGOW_HASKELL__ >= 607+type HappyAny = Happy_GHC_Exts.Any+#else+type HappyAny = forall a . a+#endif+happyIn6 :: ([ParseDecl]) -> (HappyAbsSyn t72)+happyIn6 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn6 #-}+happyOut6 :: (HappyAbsSyn t72) -> ([ParseDecl])+happyOut6 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut6 #-}+happyIn7 :: (ParseDecl) -> (HappyAbsSyn t72)+happyIn7 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn7 #-}+happyOut7 :: (HappyAbsSyn t72) -> (ParseDecl)+happyOut7 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut7 #-}+happyIn8 :: (Decl) -> (HappyAbsSyn t72)+happyIn8 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn8 #-}+happyOut8 :: (HappyAbsSyn t72) -> (Decl)+happyOut8 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut8 #-}+happyIn9 :: (ParseDecl) -> (HappyAbsSyn t72)+happyIn9 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn9 #-}+happyOut9 :: (HappyAbsSyn t72) -> (ParseDecl)+happyOut9 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut9 #-}+happyIn10 :: (CGFlag) -> (HappyAbsSyn t72)+happyIn10 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn10 #-}+happyOut10 :: (HappyAbsSyn t72) -> (CGFlag)+happyOut10 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut10 #-}+happyIn11 :: (Bool) -> (HappyAbsSyn t72)+happyIn11 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn11 #-}+happyOut11 :: (HappyAbsSyn t72) -> (Bool)+happyOut11 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut11 #-}+happyIn12 :: ([RawTerm]) -> (HappyAbsSyn t72)+happyIn12 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn12 #-}+happyOut12 :: (HappyAbsSyn t72) -> ([RawTerm])+happyOut12 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut12 #-}+happyIn13 :: (RawTerm) -> (HappyAbsSyn t72)+happyIn13 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn13 #-}+happyOut13 :: (HappyAbsSyn t72) -> (RawTerm)+happyOut13 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut13 #-}+happyIn14 :: ([ParseDecl]) -> (HappyAbsSyn t72)+happyIn14 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn14 #-}+happyOut14 :: (HappyAbsSyn t72) -> ([ParseDecl])+happyOut14 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut14 #-}+happyIn15 :: ([CGFlag]) -> (HappyAbsSyn t72)+happyIn15 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn15 #-}+happyOut15 :: (HappyAbsSyn t72) -> ([CGFlag])+happyOut15 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut15 #-}+happyIn16 :: ([CGFlag]) -> (HappyAbsSyn t72)+happyIn16 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn16 #-}+happyOut16 :: (HappyAbsSyn t72) -> ([CGFlag])+happyOut16 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut16 #-}+happyIn17 :: ([CGFlag]) -> (HappyAbsSyn t72)+happyIn17 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn17 #-}+happyOut17 :: (HappyAbsSyn t72) -> ([CGFlag])+happyOut17 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut17 #-}+happyIn18 :: ([Decl]) -> (HappyAbsSyn t72)+happyIn18 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn18 #-}+happyOut18 :: (HappyAbsSyn t72) -> ([Decl])+happyOut18 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut18 #-}+happyIn19 :: ([String]) -> (HappyAbsSyn t72)+happyIn19 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn19 #-}+happyOut19 :: (HappyAbsSyn t72) -> ([String])+happyOut19 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut19 #-}+happyIn20 :: (String) -> (HappyAbsSyn t72)+happyIn20 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn20 #-}+happyOut20 :: (HappyAbsSyn t72) -> (String)+happyOut20 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut20 #-}+happyIn21 :: (Fixity) -> (HappyAbsSyn t72)+happyIn21 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn21 #-}+happyOut21 :: (HappyAbsSyn t72) -> (Fixity)+happyOut21 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut21 #-}+happyIn22 :: (Decl) -> (HappyAbsSyn t72)+happyIn22 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn22 #-}+happyOut22 :: (HappyAbsSyn t72) -> (Decl)+happyOut22 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut22 #-}+happyIn23 :: ([(Id,String)]) -> (HappyAbsSyn t72)+happyIn23 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn23 #-}+happyOut23 :: (HappyAbsSyn t72) -> ([(Id,String)])+happyOut23 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut23 #-}+happyIn24 :: ((Id, [(RawTerm, Maybe Id)])) -> (HappyAbsSyn t72)+happyIn24 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn24 #-}+happyOut24 :: (HappyAbsSyn t72) -> ((Id, [(RawTerm, Maybe Id)]))+happyOut24 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut24 #-}+happyIn25 :: ([(RawTerm,Maybe Id)]) -> (HappyAbsSyn t72)+happyIn25 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn25 #-}+happyOut25 :: (HappyAbsSyn t72) -> ([(RawTerm,Maybe Id)])+happyOut25 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut25 #-}+happyIn26 :: (Datatype) -> (HappyAbsSyn t72)+happyIn26 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn26 #-}+happyOut26 :: (HappyAbsSyn t72) -> (Datatype)+happyOut26 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut26 #-}+happyIn27 :: (Either RawTerm ((RawTerm, [(Id, RawTerm)]), [ConParse])) -> (HappyAbsSyn t72)+happyIn27 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn27 #-}+happyOut27 :: (HappyAbsSyn t72) -> (Either RawTerm ((RawTerm, [(Id, RawTerm)]), [ConParse]))+happyOut27 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut27 #-}+happyIn28 :: ([TyOpt]) -> (HappyAbsSyn t72)+happyIn28 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn28 #-}+happyOut28 :: (HappyAbsSyn t72) -> ([TyOpt])+happyOut28 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut28 #-}+happyIn29 :: ([TyOpt]) -> (HappyAbsSyn t72)+happyIn29 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn29 #-}+happyOut29 :: (HappyAbsSyn t72) -> ([TyOpt])+happyOut29 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut29 #-}+happyIn30 :: (TyOpt) -> (HappyAbsSyn t72)+happyIn30 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn30 #-}+happyOut30 :: (HappyAbsSyn t72) -> (TyOpt)+happyOut30 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut30 #-}+happyIn31 :: (Id) -> (HappyAbsSyn t72)+happyIn31 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn31 #-}+happyOut31 :: (HappyAbsSyn t72) -> (Id)+happyOut31 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut31 #-}+happyIn32 :: (RawTerm) -> (HappyAbsSyn t72)+happyIn32 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn32 #-}+happyOut32 :: (HappyAbsSyn t72) -> (RawTerm)+happyOut32 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut32 #-}+happyIn33 :: (RawTerm) -> (HappyAbsSyn t72)+happyIn33 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn33 #-}+happyOut33 :: (HappyAbsSyn t72) -> (RawTerm)+happyOut33 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut33 #-}+happyIn34 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t72)+happyIn34 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn34 #-}+happyOut34 :: (HappyAbsSyn t72) -> ([(Id, RawTerm)])+happyOut34 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut34 #-}+happyIn35 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t72)+happyIn35 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn35 #-}+happyOut35 :: (HappyAbsSyn t72) -> ([(Id, RawTerm)])+happyOut35 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut35 #-}+happyIn36 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t72)+happyIn36 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn36 #-}+happyOut36 :: (HappyAbsSyn t72) -> ([(Id, RawTerm)])+happyOut36 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut36 #-}+happyIn37 :: ([Id]) -> (HappyAbsSyn t72)+happyIn37 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn37 #-}+happyOut37 :: (HappyAbsSyn t72) -> ([Id])+happyOut37 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut37 #-}+happyIn38 :: ([(Id, Int)]) -> (HappyAbsSyn t72)+happyIn38 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn38 #-}+happyOut38 :: (HappyAbsSyn t72) -> ([(Id, Int)])+happyOut38 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut38 #-}+happyIn39 :: ([Id]) -> (HappyAbsSyn t72)+happyIn39 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn39 #-}+happyOut39 :: (HappyAbsSyn t72) -> ([Id])+happyOut39 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut39 #-}+happyIn40 :: ([Id]) -> (HappyAbsSyn t72)+happyIn40 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn40 #-}+happyOut40 :: (HappyAbsSyn t72) -> ([Id])+happyOut40 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut40 #-}+happyIn41 :: ([(Id, RawTerm, RawTerm)]) -> (HappyAbsSyn t72)+happyIn41 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn41 #-}+happyOut41 :: (HappyAbsSyn t72) -> ([(Id, RawTerm, RawTerm)])+happyOut41 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut41 #-}+happyIn42 :: ((Id, RawTerm)) -> (HappyAbsSyn t72)+happyIn42 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn42 #-}+happyOut42 :: (HappyAbsSyn t72) -> ((Id, RawTerm))+happyOut42 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut42 #-}+happyIn43 :: (RawTerm) -> (HappyAbsSyn t72)+happyIn43 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn43 #-}+happyOut43 :: (HappyAbsSyn t72) -> (RawTerm)+happyOut43 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut43 #-}+happyIn44 :: (RawTerm) -> (HappyAbsSyn t72)+happyIn44 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn44 #-}+happyOut44 :: (HappyAbsSyn t72) -> (RawTerm)+happyOut44 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut44 #-}+happyIn45 :: (RawTerm) -> (HappyAbsSyn t72)+happyIn45 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn45 #-}+happyOut45 :: (HappyAbsSyn t72) -> (RawTerm)+happyOut45 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut45 #-}+happyIn46 :: (String) -> (HappyAbsSyn t72)+happyIn46 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn46 #-}+happyOut46 :: (HappyAbsSyn t72) -> (String)+happyOut46 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut46 #-}+happyIn47 :: (RawTerm) -> (HappyAbsSyn t72)+happyIn47 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn47 #-}+happyOut47 :: (HappyAbsSyn t72) -> (RawTerm)+happyOut47 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut47 #-}+happyIn48 :: (RawTerm) -> (HappyAbsSyn t72)+happyIn48 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn48 #-}+happyOut48 :: (HappyAbsSyn t72) -> (RawTerm)+happyOut48 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut48 #-}+happyIn49 :: (RawTerm) -> (HappyAbsSyn t72)+happyIn49 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn49 #-}+happyOut49 :: (HappyAbsSyn t72) -> (RawTerm)+happyOut49 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut49 #-}+happyIn50 :: (RawTerm) -> (HappyAbsSyn t72)+happyIn50 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn50 #-}+happyOut50 :: (HappyAbsSyn t72) -> (RawTerm)+happyOut50 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut50 #-}+happyIn51 :: (ArgOpt) -> (HappyAbsSyn t72)+happyIn51 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn51 #-}+happyOut51 :: (HappyAbsSyn t72) -> (ArgOpt)+happyOut51 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut51 #-}+happyIn52 :: ([ArgOpt]) -> (HappyAbsSyn t72)+happyIn52 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn52 #-}+happyOut52 :: (HappyAbsSyn t72) -> ([ArgOpt])+happyOut52 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut52 #-}+happyIn53 :: ([ArgOpt]) -> (HappyAbsSyn t72)+happyIn53 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn53 #-}+happyOut53 :: (HappyAbsSyn t72) -> ([ArgOpt])+happyOut53 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut53 #-}+happyIn54 :: (RawTerm) -> (HappyAbsSyn t72)+happyIn54 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn54 #-}+happyOut54 :: (HappyAbsSyn t72) -> (RawTerm)+happyOut54 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut54 #-}+happyIn55 :: ([RawTerm]) -> (HappyAbsSyn t72)+happyIn55 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn55 #-}+happyOut55 :: (HappyAbsSyn t72) -> ([RawTerm])+happyOut55 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut55 #-}+happyIn56 :: (RawTerm) -> (HappyAbsSyn t72)+happyIn56 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn56 #-}+happyOut56 :: (HappyAbsSyn t72) -> (RawTerm)+happyOut56 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut56 #-}+happyIn57 :: (RawTerm) -> (HappyAbsSyn t72)+happyIn57 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn57 #-}+happyOut57 :: (HappyAbsSyn t72) -> (RawTerm)+happyOut57 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut57 #-}+happyIn58 :: ([RawTerm]) -> (HappyAbsSyn t72)+happyIn58 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn58 #-}+happyOut58 :: (HappyAbsSyn t72) -> ([RawTerm])+happyOut58 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut58 #-}+happyIn59 :: ([Do]) -> (HappyAbsSyn t72)+happyIn59 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn59 #-}+happyOut59 :: (HappyAbsSyn t72) -> ([Do])+happyOut59 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut59 #-}+happyIn60 :: ([Do]) -> (HappyAbsSyn t72)+happyIn60 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn60 #-}+happyOut60 :: (HappyAbsSyn t72) -> ([Do])+happyOut60 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut60 #-}+happyIn61 :: (Do) -> (HappyAbsSyn t72)+happyIn61 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn61 #-}+happyOut61 :: (HappyAbsSyn t72) -> (Do)+happyOut61 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut61 #-}+happyIn62 :: (Constant) -> (HappyAbsSyn t72)+happyIn62 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn62 #-}+happyOut62 :: (HappyAbsSyn t72) -> (Constant)+happyOut62 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut62 #-}+happyIn63 :: ([RawTerm]) -> (HappyAbsSyn t72)+happyIn63 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn63 #-}+happyOut63 :: (HappyAbsSyn t72) -> ([RawTerm])+happyOut63 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut63 #-}+happyIn64 :: ((RawTerm, [(Id, RawTerm)])) -> (HappyAbsSyn t72)+happyIn64 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn64 #-}+happyOut64 :: (HappyAbsSyn t72) -> ((RawTerm, [(Id, RawTerm)]))+happyOut64 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut64 #-}+happyIn65 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t72)+happyIn65 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn65 #-}+happyOut65 :: (HappyAbsSyn t72) -> ([(Id, RawTerm)])+happyOut65 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut65 #-}+happyIn66 :: ((Id,Id)) -> (HappyAbsSyn t72)+happyIn66 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn66 #-}+happyOut66 :: (HappyAbsSyn t72) -> ((Id,Id))+happyOut66 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut66 #-}+happyIn67 :: ((Id,Id)) -> (HappyAbsSyn t72)+happyIn67 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn67 #-}+happyOut67 :: (HappyAbsSyn t72) -> ((Id,Id))+happyOut67 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut67 #-}+happyIn68 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t72)+happyIn68 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn68 #-}+happyOut68 :: (HappyAbsSyn t72) -> ([(Id, RawTerm)])+happyOut68 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut68 #-}+happyIn69 :: (Id) -> (HappyAbsSyn t72)+happyIn69 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn69 #-}+happyOut69 :: (HappyAbsSyn t72) -> (Id)+happyOut69 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut69 #-}+happyIn70 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t72)+happyIn70 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn70 #-}+happyOut70 :: (HappyAbsSyn t72) -> ([(Id, RawTerm)])+happyOut70 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut70 #-}+happyIn71 :: ([Id]) -> (HappyAbsSyn t72)+happyIn71 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn71 #-}+happyOut71 :: (HappyAbsSyn t72) -> ([Id])+happyOut71 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut71 #-}+happyIn72 :: t72 -> (HappyAbsSyn t72)+happyIn72 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn72 #-}+happyOut72 :: (HappyAbsSyn t72) -> t72+happyOut72 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut72 #-}+happyIn73 :: ([ConParse]) -> (HappyAbsSyn t72)+happyIn73 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn73 #-}+happyOut73 :: (HappyAbsSyn t72) -> ([ConParse])+happyOut73 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut73 #-}+happyIn74 :: (ConParse) -> (HappyAbsSyn t72)+happyIn74 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn74 #-}+happyOut74 :: (HappyAbsSyn t72) -> (ConParse)+happyOut74 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut74 #-}+happyIn75 :: (RawTerm) -> (HappyAbsSyn t72)+happyIn75 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn75 #-}+happyOut75 :: (HappyAbsSyn t72) -> (RawTerm)+happyOut75 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut75 #-}+happyIn76 :: (ITactic) -> (HappyAbsSyn t72)+happyIn76 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn76 #-}+happyOut76 :: (HappyAbsSyn t72) -> (ITactic)+happyOut76 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut76 #-}+happyIn77 :: ([ITactic]) -> (HappyAbsSyn t72)+happyIn77 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn77 #-}+happyOut77 :: (HappyAbsSyn t72) -> ([ITactic])+happyOut77 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut77 #-}+happyIn78 :: ([ITactic]) -> (HappyAbsSyn t72)+happyIn78 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn78 #-}+happyOut78 :: (HappyAbsSyn t72) -> ([ITactic])+happyOut78 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut78 #-}+happyIn79 :: (LineNumber) -> (HappyAbsSyn t72)+happyIn79 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn79 #-}+happyOut79 :: (HappyAbsSyn t72) -> (LineNumber)+happyOut79 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut79 #-}+happyIn80 :: (String) -> (HappyAbsSyn t72)+happyIn80 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn80 #-}+happyOut80 :: (HappyAbsSyn t72) -> (String)+happyOut80 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut80 #-}+happyIn81 :: (Fixities) -> (HappyAbsSyn t72)+happyIn81 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn81 #-}+happyOut81 :: (HappyAbsSyn t72) -> (Fixities)+happyOut81 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut81 #-}+happyInTok :: (Token) -> (HappyAbsSyn t72)+happyInTok x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyInTok #-}+happyOutTok :: (HappyAbsSyn t72) -> (Token)+happyOutTok x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOutTok #-}+++happyActOffsets :: HappyAddr+happyActOffsets = HappyA# "\x1b\x00\x6d\x05\x76\x08\x00\x00\x20\x04\x6d\x05\x1f\x01\x1f\x01\x6d\x05\x00\x00\x69\x03\x13\x03\x00\x00\x1f\x01\x00\x00\x6d\x05\x6d\x05\x00\x00\x6d\x05\x6d\x05\x6d\x05\x6d\x05\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6f\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x01\x61\x09\x67\x02\x6d\x05\x6d\x05\x38\x08\x6d\x05\x00\x00\x1f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x05\x00\x00\x00\x00\x00\x00\x5b\x00\x00\x00\x6d\x05\xae\x00\x1a\x04\x01\x00\x00\x00\x00\x00\x01\x00\x89\x04\x00\x00\x7b\x04\x00\x00\x2c\x02\x73\x04\x72\x04\x70\x04\x6e\x04\x6c\x04\x9b\x09\xd1\x01\x68\x04\x00\x00\x00\x00\x00\x00\x67\x04\x66\x04\x58\x04\xae\x00\xae\x00\x71\x04\x2e\x04\x55\x04\x65\x04\x6d\x05\x5b\x04\x56\x04\x00\x00\x00\x00\x29\x02\x00\x00\xae\x00\x50\x04\x53\x04\xae\x00\x00\x00\xae\x00\xae\x00\xae\x00\xae\x00\x32\x02\x4c\x04\x00\x00\x00\x00\x00\x00\x00\x00\x82\x00\x00\x00\xfe\xff\x00\x00\x00\x00\xbd\x02\x00\x00\x00\x00\x00\x00\xd1\x00\xd1\x00\xd1\x00\xd1\x00\xd1\x00\x00\x00\xfd\x07\x51\x04\x02\x00\x27\x09\x43\x04\x2a\x00\x9b\x09\xd1\x01\x00\x00\x00\x00\x4a\x04\xff\x03\xe6\x01\x00\x00\x49\x04\x17\x05\x00\x00\x00\x00\x4f\x04\x00\x00\x4f\x04\x00\x00\xe1\x02\x78\x0a\x76\x01\x86\x03\xc1\x04\x3f\x04\xc1\x04\xc1\x04\x3e\x04\x33\x04\xc1\x04\xc1\x04\xcf\x01\x6c\x00\x00\x00\xc1\x04\xed\x08\xae\x00\x38\x04\x16\x04\x00\x00\x38\x08\x29\x04\x00\x00\xc1\x04\x1b\x04\xc1\x04\xc1\x04\xc1\x04\xc1\x04\xc1\x04\x00\x00\xa7\x01\x97\x01\x89\x01\x7a\x01\x67\x01\x58\x01\x00\x00\x4a\x01\xc1\x04\x36\x01\xc1\x04\x28\x01\x00\x00\x13\x04\x00\x00\xf8\x00\xae\x00\xc3\x00\x03\x00\x00\x00\x35\x04\x35\x04\x35\x04\x35\x04\x35\x04\x00\x00\xc1\x04\x35\x04\x38\x08\x00\x00\x00\x00\x00\x00\xc1\x04\x0b\x04\x61\x09\x1c\x04\x1e\x04\x08\x04\x17\x01\x19\x04\xc2\x00\x17\x04\x92\x08\x61\x09\x00\x00\x61\x09\x0f\x04\x00\x00\x36\x05\x00\x00\x36\x05\x00\x00\x36\x05\x00\x00\x36\x05\x00\x00\xc1\x04\x00\x00\xc1\x04\xc1\x04\xc1\x04\xc1\x04\xc1\x04\x14\x04\x00\x00\x00\x00\xc1\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x22\x00\x36\x05\x0c\x04\x6b\x04\xae\x00\xfb\x03\x00\x00\x15\x04\x15\x04\xf7\x03\x07\x04\xfa\x03\x00\x04\x15\x04\x15\x04\x15\x04\xae\x03\x76\x08\xf9\x03\xf3\xff\x0d\x00\xea\x03\xfd\x07\x15\x04\x00\x00\x00\x00\xf5\x03\xf4\x03\xf1\x03\xee\x03\xec\x03\x00\x00\x00\x00\x32\x03\xed\x03\x00\x00\x00\x00\x15\x04\x15\x04\x15\x04\x00\x00\xe6\x03\xd7\x03\x00\x00\x00\x00\x1d\x03\xf0\x03\xde\x03\xd3\x03\xdd\x03\xae\x00\xcc\x03\x01\x00\xae\x00\xd0\x03\xc9\x03\x00\x00\x15\x04\xe0\x04\xd6\x03\xdc\x03\x00\x00\xbc\x03\x00\x00\x15\x04\x00\x00\x00\x00\xae\x00\x00\x00\x27\x09\x00\x00\xae\x00\xae\x00\xbb\x03\x27\x09\x00\x00\x00\x00\x32\x02\x00\x00\x8a\x04\x34\x04\x07\x05\x00\x00\x00\x00\x00\x00\x00\x00\x15\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x09\x00\x00\xae\x00\x00\x00\x00\x00\x20\x02\x20\x02\xd5\x03\x00\x00\x00\x00\x00\x00\xc8\x03\xc3\x03\x61\x09\xc7\x03\xbd\x03\x00\x00\x88\x03\xc9\x01\x59\x03\x00\x00\xd1\x01\x00\x00\x15\x04\xa6\x00\x5d\x00\x15\x04\xc2\x03\x00\x00\x00\x00\x00\x00\xa3\x03\x98\x08\x00\x00\x73\x08\xe3\x03\x00\x00\x61\x09\x00\x00\x30\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xba\x03\x00\x00\xb9\x03\x00\x00\x38\x08\x00\x00\x9b\x03\x00\x00\x00\x00\x00\x00\x00\x00\x61\x09\x61\x09\xa8\x03\x27\x09\xae\x00\x93\x03\x27\x09\x0d\x00\xae\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x08\x73\x08\x73\x08\x73\x08\x73\x08\x73\x08\x00\x00\x00\x00\x00\x00\x00\x00\x61\x09\x00\x00\xb9\x00\x8d\x03\x10\x02\xd8\x00\x00\x00\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc2\x07\x00\x00\x87\x07\x00\x00\x4c\x07\x00\x00\x11\x07\xa9\x03\xa2\x03\xa1\x03\xa0\x03\x9f\x03\x0a\x00\x00\x00\x00\x00\x15\x04\xd6\x06\x8e\x03\x36\x05\x15\x04\x66\x00\x00\x00\xd5\x01\x9c\x03\x92\x03\x00\x00\x76\x08\x0d\x00\x6b\x03\xae\x00\x00\x00\x8f\x03\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x06\x00\x00\xd5\x01\x00\x00\x84\x03\x00\x00\x00\x00\x00\x00\xf8\xff\x00\x00\x60\x06\x8b\x03\x89\x03\x00\x00\x00\x00\x6e\x03\x81\x03\x03\x03\xae\x00\x6a\x03\x00\x00\x00\x00\xae\x00\x7e\x03\x00\x00\x00\x00\xae\x00\x00\x00\xae\x00\x00\x00\x38\x08\x00\x00\x00\x00\x27\x09\x00\x00\x45\x03\x00\x00\x00\x00\x00\x00\xae\x00\xd5\x01\x79\x03\x00\x00\x00\x00\x00\x00\x7a\x03\x00\x00\x7d\x01\x72\x03\x27\x09\x00\x00\xae\x00\x00\x00\x6f\x03\xae\x00\x7b\x03\x00\x00\x15\x04\x00\x00\x36\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x57\x03\x65\x03\x00\x00\x00\x00\x61\x09\x47\x03\x47\x03\x00\x00\x10\x02\x63\x03\x00\x00\x00\x00\x00\x00\x66\x00\x25\x06\x00\x00\x00\x00\x00\x00\x00\x00\x5e\x03\x00\x00\x00\x00\x40\x03\xae\x00\x00\x00\x00\x00\x00\x00\x50\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xae\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbf\x03\x00\x00\xea\x05\x00\x00\x00\x00\x00\x00\x00\x00\xaf\x05\x51\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#++happyGotoOffsets :: HappyAddr+happyGotoOffsets = HappyA# "\x65\x0a\x97\x0d\x17\x03\x00\x00\x00\x00\x83\x0d\x97\x00\x41\x03\x7c\x0d\x00\x00\x68\x0d\x61\x0d\x00\x00\x38\x03\x00\x00\x4d\x0d\x46\x0d\x00\x00\x32\x0d\x2b\x0d\x17\x0d\x10\x0d\x00\x00\x00\x00\x00\x00\x06\x03\x77\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd3\x00\x52\x09\x83\x0a\xfc\x0c\xf5\x0c\xc6\x0d\xe1\x0c\x00\x00\x29\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xda\x0c\x00\x00\xf6\x02\xf5\x02\x00\x00\xf4\x02\xc6\x0c\x8c\x01\x00\x00\x4b\x0a\x00\x00\x00\x00\x31\x0a\x00\x00\x00\x00\x36\x03\x00\x00\x0a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x28\x03\x24\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x03\x1e\x03\x00\x00\x00\x00\x00\x00\x00\x00\xbf\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x77\x01\xe2\x02\xaa\x01\x00\x00\x00\x00\x10\x01\x00\x00\x04\x00\x16\x03\xfa\xff\x0b\x03\x43\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1a\x03\xd3\x02\x72\x01\x00\x00\xcb\x02\x97\x0a\x00\x00\xc6\x02\xc0\x02\x17\x0a\xfd\x09\xe3\x09\xc9\x09\x79\x09\x00\x00\x1e\x06\x00\x00\x00\x00\xbb\x0d\x00\x00\xfd\x02\xfd\xff\x18\x02\x00\x00\x00\x00\xd6\x02\x00\x00\x6e\x01\xb8\x02\xd4\x02\xd3\x0a\xb3\x02\xb2\x02\x6c\x01\xaf\x02\x6b\x01\x00\x00\x69\x01\x69\x01\x15\x01\x78\x00\xab\x0c\x00\x00\xa4\x0c\x90\x0c\x00\x00\x00\x00\xba\x04\x64\x04\x5d\x01\x00\x00\x00\x00\x89\x0c\x7a\x02\x0b\x02\xcf\x02\x00\x00\xae\x02\xab\x0d\x00\x00\xa4\x02\x75\x0c\xa2\x02\x6e\x0c\x5a\x0c\x53\x0c\x3f\x0c\x38\x0c\x9e\x02\x5a\x01\x5a\x01\x5a\x01\x5a\x01\x5a\x01\x5a\x01\x00\x00\x5a\x01\x24\x0c\x5a\x01\x1d\x0c\x5a\x01\x00\x00\x00\x00\x00\x00\x5a\x01\x85\x00\x5a\x01\x5a\x01\x00\x00\x55\x01\x47\x01\x3e\x01\x3d\x01\x2c\x01\x98\x02\x09\x0c\x2a\x01\x9e\x0d\x94\x02\x8f\x02\x00\x00\x02\x0c\x00\x00\x2b\x08\x00\x00\x00\x00\x00\x00\x38\x00\x00\x00\x00\x00\x00\x00\x25\x01\xef\x07\x00\x00\xb4\x07\x00\x00\x8e\x02\x12\x01\x8d\x02\x08\x01\x8b\x02\xe6\x00\x88\x02\xe4\x00\x86\x02\x0e\x04\x00\x00\xb8\x03\xee\x0b\xe7\x0b\xb6\x02\xe0\x01\x00\x00\x00\x00\x84\x02\xd3\x0b\x81\x02\x80\x02\x7f\x02\x00\x00\x00\x00\x28\x00\xe3\x00\x00\x00\xbf\x0a\x3b\x01\x00\x00\x00\x00\xcc\x0b\xb8\x0b\x00\x00\x00\x00\x00\x00\xc1\x02\xb1\x0b\x9d\x0b\x96\x0b\x00\x00\xbc\x01\x90\x02\x01\x02\x00\x00\x00\x00\xe3\x05\x82\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x02\x6f\x02\xde\x00\x00\x00\x6b\x02\x68\x02\x7b\x0b\x67\x0b\x60\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x05\x09\x97\x02\x00\x00\x00\x00\x66\x02\x4c\x0b\xde\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x45\x0b\x00\x00\x00\x00\x8c\x02\x00\x00\x8e\x09\x64\x02\xf2\xff\x8c\x00\x00\x00\x29\x08\x63\x02\x62\x02\xaf\x01\x00\x00\xde\x00\xde\x00\xde\x00\x00\x00\x00\x00\x5f\x02\x00\x00\xe7\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xde\x00\x5e\x02\x80\x00\x5d\x02\x00\x00\xce\x01\x5b\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x07\x00\x00\x00\x00\x00\x00\xde\x00\xa3\x00\xde\x00\x00\x00\xcb\x00\x00\x00\x31\x0b\xde\x00\xde\x00\x2a\x0b\x3e\x02\x00\x00\x00\x00\x5b\x02\x00\x00\xf6\x07\x00\x00\xf6\x07\xde\x00\x5a\x02\x3f\x07\x59\x02\xde\x00\x00\x00\x58\x02\x4d\x02\x45\x02\x42\x02\x3d\x02\x3c\x02\x3a\x02\x00\x00\x35\x02\x00\x00\x21\x02\xbb\x07\x2a\x02\x00\x00\x27\x02\x00\x00\xff\x01\x00\x00\x04\x07\x1e\x02\x92\x01\x78\x07\x00\x02\x00\x00\x3d\x07\x00\x00\x16\x00\xde\x00\x1d\x02\x0c\x02\x00\x00\x0a\x02\xde\x00\x00\x00\x04\x02\xfc\x01\xf5\x01\xe5\x01\xda\x01\x00\x00\xcf\x06\xcf\x06\xcf\x06\xcf\x06\xcf\x06\xcf\x06\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x06\x00\x00\x00\x00\x00\x00\xcb\x01\x00\x00\x00\x00\xd0\x01\xb6\x01\xb3\x01\xa8\x01\x00\x00\xcf\x06\x00\x00\xcf\x06\x00\x00\xcf\x06\x00\x00\xcf\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x49\x01\x16\x0b\xcf\x06\x00\x00\xdd\x00\x0f\x0b\xcf\x00\x00\x00\x40\x02\x00\x00\x00\x00\x00\x00\xef\x00\x00\x00\x00\x00\xeb\x00\x00\x00\x00\x00\x00\x00\xa4\x01\x00\x00\xa1\x01\x66\x05\x9e\x01\x0e\x02\x00\x00\x00\x00\x00\x00\x9b\x01\x86\x01\x38\x01\x24\x01\x99\x05\x00\x00\x00\x00\x00\x00\x68\x01\x00\x00\x00\x00\xcf\x00\x85\x01\x00\x00\x00\x00\x00\x00\x4f\x01\x00\x00\x00\x00\x00\x00\xf9\xff\x00\x00\x0b\x00\x00\x00\x18\x09\x00\x00\x00\x00\x02\x07\x64\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x01\xc5\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x06\x00\x00\x34\x00\xea\x00\x00\x00\xf7\xff\xca\x00\x2e\x01\xfb\x0a\x00\x00\xbf\x00\x0e\x01\x77\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfa\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x06\x00\x00\x00\x00\x00\x00\x90\x01\x00\x00\xbc\x00\x00\x00\x9f\x00\xad\x00\x59\x06\x73\x00\x00\x00\x37\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd2\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x21\x00\x00\x00\x3c\x00\x59\x06\xab\x0a\xe5\xff\x59\x06\x00\x00\x00\x00\x00\x00\x00\x00\x59\x06\x00\x00\x00\x00\xd0\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#++happyDefActions :: HappyAddr+happyDefActions = HappyA# "\x2c\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\xff\x00\x00\x00\x00\x15\xff\x00\x00\x00\x00\x10\xff\x00\x00\x0e\xff\x00\x00\x00\x00\x0b\xff\x00\x00\x00\x00\x00\x00\x00\x00\x06\xff\x05\xff\x04\xff\xff\xfe\xff\xfe\x9e\xff\x83\xff\x4b\xff\x4c\xff\xa5\xff\x4a\xff\x4f\xff\xff\xfe\xae\xff\x34\xff\x36\xff\x32\xff\x35\xff\x33\xff\x56\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\xff\x00\x00\x3c\xff\x3b\xff\x3a\xff\x3d\xff\x38\xff\x39\xff\x37\xff\x3e\xff\x00\x00\x53\xff\xff\xfe\xff\xfe\x00\x00\xff\xfe\x00\x00\x00\x00\x00\x00\x2c\xff\xef\xff\xf8\xff\x2c\xff\x00\x00\xf6\xff\xdb\xff\xf7\xff\xbc\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb4\xff\xc1\xff\xc3\xff\xc2\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xec\xff\xed\xff\xff\xfe\xff\xfe\x00\x00\x00\x00\x00\x00\x8f\xff\x27\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc7\xff\xc6\xff\xc5\xff\xc4\xff\x00\x00\xff\xfe\xff\xfe\xd9\xff\xff\xfe\x00\x00\xa8\xff\xff\xfe\xff\xfe\x2c\xff\x2c\xff\x2c\xff\x2c\xff\x2c\xff\xbd\xff\xbc\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfa\xff\xfb\xff\x73\xff\x00\x00\xff\xfe\x00\xff\x73\xff\x00\x00\x00\xff\x00\xff\xff\xfe\xff\xfe\xff\xfe\x57\xff\xff\xfe\xff\xfe\xff\xfe\xff\xfe\x00\x00\x00\x00\xc7\xff\xc6\xff\x75\xff\x74\xff\xff\xfe\xff\xfe\xff\xfe\x00\x00\x64\xff\x00\x00\x00\x00\x00\x00\x73\xff\x00\x00\x00\xff\x00\x00\x00\x00\x00\xff\x00\x00\xff\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xfe\xff\xfe\xff\xfe\xff\xfe\xff\xfe\xff\xfe\x0f\xff\xff\xfe\x00\x00\xff\xfe\x00\x00\xff\xfe\x18\xff\x97\xff\x1a\xff\xff\xfe\x00\x00\xff\xfe\xff\xfe\x5a\xff\xff\xfe\xff\xfe\xff\xfe\xff\xfe\xff\xfe\x00\xff\x00\x00\xff\xfe\x00\x00\xff\xfe\xff\xfe\x54\xff\x00\x00\x9c\xff\x00\x00\x00\x00\x00\x00\x99\xff\xff\xfe\x00\x00\x00\x00\x00\x00\xff\xfe\x00\x00\xa4\xff\x00\x00\x00\x00\x00\xff\xff\xfe\x00\xff\xff\xfe\x00\xff\xff\xfe\xff\xfe\xff\xfe\xff\xfe\xff\xfe\x58\xff\xff\xfe\x75\xff\x74\xff\xff\xfe\xff\xfe\x00\x00\x4e\xff\xff\xfe\x00\x00\x00\xff\x00\xff\x00\xff\x52\xff\x51\xff\xff\xfe\xff\xfe\x00\x00\x42\xff\x00\x00\x00\x00\x59\xff\x00\x00\x00\x00\x00\x00\x00\x00\xc9\xff\xdb\xff\x00\x00\x00\x00\x00\x00\xde\xff\x00\x00\x71\xff\xd2\xff\x6e\xff\x91\xff\xbc\xff\x00\x00\xe9\xff\xbb\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\x00\xff\xff\xfe\x00\x00\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\xad\xff\x00\x00\xb2\xff\xb0\xff\xaf\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8f\xff\x00\x00\x2c\xff\x00\x00\x00\x00\x00\x00\x00\xff\x00\x00\xff\xfe\x00\x00\x00\x00\xc0\xff\x00\x00\xf9\xff\x00\x00\x8e\xff\x28\xff\x00\x00\x2b\xff\x00\x00\xff\xfe\x24\xff\x20\xff\x00\x00\x00\x00\xff\xfe\xff\xfe\x00\x00\xb3\xff\xff\xfe\xff\xfe\xff\xfe\xaa\xff\xa9\xff\xff\xfe\xd8\xff\x00\x00\xa7\xff\xa6\xff\xf0\xff\xf1\xff\xf2\xff\xf3\xff\xf4\xff\xff\xfe\xff\xfe\x00\x00\xff\xfe\xd4\xff\xd2\xff\xd2\xff\x00\x00\xcc\xff\xd0\xff\xcf\xff\xcd\xff\x00\x00\x00\x00\x00\x00\x00\x00\xdd\xff\xff\xfe\xff\xfe\xff\xfe\xdc\xff\x00\x00\xca\xff\x00\x00\xff\xfe\xff\xfe\x00\x00\x73\xff\x43\xff\x45\xff\x00\xff\x00\x00\xa1\xff\x55\xff\x89\xff\xff\xfe\x00\xff\x00\x00\x00\xff\xff\xfe\x46\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\xff\xfe\x6d\xff\xff\xfe\x67\xff\xff\xfe\x6a\xff\x00\x00\x00\x00\x60\xff\x00\x00\x00\x00\x00\x00\x00\x00\x72\xff\x00\x00\xff\xfe\x00\xff\x00\xff\xa3\xff\x00\xff\xff\xfe\x8b\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x96\xff\x84\xff\x87\xff\x85\xff\x86\xff\x88\xff\x81\xff\xa2\xff\x82\xff\x9b\xff\x98\xff\x00\x00\x9a\xff\x72\xff\x00\x00\x00\x00\x5c\xff\x5b\xff\xff\xfe\x00\xff\x00\xff\x00\xff\xac\xff\x00\x00\x79\xff\x00\x00\x78\xff\x00\x00\x4d\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\xff\xff\xfe\x00\x00\x00\x00\x00\x00\xff\xfe\x00\x00\xff\xfe\xc8\xff\x00\x00\x00\x00\x00\x00\x03\xff\x02\xff\x70\xff\x00\x00\x00\x00\xcb\xff\x00\x00\xd1\xff\x00\xff\x90\xff\x00\xff\xbc\xff\x00\xff\x00\x00\xe5\xff\x00\x00\xb1\xff\x00\xff\x00\xff\x2c\xff\xff\xfe\x31\xff\x00\x00\x1f\xff\x23\xff\x00\xff\x26\xff\x00\x00\xff\xfe\x00\x00\xbf\xff\xf5\xff\xeb\xff\x00\x00\x00\x00\xee\xff\x29\xff\x00\x00\xb8\xff\x20\xff\xb7\xff\x31\xff\x1c\xff\x1d\xff\x00\x00\x00\xff\x00\x00\xb6\xff\xb5\xff\x2e\xff\x00\x00\xd5\xff\x00\x00\xd7\xff\xb9\xff\xba\xff\x00\x00\xd3\xff\x94\xff\x00\x00\x00\x00\x01\xff\x00\x00\xff\xfe\x00\x00\x00\x00\xff\xfe\x00\xff\x00\x00\x3f\xff\xff\xfe\x00\xff\xff\xfe\x7b\xff\x77\xff\x7c\xff\x7f\xff\x7d\xff\x7e\xff\x80\xff\x76\xff\x7a\xff\xab\xff\x66\xff\x65\xff\x00\xff\x5e\xff\x00\x00\x63\xff\x62\xff\x00\x00\x6b\xff\x6c\xff\x61\xff\x00\x00\x00\x00\x00\xff\x49\xff\x00\xff\xff\xfe\x00\x00\x00\xff\x8c\xff\xff\xfe\x00\xff\x00\x00\x6f\xff\xce\xff\x95\xff\x00\x00\xea\xff\xe3\xff\xd6\xff\x00\x00\x2f\xff\x2d\xff\x1b\xff\x30\xff\x1e\xff\x25\xff\x2a\xff\xbe\xff\xe4\xff\x93\xff\x00\x00\xff\xfe\xe6\xff\x00\xff\x9d\xff\x00\x00\x00\xff\x00\x00\x5d\xff\x69\xff\x5f\xff\x41\xff\x00\x00\x00\x00\xe8\xff\x00\xff\x92\xff\xe7\xff\x44\xff\x40\xff"#++happyCheck :: HappyAddr+happyCheck = HappyA# "\xff\xff\x03\x00\x01\x00\x0b\x00\x07\x00\x02\x00\x03\x00\x14\x00\x02\x00\x03\x00\x0c\x00\x19\x00\x02\x00\x0c\x00\x0b\x00\x02\x00\x19\x00\x10\x00\x19\x00\x19\x00\x13\x00\x13\x00\x19\x00\x1a\x00\x19\x00\x49\x00\x23\x00\x11\x00\x01\x00\x19\x00\x20\x00\x21\x00\x1d\x00\x22\x00\x20\x00\x1d\x00\x19\x00\x22\x00\x23\x00\x0c\x00\x22\x00\x23\x00\x27\x00\x10\x00\x0a\x00\x27\x00\x49\x00\x19\x00\x33\x00\x2e\x00\x1c\x00\x41\x00\x2e\x00\x38\x00\x07\x00\x3f\x00\x2e\x00\x40\x00\x40\x00\x2e\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x40\x00\x52\x00\x53\x00\x49\x00\x19\x00\x1a\x00\x20\x00\x21\x00\x4b\x00\x19\x00\x43\x00\x44\x00\x15\x00\x29\x00\x51\x00\x31\x00\x19\x00\x54\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x03\x00\x02\x00\x03\x00\x29\x00\x33\x00\x70\x00\x71\x00\x72\x00\x4b\x00\x38\x00\x02\x00\x03\x00\x19\x00\x4a\x00\x51\x00\x12\x00\x02\x00\x54\x00\x6f\x00\x20\x00\x4a\x00\x49\x00\x73\x00\x3a\x00\x75\x00\x76\x00\x77\x00\x78\x00\x1d\x00\x78\x00\x41\x00\x11\x00\x78\x00\x22\x00\x23\x00\x4a\x00\x4a\x00\x1d\x00\x27\x00\x49\x00\x02\x00\x03\x00\x22\x00\x23\x00\x6f\x00\x2e\x00\x26\x00\x27\x00\x73\x00\x0b\x00\x75\x00\x76\x00\x77\x00\x78\x00\x2e\x00\x11\x00\x12\x00\x13\x00\x14\x00\x19\x00\x2e\x00\x17\x00\x24\x00\x19\x00\x19\x00\x1f\x00\x28\x00\x1d\x00\x20\x00\x21\x00\x1f\x00\x19\x00\x22\x00\x23\x00\x02\x00\x03\x00\x26\x00\x27\x00\x09\x00\x0a\x00\x0b\x00\x01\x00\x19\x00\x0b\x00\x2e\x00\x2f\x00\x49\x00\x58\x00\x1f\x00\x11\x00\x12\x00\x13\x00\x14\x00\x02\x00\x49\x00\x17\x00\x10\x00\x19\x00\x5a\x00\x4a\x00\x4a\x00\x1d\x00\x02\x00\x02\x00\x03\x00\x24\x00\x22\x00\x23\x00\x11\x00\x49\x00\x26\x00\x27\x00\x0b\x00\x43\x00\x44\x00\x24\x00\x01\x00\x11\x00\x2e\x00\x2f\x00\x52\x00\x53\x00\x0d\x00\x0e\x00\x02\x00\x57\x00\x58\x00\x0c\x00\x5a\x00\x26\x00\x1d\x00\x10\x00\x20\x00\x24\x00\x13\x00\x22\x00\x23\x00\x2e\x00\x49\x00\x27\x00\x27\x00\x19\x00\x19\x00\x4a\x00\x24\x00\x1c\x00\x2e\x00\x2e\x00\x20\x00\x24\x00\x70\x00\x71\x00\x72\x00\x4a\x00\x52\x00\x53\x00\x02\x00\x03\x00\x78\x00\x57\x00\x58\x00\x27\x00\x5a\x00\x24\x00\x24\x00\x0b\x00\x19\x00\x49\x00\x2e\x00\x24\x00\x24\x00\x4a\x00\x24\x00\x20\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x4a\x00\x1d\x00\x70\x00\x71\x00\x72\x00\x4a\x00\x22\x00\x23\x00\x4b\x00\x13\x00\x78\x00\x27\x00\x01\x00\x0a\x00\x51\x00\x19\x00\x0d\x00\x54\x00\x2e\x00\x4a\x00\x4a\x00\x19\x00\x02\x00\x03\x00\x24\x00\x4a\x00\x4a\x00\x10\x00\x4a\x00\x27\x00\x22\x00\x0b\x00\x4a\x00\x46\x00\x24\x00\x48\x00\x02\x00\x03\x00\x30\x00\x78\x00\x32\x00\x33\x00\x29\x00\x35\x00\x6f\x00\x0b\x00\x38\x00\x49\x00\x73\x00\x1d\x00\x75\x00\x76\x00\x77\x00\x24\x00\x22\x00\x23\x00\x02\x00\x03\x00\x24\x00\x27\x00\x24\x00\x47\x00\x4a\x00\x1d\x00\x19\x00\x0b\x00\x2e\x00\x49\x00\x22\x00\x23\x00\x02\x00\x03\x00\x4a\x00\x27\x00\x23\x00\x4a\x00\x11\x00\x24\x00\x24\x00\x0b\x00\x2e\x00\x0a\x00\x0b\x00\x1d\x00\x19\x00\x02\x00\x03\x00\x24\x00\x22\x00\x23\x00\x4a\x00\x4a\x00\x78\x00\x27\x00\x0b\x00\x3b\x00\x4a\x00\x1d\x00\x4a\x00\x49\x00\x2e\x00\x24\x00\x22\x00\x23\x00\x02\x00\x03\x00\x24\x00\x27\x00\x0a\x00\x24\x00\x05\x00\x0d\x00\x1d\x00\x0b\x00\x2e\x00\x4a\x00\x4a\x00\x22\x00\x23\x00\x02\x00\x03\x00\x24\x00\x27\x00\x24\x00\x24\x00\x4a\x00\x24\x00\x4a\x00\x0b\x00\x2e\x00\x24\x00\x1d\x00\x19\x00\x02\x00\x03\x00\x24\x00\x22\x00\x23\x00\x19\x00\x4a\x00\x78\x00\x27\x00\x0b\x00\x26\x00\x4a\x00\x19\x00\x1d\x00\x4a\x00\x2e\x00\x02\x00\x03\x00\x22\x00\x23\x00\x49\x00\x78\x00\x23\x00\x27\x00\x49\x00\x0b\x00\x4a\x00\x1d\x00\x4a\x00\x4a\x00\x2e\x00\x4a\x00\x22\x00\x23\x00\x11\x00\x4a\x00\x2d\x00\x27\x00\x2f\x00\x2e\x00\x4a\x00\x78\x00\x19\x00\x1d\x00\x2e\x00\x17\x00\x18\x00\x03\x00\x22\x00\x23\x00\x02\x00\x03\x00\x08\x00\x27\x00\x49\x00\x78\x00\x02\x00\x03\x00\x02\x00\x0b\x00\x2e\x00\x01\x00\x12\x00\x0a\x00\x0b\x00\x0b\x00\x0c\x00\x0d\x00\x14\x00\x19\x00\x78\x00\x11\x00\x0c\x00\x13\x00\x14\x00\x49\x00\x10\x00\x1d\x00\x49\x00\x02\x00\x03\x00\x49\x00\x22\x00\x23\x00\x49\x00\x1d\x00\x20\x00\x27\x00\x49\x00\x78\x00\x22\x00\x23\x00\x26\x00\x27\x00\x2e\x00\x2d\x00\x19\x00\x2f\x00\x1b\x00\x49\x00\x2e\x00\x2f\x00\x49\x00\x31\x00\x78\x00\x46\x00\x1d\x00\x48\x00\x25\x00\x26\x00\x27\x00\x22\x00\x23\x00\x09\x00\x0a\x00\x0b\x00\x27\x00\x3f\x00\x78\x00\x30\x00\x03\x00\x32\x00\x33\x00\x2e\x00\x35\x00\x08\x00\x48\x00\x38\x00\x19\x00\x4a\x00\x52\x00\x53\x00\x1d\x00\x1e\x00\x78\x00\x12\x00\x52\x00\x53\x00\x49\x00\x19\x00\x0d\x00\x0e\x00\x19\x00\x1d\x00\x1e\x00\x4a\x00\x02\x00\x03\x00\x01\x00\x49\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x19\x00\x1a\x00\x70\x00\x71\x00\x72\x00\x10\x00\x57\x00\x49\x00\x70\x00\x71\x00\x72\x00\x16\x00\x03\x00\x18\x00\x49\x00\x1d\x00\x1b\x00\x08\x00\x4a\x00\x2c\x00\x22\x00\x23\x00\x49\x00\x30\x00\x31\x00\x27\x00\x25\x00\x12\x00\x49\x00\x28\x00\x49\x00\x38\x00\x2e\x00\x2f\x00\x19\x00\x17\x00\x18\x00\x4c\x00\x4d\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x49\x00\x29\x00\x01\x00\x02\x00\x49\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x4a\x00\x52\x00\x53\x00\x4a\x00\x0e\x00\x0f\x00\x10\x00\x46\x00\x47\x00\x4e\x00\x4f\x00\x50\x00\x16\x00\x49\x00\x18\x00\x54\x00\x55\x00\x1b\x00\x49\x00\x1d\x00\x49\x00\x49\x00\x5b\x00\x0e\x00\x22\x00\x23\x00\x49\x00\x25\x00\x26\x00\x49\x00\x28\x00\x70\x00\x71\x00\x72\x00\x19\x00\x1a\x00\x2e\x00\x49\x00\x1d\x00\x1e\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x49\x00\x49\x00\x49\x00\x49\x00\x19\x00\x2c\x00\x4a\x00\x4a\x00\x4a\x00\x30\x00\x31\x00\x4a\x00\x4a\x00\x4a\x00\x49\x00\x19\x00\x49\x00\x38\x00\x4c\x00\x49\x00\x4e\x00\x4f\x00\x50\x00\x49\x00\x49\x00\x2a\x00\x54\x00\x55\x00\x56\x00\x01\x00\x02\x00\x59\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x06\x00\x49\x00\x49\x00\x49\x00\x0e\x00\x0f\x00\x10\x00\x4a\x00\x19\x00\x4a\x00\x1b\x00\x4a\x00\x16\x00\x49\x00\x18\x00\x49\x00\x49\x00\x1b\x00\x4a\x00\x1d\x00\x25\x00\x26\x00\x27\x00\x4a\x00\x22\x00\x23\x00\x49\x00\x25\x00\x02\x00\x03\x00\x28\x00\x30\x00\x49\x00\x32\x00\x33\x00\x34\x00\x35\x00\x4a\x00\x49\x00\x38\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x49\x00\x29\x00\x4a\x00\x19\x00\x49\x00\x49\x00\x29\x00\x1d\x00\x29\x00\x4a\x00\x49\x00\x05\x00\x22\x00\x23\x00\x02\x00\x03\x00\x26\x00\x27\x00\x4c\x00\x4a\x00\x4e\x00\x4f\x00\x50\x00\x0b\x00\x2e\x00\x4a\x00\x54\x00\x55\x00\x56\x00\x01\x00\x4a\x00\x59\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x4a\x00\x01\x00\x05\x00\x1d\x00\x0e\x00\x0f\x00\x10\x00\x19\x00\x22\x00\x23\x00\x0a\x00\x0b\x00\x16\x00\x27\x00\x18\x00\x4a\x00\x10\x00\x1b\x00\x19\x00\x1d\x00\x2e\x00\x02\x00\x03\x00\x02\x00\x03\x00\x0e\x00\x19\x00\x25\x00\x19\x00\x16\x00\x28\x00\x06\x00\x20\x00\x4a\x00\x4a\x00\x4a\x00\x11\x00\x19\x00\x11\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x1d\x00\x4a\x00\x1d\x00\x4a\x00\x19\x00\x22\x00\x23\x00\x22\x00\x23\x00\x26\x00\x27\x00\x26\x00\x27\x00\x19\x00\x02\x00\x03\x00\x46\x00\x2e\x00\x4c\x00\x2e\x00\x4e\x00\x4f\x00\x50\x00\x13\x00\x15\x00\x26\x00\x54\x00\x55\x00\x56\x00\x01\x00\x12\x00\x59\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x15\x00\x11\x00\x2e\x00\x1d\x00\x0e\x00\x0f\x00\x10\x00\x15\x00\x22\x00\x23\x00\x26\x00\x03\x00\x16\x00\x27\x00\x18\x00\x13\x00\x11\x00\x1b\x00\x0b\x00\x1d\x00\x2e\x00\x02\x00\x03\x00\x02\x00\x03\x00\x13\x00\x48\x00\x25\x00\x11\x00\x26\x00\x28\x00\x11\x00\x0b\x00\x26\x00\x0c\x00\x0b\x00\x11\x00\x14\x00\x2e\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x1d\x00\x15\x00\x1d\x00\x14\x00\x0b\x00\x22\x00\x23\x00\x22\x00\x23\x00\x26\x00\x27\x00\x20\x00\x27\x00\x11\x00\x11\x00\x11\x00\x11\x00\x2e\x00\x4c\x00\x2e\x00\x4e\x00\x4f\x00\x50\x00\x11\x00\x2e\x00\x14\x00\x54\x00\x55\x00\x56\x00\x01\x00\x2e\x00\x59\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x2e\x00\x11\x00\x11\x00\x0a\x00\x0e\x00\x0f\x00\x10\x00\x13\x00\x19\x00\x0b\x00\x1b\x00\x31\x00\x16\x00\x13\x00\x18\x00\x10\x00\x04\x00\x1b\x00\x20\x00\x1d\x00\x25\x00\x26\x00\x27\x00\x04\x00\x0b\x00\x26\x00\x13\x00\x25\x00\x02\x00\x03\x00\x28\x00\x30\x00\x20\x00\x32\x00\x33\x00\x20\x00\x35\x00\x11\x00\x11\x00\x38\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x26\x00\x0a\x00\x15\x00\x19\x00\x26\x00\x11\x00\x13\x00\x1d\x00\x13\x00\x4a\x00\x0a\x00\x13\x00\x22\x00\x23\x00\x13\x00\x13\x00\x5b\x00\x27\x00\x4c\x00\x0c\x00\x4e\x00\x4f\x00\x50\x00\x26\x00\x2e\x00\x0b\x00\x54\x00\x55\x00\x56\x00\x01\x00\x20\x00\x59\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x13\x00\x26\x00\x0d\x00\x13\x00\x0e\x00\x0f\x00\x10\x00\x0a\x00\x19\x00\x11\x00\x1b\x00\x11\x00\x16\x00\x31\x00\x18\x00\x26\x00\x11\x00\x1b\x00\x26\x00\x1d\x00\x25\x00\x26\x00\x27\x00\x02\x00\x03\x00\x03\x00\x26\x00\x25\x00\x20\x00\x13\x00\x28\x00\x30\x00\x0b\x00\x32\x00\x33\x00\x0a\x00\x35\x00\x11\x00\x2f\x00\x38\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x11\x00\x11\x00\x1d\x00\x03\x00\x0a\x00\x0a\x00\x12\x00\x22\x00\x23\x00\x4a\x00\x5a\x00\x04\x00\x27\x00\x0b\x00\x11\x00\x0b\x00\x04\x00\x10\x00\x4c\x00\x2e\x00\x4e\x00\x4f\x00\x50\x00\x01\x00\x12\x00\x10\x00\x54\x00\x55\x00\x56\x00\x01\x00\x3f\x00\x59\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x04\x00\x10\x00\x10\x00\xff\xff\x0e\x00\x0f\x00\x10\x00\x14\x00\x19\x00\x12\x00\x1b\x00\x12\x00\x16\x00\x12\x00\x18\x00\x12\x00\x12\x00\x1b\x00\x0c\x00\x1d\x00\x25\x00\x26\x00\x27\x00\x02\x00\x03\x00\x05\x00\x20\x00\x25\x00\xff\xff\x78\x00\x28\x00\x30\x00\x0b\x00\x32\x00\x33\x00\x78\x00\x35\x00\xff\xff\xff\xff\x38\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x1d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x23\x00\x4a\x00\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4c\x00\x2e\x00\x4e\x00\x4f\x00\x50\x00\xff\xff\xff\xff\xff\xff\x54\x00\x55\x00\x56\x00\x01\x00\xff\xff\x59\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0e\x00\x0f\x00\x10\x00\xff\xff\x19\x00\xff\xff\x1b\x00\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\x1d\x00\x25\x00\x26\x00\x27\x00\x02\x00\x03\x00\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x30\x00\x0b\x00\x32\x00\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x1d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x23\x00\x4a\x00\xff\xff\xff\xff\x27\x00\xff\xff\x02\x00\x03\x00\xff\xff\xff\xff\x4c\x00\x2e\x00\x4e\x00\x4f\x00\x50\x00\xff\xff\xff\xff\xff\xff\x54\x00\x55\x00\x56\x00\x01\x00\x12\x00\x59\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\xff\xff\xff\xff\x1d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\x16\x00\x27\x00\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\x1d\x00\x2e\x00\x02\x00\x03\x00\x02\x00\x03\x00\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x13\x00\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x1d\x00\xff\xff\x1d\x00\xff\xff\xff\xff\x22\x00\x23\x00\x22\x00\x23\x00\xff\xff\x27\x00\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\x4c\x00\x2e\x00\x4e\x00\x4f\x00\x50\x00\xff\xff\xff\xff\xff\xff\x54\x00\x55\x00\x56\x00\x01\x00\xff\xff\x59\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\xff\xff\x13\x00\xff\xff\x0e\x00\x0f\x00\x10\x00\xff\xff\x19\x00\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\x1d\x00\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x30\x00\xff\xff\x32\x00\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\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\x01\x00\xff\xff\x19\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x4c\x00\x0b\x00\x4e\x00\x4f\x00\x50\x00\xff\xff\x10\x00\x27\x00\x54\x00\x55\x00\x56\x00\xff\xff\x16\x00\x59\x00\x18\x00\xff\xff\x30\x00\x1b\x00\x32\x00\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\x39\x00\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x45\x00\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\x13\x00\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\x19\x00\x4e\x00\x4f\x00\x50\x00\x16\x00\xff\xff\x18\x00\x54\x00\x55\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x30\x00\xff\xff\x32\x00\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\x13\x00\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\x19\x00\x4e\x00\x4f\x00\x50\x00\x16\x00\xff\xff\x18\x00\x54\x00\x55\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x30\x00\xff\xff\x32\x00\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x19\x00\x1a\x00\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\x19\x00\x4e\x00\x4f\x00\x50\x00\x16\x00\xff\xff\x18\x00\x54\x00\x55\x00\x1b\x00\xff\xff\xff\xff\x2c\x00\xff\xff\x27\x00\xff\xff\x30\x00\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x30\x00\x38\x00\x32\x00\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x19\x00\x1a\x00\x19\x00\x1a\x00\xff\xff\xff\xff\x10\x00\xff\xff\x21\x00\x4e\x00\x4f\x00\x50\x00\x16\x00\xff\xff\x18\x00\x54\x00\x55\x00\x1b\x00\x2b\x00\x2c\x00\xff\xff\x2c\x00\xff\xff\x30\x00\xff\xff\x30\x00\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x38\x00\xff\xff\x38\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\x19\x00\x4e\x00\x4f\x00\x50\x00\x16\x00\xff\xff\x18\x00\x54\x00\x55\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x30\x00\xff\xff\x32\x00\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x19\x00\x1a\x00\x19\x00\x1a\x00\xff\xff\xff\xff\x10\x00\x11\x00\x21\x00\x4e\x00\x4f\x00\x50\x00\x16\x00\xff\xff\x18\x00\x54\x00\x55\x00\x1b\x00\x2b\x00\x2c\x00\xff\xff\x2c\x00\xff\xff\x30\x00\xff\xff\x30\x00\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x38\x00\xff\xff\x38\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x19\x00\x1a\x00\x19\x00\x1a\x00\xff\xff\xff\xff\x10\x00\x11\x00\x21\x00\x4e\x00\x4f\x00\x50\x00\x16\x00\xff\xff\x18\x00\x54\x00\x55\x00\x1b\x00\x2b\x00\x2c\x00\xff\xff\x2c\x00\xff\xff\x30\x00\xff\xff\x30\x00\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x38\x00\xff\xff\x38\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x19\x00\x1a\x00\x19\x00\x1a\x00\xff\xff\xff\xff\x10\x00\x11\x00\x21\x00\x4e\x00\x4f\x00\x50\x00\x16\x00\xff\xff\x18\x00\x54\x00\x55\x00\x1b\x00\x2b\x00\x2c\x00\xff\xff\x2c\x00\xff\xff\x30\x00\xff\xff\x30\x00\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x38\x00\xff\xff\x38\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x19\x00\x1a\x00\xff\xff\xff\xff\xff\xff\x10\x00\x11\x00\x19\x00\x4e\x00\x4f\x00\x50\x00\x16\x00\xff\xff\x18\x00\x54\x00\x55\x00\x1b\x00\xff\xff\xff\xff\x2c\x00\xff\xff\x27\x00\xff\xff\x30\x00\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x30\x00\x38\x00\x32\x00\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x19\x00\x1a\x00\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\x19\x00\x4e\x00\x4f\x00\x50\x00\x16\x00\xff\xff\x18\x00\x54\x00\x55\x00\x1b\x00\xff\xff\xff\xff\x2c\x00\xff\xff\x27\x00\xff\xff\x30\x00\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x30\x00\x38\x00\x32\x00\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x19\x00\x1a\x00\x19\x00\x1a\x00\xff\xff\xff\xff\x10\x00\xff\xff\x21\x00\x4e\x00\x4f\x00\x50\x00\x16\x00\xff\xff\x18\x00\x54\x00\x55\x00\x1b\x00\x2b\x00\x2c\x00\xff\xff\x2c\x00\xff\xff\x30\x00\xff\xff\x30\x00\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x38\x00\xff\xff\x38\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x16\x00\xff\xff\x18\x00\x54\x00\x55\x00\x1b\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\x02\x00\x03\x00\xff\xff\xff\xff\x25\x00\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x11\x00\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x16\x00\x1d\x00\x18\x00\xff\xff\xff\xff\x1b\x00\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x2e\x00\x4e\x00\x4f\x00\x50\x00\xff\xff\xff\xff\xff\xff\x54\x00\x55\x00\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\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\xff\xff\x4e\x00\x4f\x00\x50\x00\xff\xff\xff\xff\xff\xff\x54\x00\x55\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\x1d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x23\x00\x0c\x00\x25\x00\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\xff\xff\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\xff\xff\x27\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x25\x00\x35\x00\xff\xff\xff\xff\x38\x00\x39\x00\xff\xff\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x01\x00\xff\xff\x13\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x19\x00\x1a\x00\xff\xff\x1d\x00\xff\xff\x0f\x00\x10\x00\xff\xff\x22\x00\x23\x00\xff\xff\x4f\x00\x50\x00\x27\x00\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\x2c\x00\x2e\x00\xff\xff\xff\xff\x30\x00\xff\xff\xff\xff\x0c\x00\x25\x00\xff\xff\x0f\x00\x10\x00\x38\x00\x12\x00\xff\xff\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\xff\xff\xff\xff\x19\x00\x1a\x00\xff\xff\xff\xff\x10\x00\xff\xff\xff\xff\xff\xff\x21\x00\x4f\x00\x50\x00\xff\xff\x18\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x2b\x00\x2c\x00\xff\xff\xff\xff\xff\xff\x30\x00\xff\xff\x25\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x0c\x00\xff\xff\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\xff\xff\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\xff\xff\xff\xff\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\xff\xff\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x0c\x00\xff\xff\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\xff\xff\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x0c\x00\xff\xff\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\xff\xff\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x0c\x00\xff\xff\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\xff\xff\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x0c\x00\xff\xff\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\xff\xff\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x0c\x00\xff\xff\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\xff\xff\x14\x00\x02\x00\x03\x00\xff\xff\xff\xff\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\xff\xff\x0e\x00\xff\xff\xff\xff\xff\xff\x1d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x23\x00\x19\x00\xff\xff\x1b\x00\x27\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x0e\x00\x2e\x00\xff\xff\x25\x00\x26\x00\x27\x00\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\xff\xff\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\xff\xff\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x30\x00\xff\xff\x32\x00\x33\x00\xff\xff\x35\x00\x36\x00\x37\x00\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x30\x00\xff\xff\x32\x00\x33\x00\xff\xff\x35\x00\x36\x00\x37\x00\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x30\x00\xff\xff\x32\x00\x33\x00\xff\xff\x35\x00\x36\x00\x37\x00\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\xff\xff\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\xff\xff\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\xff\xff\x35\x00\xff\xff\x30\x00\x38\x00\x32\x00\x33\x00\x27\x00\x35\x00\x19\x00\x1a\x00\x38\x00\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x21\x00\x32\x00\x33\x00\x19\x00\x35\x00\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x2b\x00\x2c\x00\xff\xff\xff\xff\xff\xff\x30\x00\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\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"#++happyTable :: HappyAddr+happyTable = HappyA# "\x00\x00\xb6\x00\x24\x00\x12\x02\x10\x01\xb5\x00\xb6\x00\x69\x01\xb5\x00\xb6\x00\xda\xff\x4b\x01\xe8\x00\x53\x00\x11\xff\xe8\x00\x90\x00\x54\x00\x32\x01\x32\x01\xfc\xff\x1b\x01\x78\x00\x79\x00\x36\x01\x6f\x02\x48\x02\x2b\x02\x24\x00\x32\x01\xda\xff\xda\xff\xb7\x00\x45\x01\x1c\x01\xb7\x00\xf7\x01\xb8\x00\xb9\x00\x53\x00\xb8\x00\xb9\x00\xba\x00\x54\x00\xdf\x00\xba\x00\x6a\x02\xae\x00\x7a\x00\xbb\x00\xbb\x01\xfa\x01\xbb\x00\x7b\x00\x77\x00\x59\x00\xea\x00\x59\x02\x33\x01\xea\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x35\x01\x6a\x01\x6b\x01\xda\xff\x78\x00\x79\x00\x13\x01\x14\x01\x5d\x00\x4b\x02\x58\x02\xf9\x01\x4a\x01\x81\x01\x5e\x00\x73\xff\x4b\x01\x5f\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x95\x00\xb5\x00\xb6\x00\xfb\x00\x7a\x00\x6c\x01\x6d\x01\x6e\x01\x5d\x00\x7b\x00\xb5\x00\xb6\x00\x1c\x02\x6d\x02\x5e\x00\x96\x00\xe8\x00\x5f\x00\x60\x00\x6e\x02\xbb\x00\x15\x01\x61\x00\x4c\x01\x62\x00\x63\x00\x64\x00\xfc\xff\xb7\x00\x11\xff\x4d\x01\xe9\x00\xff\xff\xb8\x00\xb9\x00\x61\x02\x28\x01\xb7\x00\xba\x00\x6c\x02\xb5\x00\xb6\x00\xb8\x00\xb9\x00\x60\x00\xbb\x00\x24\x02\xba\x00\x61\x00\xa0\xff\x62\x00\x63\x00\x64\x00\xfc\xff\xbb\x00\xa0\xff\xa0\xff\xa0\xff\xa0\xff\xc9\x00\xea\x00\xa0\xff\xb2\x00\xa0\xff\xc9\x00\xeb\x01\xf3\x00\xb7\x00\x2b\x01\x2c\x01\xb2\x01\xf7\x01\xb8\x00\xb9\x00\xb5\x00\xb6\x00\xa0\xff\xba\x00\xe0\x01\x66\x01\x67\x01\x24\x00\xc9\x00\x9f\xff\xbb\x00\xa0\xff\x60\x02\xdd\x01\xca\x00\x9f\xff\x9f\xff\x9f\xff\x9f\xff\xe8\x00\x62\x02\x9f\xff\x54\x00\x9f\xff\x8d\xff\x42\x02\xb3\x00\xb7\x00\xe8\x00\xb5\x00\xb6\x00\xb2\x00\xb8\x00\xb9\x00\x6e\xff\x15\x01\x9f\xff\xba\x00\x13\xff\xf8\x01\xf9\x01\xb2\x00\x24\x00\x9d\x01\xbb\x00\x9f\xff\xa0\xff\xa0\xff\xde\x01\x0f\x01\xe8\x00\xa0\xff\xa0\xff\x53\x00\xa0\xff\x6e\xff\xb7\x00\x54\x00\x9e\x01\xb2\x00\xfc\xff\xb8\x00\xb9\x00\xea\x00\x65\x02\x9f\x01\xba\x00\x1c\x02\xae\x00\xb3\x00\xb2\x00\xaf\x00\xea\x00\xbb\x00\x5d\x02\xb2\x00\xa0\xff\xa0\xff\xa0\xff\x64\x02\x9f\xff\x9f\xff\xb5\x00\xb6\x00\xa0\xff\x9f\xff\x9f\xff\x9f\x01\x9f\xff\xb2\x00\xb2\x00\x17\xff\x1c\x02\x66\x02\xea\x00\xb2\x00\xb2\x00\x44\x02\xb2\x00\x1d\x02\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x47\x02\xb7\x00\x9f\xff\x9f\xff\x9f\xff\xb3\x00\xb8\x00\xb9\x00\x5d\x00\x85\x00\x9f\xff\xba\x00\x24\x00\xa1\x01\x5e\x00\x19\x00\x73\xff\x5f\x00\xbb\x00\x25\x02\xb3\x00\x36\x01\xb5\x00\xb6\x00\xb2\x00\x80\x01\x8f\x01\x54\x00\x91\x01\x1d\x00\x37\x01\x16\xff\x4a\x02\x70\x01\xb2\x00\x1f\x02\xb5\x00\xb6\x00\x1e\x00\x13\xff\x86\x00\x20\x00\xfb\x00\x21\x00\x60\x00\x14\xff\x22\x00\x41\x02\x61\x00\xb7\x00\x62\x00\x63\x00\x64\x00\xb2\x00\xb8\x00\xb9\x00\xb5\x00\xb6\x00\xb2\x00\xba\x00\xb2\x00\x87\x00\x93\x01\xb7\x00\x7d\x01\x12\xff\xbb\x00\x43\x02\xb8\x00\xb9\x00\xb5\x00\xb6\x00\x95\x01\xba\x00\x91\x00\xbb\x00\x5b\x02\xb2\x00\xb2\x00\x0d\xff\xbb\x00\xe8\x01\x67\x01\xb7\x00\x3b\x01\xb5\x00\xb6\x00\xb2\x00\xb8\x00\xb9\x00\x0f\x02\xb3\x00\x17\xff\xba\x00\x0c\xff\x10\x02\xaa\x01\xb7\x00\xad\x01\x46\x02\xbb\x00\xb2\x00\xb8\x00\xb9\x00\xb5\x00\xb6\x00\xb2\x00\xba\x00\xdf\x00\xea\x00\x4f\x02\x73\xff\xb7\x00\x0a\xff\xbb\x00\xae\x01\xaf\x01\xb8\x00\xb9\x00\xb5\x00\xb6\x00\xb2\x00\xba\x00\xb2\x00\xb2\x00\xb0\x01\xb2\x00\x29\x02\x09\xff\xbb\x00\xea\x00\xb7\x00\x53\x02\xb5\x00\xb6\x00\xb2\x00\xb8\x00\xb9\x00\x04\x02\xb1\x01\x16\xff\xba\x00\x08\xff\x50\x02\xb3\x00\x90\x00\xb7\x00\xeb\x00\xbb\x00\xb5\x00\xb6\x00\xb8\x00\xb9\x00\x55\x02\x14\xff\x91\x00\xba\x00\x08\x02\x07\xff\xb3\x00\xb7\x00\xff\x00\x01\x01\xbb\x00\xb3\x00\xb8\x00\xb9\x00\x3a\x01\xeb\x00\x38\x02\xba\x00\x68\x02\xc0\x01\xb3\x00\x12\xff\x3b\x01\xb7\x00\xbb\x00\xf2\x01\x2e\x01\x15\x02\xb8\x00\xb9\x00\xb5\x00\xb6\x00\x52\x02\xba\x00\x12\x02\x0d\xff\x68\xff\xb6\x00\x74\x00\xd2\xff\xbb\x00\x24\x00\x4a\x00\xe9\x01\x67\x01\x68\xff\x68\xff\x68\xff\x69\x01\x4c\x00\x0c\xff\x68\xff\x53\x00\x68\xff\x68\xff\x13\x02\x54\x00\xb7\x00\x17\x02\xb5\x00\xb6\x00\x19\x02\xb8\x00\xb9\x00\x1a\x02\x75\x00\x68\xff\xba\x00\x34\x02\x0a\xff\x76\x00\x77\x00\x68\xff\x68\xff\xbb\x00\x38\x02\x19\x00\x39\x02\xd0\x00\x35\x02\x68\xff\x68\xff\x36\x02\x68\xff\x09\xff\x70\x01\xb7\x00\x71\x01\x1b\x00\x1c\x00\x1d\x00\xb8\x00\xb9\x00\x65\x01\x66\x01\x67\x01\xba\x00\x68\xff\x08\xff\x1e\x00\x15\x02\x1f\x00\x20\x00\xbb\x00\x21\x00\x16\x02\x68\xff\x22\x00\xdf\x00\x37\x02\x6a\x01\x6b\x01\xbe\x01\xe1\x00\x07\xff\x4a\x00\x68\xff\x68\xff\xb3\x01\xdf\x00\x0e\x01\x0f\x01\x4c\x00\xe0\x00\xe1\x00\x88\x01\xb5\x00\xb6\x00\x24\x00\xb4\x01\x89\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x8a\x00\x78\x00\xa8\x00\x6c\x01\x6d\x01\x6e\x01\x2d\x00\x0c\x01\xb5\x01\x68\xff\x68\xff\x68\xff\x2e\x00\x15\x02\x2f\x00\xb6\x01\xb7\x00\x30\x00\x22\x02\xc5\x01\xc2\x01\xb8\x00\xb9\x00\xb7\x01\xaa\x00\xc3\x01\xba\x00\x32\x00\x4a\x00\xb8\x01\x33\x00\xb9\x01\x7b\x00\xbb\x00\x3e\x01\x4c\x00\x2d\x01\x2e\x01\x3b\x02\x3c\x02\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\xba\x01\xda\x01\x24\x00\xa3\x00\xc9\x01\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\xc6\x01\x6a\x01\x6b\x01\xc7\x01\x2b\x00\x2c\x00\x2d\x00\x30\x01\x31\x01\x3d\x00\x3e\x00\x3f\x00\x2e\x00\xcb\x01\x2f\x00\x40\x00\x41\x00\x30\x00\xcd\x01\xa4\x00\xce\x01\xcf\x01\x8b\x00\x72\x00\xa5\x00\xa6\x00\xd0\x01\x32\x00\xa7\x00\xd1\x01\x33\x00\x6c\x01\x6d\x01\x6e\x01\xe2\x00\xa8\x00\xa8\x00\xd2\x01\xe3\x00\xe1\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\xd3\x01\xd4\x01\xd6\x01\xd9\x01\xfd\x01\xe4\x00\xea\x01\xec\x01\xee\x01\xaa\x00\xe5\x00\xf3\x01\xf4\x01\xfb\x01\x3f\x01\x42\x01\x56\x01\x7b\x00\x3c\x00\x57\x01\x3d\x00\x3e\x00\x3f\x00\x5b\x01\x5c\x01\x6e\x01\x40\x00\x41\x00\x42\x00\x24\x00\x74\x00\x43\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x76\x01\x82\x01\x83\x01\x84\x01\x2b\x00\x2c\x00\x2d\x00\x86\x01\x19\x00\x8e\x01\x89\x01\x90\x01\x2e\x00\x92\x01\x2f\x00\x94\x01\x96\x01\x30\x00\xa7\x01\xa4\x00\x1b\x00\x1c\x00\x1d\x00\xa8\x01\x76\x00\x77\x00\xac\x01\x32\x00\xb5\x00\xb6\x00\x33\x00\x1e\x00\xcf\x00\x1f\x00\x20\x00\x8a\x01\x21\x00\xd5\x00\xd8\x00\x22\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\xdb\x00\xdd\x00\x00\x01\xfe\x00\x02\x01\x03\x01\x09\x01\xb7\x00\x0d\x01\x8b\x01\x0a\x01\x11\x01\xb8\x00\xb9\x00\xb5\x00\xb6\x00\xff\x00\xba\x00\x3c\x00\x23\x01\x3d\x00\x3e\x00\x3f\x00\x06\x02\xbb\x00\x24\x01\x40\x00\x41\x00\x42\x00\x24\x00\x27\x01\x43\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x28\x01\x24\x00\x29\x01\xb7\x00\x2b\x00\x2c\x00\x2d\x00\x31\x01\xb8\x00\xb9\x00\x4f\x01\x50\x01\x2e\x00\xba\x00\x2f\x00\x3c\x01\x54\x00\x30\x00\x34\x01\x31\x00\xbb\x00\xb5\x00\xb6\x00\xb5\x00\xb6\x00\x72\x00\x6b\x00\x32\x00\x6c\x00\x70\x00\x33\x00\x8b\x00\x51\x01\x93\x00\x96\x00\x97\x00\x47\xff\x99\x00\x5a\x01\xc5\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\xb7\x00\xb0\x00\xb7\x00\xbb\x00\xc2\x00\xb8\x00\xb9\x00\xb8\x00\xb9\x00\x5b\x01\xba\x00\x5b\x01\xba\x00\xc8\x00\xb5\x00\xb6\x00\x04\x00\xbb\x00\x3c\x00\xbb\x00\x3d\x00\x3e\x00\x3f\x00\x71\x02\x5d\x02\x5f\x02\x40\x00\x41\x00\x42\x00\x24\x00\xe0\x01\x43\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x60\x02\x68\x02\xea\x00\xb7\x00\x2b\x00\x2c\x00\x2d\x00\x40\x02\xb8\x00\xb9\x00\x41\x02\x00\x00\x2e\x00\xba\x00\x2f\x00\x4a\x02\x4e\x02\x30\x00\x51\x02\x31\x00\xbb\x00\xf5\x00\xb6\x00\xb5\x00\xb6\x00\x52\x02\x55\x02\x32\x00\x5b\x02\x04\x02\x33\x00\x07\x02\xe2\x01\x08\x02\x0a\x02\x0b\x02\xf6\x00\x15\x02\x1f\x02\xc7\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\xf7\x00\x1c\x02\xb7\x00\x21\x02\x22\x02\xf8\x00\xf9\x00\xb8\x00\xb9\x00\xfa\x00\xba\x00\x27\x02\xba\x00\x2c\x02\x2d\x02\x2e\x02\x2f\x02\xfb\x00\x3c\x00\xbb\x00\x3d\x00\x3e\x00\x3f\x00\x30\x02\x3d\x02\xc2\x01\x40\x00\x41\x00\x42\x00\x24\x00\xbe\x01\x43\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\xea\x00\xcb\x01\xcd\x01\xdf\x00\x2b\x00\x2c\x00\x2d\x00\xe3\x01\x19\x00\xe4\x01\xd4\x00\xd9\x01\x2e\x00\xe6\x01\x2f\x00\xe7\x01\xe8\x01\x30\x00\xf7\x01\x31\x00\x1b\x00\x1c\x00\x1d\x00\x01\x02\x02\x02\x00\x02\x42\x01\x32\x00\xb5\x00\xb6\x00\x33\x00\x1e\x00\x41\x01\x1f\x00\x20\x00\x45\x01\x21\x00\x47\x01\x49\x01\x22\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x48\x01\x4a\x01\x53\x01\xd8\x01\x52\x01\x59\x01\x5e\x01\xb7\x00\x5f\x01\x8c\x01\x70\x01\x60\x01\xb8\x00\xb9\x00\x61\x01\x62\x01\x73\x01\xba\x00\x3c\x00\x8d\x00\x3d\x00\x3e\x00\x3f\x00\x65\x01\xbb\x00\x79\x01\x40\x00\x41\x00\x42\x00\x24\x00\x7a\x01\x09\x01\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x80\x01\x78\x01\x88\x01\x98\x01\x2b\x00\x2c\x00\x2d\x00\xa4\x01\x19\x00\x9c\x01\xd7\x00\xa0\x01\x2e\x00\x7d\x01\x2f\x00\xa2\x01\xa3\x01\x30\x00\xa6\x01\x31\x00\x1b\x00\x1c\x00\x1d\x00\xb5\x00\xb6\x00\x00\x00\xcd\x00\x32\x00\xd7\x00\xda\x00\x33\x00\x1e\x00\xf1\x01\x1f\x00\x20\x00\xdf\x00\x21\x00\xc4\xff\xdd\x00\x22\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\xc5\xff\xf2\x00\xb7\x00\x00\x00\xdf\x00\xdf\x00\x16\x01\xb8\x00\xb9\x00\x8d\x01\x0d\x01\x65\x00\xba\x00\x1d\x01\x2d\x01\x39\x01\x66\x00\x3a\x01\x3c\x00\xbb\x00\x3d\x00\x3e\x00\x3f\x00\x68\x00\x69\x00\x6e\x00\x40\x00\x41\x00\x42\x00\x24\x00\x6a\x00\x43\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x6b\x00\x6f\x00\x70\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x72\x00\x19\x00\x81\x00\xec\x00\x82\x00\x2e\x00\x83\x00\x2f\x00\x84\x00\x85\x00\x30\x00\x8d\x00\x31\x00\x1b\x00\x1c\x00\x1d\x00\xb5\x00\xb6\x00\x8e\x00\xb2\x00\x32\x00\x00\x00\xff\xff\x33\x00\x1e\x00\xf2\x01\x1f\x00\x20\x00\xff\xff\x21\x00\x00\x00\x00\x00\x22\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\xb7\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8\x00\xb9\x00\xed\x00\x00\x00\x00\x00\xba\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x00\xbb\x00\x3d\x00\x3e\x00\x3f\x00\x00\x00\x00\x00\x00\x00\x40\x00\x41\x00\x42\x00\x24\x00\x00\x00\x09\x01\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x00\x00\x19\x00\x00\x00\xee\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x00\x00\x30\x00\x00\x00\x31\x00\x1b\x00\x1c\x00\x1d\x00\xb5\x00\xb6\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x1e\x00\x03\x02\x1f\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x22\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\xb7\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8\x00\xb9\x00\xef\x00\x00\x00\x00\x00\xba\x00\x00\x00\xb5\x00\xb6\x00\x00\x00\x00\x00\x3c\x00\xbb\x00\x3d\x00\x3e\x00\x3f\x00\x00\x00\x00\x00\x00\x00\x40\x00\x41\x00\x42\x00\x24\x00\xf0\x01\x43\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\xb7\x00\x2b\x00\x2c\x00\x2d\x00\x00\x00\xb8\x00\xb9\x00\x00\x00\x00\x00\x2e\x00\xba\x00\x2f\x00\x00\x00\x00\x00\x30\x00\x00\x00\x31\x00\xbb\x00\xb5\x00\xb6\x00\xb5\x00\xb6\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8a\xff\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\xb7\x00\x00\x00\xb7\x00\x00\x00\x00\x00\xb8\x00\xb9\x00\xb8\x00\xb9\x00\x00\x00\xba\x00\x00\x00\xba\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbb\x00\x3c\x00\xbb\x00\x3d\x00\x3e\x00\x3f\x00\x00\x00\x00\x00\x00\x00\x40\x00\x41\x00\x42\x00\x24\x00\x00\x00\x09\x01\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x18\x02\x00\x00\x2b\x00\x2c\x00\x2d\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x00\x00\x30\x00\x00\x00\x31\x00\x00\x00\x00\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x1e\x00\x00\x00\x86\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x22\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x19\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x3c\x00\x72\x02\x3d\x00\x3e\x00\x3f\x00\x00\x00\x2d\x00\x1d\x00\x40\x00\x41\x00\x42\x00\x00\x00\x2e\x00\x43\x00\x2f\x00\x00\x00\x1e\x00\x30\x00\x0b\x02\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x22\x00\x0c\x02\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0d\x02\x00\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x6a\x02\x63\x01\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x19\x00\x3d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x2f\x00\x40\x00\x41\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x1e\x00\x00\x00\x86\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x22\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x64\x02\x1d\x01\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x19\x00\x3d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x2f\x00\x40\x00\x41\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x1e\x00\x00\x00\x86\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x22\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x0f\x02\x78\x00\xa8\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x19\x00\x3d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x2f\x00\x40\x00\x41\x00\x30\x00\x00\x00\x00\x00\x3e\x02\x00\x00\x1d\x00\x00\x00\xaa\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x1e\x00\x7b\x00\xa9\x01\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x22\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x24\x00\x00\x00\x89\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x78\x00\xa8\x00\x78\x00\xa8\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x16\x01\x3d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x2f\x00\x40\x00\x41\x00\x30\x00\x4c\x02\x18\x01\x00\x00\x3d\x02\x00\x00\xaa\x00\x00\x00\xaa\x00\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x7b\x00\x00\x00\x7b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x28\x02\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x19\x00\x3d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x2f\x00\x40\x00\x41\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x1e\x00\x00\x00\xa9\x01\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x22\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x78\x00\xa8\x00\x78\x00\xa8\x00\x00\x00\x00\x00\x2d\x00\x31\x02\x16\x01\x3d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x2f\x00\x40\x00\x41\x00\x30\x00\x56\x02\x18\x01\x00\x00\xc4\x01\x00\x00\xaa\x00\x00\x00\xaa\x00\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x7b\x00\x00\x00\x7b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x78\x00\xa8\x00\x78\x00\xa8\x00\x00\x00\x00\x00\x2d\x00\x32\x02\x16\x01\x3d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x2f\x00\x40\x00\x41\x00\x30\x00\xbc\x01\x18\x01\x00\x00\xd5\x01\x00\x00\xaa\x00\x00\x00\xaa\x00\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x7b\x00\x00\x00\x7b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x78\x00\xa8\x00\x78\x00\xa8\x00\x00\x00\x00\x00\x2d\x00\x33\x02\x16\x01\x3d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x2f\x00\x40\x00\x41\x00\x30\x00\xbc\x01\xbf\x01\x00\x00\xe4\x01\x00\x00\xaa\x00\x00\x00\xaa\x00\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x7b\x00\x00\x00\x7b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x78\x00\xa8\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x34\x02\x19\x00\x3d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x2f\x00\x40\x00\x41\x00\x30\x00\x00\x00\x00\x00\x98\x01\x00\x00\x1d\x00\x00\x00\xaa\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x1e\x00\x7b\x00\xc8\x01\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x22\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x24\x00\x00\x00\x89\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x78\x00\xa8\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x19\x00\x3d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x2f\x00\x40\x00\x41\x00\x30\x00\x00\x00\x00\x00\x99\x01\x00\x00\x1d\x00\x00\x00\xaa\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x1e\x00\x7b\x00\xa9\x01\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x22\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x78\x00\xa8\x00\x78\x00\xa8\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x16\x01\x3d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x2f\x00\x40\x00\x41\x00\x30\x00\xf5\x01\x18\x01\x00\x00\xa4\x01\x00\x00\xaa\x00\x00\x00\xaa\x00\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x7b\x00\x00\x00\x7b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x00\x00\x3d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x2f\x00\x40\x00\x41\x00\x30\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\xb5\x00\xb6\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x01\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\xb7\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8\x00\xb9\x00\x00\x00\x00\x00\x00\x00\xba\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbb\x00\x3d\x00\x3e\x00\x3f\x00\x00\x00\x00\x00\x00\x00\x40\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x74\x00\x00\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac\x00\xad\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x43\x01\x44\x00\x45\x00\x46\x00\x00\x00\x75\x00\x00\x00\x00\x00\x00\x00\x00\x00\x76\x00\x77\x00\x47\x00\x7e\x00\x00\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\xae\x00\x24\x00\x00\x00\x1a\x01\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac\x00\xad\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x00\x80\x00\x00\x00\x1d\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x00\x00\x0b\x02\x20\x00\x7e\x00\x21\x00\x00\x00\x00\x00\x22\x00\x57\x02\x00\x00\xb5\x00\xb6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\xae\x00\x24\x00\x00\x00\xee\x01\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x78\x00\xa8\x00\x00\x00\xb7\x00\x00\x00\xac\x00\xad\x00\x00\x00\xb8\x00\xb9\x00\x00\x00\x7f\x00\x80\x00\xba\x00\x1e\x01\x44\x00\x45\x00\x46\x00\x00\x00\xa9\x00\xbb\x00\x00\x00\x00\x00\xaa\x00\x00\x00\x00\x00\x47\x00\x7e\x00\x00\x00\x48\x00\x49\x00\x7b\x00\x4a\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\xae\x00\x24\x00\x00\x00\x00\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x00\x00\x00\x00\x78\x00\xa8\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x16\x01\x7f\x00\x80\x00\x00\x00\x2f\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xfc\x01\x18\x01\x00\x00\x00\x00\x00\x00\xaa\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x00\x00\x1f\x01\x44\x00\x45\x00\x46\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x47\x00\x00\x00\x00\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x20\x01\x44\x00\x45\x00\x46\x00\x00\x00\x00\x00\x00\x00\x7f\x00\x80\x00\x00\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x21\x01\x44\x00\x45\x00\x46\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x47\x00\x00\x00\x00\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x22\x01\x44\x00\x45\x00\x46\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x47\x00\x00\x00\x00\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x8e\x00\x44\x00\x45\x00\x46\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x47\x00\x00\x00\x00\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x8f\x00\x44\x00\x45\x00\x46\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x47\x00\x00\x00\x00\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x47\x00\x00\x00\x00\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\xb5\x00\xb6\x00\x00\x00\x00\x00\x4c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfd\x00\x00\x00\x72\x00\x00\x00\x00\x00\x00\x00\xb7\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8\x00\xb9\x00\x9e\x00\x00\x00\x9f\x00\xba\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x72\x00\xbb\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x25\x01\x1e\x00\x00\x00\x1f\x00\x20\x00\xa1\x00\x21\x00\x00\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x01\x00\x00\x05\x01\x1e\x00\x00\x00\x1f\x00\x20\x00\x26\x01\x21\x00\x00\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x01\x00\x00\x05\x01\x1e\x00\x00\x00\x1f\x00\x20\x00\x00\x00\x21\x00\x6b\x02\x07\x01\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x01\x00\x00\x05\x01\x1e\x00\x00\x00\x1f\x00\x20\x00\x00\x00\x21\x00\x7e\x01\x07\x01\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x89\x01\x1e\x00\x00\x00\x1f\x00\x20\x00\x00\x00\x21\x00\x06\x01\x07\x01\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x45\x02\x1e\x00\x00\x00\x1f\x00\x20\x00\x8a\x01\x21\x00\x00\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x24\x02\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x28\x02\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xdb\x01\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xdd\x01\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xfe\x01\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x3e\x01\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x53\x01\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x54\x01\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x55\x01\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x62\x01\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x73\x01\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x74\x01\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x75\x01\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x7a\x01\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x7b\x01\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x85\x01\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xd2\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xd3\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xa6\x01\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xab\x01\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xcd\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xce\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xd0\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xd1\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xd2\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xd3\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xd4\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xd7\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xe6\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x9a\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xf0\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xf2\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x66\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x92\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x98\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x9a\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x9c\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x9d\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xbc\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xbd\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xbe\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xbf\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xc0\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xc1\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xc3\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xc5\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xc7\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xcb\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x1a\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x00\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x00\x00\x21\x00\x00\x00\x1e\x00\x22\x00\xa9\x01\x20\x00\x1d\x00\x21\x00\x78\x00\xa8\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x16\x01\xda\x00\x20\x00\x19\x00\x21\x00\x00\x00\x00\x00\x22\x00\x00\x00\x00\x00\x17\x01\x18\x01\x00\x00\x00\x00\x00\x00\xaa\x00\x00\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x00\x00\x1e\x00\x00\x00\x9b\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#++happyReduceArr = Happy_Data_Array.array (3, 257) [+ (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),+ (167 , happyReduce_167),+ (168 , happyReduce_168),+ (169 , happyReduce_169),+ (170 , happyReduce_170),+ (171 , happyReduce_171),+ (172 , happyReduce_172),+ (173 , happyReduce_173),+ (174 , happyReduce_174),+ (175 , happyReduce_175),+ (176 , happyReduce_176),+ (177 , happyReduce_177),+ (178 , happyReduce_178),+ (179 , happyReduce_179),+ (180 , happyReduce_180),+ (181 , happyReduce_181),+ (182 , happyReduce_182),+ (183 , happyReduce_183),+ (184 , happyReduce_184),+ (185 , happyReduce_185),+ (186 , happyReduce_186),+ (187 , happyReduce_187),+ (188 , happyReduce_188),+ (189 , happyReduce_189),+ (190 , happyReduce_190),+ (191 , happyReduce_191),+ (192 , happyReduce_192),+ (193 , happyReduce_193),+ (194 , happyReduce_194),+ (195 , happyReduce_195),+ (196 , happyReduce_196),+ (197 , happyReduce_197),+ (198 , happyReduce_198),+ (199 , happyReduce_199),+ (200 , happyReduce_200),+ (201 , happyReduce_201),+ (202 , happyReduce_202),+ (203 , happyReduce_203),+ (204 , happyReduce_204),+ (205 , happyReduce_205),+ (206 , happyReduce_206),+ (207 , happyReduce_207),+ (208 , happyReduce_208),+ (209 , happyReduce_209),+ (210 , happyReduce_210),+ (211 , happyReduce_211),+ (212 , happyReduce_212),+ (213 , happyReduce_213),+ (214 , happyReduce_214),+ (215 , happyReduce_215),+ (216 , happyReduce_216),+ (217 , happyReduce_217),+ (218 , happyReduce_218),+ (219 , happyReduce_219),+ (220 , happyReduce_220),+ (221 , happyReduce_221),+ (222 , happyReduce_222),+ (223 , happyReduce_223),+ (224 , happyReduce_224),+ (225 , happyReduce_225),+ (226 , happyReduce_226),+ (227 , happyReduce_227),+ (228 , happyReduce_228),+ (229 , happyReduce_229),+ (230 , happyReduce_230),+ (231 , happyReduce_231),+ (232 , happyReduce_232),+ (233 , happyReduce_233),+ (234 , happyReduce_234),+ (235 , happyReduce_235),+ (236 , happyReduce_236),+ (237 , happyReduce_237),+ (238 , happyReduce_238),+ (239 , happyReduce_239),+ (240 , happyReduce_240),+ (241 , happyReduce_241),+ (242 , happyReduce_242),+ (243 , happyReduce_243),+ (244 , happyReduce_244),+ (245 , happyReduce_245),+ (246 , happyReduce_246),+ (247 , happyReduce_247),+ (248 , happyReduce_248),+ (249 , happyReduce_249),+ (250 , happyReduce_250),+ (251 , happyReduce_251),+ (252 , happyReduce_252),+ (253 , happyReduce_253),+ (254 , happyReduce_254),+ (255 , happyReduce_255),+ (256 , happyReduce_256),+ (257 , happyReduce_257)+ ]++happy_n_terms = 121 :: Int+happy_n_nonterms = 76 :: Int++happyReduce_3 = happySpecReduce_0 0# happyReduction_3+happyReduction_3 = happyIn6+ ([]+ )++happyReduce_4 = happySpecReduce_2 0# happyReduction_4+happyReduction_4 happy_x_2+ happy_x_1+ = case happyOut7 happy_x_1 of { happy_var_1 -> + case happyOut6 happy_x_2 of { happy_var_2 -> + happyIn6+ (happy_var_1:happy_var_2+ )}}++happyReduce_5 = happySpecReduce_2 0# happyReduction_5+happyReduction_5 happy_x_2+ happy_x_1+ = case happyOut18 happy_x_1 of { happy_var_1 -> + case happyOut6 happy_x_2 of { happy_var_2 -> + happyIn6+ (map RealDecl happy_var_1 ++ happy_var_2+ )}}++happyReduce_6 = happyReduce 4# 0# happyReduction_6+happyReduction_6 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOutTok happy_x_2 of { (TokenString happy_var_2) -> + case happyOut6 happy_x_4 of { happy_var_4 -> + happyIn6+ (RealDecl (PInclude happy_var_2) : happy_var_4+ ) `HappyStk` happyRest}}++happyReduce_7 = happySpecReduce_1 1# happyReduction_7+happyReduction_7 happy_x_1+ = case happyOut9 happy_x_1 of { happy_var_1 -> + happyIn7+ (happy_var_1+ )}++happyReduce_8 = happySpecReduce_1 1# happyReduction_8+happyReduction_8 happy_x_1+ = case happyOut26 happy_x_1 of { happy_var_1 -> + happyIn7+ (RealDecl (DataDecl happy_var_1)+ )}++happyReduce_9 = happySpecReduce_1 1# happyReduction_9+happyReduction_9 happy_x_1+ = case happyOut22 happy_x_1 of { happy_var_1 -> + happyIn7+ (RealDecl happy_var_1+ )}++happyReduce_10 = happyReduce 5# 1# happyReduction_10+happyReduction_10 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOutTok happy_x_2 of { (TokenName happy_var_2) -> + case happyOut80 happy_x_3 of { happy_var_3 -> + case happyOut79 happy_x_4 of { happy_var_4 -> + happyIn7+ (RealDecl (Freeze happy_var_3 happy_var_4 [] happy_var_2)+ ) `HappyStk` happyRest}}}++happyReduce_11 = happyReduce 4# 1# happyReduction_11+happyReduction_11 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut65 happy_x_1 of { happy_var_1 -> + case happyOut6 happy_x_3 of { happy_var_3 -> + happyIn7+ (PUsing happy_var_1 happy_var_3+ ) `HappyStk` happyRest}}++happyReduce_12 = happyReduce 4# 1# happyReduction_12+happyReduction_12 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut66 happy_x_1 of { happy_var_1 -> + case happyOut6 happy_x_3 of { happy_var_3 -> + happyIn7+ (PDoUsing happy_var_1 happy_var_3+ ) `HappyStk` happyRest}}++happyReduce_13 = happyReduce 4# 1# happyReduction_13+happyReduction_13 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut67 happy_x_1 of { happy_var_1 -> + case happyOut6 happy_x_3 of { happy_var_3 -> + happyIn7+ (PIdiom happy_var_1 happy_var_3+ ) `HappyStk` happyRest}}++happyReduce_14 = happyReduce 4# 1# happyReduction_14+happyReduction_14 (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 happyOut6 happy_x_3 of { happy_var_3 -> + happyIn7+ (PParams happy_var_1 happy_var_3+ ) `HappyStk` happyRest}}++happyReduce_15 = happyReduce 4# 1# happyReduction_15+happyReduction_15 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut69 happy_x_1 of { happy_var_1 -> + case happyOut6 happy_x_3 of { happy_var_3 -> + happyIn7+ (PNamespace happy_var_1 happy_var_3+ ) `HappyStk` happyRest}}++happyReduce_16 = happySpecReduce_1 1# happyReduction_16+happyReduction_16 happy_x_1+ = case happyOut8 happy_x_1 of { happy_var_1 -> + happyIn7+ (RealDecl happy_var_1+ )}++happyReduce_17 = happyReduce 6# 1# happyReduction_17+happyReduction_17 (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 happyOut31 happy_x_2 of { happy_var_2 -> + case happyOut40 happy_x_3 of { happy_var_3 -> + case happyOut33 happy_x_5 of { happy_var_5 -> + happyIn7+ (RealDecl (SynDef happy_var_2 happy_var_3 happy_var_5)+ ) `HappyStk` happyRest}}}++happyReduce_18 = happySpecReduce_2 1# happyReduction_18+happyReduction_18 happy_x_2+ happy_x_1+ = case happyOutTok happy_x_2 of { (TokenString happy_var_2) -> + happyIn7+ (RealDecl (CInclude happy_var_2)+ )}++happyReduce_19 = happySpecReduce_2 1# happyReduction_19+happyReduction_19 happy_x_2+ happy_x_1+ = case happyOutTok happy_x_2 of { (TokenString happy_var_2) -> + happyIn7+ (RealDecl (CLib happy_var_2)+ )}++happyReduce_20 = happyReduce 5# 2# happyReduction_20+happyReduction_20 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut33 happy_x_2 of { happy_var_2 -> + case happyOut33 happy_x_4 of { happy_var_4 -> + happyIn8+ (Transform happy_var_2 happy_var_4+ ) `HappyStk` happyRest}}++happyReduce_21 = happyReduce 7# 3# happyReduction_21+happyReduction_21 (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 happyOut31 happy_x_1 of { happy_var_1 -> + case happyOut49 happy_x_3 of { happy_var_3 -> + case happyOut15 happy_x_4 of { happy_var_4 -> + case happyOut80 happy_x_5 of { happy_var_5 -> + case happyOut79 happy_x_6 of { happy_var_6 -> + happyIn9+ (FunType happy_var_1 happy_var_3 (nub happy_var_4) happy_var_5 happy_var_6+ ) `HappyStk` happyRest}}}}}++happyReduce_22 = happySpecReduce_3 3# happyReduction_22+happyReduction_22 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut31 happy_x_1 of { happy_var_1 -> + case happyOut77 happy_x_2 of { happy_var_2 -> + happyIn9+ (ProofScript happy_var_1 happy_var_2+ )}}++happyReduce_23 = happyReduce 9# 3# happyReduction_23+happyReduction_23 (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 happyOut24 happy_x_1 of { happy_var_1 -> + case happyOut12 happy_x_2 of { happy_var_2 -> + case happyOut11 happy_x_3 of { happy_var_3 -> + case happyOut33 happy_x_4 of { happy_var_4 -> + case happyOut14 happy_x_6 of { happy_var_6 -> + case happyOut80 happy_x_8 of { happy_var_8 -> + case happyOut79 happy_x_9 of { happy_var_9 -> + happyIn9+ (WithClause (mkDef happy_var_8 happy_var_9 happy_var_1) happy_var_2 happy_var_3 happy_var_4 happy_var_6+ ) `HappyStk` happyRest}}}}}}}++happyReduce_24 = happyReduce 10# 3# happyReduction_24+happyReduction_24 (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 happyOut24 happy_x_1 of { happy_var_1 -> + case happyOut12 happy_x_2 of { happy_var_2 -> + case happyOut33 happy_x_4 of { happy_var_4 -> + case happyOut31 happy_x_7 of { happy_var_7 -> + case happyOut80 happy_x_9 of { happy_var_9 -> + case happyOut79 happy_x_10 of { happy_var_10 -> + happyIn9+ (FunClauseP (mkDef happy_var_9 happy_var_10 happy_var_1) happy_var_2 happy_var_4 happy_var_7+ ) `HappyStk` happyRest}}}}}}++happyReduce_25 = happyReduce 8# 3# happyReduction_25+happyReduction_25 (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 happyOut24 happy_x_1 of { happy_var_1 -> + case happyOut12 happy_x_2 of { happy_var_2 -> + case happyOut33 happy_x_4 of { happy_var_4 -> + case happyOut15 happy_x_5 of { happy_var_5 -> + case happyOut80 happy_x_7 of { happy_var_7 -> + case happyOut79 happy_x_8 of { happy_var_8 -> + happyIn9+ (FunClause (mkDef happy_var_7 happy_var_8 happy_var_1) happy_var_2 happy_var_4 (nub happy_var_5)+ ) `HappyStk` happyRest}}}}}}++happyReduce_26 = happyReduce 5# 3# happyReduction_26+happyReduction_26 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut13 happy_x_2 of { happy_var_2 -> + case happyOut33 happy_x_4 of { happy_var_4 -> + happyIn9+ (FunClause RPlaceholder [happy_var_2] happy_var_4 []+ ) `HappyStk` happyRest}}++happyReduce_27 = happyReduce 8# 3# happyReduction_27+happyReduction_27 (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 happyOut13 happy_x_2 of { happy_var_2 -> + case happyOut33 happy_x_4 of { happy_var_4 -> + case happyOut31 happy_x_7 of { happy_var_7 -> + happyIn9+ (FunClauseP RPlaceholder [happy_var_2] happy_var_4 happy_var_7+ ) `HappyStk` happyRest}}}++happyReduce_28 = happyReduce 7# 3# happyReduction_28+happyReduction_28 (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 happyOut13 happy_x_2 of { happy_var_2 -> + case happyOut11 happy_x_3 of { happy_var_3 -> + case happyOut33 happy_x_4 of { happy_var_4 -> + case happyOut14 happy_x_6 of { happy_var_6 -> + happyIn9+ (WithClause RPlaceholder [happy_var_2] happy_var_3 happy_var_4 happy_var_6+ ) `HappyStk` happyRest}}}}++happyReduce_29 = happySpecReduce_1 4# happyReduction_29+happyReduction_29 happy_x_1+ = happyIn10+ (Vis Public+ )++happyReduce_30 = happySpecReduce_1 4# happyReduction_30+happyReduction_30 happy_x_1+ = happyIn10+ (Vis Private+ )++happyReduce_31 = happySpecReduce_1 4# happyReduction_31+happyReduction_31 happy_x_1+ = happyIn10+ (Vis Abstract+ )++happyReduce_32 = happySpecReduce_0 4# happyReduction_32+happyReduction_32 = happyIn10+ (Vis Public+ )++happyReduce_33 = happySpecReduce_1 5# happyReduction_33+happyReduction_33 happy_x_1+ = happyIn11+ (False+ )++happyReduce_34 = happySpecReduce_2 5# happyReduction_34+happyReduction_34 happy_x_2+ happy_x_1+ = happyIn11+ (True+ )++happyReduce_35 = happySpecReduce_3 6# happyReduction_35+happyReduction_35 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut13 happy_x_2 of { happy_var_2 -> + case happyOut12 happy_x_3 of { happy_var_3 -> + happyIn12+ (happy_var_2:happy_var_3+ )}}++happyReduce_36 = happySpecReduce_0 6# happyReduction_36+happyReduction_36 = happyIn12+ ([]+ )++happyReduce_37 = happySpecReduce_1 7# happyReduction_37+happyReduction_37 happy_x_1+ = case happyOut32 happy_x_1 of { happy_var_1 -> + happyIn13+ (happy_var_1+ )}++happyReduce_38 = happySpecReduce_1 7# happyReduction_38+happyReduction_38 happy_x_1+ = case happyOut57 happy_x_1 of { happy_var_1 -> + happyIn13+ (happy_var_1+ )}++happyReduce_39 = happySpecReduce_3 7# happyReduction_39+happyReduction_39 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut33 happy_x_2 of { happy_var_2 -> + happyIn13+ (happy_var_2+ )}++happyReduce_40 = happyReduce 5# 7# happyReduction_40+happyReduction_40 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut58 happy_x_2 of { happy_var_2 -> + case happyOut80 happy_x_4 of { happy_var_4 -> + case happyOut79 happy_x_5 of { happy_var_5 -> + happyIn13+ (pairDesugar happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "mkPair")) happy_var_2+ ) `HappyStk` happyRest}}}++happyReduce_41 = happySpecReduce_2 8# happyReduction_41+happyReduction_41 happy_x_2+ happy_x_1+ = case happyOut9 happy_x_1 of { happy_var_1 -> + case happyOut14 happy_x_2 of { happy_var_2 -> + happyIn14+ (happy_var_1:happy_var_2+ )}}++happyReduce_42 = happySpecReduce_1 8# happyReduction_42+happyReduction_42 happy_x_1+ = case happyOut9 happy_x_1 of { happy_var_1 -> + happyIn14+ ([happy_var_1]+ )}++happyReduce_43 = happySpecReduce_1 9# happyReduction_43+happyReduction_43 happy_x_1+ = case happyOut16 happy_x_1 of { happy_var_1 -> + happyIn15+ (happy_var_1+ )}++happyReduce_44 = happySpecReduce_3 9# happyReduction_44+happyReduction_44 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut16 happy_x_2 of { happy_var_2 -> + happyIn15+ (happy_var_2+ )}++happyReduce_45 = happySpecReduce_0 10# happyReduction_45+happyReduction_45 = happyIn16+ ([]+ )++happyReduce_46 = happySpecReduce_2 10# happyReduction_46+happyReduction_46 happy_x_2+ happy_x_1+ = case happyOut17 happy_x_1 of { happy_var_1 -> + case happyOut16 happy_x_2 of { happy_var_2 -> + happyIn16+ (happy_var_1 ++ happy_var_2+ )}}++happyReduce_47 = happySpecReduce_1 11# happyReduction_47+happyReduction_47 happy_x_1+ = happyIn17+ ([NoCG]+ )++happyReduce_48 = happySpecReduce_1 11# happyReduction_48+happyReduction_48 happy_x_1+ = happyIn17+ ([CGEval, Inline]+ )++happyReduce_49 = happyReduce 4# 11# happyReduction_49+happyReduction_49 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut38 happy_x_3 of { happy_var_3 -> + happyIn17+ ([CGSpec happy_var_3]+ ) `HappyStk` happyRest}++happyReduce_50 = happySpecReduce_1 11# happyReduction_50+happyReduction_50 happy_x_1+ = happyIn17+ ([CGSpec []]+ )++happyReduce_51 = happySpecReduce_1 11# happyReduction_51+happyReduction_51 happy_x_1+ = happyIn17+ ([Inline]+ )++happyReduce_52 = happySpecReduce_2 11# happyReduction_52+happyReduction_52 happy_x_2+ happy_x_1+ = case happyOutTok happy_x_2 of { (TokenString happy_var_2) -> + happyIn17+ ([CExport happy_var_2]+ )}++happyReduce_53 = happyReduce 4# 12# happyReduction_53+happyReduction_53 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut21 happy_x_1 of { happy_var_1 -> + case happyOutTok happy_x_2 of { (TokenInt happy_var_2) -> + case happyOut19 happy_x_3 of { happy_var_3 -> + happyIn18+ (map (\x -> Fixity x happy_var_1 happy_var_2) happy_var_3+ ) `HappyStk` happyRest}}}++happyReduce_54 = happySpecReduce_1 13# happyReduction_54+happyReduction_54 happy_x_1+ = case happyOut20 happy_x_1 of { happy_var_1 -> + happyIn19+ ([happy_var_1]+ )}++happyReduce_55 = happySpecReduce_3 13# happyReduction_55+happyReduction_55 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut20 happy_x_1 of { happy_var_1 -> + case happyOut19 happy_x_3 of { happy_var_3 -> + happyIn19+ (happy_var_1:happy_var_3+ )}}++happyReduce_56 = happySpecReduce_1 14# happyReduction_56+happyReduction_56 happy_x_1+ = case happyOutTok happy_x_1 of { (TokenInfixName happy_var_1) -> + happyIn20+ (happy_var_1+ )}++happyReduce_57 = happySpecReduce_1 14# happyReduction_57+happyReduction_57 happy_x_1+ = happyIn20+ ("-"+ )++happyReduce_58 = happySpecReduce_1 14# happyReduction_58+happyReduction_58 happy_x_1+ = happyIn20+ ("<"+ )++happyReduce_59 = happySpecReduce_1 14# happyReduction_59+happyReduction_59 happy_x_1+ = happyIn20+ (">"+ )++happyReduce_60 = happySpecReduce_1 15# happyReduction_60+happyReduction_60 happy_x_1+ = happyIn21+ (LeftAssoc+ )++happyReduce_61 = happySpecReduce_1 15# happyReduction_61+happyReduction_61 happy_x_1+ = happyIn21+ (RightAssoc+ )++happyReduce_62 = happySpecReduce_1 15# happyReduction_62+happyReduction_62 happy_x_1+ = happyIn21+ (NonAssoc+ )++happyReduce_63 = happyReduce 4# 16# happyReduction_63+happyReduction_63 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut23 happy_x_3 of { happy_var_3 -> + happyIn22+ (LatexDefs happy_var_3+ ) `HappyStk` happyRest}++happyReduce_64 = happySpecReduce_3 17# happyReduction_64+happyReduction_64 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut31 happy_x_1 of { happy_var_1 -> + case happyOutTok happy_x_3 of { (TokenString happy_var_3) -> + happyIn23+ ([(happy_var_1,happy_var_3)]+ )}}++happyReduce_65 = happyReduce 5# 17# happyReduction_65+happyReduction_65 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut31 happy_x_1 of { happy_var_1 -> + case happyOutTok happy_x_3 of { (TokenString happy_var_3) -> + case happyOut23 happy_x_5 of { happy_var_5 -> + happyIn23+ ((happy_var_1,happy_var_3):happy_var_5+ ) `HappyStk` happyRest}}}++happyReduce_66 = happySpecReduce_2 18# happyReduction_66+happyReduction_66 happy_x_2+ happy_x_1+ = case happyOut31 happy_x_1 of { happy_var_1 -> + case happyOut25 happy_x_2 of { happy_var_2 -> + happyIn24+ ((happy_var_1, happy_var_2)+ )}}++happyReduce_67 = happySpecReduce_0 19# happyReduction_67+happyReduction_67 = happyIn25+ ([]+ )++happyReduce_68 = happySpecReduce_2 19# happyReduction_68+happyReduction_68 happy_x_2+ happy_x_1+ = case happyOut56 happy_x_1 of { happy_var_1 -> + case happyOut25 happy_x_2 of { happy_var_2 -> + happyIn25+ ((happy_var_1,Nothing):happy_var_2+ )}}++happyReduce_69 = happyReduce 5# 19# happyReduction_69+happyReduction_69 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> + case happyOut25 happy_x_3 of { happy_var_3 -> + case happyOut80 happy_x_4 of { happy_var_4 -> + case happyOut79 happy_x_5 of { happy_var_5 -> + happyIn25+ ((RVar happy_var_4 happy_var_5 happy_var_1, Just happy_var_1):happy_var_3+ ) `HappyStk` happyRest}}}}++happyReduce_70 = happyReduce 5# 19# happyReduction_70+happyReduction_70 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> + case happyOut33 happy_x_3 of { happy_var_3 -> + case happyOut25 happy_x_5 of { happy_var_5 -> + happyIn25+ ((happy_var_3, Just happy_var_1):happy_var_5+ ) `HappyStk` happyRest}}}++happyReduce_71 = happyReduce 6# 20# happyReduction_71+happyReduction_71 (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_2 of { happy_var_2 -> + case happyOut31 happy_x_3 of { happy_var_3 -> + case happyOut27 happy_x_4 of { happy_var_4 -> + case happyOut80 happy_x_5 of { happy_var_5 -> + case happyOut79 happy_x_6 of { happy_var_6 -> + happyIn26+ (mkDatatype happy_var_5 happy_var_6 happy_var_3 happy_var_4 happy_var_2+ ) `HappyStk` happyRest}}}}}++happyReduce_72 = happySpecReduce_3 21# happyReduction_72+happyReduction_72 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut64 happy_x_1 of { happy_var_1 -> + case happyOut73 happy_x_2 of { happy_var_2 -> + happyIn27+ (Right (happy_var_1,happy_var_2)+ )}}++happyReduce_73 = happySpecReduce_3 21# happyReduction_73+happyReduction_73 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut49 happy_x_2 of { happy_var_2 -> + happyIn27+ (Left happy_var_2+ )}++happyReduce_74 = happySpecReduce_3 21# happyReduction_74+happyReduction_74 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut80 happy_x_2 of { happy_var_2 -> + case happyOut79 happy_x_3 of { happy_var_3 -> + happyIn27+ (Left (RConst happy_var_2 happy_var_3 TYPE)+ )}}++happyReduce_75 = happySpecReduce_0 22# happyReduction_75+happyReduction_75 = happyIn28+ ([]+ )++happyReduce_76 = happySpecReduce_3 22# happyReduction_76+happyReduction_76 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut29 happy_x_2 of { happy_var_2 -> + happyIn28+ (happy_var_2+ )}++happyReduce_77 = happySpecReduce_1 23# happyReduction_77+happyReduction_77 happy_x_1+ = case happyOut30 happy_x_1 of { happy_var_1 -> + happyIn29+ ([happy_var_1]+ )}++happyReduce_78 = happySpecReduce_3 23# happyReduction_78+happyReduction_78 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut30 happy_x_1 of { happy_var_1 -> + case happyOut29 happy_x_3 of { happy_var_3 -> + happyIn29+ (happy_var_1:happy_var_3+ )}}++happyReduce_79 = happySpecReduce_1 24# happyReduction_79+happyReduction_79 happy_x_1+ = happyIn30+ (NoElim+ )++happyReduce_80 = happySpecReduce_1 24# happyReduction_80+happyReduction_80 happy_x_1+ = happyIn30+ (Collapsible+ )++happyReduce_81 = happySpecReduce_1 25# happyReduction_81+happyReduction_81 happy_x_1+ = case happyOutTok happy_x_1 of { (TokenName happy_var_1) -> + happyIn31+ (happy_var_1+ )}++happyReduce_82 = happySpecReduce_3 25# happyReduction_82+happyReduction_82 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut20 happy_x_2 of { happy_var_2 -> + happyIn31+ (useropFn happy_var_2+ )}++happyReduce_83 = happyReduce 4# 26# happyReduction_83+happyReduction_83 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut32 happy_x_1 of { happy_var_1 -> + case happyOut80 happy_x_2 of { happy_var_2 -> + case happyOut79 happy_x_3 of { happy_var_3 -> + case happyOut56 happy_x_4 of { happy_var_4 -> + happyIn32+ (RApp happy_var_2 happy_var_3 happy_var_1 happy_var_4+ ) `HappyStk` happyRest}}}}++happyReduce_84 = happyReduce 5# 26# happyReduction_84+happyReduction_84 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut32 happy_x_1 of { happy_var_1 -> + case happyOut42 happy_x_2 of { happy_var_2 -> + case happyOut80 happy_x_4 of { happy_var_4 -> + case happyOut79 happy_x_5 of { happy_var_5 -> + happyIn32+ (RAppImp happy_var_4 happy_var_5 (fst happy_var_2) happy_var_1 (snd happy_var_2)+ ) `HappyStk` happyRest}}}}++happyReduce_85 = happySpecReduce_3 26# happyReduction_85+happyReduction_85 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut31 happy_x_1 of { happy_var_1 -> + case happyOut80 happy_x_2 of { happy_var_2 -> + case happyOut79 happy_x_3 of { happy_var_3 -> + happyIn32+ (RVar happy_var_2 happy_var_3 happy_var_1+ )}}}++happyReduce_86 = happySpecReduce_3 26# happyReduction_86+happyReduction_86 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut62 happy_x_1 of { happy_var_1 -> + case happyOut80 happy_x_2 of { happy_var_2 -> + case happyOut79 happy_x_3 of { happy_var_3 -> + happyIn32+ (RConst happy_var_2 happy_var_3 happy_var_1+ )}}}++happyReduce_87 = happySpecReduce_1 26# happyReduction_87+happyReduction_87 happy_x_1+ = happyIn32+ (RPlaceholder+ )++happyReduce_88 = happySpecReduce_3 26# happyReduction_88+happyReduction_88 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut80 happy_x_2 of { happy_var_2 -> + case happyOut79 happy_x_3 of { happy_var_3 -> + happyIn32+ (RVar happy_var_2 happy_var_3 (UN "__Empty")+ )}}++happyReduce_89 = happySpecReduce_3 26# happyReduction_89+happyReduction_89 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut80 happy_x_2 of { happy_var_2 -> + case happyOut79 happy_x_3 of { happy_var_3 -> + happyIn32+ (RVar happy_var_2 happy_var_3 (UN "__Unit")+ )}}++happyReduce_90 = happySpecReduce_1 27# happyReduction_90+happyReduction_90 happy_x_1+ = case happyOut56 happy_x_1 of { happy_var_1 -> + happyIn33+ (happy_var_1+ )}++happyReduce_91 = happySpecReduce_3 27# happyReduction_91+happyReduction_91 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut50 happy_x_2 of { happy_var_2 -> + happyIn33+ (happy_var_2+ )}++happyReduce_92 = happyReduce 4# 27# happyReduction_92+happyReduction_92 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut33 happy_x_1 of { happy_var_1 -> + case happyOut80 happy_x_2 of { happy_var_2 -> + case happyOut79 happy_x_3 of { happy_var_3 -> + case happyOut56 happy_x_4 of { happy_var_4 -> + happyIn33+ (RApp happy_var_2 happy_var_3 happy_var_1 happy_var_4+ ) `HappyStk` happyRest}}}}++happyReduce_93 = happyReduce 5# 27# happyReduction_93+happyReduction_93 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut33 happy_x_1 of { happy_var_1 -> + case happyOut42 happy_x_2 of { happy_var_2 -> + case happyOut80 happy_x_4 of { happy_var_4 -> + case happyOut79 happy_x_5 of { happy_var_5 -> + happyIn33+ (RAppImp happy_var_4 happy_var_5 (fst happy_var_2) happy_var_1 (snd happy_var_2)+ ) `HappyStk` happyRest}}}}++happyReduce_94 = happyReduce 4# 27# happyReduction_94+happyReduction_94 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut33 happy_x_2 of { happy_var_2 -> + case happyOut80 happy_x_3 of { happy_var_3 -> + case happyOut79 happy_x_4 of { happy_var_4 -> + happyIn33+ (RApp happy_var_3 happy_var_4 (RApp happy_var_3 happy_var_4 (RVar happy_var_3 happy_var_4 (UN "__lazy")) RPlaceholder) happy_var_2+ ) `HappyStk` happyRest}}}++happyReduce_95 = happyReduce 4# 27# happyReduction_95+happyReduction_95 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut34 happy_x_2 of { happy_var_2 -> + case happyOut33 happy_x_4 of { happy_var_4 -> + happyIn33+ (doBind Lam happy_var_2 happy_var_4+ ) `HappyStk` happyRest}}++happyReduce_96 = happyReduce 4# 27# happyReduction_96+happyReduction_96 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut41 happy_x_2 of { happy_var_2 -> + case happyOut33 happy_x_4 of { happy_var_4 -> + happyIn33+ (doLetBind happy_var_2 happy_var_4+ ) `HappyStk` happyRest}}++happyReduce_97 = happySpecReduce_1 27# happyReduction_97+happyReduction_97 happy_x_1+ = case happyOut43 happy_x_1 of { happy_var_1 -> + happyIn33+ (happy_var_1+ )}++happyReduce_98 = happyReduce 8# 27# happyReduction_98+happyReduction_98 (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 happyOut33 happy_x_2 of { happy_var_2 -> + case happyOut33 happy_x_4 of { happy_var_4 -> + case happyOut33 happy_x_6 of { happy_var_6 -> + case happyOut80 happy_x_7 of { happy_var_7 -> + case happyOut79 happy_x_8 of { happy_var_8 -> + happyIn33+ (mkApp happy_var_7 happy_var_8 (RVar happy_var_7 happy_var_8 (UN "if_then_else")) [happy_var_2,happy_var_4,happy_var_6]+ ) `HappyStk` happyRest}}}}}++happyReduce_99 = happySpecReduce_2 28# happyReduction_99+happyReduction_99 happy_x_2+ happy_x_1+ = case happyOut31 happy_x_1 of { happy_var_1 -> + case happyOut47 happy_x_2 of { happy_var_2 -> + happyIn34+ ([(happy_var_1,happy_var_2)]+ )}}++happyReduce_100 = happyReduce 4# 28# happyReduction_100+happyReduction_100 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut31 happy_x_1 of { happy_var_1 -> + case happyOut47 happy_x_2 of { happy_var_2 -> + case happyOut34 happy_x_4 of { happy_var_4 -> + happyIn34+ ((happy_var_1,happy_var_2):happy_var_4+ ) `HappyStk` happyRest}}}++happyReduce_101 = happySpecReduce_3 29# happyReduction_101+happyReduction_101 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut36 happy_x_1 of { happy_var_1 -> + case happyOut35 happy_x_3 of { happy_var_3 -> + happyIn35+ (happy_var_1 ++ happy_var_3+ )}}++happyReduce_102 = happySpecReduce_1 29# happyReduction_102+happyReduction_102 happy_x_1+ = case happyOut36 happy_x_1 of { happy_var_1 -> + happyIn35+ (happy_var_1+ )}++happyReduce_103 = happySpecReduce_3 30# happyReduction_103+happyReduction_103 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut31 happy_x_1 of { happy_var_1 -> + case happyOut49 happy_x_3 of { happy_var_3 -> + happyIn36+ (map ( \x -> (x,happy_var_3)) [happy_var_1]+ )}}++happyReduce_104 = happySpecReduce_1 31# happyReduction_104+happyReduction_104 happy_x_1+ = case happyOut31 happy_x_1 of { happy_var_1 -> + happyIn37+ ([happy_var_1]+ )}++happyReduce_105 = happySpecReduce_3 31# happyReduction_105+happyReduction_105 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut31 happy_x_1 of { happy_var_1 -> + case happyOut37 happy_x_3 of { happy_var_3 -> + happyIn37+ (happy_var_1:happy_var_3+ )}}++happyReduce_106 = happySpecReduce_2 32# happyReduction_106+happyReduction_106 happy_x_2+ happy_x_1+ = case happyOut31 happy_x_1 of { happy_var_1 -> + case happyOutTok happy_x_2 of { (TokenInt happy_var_2) -> + happyIn38+ ([(happy_var_1,happy_var_2)]+ )}}++happyReduce_107 = happySpecReduce_1 32# happyReduction_107+happyReduction_107 happy_x_1+ = case happyOut31 happy_x_1 of { happy_var_1 -> + happyIn38+ ([(happy_var_1, 0)]+ )}++happyReduce_108 = happySpecReduce_3 32# happyReduction_108+happyReduction_108 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut31 happy_x_1 of { happy_var_1 -> + case happyOut38 happy_x_3 of { happy_var_3 -> + happyIn38+ ((happy_var_1,0):happy_var_3+ )}}++happyReduce_109 = happyReduce 4# 32# happyReduction_109+happyReduction_109 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut31 happy_x_1 of { happy_var_1 -> + case happyOutTok happy_x_2 of { (TokenInt happy_var_2) -> + case happyOut38 happy_x_4 of { happy_var_4 -> + happyIn38+ ((happy_var_1,happy_var_2):happy_var_4+ ) `HappyStk` happyRest}}}++happyReduce_110 = happySpecReduce_1 33# happyReduction_110+happyReduction_110 happy_x_1+ = case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> + happyIn39+ ([happy_var_1]+ )}++happyReduce_111 = happySpecReduce_3 33# happyReduction_111+happyReduction_111 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> + case happyOut37 happy_x_3 of { happy_var_3 -> + happyIn39+ (happy_var_1:happy_var_3+ )}}++happyReduce_112 = happySpecReduce_0 34# happyReduction_112+happyReduction_112 = happyIn40+ ([]+ )++happyReduce_113 = happySpecReduce_2 34# happyReduction_113+happyReduction_113 happy_x_2+ happy_x_1+ = case happyOut31 happy_x_1 of { happy_var_1 -> + case happyOut40 happy_x_2 of { happy_var_2 -> + happyIn40+ (happy_var_1:happy_var_2+ )}}++happyReduce_114 = happyReduce 4# 35# happyReduction_114+happyReduction_114 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut31 happy_x_1 of { happy_var_1 -> + case happyOut47 happy_x_2 of { happy_var_2 -> + case happyOut33 happy_x_4 of { happy_var_4 -> + happyIn41+ ([(happy_var_1,happy_var_2,happy_var_4)]+ ) `HappyStk` happyRest}}}++happyReduce_115 = happyReduce 6# 35# happyReduction_115+happyReduction_115 (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 happyOut31 happy_x_1 of { happy_var_1 -> + case happyOut47 happy_x_2 of { happy_var_2 -> + case happyOut33 happy_x_4 of { happy_var_4 -> + case happyOut41 happy_x_6 of { happy_var_6 -> + happyIn41+ ((happy_var_1,happy_var_2,happy_var_4):happy_var_6+ ) `HappyStk` happyRest}}}}++happyReduce_116 = happySpecReduce_3 36# happyReduction_116+happyReduction_116 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> + case happyOut80 happy_x_2 of { happy_var_2 -> + case happyOut79 happy_x_3 of { happy_var_3 -> + happyIn42+ ((happy_var_1, RVar happy_var_2 happy_var_3 happy_var_1)+ )}}}++happyReduce_117 = happySpecReduce_3 36# happyReduction_117+happyReduction_117 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> + case happyOut33 happy_x_3 of { happy_var_3 -> + happyIn42+ ((happy_var_1, happy_var_3)+ )}}++happyReduce_118 = happyReduce 4# 37# happyReduction_118+happyReduction_118 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut33 happy_x_2 of { happy_var_2 -> + case happyOut80 happy_x_3 of { happy_var_3 -> + case happyOut79 happy_x_4 of { happy_var_4 -> + happyIn43+ (RInfix happy_var_3 happy_var_4 Minus (RConst happy_var_3 happy_var_4 (Num 0)) happy_var_2+ ) `HappyStk` happyRest}}}++happyReduce_119 = happyReduce 5# 37# happyReduction_119+happyReduction_119 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut33 happy_x_1 of { happy_var_1 -> + case happyOut33 happy_x_3 of { happy_var_3 -> + case happyOut80 happy_x_4 of { happy_var_4 -> + case happyOut79 happy_x_5 of { happy_var_5 -> + happyIn43+ (RUserInfix happy_var_4 happy_var_5 False "-" happy_var_1 happy_var_3+ ) `HappyStk` happyRest}}}}++happyReduce_120 = happyReduce 5# 37# happyReduction_120+happyReduction_120 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut33 happy_x_1 of { happy_var_1 -> + case happyOut33 happy_x_3 of { happy_var_3 -> + case happyOut80 happy_x_4 of { happy_var_4 -> + case happyOut79 happy_x_5 of { happy_var_5 -> + happyIn43+ (mkApp happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "Pair")) [happy_var_1, happy_var_3]+ ) `HappyStk` happyRest}}}}++happyReduce_121 = happyReduce 5# 37# happyReduction_121+happyReduction_121 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut33 happy_x_1 of { happy_var_1 -> + case happyOut33 happy_x_3 of { happy_var_3 -> + case happyOut80 happy_x_4 of { happy_var_4 -> + case happyOut79 happy_x_5 of { happy_var_5 -> + happyIn43+ (RUserInfix happy_var_4 happy_var_5 False "<" happy_var_1 happy_var_3+ ) `HappyStk` happyRest}}}}++happyReduce_122 = happyReduce 5# 37# happyReduction_122+happyReduction_122 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut33 happy_x_1 of { happy_var_1 -> + case happyOut33 happy_x_3 of { happy_var_3 -> + case happyOut80 happy_x_4 of { happy_var_4 -> + case happyOut79 happy_x_5 of { happy_var_5 -> + happyIn43+ (RUserInfix happy_var_4 happy_var_5 False ">" happy_var_1 happy_var_3+ ) `HappyStk` happyRest}}}}++happyReduce_123 = happyReduce 5# 37# happyReduction_123+happyReduction_123 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut33 happy_x_1 of { happy_var_1 -> + case happyOut33 happy_x_3 of { happy_var_3 -> + happyIn43+ (RBind (MN "X" 0) (Pi Ex [] happy_var_1) happy_var_3+ ) `HappyStk` happyRest}}++happyReduce_124 = happySpecReduce_1 37# happyReduction_124+happyReduction_124 happy_x_1+ = case happyOut44 happy_x_1 of { happy_var_1 -> + happyIn43+ (happy_var_1+ )}++happyReduce_125 = happyReduce 5# 37# happyReduction_125+happyReduction_125 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut56 happy_x_1 of { happy_var_1 -> + case happyOut56 happy_x_3 of { happy_var_3 -> + case happyOut80 happy_x_4 of { happy_var_4 -> + case happyOut79 happy_x_5 of { happy_var_5 -> + happyIn43+ (RInfix happy_var_4 happy_var_5 JMEq happy_var_1 happy_var_3+ ) `HappyStk` happyRest}}}}++happyReduce_126 = happyReduce 5# 38# happyReduction_126+happyReduction_126 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut33 happy_x_1 of { happy_var_1 -> + case happyOutTok happy_x_2 of { (TokenInfixName happy_var_2) -> + case happyOut33 happy_x_3 of { happy_var_3 -> + case happyOut80 happy_x_4 of { happy_var_4 -> + case happyOut79 happy_x_5 of { happy_var_5 -> + happyIn44+ (RUserInfix happy_var_4 happy_var_5 False happy_var_2 happy_var_1 happy_var_3+ ) `HappyStk` happyRest}}}}}++happyReduce_127 = happyReduce 6# 39# happyReduction_127+happyReduction_127 (happy_x_6 `HappyStk`+ happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOutTok happy_x_2 of { (TokenInfixName happy_var_2) -> + case happyOut33 happy_x_3 of { happy_var_3 -> + case happyOut80 happy_x_4 of { happy_var_4 -> + case happyOut79 happy_x_5 of { happy_var_5 -> + happyIn45+ (RBind (MN "X" 0) (Lam RPlaceholder) + (RUserInfix happy_var_4 happy_var_5 False happy_var_2 (RVar happy_var_4 happy_var_5 (MN "X" 0)) happy_var_3)+ ) `HappyStk` happyRest}}}}++happyReduce_128 = happyReduce 6# 39# happyReduction_128+happyReduction_128 (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 happyOut33 happy_x_2 of { happy_var_2 -> + case happyOutTok happy_x_3 of { (TokenInfixName happy_var_3) -> + case happyOut80 happy_x_4 of { happy_var_4 -> + case happyOut79 happy_x_5 of { happy_var_5 -> + happyIn45+ (RBind (MN "X" 0) (Lam RPlaceholder) + (RUserInfix happy_var_4 happy_var_5 False happy_var_3 happy_var_2 (RVar happy_var_4 happy_var_5 (MN "X" 0)))+ ) `HappyStk` happyRest}}}}++happyReduce_129 = happyReduce 6# 39# happyReduction_129+happyReduction_129 (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 happyOut46 happy_x_2 of { happy_var_2 -> + case happyOut33 happy_x_3 of { happy_var_3 -> + case happyOut80 happy_x_4 of { happy_var_4 -> + case happyOut79 happy_x_5 of { happy_var_5 -> + happyIn45+ (RBind (MN "X" 0) (Lam RPlaceholder) + (RUserInfix happy_var_4 happy_var_5 False happy_var_2 (RVar happy_var_4 happy_var_5 (MN "X" 0)) happy_var_3)+ ) `HappyStk` happyRest}}}}++happyReduce_130 = happyReduce 6# 39# happyReduction_130+happyReduction_130 (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 happyOut33 happy_x_2 of { happy_var_2 -> + case happyOut46 happy_x_3 of { happy_var_3 -> + case happyOut80 happy_x_4 of { happy_var_4 -> + case happyOut79 happy_x_5 of { happy_var_5 -> + happyIn45+ (RBind (MN "X" 0) (Lam RPlaceholder) + (RUserInfix happy_var_4 happy_var_5 False happy_var_3 happy_var_2 (RVar happy_var_4 happy_var_5 (MN "X" 0)))+ ) `HappyStk` happyRest}}}}++happyReduce_131 = happyReduce 6# 39# happyReduction_131+happyReduction_131 (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 happyOut33 happy_x_2 of { happy_var_2 -> + case happyOut80 happy_x_4 of { happy_var_4 -> + case happyOut79 happy_x_5 of { happy_var_5 -> + happyIn45+ (RBind (MN "X" 0) (Lam RPlaceholder) + (RUserInfix happy_var_4 happy_var_5 False "-" happy_var_2 (RVar happy_var_4 happy_var_5 (MN "X" 0)))+ ) `HappyStk` happyRest}}}++happyReduce_132 = happyReduce 6# 39# happyReduction_132+happyReduction_132 (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 happyOut33 happy_x_2 of { happy_var_2 -> + case happyOut80 happy_x_4 of { happy_var_4 -> + case happyOut79 happy_x_5 of { happy_var_5 -> + happyIn45+ (RBind (MN "X" 0) (Lam RPlaceholder) + (RBind (MN "X" 1) (Pi Ex [] happy_var_2) (RVar happy_var_4 happy_var_5 (MN "X" 0)))+ ) `HappyStk` happyRest}}}++happyReduce_133 = happyReduce 6# 39# happyReduction_133+happyReduction_133 (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 happyOut33 happy_x_3 of { happy_var_3 -> + case happyOut80 happy_x_4 of { happy_var_4 -> + case happyOut79 happy_x_5 of { happy_var_5 -> + happyIn45+ (RBind (MN "X" 0) (Lam RPlaceholder) + (RBind (MN "X" 1) (Pi Ex [] (RVar happy_var_4 happy_var_5 (MN "X" 0))) happy_var_3)+ ) `HappyStk` happyRest}}}++happyReduce_134 = happyReduce 5# 39# happyReduction_134+happyReduction_134 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut80 happy_x_3 of { happy_var_3 -> + case happyOut79 happy_x_4 of { happy_var_4 -> + happyIn45+ (RBind (MN "X" 0) (Lam RPlaceholder)+ (RBind (MN "X" 1) (Lam RPlaceholder)+ (RBind (MN "X" 2) (Pi Ex [] (RVar happy_var_3 happy_var_4 (MN "X" 0)))+ (RVar happy_var_3 happy_var_4 (MN "X" 1))))+ ) `HappyStk` happyRest}}++happyReduce_135 = happyReduce 5# 39# happyReduction_135+happyReduction_135 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut80 happy_x_3 of { happy_var_3 -> + case happyOut79 happy_x_4 of { happy_var_4 -> + happyIn45+ (RBind (MN "X" 0) (Lam RPlaceholder)+ (RBind (MN "X" 1) (Lam RPlaceholder)+ (pairDesugar happy_var_3 happy_var_4 (RVar happy_var_3 happy_var_4 (UN "mkPair"))+ [RVar happy_var_3 happy_var_4 (MN "X" 0),+ RVar happy_var_3 happy_var_4 (MN "X" 1)]))+ ) `HappyStk` happyRest}}++happyReduce_136 = happyReduce 6# 39# happyReduction_136+happyReduction_136 (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 happyOut33 happy_x_2 of { happy_var_2 -> + case happyOut80 happy_x_4 of { happy_var_4 -> + case happyOut79 happy_x_5 of { happy_var_5 -> + happyIn45+ (RBind (MN "X" 0) (Lam RPlaceholder)+ (pairDesugar happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "mkPair"))+ [happy_var_2,+ RVar happy_var_4 happy_var_5 (MN "X" 0)])+ ) `HappyStk` happyRest}}}++happyReduce_137 = happyReduce 6# 39# happyReduction_137+happyReduction_137 (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 happyOut33 happy_x_3 of { happy_var_3 -> + case happyOut80 happy_x_4 of { happy_var_4 -> + case happyOut79 happy_x_5 of { happy_var_5 -> + happyIn45+ (RBind (MN "X" 0) (Lam RPlaceholder)+ (pairDesugar happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "mkPair"))+ [RVar happy_var_4 happy_var_5 (MN "X" 0), happy_var_3])+ ) `HappyStk` happyRest}}}++happyReduce_138 = happySpecReduce_1 40# happyReduction_138+happyReduction_138 happy_x_1+ = happyIn46+ ("<"+ )++happyReduce_139 = happySpecReduce_1 40# happyReduction_139+happyReduction_139 happy_x_1+ = happyIn46+ (">"+ )++happyReduce_140 = happySpecReduce_0 41# happyReduction_140+happyReduction_140 = happyIn47+ (RPlaceholder+ )++happyReduce_141 = happySpecReduce_2 41# happyReduction_141+happyReduction_141 happy_x_2+ happy_x_1+ = case happyOut50 happy_x_2 of { happy_var_2 -> + happyIn47+ (happy_var_2+ )}++happyReduce_142 = happySpecReduce_0 42# happyReduction_142+happyReduction_142 = happyIn48+ (RPlaceholder+ )++happyReduce_143 = happySpecReduce_2 42# happyReduction_143+happyReduction_143 happy_x_2+ happy_x_1+ = case happyOut50 happy_x_2 of { happy_var_2 -> + happyIn48+ (happy_var_2+ )}++happyReduce_144 = happyReduce 5# 43# happyReduction_144+happyReduction_144 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut39 happy_x_1 of { happy_var_1 -> + case happyOut48 happy_x_2 of { happy_var_2 -> + case happyOut49 happy_x_5 of { happy_var_5 -> + happyIn49+ (doBind (Pi Im []) (map (\x -> (x, happy_var_2)) happy_var_1) happy_var_5+ ) `HappyStk` happyRest}}}++happyReduce_145 = happySpecReduce_1 43# happyReduction_145+happyReduction_145 happy_x_1+ = case happyOut50 happy_x_1 of { happy_var_1 -> + happyIn49+ (happy_var_1+ )}++happyReduce_146 = happySpecReduce_3 44# happyReduction_146+happyReduction_146 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut50 happy_x_1 of { happy_var_1 -> + case happyOut50 happy_x_3 of { happy_var_3 -> + happyIn50+ (RBind (MN "X" 0) (Pi Ex [] happy_var_1) happy_var_3+ )}}++happyReduce_147 = happyReduce 6# 44# happyReduction_147+happyReduction_147 (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 happyOut35 happy_x_2 of { happy_var_2 -> + case happyOut52 happy_x_4 of { happy_var_4 -> + case happyOut50 happy_x_6 of { happy_var_6 -> + happyIn50+ (doBind (Pi Ex happy_var_4) happy_var_2 happy_var_6+ ) `HappyStk` happyRest}}}++happyReduce_148 = happyReduce 5# 44# happyReduction_148+happyReduction_148 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut35 happy_x_2 of { happy_var_2 -> + case happyOut50 happy_x_5 of { happy_var_5 -> + happyIn50+ (doBind (Pi Ex [Lazy]) happy_var_2 happy_var_5+ ) `HappyStk` happyRest}}++happyReduce_149 = happySpecReduce_3 44# happyReduction_149+happyReduction_149 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut50 happy_x_2 of { happy_var_2 -> + happyIn50+ (bracket happy_var_2+ )}++happyReduce_150 = happyReduce 7# 44# happyReduction_150+happyReduction_150 (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 happyOut50 happy_x_2 of { happy_var_2 -> + case happyOut50 happy_x_4 of { happy_var_4 -> + case happyOut80 happy_x_5 of { happy_var_5 -> + case happyOut79 happy_x_6 of { happy_var_6 -> + happyIn50+ (RInfix happy_var_5 happy_var_6 JMEq happy_var_2 happy_var_4+ ) `HappyStk` happyRest}}}}++happyReduce_151 = happySpecReduce_1 44# happyReduction_151+happyReduction_151 happy_x_1+ = case happyOut32 happy_x_1 of { happy_var_1 -> + happyIn50+ (happy_var_1+ )}++happyReduce_152 = happySpecReduce_3 44# happyReduction_152+happyReduction_152 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut33 happy_x_2 of { happy_var_2 -> + happyIn50+ (happy_var_2+ )}++happyReduce_153 = happyReduce 5# 44# happyReduction_153+happyReduction_153 (happy_x_5 `HappyStk`+ 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 happyOutTok happy_x_2 of { (TokenInfixName happy_var_2) -> + case happyOut50 happy_x_3 of { happy_var_3 -> + case happyOut80 happy_x_4 of { happy_var_4 -> + case happyOut79 happy_x_5 of { happy_var_5 -> + happyIn50+ (RUserInfix happy_var_4 happy_var_5 False happy_var_2 happy_var_1 happy_var_3+ ) `HappyStk` happyRest}}}}}++happyReduce_154 = happyReduce 5# 44# happyReduction_154+happyReduction_154 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut55 happy_x_2 of { happy_var_2 -> + case happyOut80 happy_x_4 of { happy_var_4 -> + case happyOut79 happy_x_5 of { happy_var_5 -> + happyIn50+ (pairDesugar happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "Pair")) happy_var_2+ ) `HappyStk` happyRest}}}++happyReduce_155 = happySpecReduce_1 44# happyReduction_155+happyReduction_155 happy_x_1+ = case happyOut54 happy_x_1 of { happy_var_1 -> + happyIn50+ (happy_var_1+ )}++happyReduce_156 = happySpecReduce_1 45# happyReduction_156+happyReduction_156 happy_x_1+ = happyIn51+ (Lazy+ )++happyReduce_157 = happySpecReduce_1 45# happyReduction_157+happyReduction_157 happy_x_1+ = happyIn51+ (Static+ )++happyReduce_158 = happySpecReduce_3 46# happyReduction_158+happyReduction_158 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut53 happy_x_2 of { happy_var_2 -> + happyIn52+ (happy_var_2+ )}++happyReduce_159 = happySpecReduce_0 46# happyReduction_159+happyReduction_159 = happyIn52+ ([]+ )++happyReduce_160 = happySpecReduce_3 47# happyReduction_160+happyReduction_160 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut51 happy_x_1 of { happy_var_1 -> + case happyOut53 happy_x_3 of { happy_var_3 -> + happyIn53+ (happy_var_1:happy_var_3+ )}}++happyReduce_161 = happySpecReduce_1 47# happyReduction_161+happyReduction_161 happy_x_1+ = case happyOut51 happy_x_1 of { happy_var_1 -> + happyIn53+ ([happy_var_1]+ )}++happyReduce_162 = happyReduce 8# 48# happyReduction_162+happyReduction_162 (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 happyOut31 happy_x_2 of { happy_var_2 -> + case happyOut47 happy_x_3 of { happy_var_3 -> + case happyOut50 happy_x_5 of { happy_var_5 -> + case happyOut80 happy_x_7 of { happy_var_7 -> + case happyOut79 happy_x_8 of { happy_var_8 -> + happyIn54+ (sigDesugar happy_var_7 happy_var_8 (happy_var_2, happy_var_3) happy_var_5+ ) `HappyStk` happyRest}}}}}++happyReduce_163 = happySpecReduce_3 49# happyReduction_163+happyReduction_163 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut50 happy_x_1 of { happy_var_1 -> + case happyOut50 happy_x_3 of { happy_var_3 -> + happyIn55+ (happy_var_1:happy_var_3:[]+ )}}++happyReduce_164 = happySpecReduce_3 49# happyReduction_164+happyReduction_164 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut50 happy_x_1 of { happy_var_1 -> + case happyOut55 happy_x_3 of { happy_var_3 -> + happyIn55+ (happy_var_1:happy_var_3+ )}}++happyReduce_165 = happySpecReduce_3 50# happyReduction_165+happyReduction_165 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut31 happy_x_1 of { happy_var_1 -> + case happyOut80 happy_x_2 of { happy_var_2 -> + case happyOut79 happy_x_3 of { happy_var_3 -> + happyIn56+ (RVar happy_var_2 happy_var_3 happy_var_1+ )}}}++happyReduce_166 = happySpecReduce_3 50# happyReduction_166+happyReduction_166 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut80 happy_x_2 of { happy_var_2 -> + case happyOut79 happy_x_3 of { happy_var_3 -> + happyIn56+ (RReturn happy_var_2 happy_var_3+ )}}++happyReduce_167 = happySpecReduce_3 50# happyReduction_167+happyReduction_167 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut33 happy_x_2 of { happy_var_2 -> + happyIn56+ (bracket happy_var_2+ )}++happyReduce_168 = happySpecReduce_2 50# happyReduction_168+happyReduction_168 happy_x_2+ happy_x_1+ = case happyOut56 happy_x_2 of { happy_var_2 -> + happyIn56+ (RPure happy_var_2+ )}++happyReduce_169 = happySpecReduce_1 50# happyReduction_169+happyReduction_169 happy_x_1+ = case happyOutTok happy_x_1 of { (TokenMetavar happy_var_1) -> + happyIn56+ (RMetavar happy_var_1+ )}++happyReduce_170 = happyReduce 4# 50# happyReduction_170+happyReduction_170 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut31 happy_x_2 of { happy_var_2 -> + case happyOut80 happy_x_3 of { happy_var_3 -> + case happyOut79 happy_x_4 of { happy_var_4 -> + happyIn56+ (RExpVar happy_var_3 happy_var_4 happy_var_2+ ) `HappyStk` happyRest}}}++happyReduce_171 = happySpecReduce_3 50# happyReduction_171+happyReduction_171 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut62 happy_x_1 of { happy_var_1 -> + case happyOut80 happy_x_2 of { happy_var_2 -> + case happyOut79 happy_x_3 of { happy_var_3 -> + happyIn56+ (RConst happy_var_2 happy_var_3 happy_var_1+ )}}}++happyReduce_172 = happySpecReduce_1 50# happyReduction_172+happyReduction_172 happy_x_1+ = happyIn56+ (RRefl+ )++happyReduce_173 = happySpecReduce_3 50# happyReduction_173+happyReduction_173 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut80 happy_x_2 of { happy_var_2 -> + case happyOut79 happy_x_3 of { happy_var_3 -> + happyIn56+ (RVar happy_var_2 happy_var_3 (UN "__Empty")+ )}}++happyReduce_174 = happySpecReduce_3 50# happyReduction_174+happyReduction_174 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut80 happy_x_2 of { happy_var_2 -> + case happyOut79 happy_x_3 of { happy_var_3 -> + happyIn56+ (RVar happy_var_2 happy_var_3 (UN "__Unit")+ )}}++happyReduce_175 = happySpecReduce_1 50# happyReduction_175+happyReduction_175 happy_x_1+ = happyIn56+ (RPlaceholder+ )++happyReduce_176 = happySpecReduce_1 50# happyReduction_176+happyReduction_176 happy_x_1+ = case happyOut59 happy_x_1 of { happy_var_1 -> + happyIn56+ (RDo happy_var_1+ )}++happyReduce_177 = happySpecReduce_3 50# happyReduction_177+happyReduction_177 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut33 happy_x_2 of { happy_var_2 -> + happyIn56+ (RIdiom happy_var_2+ )}++happyReduce_178 = happyReduce 5# 50# happyReduction_178+happyReduction_178 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut58 happy_x_2 of { happy_var_2 -> + case happyOut80 happy_x_4 of { happy_var_4 -> + case happyOut79 happy_x_5 of { happy_var_5 -> + happyIn56+ (pairDesugar happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "mkPair")) happy_var_2+ ) `HappyStk` happyRest}}}++happyReduce_179 = happySpecReduce_1 50# happyReduction_179+happyReduction_179 happy_x_1+ = case happyOut54 happy_x_1 of { happy_var_1 -> + happyIn56+ (happy_var_1+ )}++happyReduce_180 = happySpecReduce_1 50# happyReduction_180+happyReduction_180 happy_x_1+ = case happyOut45 happy_x_1 of { happy_var_1 -> + happyIn56+ (happy_var_1+ )}++happyReduce_181 = happySpecReduce_1 50# happyReduction_181+happyReduction_181 happy_x_1+ = case happyOut57 happy_x_1 of { happy_var_1 -> + happyIn56+ (happy_var_1+ )}++happyReduce_182 = happyReduce 7# 51# happyReduction_182+happyReduction_182 (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 happyOut33 happy_x_2 of { happy_var_2 -> + case happyOut33 happy_x_4 of { happy_var_4 -> + case happyOut80 happy_x_6 of { happy_var_6 -> + case happyOut79 happy_x_7 of { happy_var_7 -> + happyIn57+ (RApp happy_var_6 happy_var_7 (RApp happy_var_6 happy_var_7 (RVar happy_var_6 happy_var_7 (UN "Exists")) happy_var_2) happy_var_4+ ) `HappyStk` happyRest}}}}++happyReduce_183 = happyReduce 5# 51# happyReduction_183+happyReduction_183 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut33 happy_x_2 of { happy_var_2 -> + case happyOut80 happy_x_4 of { happy_var_4 -> + case happyOut79 happy_x_5 of { happy_var_5 -> + happyIn57+ (RApp happy_var_4 happy_var_5 (RApp happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "Exists")) RPlaceholder) happy_var_2+ ) `HappyStk` happyRest}}}++happyReduce_184 = happySpecReduce_3 52# happyReduction_184+happyReduction_184 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut33 happy_x_1 of { happy_var_1 -> + case happyOut33 happy_x_3 of { happy_var_3 -> + happyIn58+ (happy_var_1:happy_var_3:[]+ )}}++happyReduce_185 = happySpecReduce_3 52# happyReduction_185+happyReduction_185 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut33 happy_x_1 of { happy_var_1 -> + case happyOut58 happy_x_3 of { happy_var_3 -> + happyIn58+ (happy_var_1:happy_var_3+ )}}++happyReduce_186 = happyReduce 4# 53# happyReduction_186+happyReduction_186 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut60 happy_x_3 of { happy_var_3 -> + happyIn59+ (happy_var_3+ ) `HappyStk` happyRest}++happyReduce_187 = happyReduce 10# 53# happyReduction_187+happyReduction_187 (happy_x_10 `HappyStk`+ happy_x_9 `HappyStk`+ happy_x_8 `HappyStk`+ happy_x_7 `HappyStk`+ happy_x_6 `HappyStk`+ happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOutTok happy_x_2 of { (TokenBrackName happy_var_2) -> + case happyOut47 happy_x_3 of { happy_var_3 -> + case happyOut33 happy_x_5 of { happy_var_5 -> + case happyOut80 happy_x_6 of { happy_var_6 -> + case happyOut79 happy_x_7 of { happy_var_7 -> + case happyOut60 happy_x_9 of { happy_var_9 -> + happyIn59+ (DoBinding happy_var_6 happy_var_7 happy_var_2 happy_var_3 happy_var_5 : happy_var_9+ ) `HappyStk` happyRest}}}}}}++happyReduce_188 = happySpecReduce_2 54# happyReduction_188+happyReduction_188 happy_x_2+ happy_x_1+ = case happyOut61 happy_x_1 of { happy_var_1 -> + case happyOut60 happy_x_2 of { happy_var_2 -> + happyIn60+ (happy_var_1:happy_var_2+ )}}++happyReduce_189 = happySpecReduce_1 54# happyReduction_189+happyReduction_189 happy_x_1+ = case happyOut61 happy_x_1 of { happy_var_1 -> + happyIn60+ ([happy_var_1]+ )}++happyReduce_190 = happyReduce 7# 55# happyReduction_190+happyReduction_190 (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 happyOut31 happy_x_1 of { happy_var_1 -> + case happyOut47 happy_x_2 of { happy_var_2 -> + case happyOut33 happy_x_4 of { happy_var_4 -> + case happyOut80 happy_x_5 of { happy_var_5 -> + case happyOut79 happy_x_6 of { happy_var_6 -> + happyIn61+ (DoBinding happy_var_5 happy_var_6 happy_var_1 happy_var_2 happy_var_4+ ) `HappyStk` happyRest}}}}}++happyReduce_191 = happyReduce 8# 55# happyReduction_191+happyReduction_191 (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 happyOut31 happy_x_2 of { happy_var_2 -> + case happyOut47 happy_x_3 of { happy_var_3 -> + case happyOut33 happy_x_5 of { happy_var_5 -> + case happyOut80 happy_x_6 of { happy_var_6 -> + case happyOut79 happy_x_7 of { happy_var_7 -> + happyIn61+ (DoLet happy_var_6 happy_var_7 happy_var_2 happy_var_3 happy_var_5+ ) `HappyStk` happyRest}}}}}++happyReduce_192 = happyReduce 4# 55# happyReduction_192+happyReduction_192 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut33 happy_x_1 of { happy_var_1 -> + case happyOut80 happy_x_2 of { happy_var_2 -> + case happyOut79 happy_x_3 of { happy_var_3 -> + happyIn61+ (DoExp happy_var_2 happy_var_3 happy_var_1+ ) `HappyStk` happyRest}}}++happyReduce_193 = happySpecReduce_1 56# happyReduction_193+happyReduction_193 happy_x_1+ = happyIn62+ (TYPE+ )++happyReduce_194 = happySpecReduce_1 56# happyReduction_194+happyReduction_194 happy_x_1+ = happyIn62+ (StringType+ )++happyReduce_195 = happySpecReduce_1 56# happyReduction_195+happyReduction_195 happy_x_1+ = happyIn62+ (IntType+ )++happyReduce_196 = happySpecReduce_1 56# happyReduction_196+happyReduction_196 happy_x_1+ = happyIn62+ (CharType+ )++happyReduce_197 = happySpecReduce_1 56# happyReduction_197+happyReduction_197 happy_x_1+ = happyIn62+ (FloatType+ )++happyReduce_198 = happySpecReduce_1 56# happyReduction_198+happyReduction_198 happy_x_1+ = happyIn62+ (PtrType+ )++happyReduce_199 = happySpecReduce_1 56# happyReduction_199+happyReduction_199 happy_x_1+ = happyIn62+ (Builtin "Handle"+ )++happyReduce_200 = happySpecReduce_1 56# happyReduction_200+happyReduction_200 happy_x_1+ = happyIn62+ (Builtin "Lock"+ )++happyReduce_201 = happySpecReduce_1 56# happyReduction_201+happyReduction_201 happy_x_1+ = case happyOutTok happy_x_1 of { (TokenInt happy_var_1) -> + happyIn62+ (Num happy_var_1+ )}++happyReduce_202 = happySpecReduce_1 56# happyReduction_202+happyReduction_202 happy_x_1+ = case happyOutTok happy_x_1 of { (TokenChar happy_var_1) -> + happyIn62+ (Ch happy_var_1+ )}++happyReduce_203 = happySpecReduce_1 56# happyReduction_203+happyReduction_203 happy_x_1+ = case happyOutTok happy_x_1 of { (TokenString happy_var_1) -> + happyIn62+ (Str happy_var_1+ )}++happyReduce_204 = happySpecReduce_1 56# happyReduction_204+happyReduction_204 happy_x_1+ = case happyOutTok happy_x_1 of { (TokenBool happy_var_1) -> + happyIn62+ (Bo happy_var_1+ )}++happyReduce_205 = happySpecReduce_1 56# happyReduction_205+happyReduction_205 happy_x_1+ = case happyOutTok happy_x_1 of { (TokenFloat happy_var_1) -> + happyIn62+ (Fl happy_var_1+ )}++happyReduce_206 = happySpecReduce_0 57# happyReduction_206+happyReduction_206 = happyIn63+ ([]+ )++happyReduce_207 = happySpecReduce_2 57# happyReduction_207+happyReduction_207 happy_x_2+ happy_x_1+ = case happyOut56 happy_x_1 of { happy_var_1 -> + case happyOut63 happy_x_2 of { happy_var_2 -> + happyIn63+ (happy_var_1:happy_var_2+ )}}++happyReduce_208 = happyReduce 4# 58# happyReduction_208+happyReduction_208 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut49 happy_x_2 of { happy_var_2 -> + case happyOut65 happy_x_3 of { happy_var_3 -> + happyIn64+ ((happy_var_2, happy_var_3)+ ) `HappyStk` happyRest}}++happyReduce_209 = happySpecReduce_3 58# happyReduction_209+happyReduction_209 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut80 happy_x_2 of { happy_var_2 -> + case happyOut79 happy_x_3 of { happy_var_3 -> + happyIn64+ ((RConst happy_var_2 happy_var_3 TYPE, [])+ )}}++happyReduce_210 = happyReduce 4# 58# happyReduction_210+happyReduction_210 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut71 happy_x_1 of { happy_var_1 -> + case happyOut80 happy_x_3 of { happy_var_3 -> + case happyOut79 happy_x_4 of { happy_var_4 -> + happyIn64+ ((mkTyParams happy_var_3 happy_var_4 happy_var_1, [])+ ) `HappyStk` happyRest}}}++happyReduce_211 = happySpecReduce_0 59# happyReduction_211+happyReduction_211 = happyIn65+ ([]+ )++happyReduce_212 = happyReduce 4# 59# happyReduction_212+happyReduction_212 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut70 happy_x_3 of { happy_var_3 -> + happyIn65+ (happy_var_3+ ) `HappyStk` happyRest}++happyReduce_213 = happyReduce 7# 60# happyReduction_213+happyReduction_213 (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 happyOut31 happy_x_4 of { happy_var_4 -> + case happyOut31 happy_x_6 of { happy_var_6 -> + happyIn66+ ((happy_var_4,happy_var_6)+ ) `HappyStk` happyRest}}++happyReduce_214 = happyReduce 6# 61# happyReduction_214+happyReduction_214 (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 happyOut31 happy_x_3 of { happy_var_3 -> + case happyOut31 happy_x_5 of { happy_var_5 -> + happyIn67+ ((happy_var_3,happy_var_5)+ ) `HappyStk` happyRest}}++happyReduce_215 = happyReduce 4# 62# happyReduction_215+happyReduction_215 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut70 happy_x_3 of { happy_var_3 -> + happyIn68+ (happy_var_3+ ) `HappyStk` happyRest}++happyReduce_216 = happySpecReduce_2 63# happyReduction_216+happyReduction_216 happy_x_2+ happy_x_1+ = case happyOut31 happy_x_2 of { happy_var_2 -> + happyIn69+ (happy_var_2+ )}++happyReduce_217 = happySpecReduce_3 64# happyReduction_217+happyReduction_217 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut31 happy_x_1 of { happy_var_1 -> + case happyOut49 happy_x_3 of { happy_var_3 -> + happyIn70+ ([(happy_var_1, happy_var_3)]+ )}}++happyReduce_218 = happyReduce 5# 64# happyReduction_218+happyReduction_218 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut31 happy_x_1 of { happy_var_1 -> + case happyOut49 happy_x_3 of { happy_var_3 -> + case happyOut70 happy_x_5 of { happy_var_5 -> + happyIn70+ ((happy_var_1,happy_var_3):happy_var_5+ ) `HappyStk` happyRest}}}++happyReduce_219 = happySpecReduce_1 65# happyReduction_219+happyReduction_219 happy_x_1+ = case happyOut31 happy_x_1 of { happy_var_1 -> + happyIn71+ ([happy_var_1]+ )}++happyReduce_220 = happySpecReduce_2 65# happyReduction_220+happyReduction_220 happy_x_2+ happy_x_1+ = case happyOut31 happy_x_1 of { happy_var_1 -> + case happyOut71 happy_x_2 of { happy_var_2 -> + happyIn71+ (happy_var_1:happy_var_2+ )}}++happyReduce_221 = happySpecReduce_1 66# happyReduction_221+happyReduction_221 happy_x_1+ = case happyOutTok happy_x_1 of { happy_var_1 -> + happyIn72+ (happy_var_1+ )}++happyReduce_222 = happySpecReduce_1 66# happyReduction_222+happyReduction_222 happy_x_1+ = case happyOutTok happy_x_1 of { happy_var_1 -> + happyIn72+ (happy_var_1+ )}++happyReduce_223 = happySpecReduce_0 67# happyReduction_223+happyReduction_223 = happyIn73+ ([]+ )++happyReduce_224 = happySpecReduce_1 67# happyReduction_224+happyReduction_224 happy_x_1+ = case happyOut74 happy_x_1 of { happy_var_1 -> + happyIn73+ ([happy_var_1]+ )}++happyReduce_225 = happySpecReduce_3 67# happyReduction_225+happyReduction_225 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut74 happy_x_1 of { happy_var_1 -> + case happyOut73 happy_x_3 of { happy_var_3 -> + happyIn73+ (happy_var_1:happy_var_3+ )}}++happyReduce_226 = happySpecReduce_2 68# happyReduction_226+happyReduction_226 happy_x_2+ happy_x_1+ = case happyOut31 happy_x_1 of { happy_var_1 -> + case happyOut75 happy_x_2 of { happy_var_2 -> + happyIn74+ (Full happy_var_1 happy_var_2+ )}}++happyReduce_227 = happySpecReduce_2 68# happyReduction_227+happyReduction_227 happy_x_2+ happy_x_1+ = case happyOut31 happy_x_1 of { happy_var_1 -> + case happyOut63 happy_x_2 of { happy_var_2 -> + happyIn74+ (Simple happy_var_1 happy_var_2+ )}}++happyReduce_228 = happySpecReduce_2 69# happyReduction_228+happyReduction_228 happy_x_2+ happy_x_1+ = case happyOut49 happy_x_2 of { happy_var_2 -> + happyIn75+ (happy_var_2+ )}++happyReduce_229 = happySpecReduce_2 70# happyReduction_229+happyReduction_229 happy_x_2+ happy_x_1+ = case happyOut37 happy_x_2 of { happy_var_2 -> + happyIn76+ (Intro happy_var_2+ )}++happyReduce_230 = happySpecReduce_1 70# happyReduction_230+happyReduction_230 happy_x_1+ = happyIn76+ (Intro []+ )++happyReduce_231 = happySpecReduce_2 70# happyReduction_231+happyReduction_231 happy_x_2+ happy_x_1+ = case happyOut31 happy_x_2 of { happy_var_2 -> + happyIn76+ (Refine happy_var_2+ )}++happyReduce_232 = happySpecReduce_2 70# happyReduction_232+happyReduction_232 happy_x_2+ happy_x_1+ = case happyOut33 happy_x_2 of { happy_var_2 -> + happyIn76+ (Exists happy_var_2+ )}++happyReduce_233 = happySpecReduce_2 70# happyReduction_233+happyReduction_233 happy_x_2+ happy_x_1+ = case happyOut33 happy_x_2 of { happy_var_2 -> + happyIn76+ (Generalise happy_var_2+ )}++happyReduce_234 = happySpecReduce_1 70# happyReduction_234+happyReduction_234 happy_x_1+ = happyIn76+ (ReflP+ )++happyReduce_235 = happySpecReduce_2 70# happyReduction_235+happyReduction_235 happy_x_2+ happy_x_1+ = case happyOut33 happy_x_2 of { happy_var_2 -> + happyIn76+ (Rewrite False False happy_var_2+ )}++happyReduce_236 = happySpecReduce_3 70# happyReduction_236+happyReduction_236 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut33 happy_x_3 of { happy_var_3 -> + happyIn76+ (Rewrite False True happy_var_3+ )}++happyReduce_237 = happySpecReduce_2 70# happyReduction_237+happyReduction_237 happy_x_2+ happy_x_1+ = case happyOut33 happy_x_2 of { happy_var_2 -> + happyIn76+ (Rewrite True False happy_var_2+ )}++happyReduce_238 = happySpecReduce_3 70# happyReduction_238+happyReduction_238 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut33 happy_x_3 of { happy_var_3 -> + happyIn76+ (Rewrite True True happy_var_3+ )}++happyReduce_239 = happySpecReduce_1 70# happyReduction_239+happyReduction_239 happy_x_1+ = happyIn76+ (Compute+ )++happyReduce_240 = happySpecReduce_2 70# happyReduction_240+happyReduction_240 happy_x_2+ happy_x_1+ = case happyOut31 happy_x_2 of { happy_var_2 -> + happyIn76+ (Unfold happy_var_2+ )}++happyReduce_241 = happySpecReduce_1 70# happyReduction_241+happyReduction_241 happy_x_1+ = happyIn76+ (Undo+ )++happyReduce_242 = happySpecReduce_2 70# happyReduction_242+happyReduction_242 happy_x_2+ happy_x_1+ = case happyOut33 happy_x_2 of { happy_var_2 -> + happyIn76+ (Induction happy_var_2+ )}++happyReduce_243 = happySpecReduce_2 70# happyReduction_243+happyReduction_243 happy_x_2+ happy_x_1+ = case happyOut33 happy_x_2 of { happy_var_2 -> + happyIn76+ (Fill happy_var_2+ )}++happyReduce_244 = happySpecReduce_1 70# happyReduction_244+happyReduction_244 happy_x_1+ = happyIn76+ (Trivial+ )++happyReduce_245 = happySpecReduce_2 70# happyReduction_245+happyReduction_245 happy_x_2+ happy_x_1+ = case happyOut33 happy_x_2 of { happy_var_2 -> + happyIn76+ (RunTactic happy_var_2+ )}++happyReduce_246 = happySpecReduce_2 70# happyReduction_246+happyReduction_246 happy_x_2+ happy_x_1+ = case happyOut33 happy_x_2 of { happy_var_2 -> + happyIn76+ (Believe happy_var_2+ )}++happyReduce_247 = happySpecReduce_2 70# happyReduction_247+happyReduction_247 happy_x_2+ happy_x_1+ = case happyOut33 happy_x_2 of { happy_var_2 -> + happyIn76+ (Use happy_var_2+ )}++happyReduce_248 = happySpecReduce_2 70# happyReduction_248+happyReduction_248 happy_x_2+ happy_x_1+ = case happyOut33 happy_x_2 of { happy_var_2 -> + happyIn76+ (Decide happy_var_2+ )}++happyReduce_249 = happySpecReduce_1 70# happyReduction_249+happyReduction_249 happy_x_1+ = happyIn76+ (Abandon+ )++happyReduce_250 = happySpecReduce_1 70# happyReduction_250+happyReduction_250 happy_x_1+ = happyIn76+ (ProofTerm+ )++happyReduce_251 = happySpecReduce_1 70# happyReduction_251+happyReduction_251 happy_x_1+ = happyIn76+ (Qed+ )++happyReduce_252 = happyReduce 4# 71# happyReduction_252+happyReduction_252 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut78 happy_x_3 of { happy_var_3 -> + happyIn77+ (happy_var_3+ ) `HappyStk` happyRest}++happyReduce_253 = happySpecReduce_2 72# happyReduction_253+happyReduction_253 happy_x_2+ happy_x_1+ = case happyOut76 happy_x_1 of { happy_var_1 -> + happyIn78+ ([happy_var_1]+ )}++happyReduce_254 = happySpecReduce_3 72# happyReduction_254+happyReduction_254 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut76 happy_x_1 of { happy_var_1 -> + case happyOut78 happy_x_3 of { happy_var_3 -> + happyIn78+ (happy_var_1:happy_var_3+ )}}++happyReduce_255 = happyMonadReduce 0# 73# happyReduction_255+happyReduction_255 (happyRest) tk+ = happyThen (( getLineNo)+ ) (\r -> happyReturn (happyIn79 r))++happyReduce_256 = happyMonadReduce 0# 74# happyReduction_256+happyReduction_256 (happyRest) tk+ = happyThen (( getFileName)+ ) (\r -> happyReturn (happyIn80 r))++happyReduce_257 = happyMonadReduce 0# 75# happyReduction_257+happyReduction_257 (happyRest) tk+ = happyThen (( getOps)+ ) (\r -> happyReturn (happyIn81 r))++happyNewToken action sts stk+ = lexer(\tk -> + let cont i = happyDoAction i tk action sts stk in+ case tk of {+ TokenEOF -> happyDoAction 120# tk action sts stk;+ TokenName happy_dollar_dollar -> cont 1#;+ TokenInfixName happy_dollar_dollar -> cont 2#;+ TokenBrackName happy_dollar_dollar -> cont 3#;+ TokenString happy_dollar_dollar -> cont 4#;+ TokenInt happy_dollar_dollar -> cont 5#;+ TokenFloat happy_dollar_dollar -> cont 6#;+ TokenChar happy_dollar_dollar -> cont 7#;+ TokenBool happy_dollar_dollar -> cont 8#;+ TokenMetavar happy_dollar_dollar -> cont 9#;+ TokenColon -> cont 10#;+ TokenSemi -> cont 11#;+ TokenBar -> cont 12#;+ TokenStars -> cont 13#;+ TokenLambda -> cont 14#;+ TokenHashOB -> cont 15#;+ TokenOB -> cont 16#;+ TokenCB -> cont 17#;+ TokenOCB -> cont 18#;+ TokenCCB -> cont 19#;+ TokenOSB -> cont 20#;+ TokenCSB -> cont 21#;+ TokenOId -> cont 22#;+ TokenCId -> cont 23#;+ TokenLPair -> cont 24#;+ TokenRPair -> cont 25#;+ TokenExists -> cont 26#;+ TokenTilde -> cont 27#;+ TokenPlus -> cont 28#;+ TokenMinus -> cont 29#;+ TokenTimes -> cont 30#;+ TokenDivide -> cont 31#;+ TokenEquals -> cont 32#;+ TokenMightEqual -> cont 33#;+ TokenLT -> cont 34#;+ TokenGT -> cont 35#;+ TokenEllipsis -> cont 36#;+ TokenUnderscore -> cont 37#;+ TokenComma -> cont 38#;+ TokenTuple -> cont 39#;+ TokenBang -> cont 40#;+ TokenConcat -> cont 41#;+ TokenGE -> cont 42#;+ TokenLE -> cont 43#;+ TokenOr -> cont 44#;+ TokenAnd -> cont 45#;+ TokenArrow -> cont 46#;+ TokenFatArrow -> cont 47#;+ TokenTransArrow -> cont 48#;+ TokenLeftArrow -> cont 49#;+ TokenIntType -> cont 50#;+ TokenCharType -> cont 51#;+ TokenFloatType -> cont 52#;+ TokenStringType -> cont 53#;+ TokenHandleType -> cont 54#;+ TokenPtrType -> cont 55#;+ TokenLockType -> cont 56#;+ TokenType -> cont 57#;+ TokenLazyBracket -> cont 58#;+ TokenDataType -> cont 59#;+ TokenInfix -> cont 60#;+ TokenInfixL -> cont 61#;+ TokenInfixR -> cont 62#;+ TokenUsing -> cont 63#;+ TokenIdiom -> cont 64#;+ TokenParams -> cont 65#;+ TokenNamespace -> cont 66#;+ TokenPublic -> cont 67#;+ TokenPrivate -> cont 68#;+ TokenAbstract -> cont 69#;+ TokenNoElim -> cont 70#;+ TokenCollapsible -> cont 71#;+ TokenWhere -> cont 72#;+ TokenWith -> cont 73#;+ TokenPartial -> cont 74#;+ TokenSyntax -> cont 75#;+ TokenLazy -> cont 76#;+ TokenStatic -> cont 77#;+ TokenRefl -> cont 78#;+ TokenEmptyType -> cont 79#;+ TokenUnitType -> cont 80#;+ TokenInclude -> cont 81#;+ TokenExport -> cont 82#;+ TokenInline -> cont 83#;+ TokenDo -> cont 84#;+ TokenReturn -> cont 85#;+ TokenIf -> cont 86#;+ TokenThen -> cont 87#;+ TokenElse -> cont 88#;+ TokenLet -> cont 89#;+ TokenIn -> cont 90#;+ TokenProof -> cont 91#;+ TokenIntro -> cont 92#;+ TokenRefine -> cont 93#;+ TokenGeneralise -> cont 94#;+ TokenReflP -> cont 95#;+ TokenRewrite -> cont 96#;+ TokenRewriteAll -> cont 97#;+ TokenCompute -> cont 98#;+ TokenUnfold -> cont 99#;+ TokenUndo -> cont 100#;+ TokenInduction -> cont 101#;+ TokenFill -> cont 102#;+ TokenTrivial -> cont 103#;+ TokenMkTac -> cont 104#;+ TokenBelieve -> cont 105#;+ TokenUse -> cont 106#;+ TokenDecide -> cont 107#;+ TokenAbandon -> cont 108#;+ TokenProofTerm -> cont 109#;+ TokenQED -> cont 110#;+ TokenLaTeX -> cont 111#;+ TokenNoCG -> cont 112#;+ TokenEval -> cont 113#;+ TokenSpec -> cont 114#;+ TokenFreeze -> cont 115#;+ TokenThaw -> cont 116#;+ TokenTransform -> cont 117#;+ TokenCInclude -> cont 118#;+ TokenCLib -> cont 119#;+ _ -> happyError' tk+ })++happyError_ tk = happyError' tk++happyThen :: () => P a -> (a -> P b) -> P b+happyThen = (thenP)+happyReturn :: () => a -> P a+happyReturn = (returnP)+happyThen1 = happyThen+happyReturn1 :: () => a -> P a+happyReturn1 = happyReturn+happyError' :: () => (Token) -> P a+happyError' tk = (\token -> happyError) tk++mkparse = happySomeParser where+ happySomeParser = happyThen (happyParse 0#) (\x -> happyReturn (happyOut6 x))++mkparseTerm = happySomeParser where+ happySomeParser = happyThen (happyParse 1#) (\x -> happyReturn (happyOut33 x))++mkparseTactic = happySomeParser where+ happySomeParser = happyThen (happyParse 2#) (\x -> happyReturn (happyOut76 x))++happySeq = happyDontSeq+++data ConParse = Full Id RawTerm+ | Simple Id [RawTerm]++parse :: String -> FilePath -> Result [Decl]+parse s fn = do ds <- mkparse s fn 1 []+ collectDecls ds++processImports :: [Opt] -> [FilePath] -> Result [Decl] -> + IO ([Decl], [FilePath])+processImports opts imped (Success ds) = pi imped [] ds+ where pi imps decls ((PInclude fp):xs)+ | fp `elem` imps = pi imps decls xs+ | otherwise = do+ f <- readLibFile defaultLibPath fp+ when (Verbose `elem` opts) $ putStrLn ("Reading " ++ fp)+ case parse f fp of+ Success t -> pi (fp:imps) decls (t++xs)+ Failure e f l ->+ fail $ f ++ ":" ++ show l ++ ":" ++ e+ pi imps decls ((Using t ds):xs)+ = do (ds',imps') <- pi imps [] ds+ pi imps' (decls++[Using t ds']) xs+ pi imps decls ((Params t ds):xs)+ = do (ds',imps') <- pi imps [] ds+ pi imps' (decls++[Params t ds']) xs+ pi imps decls ((DoUsing b r ds):xs)+ = do (ds',imps') <- pi imps [] ds+ pi imps' (decls++[DoUsing b r ds']) xs+ pi imps decls ((Idiom b r ds):xs)+ = do (ds',imps') <- pi imps [] ds+ pi imps' (decls++[Idiom b r ds']) xs+ pi imps decls ((Namespace n ds):xs)+ = do (ds',imps') <- pi imps [] ds+ pi imps' (decls++[Namespace n ds']) xs+ pi imps decls (x:xs) = pi imps (decls++[x]) xs+ pi imps decls [] = return (decls, imps)++processImports _ imped (Failure e f l) + = fail $ show f ++ ":" ++ show l ++ ":" ++ show e+++parseTerm :: String -> Result RawTerm+parseTerm s = mkparseTerm s "(input)" 0 []++parseTactic :: String -> Result ITactic+parseTactic s = mkparseTactic s "(tactic)" 0 []++mkCon :: RawTerm -> ConParse -> (Id,RawTerm)+mkCon _ (Full n t) = (n,t)+mkCon ty (Simple n args) = (n, mkConTy args ty)+ where mkConTy [] ty = ty+ mkConTy (a:as) ty = RBind (MN "X" 0) (Pi Ex [] a) (mkConTy as ty)++mkDef file line (n, tms) = mkImpApp (RVar file line n) tms+ where mkImpApp f [] = f+ mkImpApp f ((tm,Just n):ts) = mkImpApp (RAppImp file line n f tm) ts+ mkImpApp f ((tm, Nothing):ts) = mkImpApp (RApp file line f tm) ts++doBind :: (RawTerm -> RBinder) -> [(Id,RawTerm)] -> RawTerm -> RawTerm+doBind b [] t = t+doBind b ((x,ty):ts) tm = RBind x (b ty) (doBind b ts tm)++doLetBind :: [(Id,RawTerm,RawTerm)] -> RawTerm -> RawTerm+doLetBind [] t = t+doLetBind ((x,ty,val):ts) tm = RBind x (RLet val ty) (doLetBind ts tm)++mkTyApp :: String -> Int -> Id -> RawTerm -> RawTerm+mkTyApp file line n ty = mkApp file line (RVar file line n) (getTyArgs ty)+ where getTyArgs (RBind n _ t) = (RVar file line n):(getTyArgs t)+ getTyArgs x = []++mkTyParams :: String -> Int -> [Id] -> RawTerm+mkTyParams f l [] = RConst f l TYPE+mkTyParams f l (x:xs) = RBind x (Pi Ex [] (RConst f l TYPE)) (mkTyParams f l xs) mkDatatype :: String -> Int -> Id -> Either RawTerm ((RawTerm, [(Id, RawTerm)]), [ConParse]) ->
idris.cabal view
@@ -1,5 +1,5 @@ Name: idris-Version: 0.1.4+Version: 0.1.5 License: BSD3 License-file: LICENSE Author: Edwin Brady@@ -36,6 +36,8 @@ Data-files: Prelude.e *.idr Data-dir: lib +Extra-source-files: CHANGELOG+ Library Exposed-modules: Idris.Parser, Idris.Lexer, Idris.Lib, Idris.AbsSyntax, Idris.Context, Idris.Latex@@ -46,8 +48,8 @@ Other-modules: Paths_idris Build-depends: base>=4 && <5, containers, array, parsec, mtl,- readline, ivor>=0.1.11, directory, haskell98,- old-time, old-locale, binary, epic>=0.1.4+ readline, ivor>=0.1.12, directory, haskell98,+ old-time, old-locale, binary, epic>=0.1.5, Cabal Extensions: MagicHash, UndecidableInstances, OverlappingInstances @@ -61,7 +63,7 @@ Idris.SimpleCase, Idris.Serialise Build-depends: base>=4 && <5, containers, array, parsec, mtl,- readline, ivor>=0.1.10, directory, haskell98,- old-time, old-locale, binary, epic>=0.1.3+ readline, ivor>=0.1.12, directory, haskell98,+ old-time, old-locale, binary, epic>=0.1.4, Cabal Extensions: MagicHash, UndecidableInstances, OverlappingInstances
lib/Prelude.e view
@@ -28,6 +28,8 @@ __epic_streq (x:String, y:String) -> Data = foreign Int "streq" (x:String, y:String) +%inline __epic_chareq (x:Int, y:Int) -> Data = x==y+ %inline __epic_strlt (x:String, y:String) -> Data = foreign Int "strlt" (x:String, y:String)
lib/bool.idr view
@@ -10,7 +10,7 @@ if_then_else True t f = t; if_then_else False t f = f; -data so : Bool -> # where oh : so True;+data so : Bool -> Set where oh : so True; infixl 4 &&,||;
lib/builtins.idr view
@@ -3,31 +3,47 @@ data __Unit = II; data __Empty = ; -data Sigma : (A:#)->(P:A->#)-># where- Exists : {P:A->#} -> {a:A} -> P a -> Sigma A P;+data Sigma : (A:Set)->(P:A->Set)->Set where+ Exists : {P:A->Set} -> (a:A) -> P a -> Sigma A P; -getSigIdx : {P:a->#} -> (s:Sigma a P) -> a;-getSigIdx (Exists {a} v) = a;+getSigIdx : {P:a->Set} -> (s:Sigma a P) -> a;+getSigIdx (Exists a v) = a; -getSigVal : {P:a->#} -> (s:Sigma a P) -> P (getSigIdx s);-getSigVal (Exists v) = v;+getSigVal : {P:a->Set} -> (s:Sigma a P) -> P (getSigIdx s);+getSigVal (Exists a v) = v; data Pair a b = mkPair a b; -rewrite : {A:B->#} -> A m -> (m=n) -> A n;+rewrite : {A:B->Set} -> A m -> (m=n) -> A n; rewrite t (refl m) = t; -- This way is needed for Ivor's rewriting tactic -__eq_repl : (A:#)->(x:A) -> (y:A) -> (q:(x=y)) -> (P:(m:A)->#) -> (p:P x) -> (P y);+__eq_repl : (A:Set)->(x:A) -> (y:A) -> (q:(x=y)) -> (P:(m:A)->Set) -> (p:P x) -> (P y); __eq_repl A x x (refl x) P p = p; -__eq_sym : (A:#) -> (a:A) -> (b:A) -> (p:(a=b)) -> (b=a);+__eq_sym : (A:Set) -> (a:A) -> (b:A) -> (p:(a=b)) -> (b=a); __eq_sym A a a p = refl _; +-- For proofs which should not be stored at run-time. Programs can+-- construct objects of type Proof A, and manipulate them,+-- but not inspect them. 'Proof' is treated as collapsible.++data Proof : (A:Set) -> Set where+ __mkProof : (a:A) -> Proof A;++prove : (a:A) -> Proof A;+prove x = __mkProof x;++-- This is the only function allowed to manipulate proofs.+-- It'd be easier if we could hide '__mkProof'!++proof_bind : Proof A -> (A -> Proof B) -> Proof B;+proof_bind (__mkProof a) p = p a;+ -- Used by the 'believe' tactic to make a temporary proof. Programs -- using this are not to be trusted! -__Prove_Anything : {A:#} -> A;+__Prove_Anything : {A:Set} -> A; __Suspend_Disbelief : (m:A) -> (n:A) -> (m = n);
lib/either.idr view
@@ -1,1 +1,5 @@ data Either A B = Left A | Right B;++choose : (x:Bool) -> Either (so (not x)) (so x);+choose False = Left oh;+choose True = Right oh;
lib/io.idr view
@@ -3,9 +3,9 @@ -- FAny is to allow C functions to build up Idris data -- types. Obviously this needs care... -data FType = FUnit | FInt | FStr | FPtr | FAny #;+data FType = FUnit | FInt | FStr | FPtr | FAny Set; -i_ftype : FType -> #;+i_ftype : FType -> Set; i_ftype FInt = Int; i_ftype FStr = String; i_ftype FPtr = Ptr;@@ -23,7 +23,7 @@ f_name : ForeignFun -> String; f_name (FFun nm args ret) = nm; -data FArgList : (List FType) -> # where+data FArgList : (List FType) -> Set where fNil : FArgList Nil | fCons : {x:FType} -> (fx:i_ftype x) -> (fxs:FArgList xs) -> (FArgList (Cons x xs));@@ -35,26 +35,26 @@ namespace IO { - data IO : # -> #;+ data IO : Set -> Set; - data Command : # where+ data Command : Set where PutStr : String -> Command | GetStr : Command- | Fork : {A:#} -> A -> Command+ | Fork : {A:Set} -> A -> Command | NewLock : Int -> Command | DoLock : Lock -> Command | DoUnlock : Lock -> Command | NewRef : Command- | ReadRef : # -> Int -> Command- | WriteRef : {A:#} -> Int -> A -> Command+ | ReadRef : Set -> Int -> Command+ | WriteRef : {A:Set} -> Int -> A -> Command | While : (IO Bool) -> (IO ()) -> Command- | WhileAcc : {A:#} -> (IO Bool) -> A -> (A -> IO A) -> Command+ | WhileAcc : {A:Set} -> (IO Bool) -> A -> (A -> IO A) -> Command | Within : Int -> (IO A) -> (IO A) -> Command- | IOLift : {A:#} -> (IO A) -> Command + | IOLift : {A:Set} -> (IO A) -> Command | Foreign : (f:ForeignFun) -> (args:FArgList (f_args f)) -> Command; - Response : Command -> #;+ Response : Command -> Set; Response (PutStr s) = (); Response GetStr = String; Response (Fork proc) = ();@@ -64,14 +64,14 @@ Response NewRef = Int; Response (ReadRef A i) = A; Response (WriteRef i val) = ();- Response (While test body) = ();- Response (WhileAcc {A} test acc body) = A;+ Response (While _ body) = ();+ Response (WhileAcc {A} _ acc body) = A; Response (Within {A} time body failure) = A; Response (IOLift {A} f) = A; Response (Foreign t args) = i_ftype (f_retType t); - data IO : # -> # where+ data IO : Set -> Set where IOReturn : A -> (IO A) | IODo : (c:Command) -> ((Response c) -> (IO A)) -> (IO A); @@ -92,7 +92,7 @@ kbind (IODo c p) k = IODo c (\x => (kbind (p x) k)); while : |(test:IO Bool) -> |(body: IO ()) -> IO ();-while test body = IODo (While test body) (\a => (IOReturn II));+while t body = IODo (While t body) (\a => (IOReturn II)); while_accTR : Bool -> |(test:IO Bool) -> acc -> |(body: acc -> IO acc) -> IO acc;@@ -121,7 +121,7 @@ data IOException = IOExcept String; -data IOe : # -> # where+data IOe : Set -> Set where IOK : (IO A) -> (IOe A) | IOError : String -> (IOe A); @@ -192,12 +192,12 @@ writeIORef : (IORef A) -> A -> (IO ()); writeIORef (MkIORef i) val = writeIORefPrim i val; -mkFType' : (List FType) -> FType -> # %nocg;+mkFType' : (List FType) -> FType -> Set %nocg; mkFType' Nil rt = IO (i_ftype rt);-mkFType' (Cons t ts) rt = #((i_ftype t) -> (mkFType' ts rt));+mkFType' (Cons t ts) rt = (i_ftype t) -> (mkFType' ts rt); -mkFType : ForeignFun -> # %nocg;+mkFType : ForeignFun -> Set %nocg; mkFType (FFun fn args rt) = mkFType' args rt; mkFDef : String -> (ts:List FType) -> (xs:List FType) -> (FArgList xs) ->
lib/list.idr view
@@ -54,4 +54,15 @@ %refl; %qed; };- ++app_Nil : (xs:List a) -> (app xs Nil = xs);+app_Nil Nil = refl _;+app_Nil (Cons x xs) = ?appNil_Cons;+appNil_Cons proof {+ %intro a;+ %intro;+ %rewrite <- app_Nil xs;+ %refl;+ %qed;+};+
lib/maybe.idr view
@@ -8,3 +8,6 @@ maybe Nothing def f = def; maybe (Just a) def f = f a; +maybeBind : Maybe a -> (a -> Maybe b) -> Maybe b;+maybeBind Nothing mf = Nothing;+maybeBind (Just x) mf = mf x;
lib/nat.idr view
@@ -11,6 +11,10 @@ eq_resp_S : (m=n) -> ((S m) = (S n)); eq_resp_S (refl n) = refl (S n); +power : Nat -> Nat -> Nat;+power n O = S O;+power n (S k) = mult n (power n k);+ ------- Int/String conversions ------- intToNat : Int -> Nat;@@ -115,7 +119,7 @@ ---- Comparing Nats -data Compare : Nat -> Nat -> # where+data Compare : Nat -> Nat -> Set where cmpLT : (y:Nat) -> (Compare x (plus x (S y))) | cmpEQ : Compare x x | cmpGT : (x:Nat) -> (Compare (plus y (S x)) y);
+ lib/perm.idr view
@@ -0,0 +1,139 @@+include "vect.idr";++-- Yes, it's a DSL! One which gives a sequence of operations for converting a+-- list into its permutation.++using (x:A, xs:List A, xs':List A, xs'':List A, + ys:List A, ys':List A,+ zs:List A)+{+ data Perm : (List A) -> (List A) -> Set where+ pnil : {A:Set} -> (Perm {A} Nil Nil)+ | pskip : (Perm xs xs') -> (Perm (Cons x xs) (Cons x xs'))+ | pswap : (Perm (Cons x (Cons y xs)) (Cons y (Cons x xs)))+ | ptrans : (Perm xs xs') -> (Perm xs' xs'') -> (Perm xs xs'');++ perm_id: Perm xs xs;+ perm_id {xs=Nil} = pnil;+ perm_id {xs=Cons x xs} = pskip perm_id;++ perm_sym : Perm xs xs' -> Perm xs' xs;+ perm_sym pnil = pnil;+ perm_sym (pskip p) = pskip (perm_sym p);+ perm_sym pswap = pswap;+ perm_sym (ptrans p q) = ptrans (perm_sym q) (perm_sym p);++ perm_refl : Perm xs xs;+ perm_refl {xs=Nil} = pnil;+ perm_refl {xs=Cons x xs} = pskip perm_refl;++ perm_app_head : (xs:List A) -> + Perm xs' ys' -> Perm (app xs xs') (app xs ys');+ perm_app_head Nil p = p;+ perm_app_head (Cons x xs) p = pskip (perm_app_head xs p);++ perm_add_cons : Perm (Cons x xs) (Cons x ys) -> Perm xs ys;+ perm_add_cons (pskip p) = p;+ perm_add_cons pswap = pskip perm_id;++ perm_app : Perm xs ys -> Perm xs' ys' ->+ Perm (app xs xs') (app ys ys');+ perm_app {xs=Nil} {ys=Nil} p p' = p';+ perm_app {xs=Cons x xs} {ys=Cons y ys} {xs'} {ys'} (ptrans p1 p2) p' = + let r1 = perm_app p1 p' in+ let r2 = perm_app p2 p' in ?papp_cons;++ perm_rewrite : Perm xs xs' -> Perm xs ys -> Perm xs' ys;+ perm_rewrite p1 p2 = ptrans (perm_sym p1) p2;++ perm_rewrite_cons : Perm (Cons x xs) xs' -> Perm xs ys -> + Perm (Cons x ys) xs';+ perm_rewrite_cons (pskip p1) p2 = pskip (ptrans (perm_sym p2) p1);+ perm_rewrite_cons pswap p = ptrans (pskip (perm_sym p)) pswap;+ perm_rewrite_cons (ptrans p1 p2) p3 = ptrans (perm_rewrite_cons p1 p3) p2;++ perm_rewrite_app : Perm (app xs ys) xs' -> Perm ys zs ->+ Perm (app xs zs) xs';+ perm_rewrite_app {xs=Nil} p1 p2 = perm_rewrite p2 p1;+ perm_rewrite_app {xs=Cons x xs} p1 p2 + = perm_rewrite_cons p1 (perm_app perm_id p2);++ perm_swapr : Perm xs (Cons x (Cons y ys)) ->+ Perm xs (Cons y (Cons x ys));+ perm_swapr {xs=Cons a (Cons b xs)} p = ptrans p pswap;++ perm_swapl : Perm (Cons x (Cons y ys)) xs ->+ Perm (Cons y (Cons x ys)) xs;+ perm_swapl {xs=Cons a (Cons b xs)} p = ptrans pswap p;++ perm_move_cons : Perm xs (app ys (Cons x zs)) ->+ Perm xs (Cons x (app ys zs));+ perm_move_cons {ys=Nil} p = p;+ perm_move_cons {ys=Cons y ys} p + = perm_swapr (perm_sym + (perm_rewrite_cons (perm_sym p) (perm_move_cons perm_id)));++ perm_cons_move : Perm xs (Cons x (app ys zs)) ->+ Perm xs (app ys (Cons x zs));+ + perm_cons_move {ys=Nil} p = p;+ perm_cons_move {ys=Cons y ys} p + = perm_sym (perm_rewrite_cons+ (perm_swapl (perm_sym p)) (perm_cons_move perm_id));++ -- This is by induction on the *list* xs, not the permutation, despite+ -- initial appearances.++ perm_app_cons : Perm xs (app xs' ys') ->+ Perm (Cons x xs) (app xs' (Cons x ys'));+ perm_app_cons {xs'=Nil} {ys'=Nil} p = pskip p;+ perm_app_cons {x} {xs=Cons x' xs} {xs'=Cons x' xs'}+ (pskip p) = let prec = perm_app_cons {x=x} p in+ perm_swapl (perm_rewrite_cons perm_id (perm_sym prec));+ perm_app_cons {xs=Cons x (Cons y _)} {xs'=Cons y (Cons x _)}+ pswap = perm_swapl (perm_swapr (pskip (perm_swapl+ (pskip (perm_app_cons perm_id))))); -- list is smaller!+ perm_app_cons {xs=Cons x' xs} {xs'=Cons x' xs'}+ (ptrans p1 p2) = perm_swapl (pskip (perm_app_cons+ (perm_add_cons (ptrans p1 p2)))); -- list is smaller!++ -- Again by induction on the list xs. Maybe there are shorter proofs,+ -- but it doesn't really matter, we're not going to run them...++ perm_app_swap : Perm (app xs ys) zs -> Perm (app ys xs) zs;+ perm_app_swap {xs=Nil} p ?= p; [papp_swap_nil]+ perm_app_swap {xs=Cons x xs} {zs=Cons x zs} + (pskip p) = perm_sym+ (perm_app_cons (perm_sym (perm_app_swap p)));+ perm_app_swap {xs=Cons x (Cons y _)}+ pswap = perm_swapr (perm_sym + (perm_app_cons + (perm_rewrite_cons + (perm_app_cons perm_id) (perm_app_swap perm_id))));+ perm_app_swap {xs=Cons x xs} {zs=Cons z zs}+ (ptrans p1 p2) = perm_sym (perm_cons_move + (perm_sym (perm_rewrite_cons + (ptrans p1 p2) (perm_app_swap perm_id))));++}+++papp_cons proof {+ %intro a;+ %intro;+ %refine ptrans;+ %fill (app X xs');+ %refine ptrans;+ %fill (app X ys');+ %fill r1;+ %fill perm_app_head X (perm_sym p');+ %fill r2;+ %qed;+};++papp_swap_nil proof {+ %intro;+ %use value;+ %fill app_Nil X1;+ %qed;+};
lib/prelude.idr view
@@ -1,10 +1,11 @@ flip : (a -> b -> c) -> b -> a -> c; flip f x y = f y x; -infixl 5 ==;+infixl 5 ==, /=; infixl 6 <, <=, >, >=;-infixl 7 +,-,++;-infixl 8 *,/;+infixl 7 <=<, >=>;+infixl 8 +,-,++;+infixl 9 *,/; (+) : Int -> Int -> Int inline; (+) x y = __addInt x y;@@ -35,6 +36,15 @@ (==) : Int -> Int -> Bool inline; (==) x y = __eq x y;++(/=) : Int -> Int -> Bool inline;+(/=) x y = not (__eq x y);++(<=<) : Int -> Int -> Int inline;+(<=<) x y = __shl x y;++(>=>) : Int -> Int -> Int inline;+(>=>) x y = __shr x y; include "nat.idr"; include "maybe.idr";
lib/string.idr view
@@ -18,6 +18,14 @@ strTail: String -> Maybe String inline; strTail s = if (strNull s) then Nothing else (Just (__strTail s)); +-- Some more, faster, string manipulations++strHead' : (x:String) -> (so (not (strNull x))) -> Char;+strHead' x p = __strHead x;++strTail' : (x:String) -> (so (not (strNull x))) -> String;+strTail' x p = __strTail x;+ strCons: Char -> String -> String inline; strCons c s = __strCons c s; @@ -26,6 +34,31 @@ | (Just h, Just t) = Just (h, t); | (Nothing, Nothing) = Nothing; }++{-- A view of strings, for better, faster, pattern matching --}++data StrM : String -> Set where+ StrNil : StrM ""+ | StrCons : (x:Char) -> (xs:String) -> StrM (strCons x xs);++strM : (x:String) -> StrM x;+strM x with choose (strNull x) {+ | Left p ?= StrCons (strHead' x p) (strTail' x p); [strMleft]+ | Right p ?= StrNil; [strMright]+}++strMright proof {+ %intro;+ %believe value; -- it's a primitive operation, we have to believe it!+ %qed;+};++strMleft proof {+ %intro;+ %believe value; -- it's a primitive operation, we have to believe it!+ %qed;+};+ charAt: Int -> String -> Maybe Char inline; charAt x str =
+ lib/system.idr view
@@ -0,0 +1,7 @@+-- Interaction with the outside world, operating system, etc.++%include "system_glue.h"+%lib "system_glue.o"+++
lib/tactics.idr view
@@ -1,5 +1,5 @@-data Tactic : # where- TFill : {a:#} -> a -> Tactic+data Tactic : Set where+ TFill : {a:Set} -> a -> Tactic | TRefine : String -> Tactic | TTrivial : Tactic | TTry : Tactic -> Tactic -> Tactic
lib/vect.idr view
@@ -2,14 +2,22 @@ infixr 5 ::; -data Vect : # -> Nat -> # where+data Vect : Set -> Nat -> Set where VNil : Vect A O | (::) : A -> (Vect A k) -> (Vect A (S k)); -data Fin : Nat -> # where+data Fin : Nat -> Set where fO : Fin (S k) | fS : (Fin k) -> (Fin (S k)); +finToNat : Fin k -> Nat;+finToNat fO = O;+finToNat (fS k) = S (finToNat k);++natToFin : (x:Nat) -> Fin (S x);+natToFin O = fO;+natToFin (S k) = fS (natToFin k);+ vlookup : (Fin k) -> (Vect A k) -> A; vlookup fO (x :: xs) = x; vlookup (fS k) (x :: xs) = vlookup k xs;@@ -28,9 +36,9 @@ -- Membership predicate for vectors, and means to compute one. -using (A:#, n:Nat, i:Fin n, x:A, y:A, xs:Vect A n) {+using (A:Set, n:Nat, i:Fin n, x:A, y:A, xs:Vect A n) { - data ElemIs : (Fin n) -> A -> (Vect A n) -> # where+ data ElemIs : (Fin n) -> A -> (Vect A n) -> Set where first : (ElemIs fO x (x :: xs)) | later : (ElemIs i x xs) -> (ElemIs (fS i) x (y :: xs)); }