GF.Grammar.Parser

Plain source file: src/compiler/GF/Grammar/Parser.hs (2013-09-19)

GF.Grammar.Parser is imported by: ...
{-# OPTIONS_GHC -w #-}
{-# OPTIONS -fno-warn-overlapping-patterns #-}
module GF.Grammar.Parser
         ( P, runP
         , pModDef
         , pModHeader
         , pExp
         , pTopDef
         ) where

import GF.Infra.Ident
import GF.Infra.Option
import GF.Data.Operations
import GF.Grammar.Predef
import GF.Grammar.Grammar
import GF.Grammar.Macros
import GF.Grammar.Lexer
import GF.Compile.Update (buildAnyTree)
import Codec.Binary.UTF8.String(decodeString)
import Data.Char(toLower)

-- parser produced by Happy Version 1.18.10

data HappyAbsSyn 
	= HappyTerminal (Token)
	| HappyErrorToken Int
	| HappyAbsSyn7 (SourceModule)
	| HappyAbsSyn9 (ModuleStatus)
	| HappyAbsSyn10 ((ModuleType,Ident))
	| HappyAbsSyn11 (( [(Ident,MInclude)]
                   , Maybe (Ident,MInclude,[(Ident,Ident)])
                   , [OpenSpec]
                   ))
	| HappyAbsSyn12 ([OpenSpec])
	| HappyAbsSyn13 (( [(Ident,MInclude)]
             , Maybe (Ident,MInclude,[(Ident,Ident)])
             , Maybe ([OpenSpec],[(Ident,Info)],Options)
             ))
	| HappyAbsSyn14 (([OpenSpec],[(Ident,Info)],Options))
	| HappyAbsSyn15 ([Either [(Ident,Info)] Options])
	| HappyAbsSyn17 (OpenSpec)
	| HappyAbsSyn18 ([(Ident,Ident)])
	| HappyAbsSyn19 ((Ident,Ident))
	| HappyAbsSyn20 ([(Ident,MInclude)])
	| HappyAbsSyn21 ((Ident,MInclude))
	| HappyAbsSyn22 (Either [(Ident,Info)] Options)
	| HappyAbsSyn23 ([(Ident,Info)])
	| HappyAbsSyn30 ([(Ident,L Term)])
	| HappyAbsSyn31 (Options)
	| HappyAbsSyn32 ([Ident])
	| HappyAbsSyn33 (L Param)
	| HappyAbsSyn43 ([L Param])
	| HappyAbsSyn46 (Ident)
	| HappyAbsSyn49 ([(Ident, Maybe Type, Maybe Term)])
	| HappyAbsSyn51 (Term)
	| HappyAbsSyn58 ([Term])
	| HappyAbsSyn60 (Patt)
	| HappyAbsSyn64 ([(Label,Patt)])
	| HappyAbsSyn65 (Label)
	| HappyAbsSyn68 ([Patt])
	| HappyAbsSyn70 ([(BindType,Ident)])
	| HappyAbsSyn74 ([Hypo])
	| HappyAbsSyn77 (Case)
	| HappyAbsSyn78 ([Case])
	| HappyAbsSyn79 ((Term,Term))
	| HappyAbsSyn80 ([(Term,Term)])
	| HappyAbsSyn83 (Posn)

{- to allow type-synonyms as our monads (likely
 - with explicitly-specified bind and return)
 - in Haskell98, it seems that with
 - /type M a = .../, then /(HappyReduction M)/
 - is not allowed.  But Happy is a
 - code-generator that can just substitute it.
type HappyReduction m = 
	   Int 
	-> (Token)
	-> HappyState (Token) (HappyStk HappyAbsSyn -> m HappyAbsSyn)
	-> [HappyState (Token) (HappyStk HappyAbsSyn -> m HappyAbsSyn)] 
	-> HappyStk HappyAbsSyn 
	-> m HappyAbsSyn
-}

action_0,
 action_1,
 action_2,
 action_3,
 action_4,
 action_5,
 action_6,
 action_7,
 action_8,
 action_9,
 action_10,
 action_11,
 action_12,
 action_13,
 action_14,
 action_15,
 action_16,
 action_17,
 action_18,
 action_19,
 action_20,
 action_21,
 action_22,
 action_23,
 action_24,
 action_25,
 action_26,
 action_27,
 action_28,
 action_29,
 action_30,
 action_31,
 action_32,
 action_33,
 action_34,
 action_35,
 action_36,
 action_37,
 action_38,
 action_39,
 action_40,
 action_41,
 action_42,
 action_43,
 action_44,
 action_45,
 action_46,
 action_47,
 action_48,
 action_49,
 action_50,
 action_51,
 action_52,
 action_53,
 action_54,
 action_55,
 action_56,
 action_57,
 action_58,
 action_59,
 action_60,
 action_61,
 action_62,
 action_63,
 action_64,
 action_65,
 action_66,
 action_67,
 action_68,
 action_69,
 action_70,
 action_71,
 action_72,
 action_73,
 action_74,
 action_75,
 action_76,
 action_77,
 action_78,
 action_79,
 action_80,
 action_81,
 action_82,
 action_83,
 action_84,
 action_85,
 action_86,
 action_87,
 action_88,
 action_89,
 action_90,
 action_91,
 action_92,
 action_93,
 action_94,
 action_95,
 action_96,
 action_97,
 action_98,
 action_99,
 action_100,
 action_101,
 action_102,
 action_103,
 action_104,
 action_105,
 action_106,
 action_107,
 action_108,
 action_109,
 action_110,
 action_111,
 action_112,
 action_113,
 action_114,
 action_115,
 action_116,
 action_117,
 action_118,
 action_119,
 action_120,
 action_121,
 action_122,
 action_123,
 action_124,
 action_125,
 action_126,
 action_127,
 action_128,
 action_129,
 action_130,
 action_131,
 action_132,
 action_133,
 action_134,
 action_135,
 action_136,
 action_137,
 action_138,
 action_139,
 action_140,
 action_141,
 action_142,
 action_143,
 action_144,
 action_145,
 action_146,
 action_147,
 action_148,
 action_149,
 action_150,
 action_151,
 action_152,
 action_153,
 action_154,
 action_155,
 action_156,
 action_157,
 action_158,
 action_159,
 action_160,
 action_161,
 action_162,
 action_163,
 action_164,
 action_165,
 action_166,
 action_167,
 action_168,
 action_169,
 action_170,
 action_171,
 action_172,
 action_173,
 action_174,
 action_175,
 action_176,
 action_177,
 action_178,
 action_179,
 action_180,
 action_181,
 action_182,
 action_183,
 action_184,
 action_185,
 action_186,
 action_187,
 action_188,
 action_189,
 action_190,
 action_191,
 action_192,
 action_193,
 action_194,
 action_195,
 action_196,
 action_197,
 action_198,
 action_199,
 action_200,
 action_201,
 action_202,
 action_203,
 action_204,
 action_205,
 action_206,
 action_207,
 action_208,
 action_209,
 action_210,
 action_211,
 action_212,
 action_213,
 action_214,
 action_215,
 action_216,
 action_217,
 action_218,
 action_219,
 action_220,
 action_221,
 action_222,
 action_223,
 action_224,
 action_225,
 action_226,
 action_227,
 action_228,
 action_229,
 action_230,
 action_231,
 action_232,
 action_233,
 action_234,
 action_235,
 action_236,
 action_237,
 action_238,
 action_239,
 action_240,
 action_241,
 action_242,
 action_243,
 action_244,
 action_245,
 action_246,
 action_247,
 action_248,
 action_249,
 action_250,
 action_251,
 action_252,
 action_253,
 action_254,
 action_255,
 action_256,
 action_257,
 action_258,
 action_259,
 action_260,
 action_261,
 action_262,
 action_263,
 action_264,
 action_265,
 action_266,
 action_267,
 action_268,
 action_269,
 action_270,
 action_271,
 action_272,
 action_273,
 action_274,
 action_275,
 action_276,
 action_277,
 action_278,
 action_279,
 action_280,
 action_281,
 action_282,
 action_283,
 action_284,
 action_285,
 action_286,
 action_287,
 action_288,
 action_289,
 action_290,
 action_291,
 action_292,
 action_293,
 action_294,
 action_295,
 action_296,
 action_297,
 action_298,
 action_299,
 action_300,
 action_301,
 action_302,
 action_303,
 action_304,
 action_305,
 action_306,
 action_307,
 action_308,
 action_309,
 action_310,
 action_311,
 action_312,
 action_313,
 action_314,
 action_315,
 action_316,
 action_317,
 action_318,
 action_319,
 action_320,
 action_321,
 action_322,
 action_323,
 action_324,
 action_325,
 action_326,
 action_327,
 action_328,
 action_329,
 action_330,
 action_331,
 action_332,
 action_333,
 action_334,
 action_335,
 action_336,
 action_337,
 action_338,
 action_339,
 action_340,
 action_341,
 action_342,
 action_343,
 action_344,
 action_345,
 action_346,
 action_347,
 action_348,
 action_349,
 action_350,
 action_351,
 action_352,
 action_353,
 action_354,
 action_355,
 action_356,
 action_357,
 action_358,
 action_359,
 action_360,
 action_361,
 action_362,
 action_363,
 action_364,
 action_365,
 action_366,
 action_367,
 action_368,
 action_369,
 action_370,
 action_371,
 action_372,
 action_373,
 action_374,
 action_375,
 action_376,
 action_377,
 action_378,
 action_379,
 action_380,
 action_381,
 action_382,
 action_383,
 action_384,
 action_385,
 action_386,
 action_387,
 action_388,
 action_389,
 action_390,
 action_391,
 action_392,
 action_393,
 action_394,
 action_395,
 action_396,
 action_397,
 action_398,
 action_399,
 action_400,
 action_401,
 action_402,
 action_403,
 action_404,
 action_405,
 action_406,
 action_407,
 action_408,
 action_409,
 action_410,
 action_411,
 action_412,
 action_413,
 action_414,
 action_415,
 action_416,
 action_417,
 action_418,
 action_419,
 action_420,
 action_421,
 action_422,
 action_423,
 action_424,
 action_425,
 action_426,
 action_427,
 action_428,
 action_429,
 action_430,
 action_431,
 action_432,
 action_433,
 action_434,
 action_435,
 action_436,
 action_437,
 action_438,
 action_439,
 action_440,
 action_441,
 action_442,
 action_443,
 action_444,
 action_445,
 action_446,
 action_447,
 action_448,
 action_449,
 action_450,
 action_451,
 action_452,
 action_453,
 action_454,
 action_455,
 action_456,
 action_457,
 action_458,
 action_459,
 action_460,
 action_461,
 action_462,
 action_463,
 action_464,
 action_465,
 action_466,
 action_467,
 action_468,
 action_469,
 action_470,
 action_471,
 action_472,
 action_473,
 action_474,
 action_475,
 action_476,
 action_477,
 action_478,
 action_479,
 action_480,
 action_481,
 action_482,
 action_483,
 action_484,
 action_485,
 action_486,
 action_487,
 action_488,
 action_489,
 action_490,
 action_491,
 action_492,
 action_493,
 action_494,
 action_495,
 action_496,
 action_497,
 action_498,
 action_499,
 action_500,
 action_501,
 action_502,
 action_503,
 action_504,
 action_505,
 action_506,
 action_507,
 action_508,
 action_509,
 action_510,
 action_511,
 action_512,
 action_513,
 action_514,
 action_515,
 action_516,
 action_517,
 action_518 :: () => Int -> ({-HappyReduction (P) = -}
	   Int 
	-> (Token)
	-> HappyState (Token) (HappyStk HappyAbsSyn -> (P) HappyAbsSyn)
	-> [HappyState (Token) (HappyStk HappyAbsSyn -> (P) HappyAbsSyn)] 
	-> HappyStk HappyAbsSyn 
	-> (P) HappyAbsSyn)

happyReduce_4,
 happyReduce_5,
 happyReduce_6,
 happyReduce_7,
 happyReduce_8,
 happyReduce_9,
 happyReduce_10,
 happyReduce_11,
 happyReduce_12,
 happyReduce_13,
 happyReduce_14,
 happyReduce_15,
 happyReduce_16,
 happyReduce_17,
 happyReduce_18,
 happyReduce_19,
 happyReduce_20,
 happyReduce_21,
 happyReduce_22,
 happyReduce_23,
 happyReduce_24,
 happyReduce_25,
 happyReduce_26,
 happyReduce_27,
 happyReduce_28,
 happyReduce_29,
 happyReduce_30,
 happyReduce_31,
 happyReduce_32,
 happyReduce_33,
 happyReduce_34,
 happyReduce_35,
 happyReduce_36,
 happyReduce_37,
 happyReduce_38,
 happyReduce_39,
 happyReduce_40,
 happyReduce_41,
 happyReduce_42,
 happyReduce_43,
 happyReduce_44,
 happyReduce_45,
 happyReduce_46,
 happyReduce_47,
 happyReduce_48,
 happyReduce_49,
 happyReduce_50,
 happyReduce_51,
 happyReduce_52,
 happyReduce_53,
 happyReduce_54,
 happyReduce_55,
 happyReduce_56,
 happyReduce_57,
 happyReduce_58,
 happyReduce_59,
 happyReduce_60,
 happyReduce_61,
 happyReduce_62,
 happyReduce_63,
 happyReduce_64,
 happyReduce_65,
 happyReduce_66,
 happyReduce_67,
 happyReduce_68,
 happyReduce_69,
 happyReduce_70,
 happyReduce_71,
 happyReduce_72,
 happyReduce_73,
 happyReduce_74,
 happyReduce_75,
 happyReduce_76,
 happyReduce_77,
 happyReduce_78,
 happyReduce_79,
 happyReduce_80,
 happyReduce_81,
 happyReduce_82,
 happyReduce_83,
 happyReduce_84,
 happyReduce_85,
 happyReduce_86,
 happyReduce_87,
 happyReduce_88,
 happyReduce_89,
 happyReduce_90,
 happyReduce_91,
 happyReduce_92,
 happyReduce_93,
 happyReduce_94,
 happyReduce_95,
 happyReduce_96,
 happyReduce_97,
 happyReduce_98,
 happyReduce_99,
 happyReduce_100,
 happyReduce_101,
 happyReduce_102,
 happyReduce_103,
 happyReduce_104,
 happyReduce_105,
 happyReduce_106,
 happyReduce_107,
 happyReduce_108,
 happyReduce_109,
 happyReduce_110,
 happyReduce_111,
 happyReduce_112,
 happyReduce_113,
 happyReduce_114,
 happyReduce_115,
 happyReduce_116,
 happyReduce_117,
 happyReduce_118,
 happyReduce_119,
 happyReduce_120,
 happyReduce_121,
 happyReduce_122,
 happyReduce_123,
 happyReduce_124,
 happyReduce_125,
 happyReduce_126,
 happyReduce_127,
 happyReduce_128,
 happyReduce_129,
 happyReduce_130,
 happyReduce_131,
 happyReduce_132,
 happyReduce_133,
 happyReduce_134,
 happyReduce_135,
 happyReduce_136,
 happyReduce_137,
 happyReduce_138,
 happyReduce_139,
 happyReduce_140,
 happyReduce_141,
 happyReduce_142,
 happyReduce_143,
 happyReduce_144,
 happyReduce_145,
 happyReduce_146,
 happyReduce_147,
 happyReduce_148,
 happyReduce_149,
 happyReduce_150,
 happyReduce_151,
 happyReduce_152,
 happyReduce_153,
 happyReduce_154,
 happyReduce_155,
 happyReduce_156,
 happyReduce_157,
 happyReduce_158,
 happyReduce_159,
 happyReduce_160,
 happyReduce_161,
 happyReduce_162,
 happyReduce_163,
 happyReduce_164,
 happyReduce_165,
 happyReduce_166,
 happyReduce_167,
 happyReduce_168,
 happyReduce_169,
 happyReduce_170,
 happyReduce_171,
 happyReduce_172,
 happyReduce_173,
 happyReduce_174,
 happyReduce_175,
 happyReduce_176,
 happyReduce_177,
 happyReduce_178,
 happyReduce_179,
 happyReduce_180,
 happyReduce_181,
 happyReduce_182,
 happyReduce_183,
 happyReduce_184,
 happyReduce_185,
 happyReduce_186,
 happyReduce_187,
 happyReduce_188,
 happyReduce_189,
 happyReduce_190,
 happyReduce_191,
 happyReduce_192,
 happyReduce_193,
 happyReduce_194,
 happyReduce_195,
 happyReduce_196,
 happyReduce_197,
 happyReduce_198,
 happyReduce_199,
 happyReduce_200,
 happyReduce_201,
 happyReduce_202,
 happyReduce_203,
 happyReduce_204,
 happyReduce_205,
 happyReduce_206,
 happyReduce_207,
 happyReduce_208,
 happyReduce_209,
 happyReduce_210,
 happyReduce_211,
 happyReduce_212,
 happyReduce_213,
 happyReduce_214,
 happyReduce_215,
 happyReduce_216,
 happyReduce_217,
 happyReduce_218,
 happyReduce_219,
 happyReduce_220,
 happyReduce_221,
 happyReduce_222,
 happyReduce_223,
 happyReduce_224,
 happyReduce_225,
 happyReduce_226,
 happyReduce_227,
 happyReduce_228,
 happyReduce_229,
 happyReduce_230,
 happyReduce_231,
 happyReduce_232,
 happyReduce_233,
 happyReduce_234,
 happyReduce_235,
 happyReduce_236,
 happyReduce_237,
 happyReduce_238 :: () => ({-HappyReduction (P) = -}
	   Int 
	-> (Token)
	-> HappyState (Token) (HappyStk HappyAbsSyn -> (P) HappyAbsSyn)
	-> [HappyState (Token) (HappyStk HappyAbsSyn -> (P) HappyAbsSyn)] 
	-> HappyStk HappyAbsSyn 
	-> (P) HappyAbsSyn)

action_0 (129) = happyShift action_6
action_0 (7) = happyGoto action_58
action_0 (9) = happyGoto action_5
action_0 _ = happyReduce_6

action_1 (122) = happyShift action_47
action_1 (124) = happyShift action_48
action_1 (125) = happyShift action_49
action_1 (126) = happyShift action_50
action_1 (127) = happyShift action_51
action_1 (133) = happyShift action_52
action_1 (134) = happyShift action_53
action_1 (135) = happyShift action_54
action_1 (138) = happyShift action_55
action_1 (139) = happyShift action_56
action_1 (142) = happyShift action_57
action_1 (22) = happyGoto action_46
action_1 _ = happyFail

action_2 (129) = happyShift action_6
action_2 (8) = happyGoto action_44
action_2 (9) = happyGoto action_45
action_2 _ = happyReduce_6

action_3 (85) = happyShift action_16
action_3 (87) = happyShift action_17
action_3 (101) = happyShift action_18
action_3 (105) = happyShift action_19
action_3 (107) = happyShift action_20
action_3 (109) = happyShift action_21
action_3 (111) = happyShift action_22
action_3 (112) = happyShift action_23
action_3 (115) = happyShift action_24
action_3 (116) = happyShift action_25
action_3 (117) = happyShift action_26
action_3 (118) = happyShift action_27
action_3 (119) = happyShift action_28
action_3 (121) = happyShift action_29
action_3 (128) = happyShift action_30
action_3 (132) = happyShift action_31
action_3 (133) = happyShift action_32
action_3 (134) = happyShift action_33
action_3 (140) = happyShift action_34
action_3 (141) = happyShift action_35
action_3 (144) = happyShift action_36
action_3 (145) = happyShift action_37
action_3 (146) = happyShift action_38
action_3 (149) = happyShift action_39
action_3 (150) = happyShift action_40
action_3 (151) = happyShift action_41
action_3 (152) = happyShift action_42
action_3 (153) = happyShift action_43
action_3 (51) = happyGoto action_7
action_3 (52) = happyGoto action_8
action_3 (53) = happyGoto action_9
action_3 (54) = happyGoto action_10
action_3 (55) = happyGoto action_11
action_3 (56) = happyGoto action_12
action_3 (57) = happyGoto action_13
action_3 (66) = happyGoto action_14
action_3 (74) = happyGoto action_15
action_3 _ = happyFail

action_4 (129) = happyShift action_6
action_4 (9) = happyGoto action_5
action_4 _ = happyFail

action_5 (120) = happyShift action_90
action_5 (123) = happyShift action_91
action_5 (130) = happyShift action_92
action_5 (131) = happyShift action_93
action_5 (143) = happyShift action_94
action_5 (10) = happyGoto action_151
action_5 _ = happyFail

action_6 _ = happyReduce_7

action_7 (154) = happyAccept
action_7 _ = happyFail

action_8 (114) = happyShift action_150
action_8 _ = happyReduce_125

action_9 (93) = happyShift action_149
action_9 _ = happyReduce_127

action_10 (84) = happyShift action_143
action_10 (90) = happyShift action_144
action_10 (91) = happyShift action_145
action_10 (92) = happyShift action_146
action_10 (96) = happyReduce_221
action_10 (103) = happyShift action_147
action_10 (147) = happyShift action_148
action_10 _ = happyReduce_129

action_11 (87) = happyShift action_97
action_11 (101) = happyShift action_18
action_11 (105) = happyShift action_19
action_11 (107) = happyShift action_20
action_11 (109) = happyShift action_142
action_11 (115) = happyShift action_24
action_11 (116) = happyShift action_25
action_11 (117) = happyShift action_26
action_11 (118) = happyShift action_27
action_11 (119) = happyShift action_28
action_11 (149) = happyShift action_39
action_11 (150) = happyShift action_40
action_11 (151) = happyShift action_41
action_11 (152) = happyShift action_42
action_11 (153) = happyShift action_43
action_11 (56) = happyGoto action_141
action_11 (57) = happyGoto action_13
action_11 (66) = happyGoto action_14
action_11 _ = happyReduce_136

action_12 (97) = happyShift action_140
action_12 _ = happyReduce_149

action_13 _ = happyReduce_151

action_14 _ = happyReduce_153

action_15 (96) = happyShift action_139
action_15 _ = happyFail

action_16 (85) = happyShift action_128
action_16 (87) = happyShift action_129
action_16 (101) = happyShift action_130
action_16 (105) = happyShift action_131
action_16 (107) = happyShift action_132
action_16 (109) = happyShift action_133
action_16 (113) = happyShift action_134
action_16 (149) = happyShift action_135
action_16 (150) = happyShift action_136
action_16 (151) = happyShift action_137
action_16 (153) = happyShift action_138
action_16 (63) = happyGoto action_127
action_16 _ = happyFail

action_17 (85) = happyShift action_16
action_17 (87) = happyShift action_17
action_17 (101) = happyShift action_18
action_17 (105) = happyShift action_19
action_17 (107) = happyShift action_20
action_17 (109) = happyShift action_125
action_17 (111) = happyShift action_22
action_17 (112) = happyShift action_23
action_17 (113) = happyShift action_114
action_17 (115) = happyShift action_24
action_17 (116) = happyShift action_25
action_17 (117) = happyShift action_26
action_17 (118) = happyShift action_27
action_17 (119) = happyShift action_28
action_17 (121) = happyShift action_29
action_17 (128) = happyShift action_30
action_17 (132) = happyShift action_31
action_17 (133) = happyShift action_32
action_17 (134) = happyShift action_33
action_17 (140) = happyShift action_34
action_17 (141) = happyShift action_35
action_17 (144) = happyShift action_36
action_17 (145) = happyShift action_37
action_17 (146) = happyShift action_38
action_17 (149) = happyShift action_39
action_17 (150) = happyShift action_40
action_17 (151) = happyShift action_41
action_17 (152) = happyShift action_42
action_17 (153) = happyShift action_126
action_17 (51) = happyGoto action_123
action_17 (52) = happyGoto action_8
action_17 (53) = happyGoto action_9
action_17 (54) = happyGoto action_10
action_17 (55) = happyGoto action_11
action_17 (56) = happyGoto action_12
action_17 (57) = happyGoto action_13
action_17 (66) = happyGoto action_14
action_17 (72) = happyGoto action_111
action_17 (73) = happyGoto action_124
action_17 (74) = happyGoto action_15
action_17 _ = happyFail

action_18 (85) = happyShift action_16
action_18 (87) = happyShift action_17
action_18 (101) = happyShift action_18
action_18 (105) = happyShift action_19
action_18 (107) = happyShift action_20
action_18 (109) = happyShift action_21
action_18 (111) = happyShift action_22
action_18 (112) = happyShift action_23
action_18 (115) = happyShift action_24
action_18 (116) = happyShift action_25
action_18 (117) = happyShift action_26
action_18 (118) = happyShift action_27
action_18 (119) = happyShift action_28
action_18 (121) = happyShift action_29
action_18 (128) = happyShift action_30
action_18 (132) = happyShift action_31
action_18 (133) = happyShift action_32
action_18 (134) = happyShift action_33
action_18 (140) = happyShift action_34
action_18 (141) = happyShift action_35
action_18 (144) = happyShift action_36
action_18 (145) = happyShift action_37
action_18 (146) = happyShift action_38
action_18 (149) = happyShift action_39
action_18 (150) = happyShift action_40
action_18 (151) = happyShift action_41
action_18 (152) = happyShift action_42
action_18 (153) = happyShift action_43
action_18 (51) = happyGoto action_121
action_18 (52) = happyGoto action_8
action_18 (53) = happyGoto action_9
action_18 (54) = happyGoto action_10
action_18 (55) = happyGoto action_11
action_18 (56) = happyGoto action_12
action_18 (57) = happyGoto action_13
action_18 (66) = happyGoto action_14
action_18 (74) = happyGoto action_15
action_18 (75) = happyGoto action_122
action_18 _ = happyReduce_222

action_19 _ = happyReduce_157

action_20 (108) = happyShift action_118
action_20 (151) = happyShift action_119
action_20 (153) = happyShift action_120
action_20 _ = happyFail

action_21 (153) = happyShift action_108
action_21 (44) = happyGoto action_104
action_21 (49) = happyGoto action_105
action_21 (50) = happyGoto action_117
action_21 _ = happyReduce_113

action_22 (109) = happyShift action_113
action_22 (113) = happyShift action_114
action_22 (153) = happyShift action_115
action_22 (72) = happyGoto action_111
action_22 (73) = happyGoto action_116
action_22 _ = happyFail

action_23 (109) = happyShift action_113
action_23 (113) = happyShift action_114
action_23 (153) = happyShift action_115
action_23 (72) = happyGoto action_111
action_23 (73) = happyGoto action_112
action_23 _ = happyFail

action_24 _ = happyReduce_199

action_25 _ = happyReduce_201

action_26 _ = happyReduce_202

action_27 _ = happyReduce_200

action_28 _ = happyReduce_198

action_29 (85) = happyShift action_16
action_29 (87) = happyShift action_17
action_29 (101) = happyShift action_18
action_29 (105) = happyShift action_19
action_29 (107) = happyShift action_20
action_29 (109) = happyShift action_21
action_29 (111) = happyShift action_22
action_29 (112) = happyShift action_23
action_29 (115) = happyShift action_24
action_29 (116) = happyShift action_25
action_29 (117) = happyShift action_26
action_29 (118) = happyShift action_27
action_29 (119) = happyShift action_28
action_29 (121) = happyShift action_29
action_29 (128) = happyShift action_30
action_29 (132) = happyShift action_31
action_29 (133) = happyShift action_32
action_29 (134) = happyShift action_33
action_29 (140) = happyShift action_34
action_29 (141) = happyShift action_35
action_29 (144) = happyShift action_36
action_29 (145) = happyShift action_37
action_29 (146) = happyShift action_38
action_29 (149) = happyShift action_39
action_29 (150) = happyShift action_40
action_29 (151) = happyShift action_41
action_29 (152) = happyShift action_42
action_29 (153) = happyShift action_43
action_29 (51) = happyGoto action_110
action_29 (52) = happyGoto action_8
action_29 (53) = happyGoto action_9
action_29 (54) = happyGoto action_10
action_29 (55) = happyGoto action_11
action_29 (56) = happyGoto action_12
action_29 (57) = happyGoto action_13
action_29 (66) = happyGoto action_14
action_29 (74) = happyGoto action_15
action_29 _ = happyFail

action_30 (87) = happyShift action_97
action_30 (101) = happyShift action_18
action_30 (105) = happyShift action_19
action_30 (107) = happyShift action_20
action_30 (109) = happyShift action_21
action_30 (115) = happyShift action_24
action_30 (116) = happyShift action_25
action_30 (117) = happyShift action_26
action_30 (118) = happyShift action_27
action_30 (119) = happyShift action_28
action_30 (149) = happyShift action_39
action_30 (150) = happyShift action_40
action_30 (151) = happyShift action_41
action_30 (152) = happyShift action_42
action_30 (153) = happyShift action_43
action_30 (56) = happyGoto action_109
action_30 (57) = happyGoto action_13
action_30 (66) = happyGoto action_14
action_30 _ = happyFail

action_31 (109) = happyShift action_107
action_31 (153) = happyShift action_108
action_31 (44) = happyGoto action_104
action_31 (49) = happyGoto action_105
action_31 (50) = happyGoto action_106
action_31 _ = happyReduce_113

action_32 (153) = happyShift action_103
action_32 _ = happyFail

action_33 (153) = happyShift action_102
action_33 _ = happyFail

action_34 (87) = happyShift action_97
action_34 (101) = happyShift action_18
action_34 (105) = happyShift action_19
action_34 (107) = happyShift action_20
action_34 (109) = happyShift action_21
action_34 (115) = happyShift action_24
action_34 (116) = happyShift action_25
action_34 (117) = happyShift action_26
action_34 (118) = happyShift action_27
action_34 (119) = happyShift action_28
action_34 (149) = happyShift action_39
action_34 (150) = happyShift action_40
action_34 (151) = happyShift action_41
action_34 (152) = happyShift action_42
action_34 (153) = happyShift action_43
action_34 (56) = happyGoto action_101
action_34 (57) = happyGoto action_13
action_34 (66) = happyGoto action_14
action_34 _ = happyFail

action_35 (109) = happyShift action_100
action_35 _ = happyFail

action_36 (109) = happyShift action_99
action_36 _ = happyFail

action_37 (87) = happyShift action_97
action_37 (101) = happyShift action_18
action_37 (105) = happyShift action_19
action_37 (107) = happyShift action_20
action_37 (109) = happyShift action_98
action_37 (115) = happyShift action_24
action_37 (116) = happyShift action_25
action_37 (117) = happyShift action_26
action_37 (118) = happyShift action_27
action_37 (119) = happyShift action_28
action_37 (149) = happyShift action_39
action_37 (150) = happyShift action_40
action_37 (151) = happyShift action_41
action_37 (152) = happyShift action_42
action_37 (153) = happyShift action_43
action_37 (57) = happyGoto action_96
action_37 (66) = happyGoto action_14
action_37 _ = happyFail

action_38 (109) = happyShift action_95
action_38 _ = happyFail

action_39 _ = happyReduce_155

action_40 _ = happyReduce_156

action_41 _ = happyReduce_154

action_42 _ = happyReduce_164

action_43 _ = happyReduce_152

action_44 (1) = happyAccept
action_44 _ = happyFail

action_45 (120) = happyShift action_90
action_45 (123) = happyShift action_91
action_45 (130) = happyShift action_92
action_45 (131) = happyShift action_93
action_45 (143) = happyShift action_94
action_45 (10) = happyGoto action_89
action_45 _ = happyFail

action_46 (154) = happyAccept
action_46 _ = happyFail

action_47 (23) = happyGoto action_86
action_47 (37) = happyGoto action_87
action_47 (83) = happyGoto action_88
action_47 _ = happyReduce_238

action_48 (26) = happyGoto action_83
action_48 (39) = happyGoto action_84
action_48 (83) = happyGoto action_85
action_48 _ = happyReduce_238

action_49 (25) = happyGoto action_80
action_49 (35) = happyGoto action_81
action_49 (83) = happyGoto action_82
action_49 _ = happyReduce_238

action_50 (31) = happyGoto action_77
action_50 (42) = happyGoto action_78
action_50 (83) = happyGoto action_79
action_50 _ = happyReduce_238

action_51 (24) = happyGoto action_74
action_51 (38) = happyGoto action_75
action_51 (83) = happyGoto action_76
action_51 _ = happyReduce_238

action_52 (29) = happyGoto action_71
action_52 (34) = happyGoto action_72
action_52 (83) = happyGoto action_73
action_52 _ = happyReduce_238

action_53 (30) = happyGoto action_67
action_53 (41) = happyGoto action_70
action_53 (83) = happyGoto action_69
action_53 _ = happyReduce_238

action_54 (30) = happyGoto action_67
action_54 (41) = happyGoto action_68
action_54 (83) = happyGoto action_69
action_54 _ = happyReduce_238

action_55 (28) = happyGoto action_64
action_55 (36) = happyGoto action_65
action_55 (83) = happyGoto action_66
action_55 _ = happyReduce_238

action_56 (27) = happyGoto action_61
action_56 (40) = happyGoto action_62
action_56 (83) = happyGoto action_63
action_56 _ = happyReduce_238

action_57 (122) = happyShift action_59
action_57 (127) = happyShift action_60
action_57 _ = happyFail

action_58 (154) = happyAccept
action_58 _ = happyFail

action_59 (30) = happyGoto action_67
action_59 (41) = happyGoto action_254
action_59 (83) = happyGoto action_69
action_59 _ = happyReduce_238

action_60 (30) = happyGoto action_67
action_60 (41) = happyGoto action_253
action_60 (83) = happyGoto action_69
action_60 _ = happyReduce_238

action_61 (100) = happyShift action_252
action_61 _ = happyFail

action_62 _ = happyReduce_50

action_63 (153) = happyShift action_236
action_63 (46) = happyGoto action_251
action_63 (83) = happyGoto action_234
action_63 _ = happyReduce_238

action_64 (100) = happyShift action_250
action_64 _ = happyFail

action_65 _ = happyReduce_51

action_66 (107) = happyShift action_235
action_66 (153) = happyShift action_236
action_66 (46) = happyGoto action_231
action_66 (47) = happyGoto action_248
action_66 (48) = happyGoto action_249
action_66 (83) = happyGoto action_234
action_66 _ = happyReduce_238

action_67 (100) = happyShift action_247
action_67 _ = happyFail

action_68 _ = happyReduce_53

action_69 (107) = happyShift action_235
action_69 (153) = happyShift action_236
action_69 (46) = happyGoto action_231
action_69 (47) = happyGoto action_245
action_69 (48) = happyGoto action_246
action_69 (83) = happyGoto action_234
action_69 _ = happyReduce_238

action_70 _ = happyReduce_52

action_71 (100) = happyShift action_244
action_71 _ = happyFail

action_72 _ = happyReduce_54

action_73 (107) = happyShift action_235
action_73 (153) = happyShift action_236
action_73 (46) = happyGoto action_231
action_73 (47) = happyGoto action_242
action_73 (48) = happyGoto action_243
action_73 (83) = happyGoto action_234
action_73 _ = happyReduce_238

action_74 (100) = happyShift action_241
action_74 _ = happyFail

action_75 _ = happyReduce_47

action_76 (153) = happyShift action_108
action_76 (44) = happyGoto action_240
action_76 _ = happyFail

action_77 (100) = happyShift action_239
action_77 _ = happyFail

action_78 _ = happyReduce_57

action_79 (153) = happyShift action_238
action_79 _ = happyFail

action_80 (100) = happyShift action_237
action_80 _ = happyFail

action_81 _ = happyReduce_48

action_82 (107) = happyShift action_235
action_82 (153) = happyShift action_236
action_82 (46) = happyGoto action_231
action_82 (47) = happyGoto action_232
action_82 (48) = happyGoto action_233
action_82 (83) = happyGoto action_234
action_82 _ = happyReduce_238

action_83 (100) = happyShift action_230
action_83 _ = happyFail

action_84 _ = happyReduce_49

action_85 (153) = happyShift action_229
action_85 (44) = happyGoto action_228
action_85 _ = happyFail

action_86 (100) = happyShift action_227
action_86 _ = happyFail

action_87 _ = happyReduce_46

action_88 (107) = happyShift action_225
action_88 (153) = happyShift action_226
action_88 _ = happyFail

action_89 (102) = happyShift action_224
action_89 _ = happyFail

action_90 (153) = happyShift action_223
action_90 _ = happyFail

action_91 (153) = happyShift action_222
action_91 _ = happyFail

action_92 (153) = happyShift action_221
action_92 _ = happyFail

action_93 (153) = happyShift action_220
action_93 _ = happyFail

action_94 (153) = happyShift action_219
action_94 _ = happyFail

action_95 (85) = happyShift action_16
action_95 (87) = happyShift action_17
action_95 (101) = happyShift action_18
action_95 (105) = happyShift action_19
action_95 (107) = happyShift action_20
action_95 (109) = happyShift action_21
action_95 (111) = happyShift action_22
action_95 (112) = happyShift action_23
action_95 (115) = happyShift action_24
action_95 (116) = happyShift action_25
action_95 (117) = happyShift action_26
action_95 (118) = happyShift action_27
action_95 (119) = happyShift action_28
action_95 (121) = happyShift action_29
action_95 (128) = happyShift action_30
action_95 (132) = happyShift action_31
action_95 (133) = happyShift action_32
action_95 (134) = happyShift action_33
action_95 (140) = happyShift action_34
action_95 (141) = happyShift action_35
action_95 (144) = happyShift action_36
action_95 (145) = happyShift action_37
action_95 (146) = happyShift action_38
action_95 (149) = happyShift action_39
action_95 (150) = happyShift action_40
action_95 (151) = happyShift action_41
action_95 (152) = happyShift action_42
action_95 (153) = happyShift action_43
action_95 (51) = happyGoto action_212
action_95 (52) = happyGoto action_8
action_95 (53) = happyGoto action_9
action_95 (54) = happyGoto action_10
action_95 (55) = happyGoto action_11
action_95 (56) = happyGoto action_12
action_95 (57) = happyGoto action_13
action_95 (58) = happyGoto action_218
action_95 (66) = happyGoto action_14
action_95 (74) = happyGoto action_15
action_95 _ = happyReduce_166

action_96 (107) = happyShift action_216
action_96 (109) = happyShift action_217
action_96 _ = happyFail

action_97 (85) = happyShift action_16
action_97 (87) = happyShift action_17
action_97 (101) = happyShift action_18
action_97 (105) = happyShift action_19
action_97 (107) = happyShift action_20
action_97 (109) = happyShift action_21
action_97 (111) = happyShift action_22
action_97 (112) = happyShift action_23
action_97 (115) = happyShift action_24
action_97 (116) = happyShift action_25
action_97 (117) = happyShift action_26
action_97 (118) = happyShift action_27
action_97 (119) = happyShift action_28
action_97 (121) = happyShift action_29
action_97 (128) = happyShift action_30
action_97 (132) = happyShift action_31
action_97 (133) = happyShift action_32
action_97 (134) = happyShift action_33
action_97 (140) = happyShift action_34
action_97 (141) = happyShift action_35
action_97 (144) = happyShift action_36
action_97 (145) = happyShift action_37
action_97 (146) = happyShift action_38
action_97 (149) = happyShift action_39
action_97 (150) = happyShift action_40
action_97 (151) = happyShift action_41
action_97 (152) = happyShift action_42
action_97 (153) = happyShift action_43
action_97 (51) = happyGoto action_123
action_97 (52) = happyGoto action_8
action_97 (53) = happyGoto action_9
action_97 (54) = happyGoto action_10
action_97 (55) = happyGoto action_11
action_97 (56) = happyGoto action_12
action_97 (57) = happyGoto action_13
action_97 (66) = happyGoto action_14
action_97 (74) = happyGoto action_15
action_97 _ = happyFail

action_98 (85) = happyShift action_128
action_98 (87) = happyShift action_129
action_98 (89) = happyShift action_178
action_98 (95) = happyShift action_179
action_98 (101) = happyShift action_130
action_98 (105) = happyShift action_131
action_98 (107) = happyShift action_132
action_98 (109) = happyShift action_133
action_98 (113) = happyShift action_134
action_98 (149) = happyShift action_135
action_98 (150) = happyShift action_136
action_98 (151) = happyShift action_137
action_98 (153) = happyShift action_215
action_98 (44) = happyGoto action_104
action_98 (49) = happyGoto action_105
action_98 (50) = happyGoto action_117
action_98 (60) = happyGoto action_207
action_98 (61) = happyGoto action_174
action_98 (62) = happyGoto action_175
action_98 (63) = happyGoto action_176
action_98 (77) = happyGoto action_208
action_98 (78) = happyGoto action_214
action_98 _ = happyReduce_113

action_99 (85) = happyShift action_16
action_99 (87) = happyShift action_17
action_99 (101) = happyShift action_18
action_99 (105) = happyShift action_19
action_99 (107) = happyShift action_20
action_99 (109) = happyShift action_21
action_99 (111) = happyShift action_22
action_99 (112) = happyShift action_23
action_99 (115) = happyShift action_24
action_99 (116) = happyShift action_25
action_99 (117) = happyShift action_26
action_99 (118) = happyShift action_27
action_99 (119) = happyShift action_28
action_99 (121) = happyShift action_29
action_99 (128) = happyShift action_30
action_99 (132) = happyShift action_31
action_99 (133) = happyShift action_32
action_99 (134) = happyShift action_33
action_99 (140) = happyShift action_34
action_99 (141) = happyShift action_35
action_99 (144) = happyShift action_36
action_99 (145) = happyShift action_37
action_99 (146) = happyShift action_38
action_99 (149) = happyShift action_39
action_99 (150) = happyShift action_40
action_99 (151) = happyShift action_41
action_99 (152) = happyShift action_42
action_99 (153) = happyShift action_43
action_99 (51) = happyGoto action_212
action_99 (52) = happyGoto action_8
action_99 (53) = happyGoto action_9
action_99 (54) = happyGoto action_10
action_99 (55) = happyGoto action_11
action_99 (56) = happyGoto action_12
action_99 (57) = happyGoto action_13
action_99 (58) = happyGoto action_213
action_99 (66) = happyGoto action_14
action_99 (74) = happyGoto action_15
action_99 _ = happyReduce_166

action_100 (85) = happyShift action_128
action_100 (87) = happyShift action_129
action_100 (89) = happyShift action_178
action_100 (95) = happyShift action_179
action_100 (101) = happyShift action_130
action_100 (105) = happyShift action_131
action_100 (107) = happyShift action_132
action_100 (109) = happyShift action_133
action_100 (113) = happyShift action_134
action_100 (149) = happyShift action_135
action_100 (150) = happyShift action_136
action_100 (151) = happyShift action_210
action_100 (153) = happyShift action_211
action_100 (60) = happyGoto action_207
action_100 (61) = happyGoto action_174
action_100 (62) = happyGoto action_175
action_100 (63) = happyGoto action_176
action_100 (77) = happyGoto action_208
action_100 (78) = happyGoto action_209
action_100 _ = happyFail

action_101 (97) = happyShift action_140
action_101 _ = happyReduce_146

action_102 (87) = happyShift action_97
action_102 (101) = happyShift action_18
action_102 (105) = happyShift action_19
action_102 (107) = happyShift action_20
action_102 (109) = happyShift action_21
action_102 (115) = happyShift action_24
action_102 (116) = happyShift action_25
action_102 (117) = happyShift action_26
action_102 (118) = happyShift action_27
action_102 (119) = happyShift action_28
action_102 (149) = happyShift action_39
action_102 (150) = happyShift action_40
action_102 (151) = happyShift action_41
action_102 (152) = happyShift action_42
action_102 (153) = happyShift action_43
action_102 (56) = happyGoto action_206
action_102 (57) = happyGoto action_13
action_102 (66) = happyGoto action_14
action_102 _ = happyFail

action_103 (87) = happyShift action_97
action_103 (101) = happyShift action_18
action_103 (105) = happyShift action_19
action_103 (107) = happyShift action_20
action_103 (109) = happyShift action_21
action_103 (115) = happyShift action_24
action_103 (116) = happyShift action_25
action_103 (117) = happyShift action_26
action_103 (118) = happyShift action_27
action_103 (119) = happyShift action_28
action_103 (149) = happyShift action_39
action_103 (150) = happyShift action_40
action_103 (151) = happyShift action_41
action_103 (152) = happyShift action_42
action_103 (153) = happyShift action_43
action_103 (56) = happyGoto action_205
action_103 (57) = happyGoto action_13
action_103 (66) = happyGoto action_14
action_103 _ = happyFail

action_104 (99) = happyShift action_203
action_104 (102) = happyShift action_204
action_104 _ = happyFail

action_105 (100) = happyShift action_202
action_105 _ = happyReduce_114

action_106 (128) = happyShift action_201
action_106 _ = happyFail

action_107 (153) = happyShift action_108
action_107 (44) = happyGoto action_104
action_107 (49) = happyGoto action_105
action_107 (50) = happyGoto action_200
action_107 _ = happyReduce_113

action_108 (94) = happyShift action_199
action_108 _ = happyReduce_100

action_109 (97) = happyShift action_140
action_109 (151) = happyShift action_198
action_109 _ = happyFail

action_110 (136) = happyShift action_197
action_110 _ = happyFail

action_111 (94) = happyShift action_196
action_111 _ = happyReduce_218

action_112 (103) = happyShift action_195
action_112 _ = happyFail

action_113 (153) = happyShift action_108
action_113 (44) = happyGoto action_194
action_113 _ = happyFail

action_114 _ = happyReduce_216

action_115 _ = happyReduce_215

action_116 (96) = happyShift action_193
action_116 _ = happyFail

action_117 (110) = happyShift action_192
action_117 _ = happyFail

action_118 _ = happyReduce_158

action_119 (108) = happyShift action_191
action_119 _ = happyFail

action_120 (87) = happyShift action_97
action_120 (101) = happyShift action_18
action_120 (105) = happyShift action_19
action_120 (107) = happyShift action_20
action_120 (109) = happyShift action_21
action_120 (115) = happyShift action_24
action_120 (116) = happyShift action_25
action_120 (117) = happyShift action_26
action_120 (118) = happyShift action_27
action_120 (119) = happyShift action_28
action_120 (149) = happyShift action_39
action_120 (150) = happyShift action_40
action_120 (151) = happyShift action_41
action_120 (152) = happyShift action_42
action_120 (153) = happyShift action_43
action_120 (57) = happyGoto action_189
action_120 (59) = happyGoto action_190
action_120 (66) = happyGoto action_14
action_120 _ = happyReduce_169

action_121 (94) = happyShift action_187
action_121 (99) = happyShift action_188
action_121 _ = happyReduce_223

action_122 (104) = happyShift action_186
action_122 _ = happyFail

action_123 (88) = happyShift action_185
action_123 _ = happyFail

action_124 (99) = happyShift action_184
action_124 _ = happyFail

action_125 (153) = happyShift action_108
action_125 (44) = happyGoto action_183
action_125 (49) = happyGoto action_105
action_125 (50) = happyGoto action_117
action_125 _ = happyReduce_113

action_126 (94) = happyReduce_215
action_126 (99) = happyReduce_215
action_126 _ = happyReduce_152

action_127 _ = happyReduce_145

action_128 (153) = happyShift action_182
action_128 _ = happyFail

action_129 (85) = happyShift action_128
action_129 (87) = happyShift action_129
action_129 (89) = happyShift action_178
action_129 (95) = happyShift action_179
action_129 (101) = happyShift action_130
action_129 (105) = happyShift action_131
action_129 (107) = happyShift action_132
action_129 (109) = happyShift action_133
action_129 (113) = happyShift action_134
action_129 (149) = happyShift action_135
action_129 (150) = happyShift action_136
action_129 (151) = happyShift action_137
action_129 (153) = happyShift action_180
action_129 (60) = happyGoto action_181
action_129 (61) = happyGoto action_174
action_129 (62) = happyGoto action_175
action_129 (63) = happyGoto action_176
action_129 _ = happyFail

action_130 (85) = happyShift action_128
action_130 (87) = happyShift action_129
action_130 (89) = happyShift action_178
action_130 (95) = happyShift action_179
action_130 (101) = happyShift action_130
action_130 (105) = happyShift action_131
action_130 (107) = happyShift action_132
action_130 (109) = happyShift action_133
action_130 (113) = happyShift action_134
action_130 (149) = happyShift action_135
action_130 (150) = happyShift action_136
action_130 (151) = happyShift action_137
action_130 (153) = happyShift action_180
action_130 (60) = happyGoto action_173
action_130 (61) = happyGoto action_174
action_130 (62) = happyGoto action_175
action_130 (63) = happyGoto action_176
action_130 (76) = happyGoto action_177
action_130 _ = happyReduce_225

action_131 _ = happyReduce_182

action_132 (151) = happyShift action_172
action_132 _ = happyFail

action_133 (153) = happyShift action_108
action_133 (44) = happyGoto action_169
action_133 (64) = happyGoto action_170
action_133 (67) = happyGoto action_171
action_133 _ = happyReduce_203

action_134 _ = happyReduce_186

action_135 _ = happyReduce_189

action_136 _ = happyReduce_190

action_137 _ = happyReduce_191

action_138 (97) = happyShift action_168
action_138 _ = happyReduce_187

action_139 (85) = happyShift action_16
action_139 (87) = happyShift action_17
action_139 (101) = happyShift action_18
action_139 (105) = happyShift action_19
action_139 (107) = happyShift action_20
action_139 (109) = happyShift action_21
action_139 (111) = happyShift action_22
action_139 (112) = happyShift action_23
action_139 (115) = happyShift action_24
action_139 (116) = happyShift action_25
action_139 (117) = happyShift action_26
action_139 (118) = happyShift action_27
action_139 (119) = happyShift action_28
action_139 (121) = happyShift action_29
action_139 (128) = happyShift action_30
action_139 (132) = happyShift action_31
action_139 (133) = happyShift action_32
action_139 (134) = happyShift action_33
action_139 (140) = happyShift action_34
action_139 (141) = happyShift action_35
action_139 (144) = happyShift action_36
action_139 (145) = happyShift action_37
action_139 (146) = happyShift action_38
action_139 (149) = happyShift action_39
action_139 (150) = happyShift action_40
action_139 (151) = happyShift action_41
action_139 (152) = happyShift action_42
action_139 (153) = happyShift action_43
action_139 (51) = happyGoto action_167
action_139 (52) = happyGoto action_8
action_139 (53) = happyGoto action_9
action_139 (54) = happyGoto action_10
action_139 (55) = happyGoto action_11
action_139 (56) = happyGoto action_12
action_139 (57) = happyGoto action_13
action_139 (66) = happyGoto action_14
action_139 (74) = happyGoto action_15
action_139 _ = happyFail

action_140 (86) = happyShift action_165
action_140 (153) = happyShift action_166
action_140 (65) = happyGoto action_164
action_140 _ = happyFail

action_141 (97) = happyShift action_140
action_141 _ = happyReduce_137

action_142 (85) = happyShift action_16
action_142 (87) = happyShift action_17
action_142 (101) = happyShift action_18
action_142 (105) = happyShift action_19
action_142 (107) = happyShift action_20
action_142 (109) = happyShift action_21
action_142 (111) = happyShift action_22
action_142 (112) = happyShift action_23
action_142 (115) = happyShift action_24
action_142 (116) = happyShift action_25
action_142 (117) = happyShift action_26
action_142 (118) = happyShift action_27
action_142 (119) = happyShift action_28
action_142 (121) = happyShift action_29
action_142 (128) = happyShift action_30
action_142 (132) = happyShift action_31
action_142 (133) = happyShift action_32
action_142 (134) = happyShift action_33
action_142 (140) = happyShift action_34
action_142 (141) = happyShift action_35
action_142 (144) = happyShift action_36
action_142 (145) = happyShift action_37
action_142 (146) = happyShift action_38
action_142 (149) = happyShift action_39
action_142 (150) = happyShift action_40
action_142 (151) = happyShift action_41
action_142 (152) = happyShift action_42
action_142 (153) = happyShift action_163
action_142 (44) = happyGoto action_104
action_142 (49) = happyGoto action_105
action_142 (50) = happyGoto action_117
action_142 (51) = happyGoto action_162
action_142 (52) = happyGoto action_8
action_142 (53) = happyGoto action_9
action_142 (54) = happyGoto action_10
action_142 (55) = happyGoto action_11
action_142 (56) = happyGoto action_12
action_142 (57) = happyGoto action_13
action_142 (66) = happyGoto action_14
action_142 (74) = happyGoto action_15
action_142 _ = happyReduce_113

action_143 (85) = happyShift action_16
action_143 (87) = happyShift action_97
action_143 (101) = happyShift action_18
action_143 (105) = happyShift action_19
action_143 (107) = happyShift action_20
action_143 (109) = happyShift action_21
action_143 (115) = happyShift action_24
action_143 (116) = happyShift action_25
action_143 (117) = happyShift action_26
action_143 (118) = happyShift action_27
action_143 (119) = happyShift action_28
action_143 (121) = happyShift action_29
action_143 (133) = happyShift action_32
action_143 (134) = happyShift action_33
action_143 (140) = happyShift action_34
action_143 (141) = happyShift action_35
action_143 (144) = happyShift action_36
action_143 (146) = happyShift action_38
action_143 (149) = happyShift action_39
action_143 (150) = happyShift action_40
action_143 (151) = happyShift action_41
action_143 (152) = happyShift action_42
action_143 (153) = happyShift action_43
action_143 (55) = happyGoto action_161
action_143 (56) = happyGoto action_12
action_143 (57) = happyGoto action_13
action_143 (66) = happyGoto action_14
action_143 _ = happyFail

action_144 (85) = happyShift action_16
action_144 (87) = happyShift action_97
action_144 (101) = happyShift action_18
action_144 (105) = happyShift action_19
action_144 (107) = happyShift action_20
action_144 (109) = happyShift action_21
action_144 (115) = happyShift action_24
action_144 (116) = happyShift action_25
action_144 (117) = happyShift action_26
action_144 (118) = happyShift action_27
action_144 (119) = happyShift action_28
action_144 (121) = happyShift action_29
action_144 (133) = happyShift action_32
action_144 (134) = happyShift action_33
action_144 (140) = happyShift action_34
action_144 (141) = happyShift action_35
action_144 (144) = happyShift action_36
action_144 (146) = happyShift action_38
action_144 (149) = happyShift action_39
action_144 (150) = happyShift action_40
action_144 (151) = happyShift action_41
action_144 (152) = happyShift action_42
action_144 (153) = happyShift action_43
action_144 (55) = happyGoto action_160
action_144 (56) = happyGoto action_12
action_144 (57) = happyGoto action_13
action_144 (66) = happyGoto action_14
action_144 _ = happyFail

action_145 (85) = happyShift action_16
action_145 (87) = happyShift action_97
action_145 (101) = happyShift action_18
action_145 (105) = happyShift action_19
action_145 (107) = happyShift action_20
action_145 (109) = happyShift action_21
action_145 (115) = happyShift action_24
action_145 (116) = happyShift action_25
action_145 (117) = happyShift action_26
action_145 (118) = happyShift action_27
action_145 (119) = happyShift action_28
action_145 (121) = happyShift action_29
action_145 (133) = happyShift action_32
action_145 (134) = happyShift action_33
action_145 (140) = happyShift action_34
action_145 (141) = happyShift action_35
action_145 (144) = happyShift action_36
action_145 (146) = happyShift action_38
action_145 (149) = happyShift action_39
action_145 (150) = happyShift action_40
action_145 (151) = happyShift action_41
action_145 (152) = happyShift action_42
action_145 (153) = happyShift action_43
action_145 (55) = happyGoto action_159
action_145 (56) = happyGoto action_12
action_145 (57) = happyGoto action_13
action_145 (66) = happyGoto action_14
action_145 _ = happyFail

action_146 (85) = happyShift action_16
action_146 (87) = happyShift action_97
action_146 (101) = happyShift action_18
action_146 (105) = happyShift action_19
action_146 (107) = happyShift action_20
action_146 (109) = happyShift action_21
action_146 (115) = happyShift action_24
action_146 (116) = happyShift action_25
action_146 (117) = happyShift action_26
action_146 (118) = happyShift action_27
action_146 (119) = happyShift action_28
action_146 (121) = happyShift action_29
action_146 (133) = happyShift action_32
action_146 (134) = happyShift action_33
action_146 (140) = happyShift action_34
action_146 (141) = happyShift action_35
action_146 (144) = happyShift action_36
action_146 (145) = happyShift action_37
action_146 (146) = happyShift action_38
action_146 (149) = happyShift action_39
action_146 (150) = happyShift action_40
action_146 (151) = happyShift action_41
action_146 (152) = happyShift action_42
action_146 (153) = happyShift action_43
action_146 (53) = happyGoto action_158
action_146 (54) = happyGoto action_155
action_146 (55) = happyGoto action_11
action_146 (56) = happyGoto action_12
action_146 (57) = happyGoto action_13
action_146 (66) = happyGoto action_14
action_146 _ = happyFail

action_147 (85) = happyShift action_16
action_147 (87) = happyShift action_17
action_147 (101) = happyShift action_18
action_147 (105) = happyShift action_19
action_147 (107) = happyShift action_20
action_147 (109) = happyShift action_21
action_147 (111) = happyShift action_22
action_147 (112) = happyShift action_23
action_147 (115) = happyShift action_24
action_147 (116) = happyShift action_25
action_147 (117) = happyShift action_26
action_147 (118) = happyShift action_27
action_147 (119) = happyShift action_28
action_147 (121) = happyShift action_29
action_147 (128) = happyShift action_30
action_147 (132) = happyShift action_31
action_147 (133) = happyShift action_32
action_147 (134) = happyShift action_33
action_147 (140) = happyShift action_34
action_147 (141) = happyShift action_35
action_147 (144) = happyShift action_36
action_147 (145) = happyShift action_37
action_147 (146) = happyShift action_38
action_147 (149) = happyShift action_39
action_147 (150) = happyShift action_40
action_147 (151) = happyShift action_41
action_147 (152) = happyShift action_42
action_147 (153) = happyShift action_43
action_147 (51) = happyGoto action_157
action_147 (52) = happyGoto action_8
action_147 (53) = happyGoto action_9
action_147 (54) = happyGoto action_10
action_147 (55) = happyGoto action_11
action_147 (56) = happyGoto action_12
action_147 (57) = happyGoto action_13
action_147 (66) = happyGoto action_14
action_147 (74) = happyGoto action_15
action_147 _ = happyFail

action_148 (109) = happyShift action_156
action_148 _ = happyFail

action_149 (85) = happyShift action_16
action_149 (87) = happyShift action_97
action_149 (101) = happyShift action_18
action_149 (105) = happyShift action_19
action_149 (107) = happyShift action_20
action_149 (109) = happyShift action_21
action_149 (115) = happyShift action_24
action_149 (116) = happyShift action_25
action_149 (117) = happyShift action_26
action_149 (118) = happyShift action_27
action_149 (119) = happyShift action_28
action_149 (121) = happyShift action_29
action_149 (133) = happyShift action_32
action_149 (134) = happyShift action_33
action_149 (140) = happyShift action_34
action_149 (141) = happyShift action_35
action_149 (144) = happyShift action_36
action_149 (145) = happyShift action_37
action_149 (146) = happyShift action_38
action_149 (149) = happyShift action_39
action_149 (150) = happyShift action_40
action_149 (151) = happyShift action_41
action_149 (152) = happyShift action_42
action_149 (153) = happyShift action_43
action_149 (52) = happyGoto action_154
action_149 (53) = happyGoto action_9
action_149 (54) = happyGoto action_155
action_149 (55) = happyGoto action_11
action_149 (56) = happyGoto action_12
action_149 (57) = happyGoto action_13
action_149 (66) = happyGoto action_14
action_149 _ = happyFail

action_150 (85) = happyShift action_16
action_150 (87) = happyShift action_17
action_150 (101) = happyShift action_18
action_150 (105) = happyShift action_19
action_150 (107) = happyShift action_20
action_150 (109) = happyShift action_21
action_150 (111) = happyShift action_22
action_150 (112) = happyShift action_23
action_150 (115) = happyShift action_24
action_150 (116) = happyShift action_25
action_150 (117) = happyShift action_26
action_150 (118) = happyShift action_27
action_150 (119) = happyShift action_28
action_150 (121) = happyShift action_29
action_150 (128) = happyShift action_30
action_150 (132) = happyShift action_31
action_150 (133) = happyShift action_32
action_150 (134) = happyShift action_33
action_150 (140) = happyShift action_34
action_150 (141) = happyShift action_35
action_150 (144) = happyShift action_36
action_150 (145) = happyShift action_37
action_150 (146) = happyShift action_38
action_150 (149) = happyShift action_39
action_150 (150) = happyShift action_40
action_150 (151) = happyShift action_41
action_150 (152) = happyShift action_42
action_150 (153) = happyShift action_43
action_150 (51) = happyGoto action_153
action_150 (52) = happyGoto action_8
action_150 (53) = happyGoto action_9
action_150 (54) = happyGoto action_10
action_150 (55) = happyGoto action_11
action_150 (56) = happyGoto action_12
action_150 (57) = happyGoto action_13
action_150 (66) = happyGoto action_14
action_150 (74) = happyGoto action_15
action_150 _ = happyFail

action_151 (102) = happyShift action_152
action_151 _ = happyFail

action_152 (109) = happyShift action_355
action_152 (137) = happyShift action_356
action_152 (153) = happyShift action_300
action_152 (13) = happyGoto action_351
action_152 (14) = happyGoto action_352
action_152 (20) = happyGoto action_353
action_152 (21) = happyGoto action_354
action_152 _ = happyFail

action_153 _ = happyReduce_116

action_154 _ = happyReduce_126

action_155 (84) = happyShift action_143
action_155 (90) = happyShift action_144
action_155 (91) = happyShift action_145
action_155 (92) = happyShift action_146
action_155 _ = happyReduce_129

action_156 (153) = happyShift action_108
action_156 (44) = happyGoto action_104
action_156 (49) = happyGoto action_105
action_156 (50) = happyGoto action_350
action_156 _ = happyReduce_113

action_157 _ = happyReduce_120

action_158 _ = happyReduce_128

action_159 (87) = happyShift action_97
action_159 (101) = happyShift action_18
action_159 (105) = happyShift action_19
action_159 (107) = happyShift action_20
action_159 (109) = happyShift action_142
action_159 (115) = happyShift action_24
action_159 (116) = happyShift action_25
action_159 (117) = happyShift action_26
action_159 (118) = happyShift action_27
action_159 (119) = happyShift action_28
action_159 (149) = happyShift action_39
action_159 (150) = happyShift action_40
action_159 (151) = happyShift action_41
action_159 (152) = happyShift action_42
action_159 (153) = happyShift action_43
action_159 (56) = happyGoto action_141
action_159 (57) = happyGoto action_13
action_159 (66) = happyGoto action_14
action_159 _ = happyReduce_135

action_160 (87) = happyShift action_97
action_160 (101) = happyShift action_18
action_160 (105) = happyShift action_19
action_160 (107) = happyShift action_20
action_160 (109) = happyShift action_142
action_160 (115) = happyShift action_24
action_160 (116) = happyShift action_25
action_160 (117) = happyShift action_26
action_160 (118) = happyShift action_27
action_160 (119) = happyShift action_28
action_160 (149) = happyShift action_39
action_160 (150) = happyShift action_40
action_160 (151) = happyShift action_41
action_160 (152) = happyShift action_42
action_160 (153) = happyShift action_43
action_160 (56) = happyGoto action_141
action_160 (57) = happyGoto action_13
action_160 (66) = happyGoto action_14
action_160 _ = happyReduce_134

action_161 (87) = happyShift action_97
action_161 (101) = happyShift action_18
action_161 (105) = happyShift action_19
action_161 (107) = happyShift action_20
action_161 (109) = happyShift action_142
action_161 (115) = happyShift action_24
action_161 (116) = happyShift action_25
action_161 (117) = happyShift action_26
action_161 (118) = happyShift action_27
action_161 (119) = happyShift action_28
action_161 (149) = happyShift action_39
action_161 (150) = happyShift action_40
action_161 (151) = happyShift action_41
action_161 (152) = happyShift action_42
action_161 (153) = happyShift action_43
action_161 (56) = happyGoto action_141
action_161 (57) = happyGoto action_13
action_161 (66) = happyGoto action_14
action_161 _ = happyReduce_130

action_162 (110) = happyShift action_349
action_162 _ = happyFail

action_163 (94) = happyShift action_199
action_163 (99) = happyReduce_100
action_163 (102) = happyReduce_100
action_163 _ = happyReduce_152

action_164 _ = happyReduce_150

action_165 (149) = happyShift action_348
action_165 _ = happyFail

action_166 _ = happyReduce_196

action_167 _ = happyReduce_119

action_168 (153) = happyShift action_347
action_168 _ = happyFail

action_169 (102) = happyShift action_346
action_169 _ = happyFail

action_170 (100) = happyShift action_345
action_170 _ = happyReduce_204

action_171 (110) = happyShift action_344
action_171 _ = happyFail

action_172 (108) = happyShift action_343
action_172 _ = happyFail

action_173 (92) = happyShift action_316
action_173 (94) = happyShift action_342
action_173 (114) = happyShift action_318
action_173 _ = happyReduce_226

action_174 _ = happyReduce_173

action_175 _ = happyReduce_177

action_176 (90) = happyShift action_341
action_176 _ = happyReduce_181

action_177 (104) = happyShift action_340
action_177 _ = happyFail

action_178 (87) = happyShift action_97
action_178 (101) = happyShift action_18
action_178 (105) = happyShift action_19
action_178 (107) = happyShift action_20
action_178 (109) = happyShift action_21
action_178 (115) = happyShift action_24
action_178 (116) = happyShift action_25
action_178 (117) = happyShift action_26
action_178 (118) = happyShift action_27
action_178 (119) = happyShift action_28
action_178 (149) = happyShift action_39
action_178 (150) = happyShift action_40
action_178 (151) = happyShift action_41
action_178 (152) = happyShift action_42
action_178 (153) = happyShift action_43
action_178 (57) = happyGoto action_339
action_178 (66) = happyGoto action_14
action_178 _ = happyFail

action_179 (85) = happyShift action_128
action_179 (87) = happyShift action_129
action_179 (101) = happyShift action_130
action_179 (105) = happyShift action_131
action_179 (107) = happyShift action_132
action_179 (109) = happyShift action_133
action_179 (113) = happyShift action_134
action_179 (149) = happyShift action_135
action_179 (150) = happyShift action_136
action_179 (151) = happyShift action_137
action_179 (153) = happyShift action_138
action_179 (63) = happyGoto action_338
action_179 _ = happyFail

action_180 (85) = happyShift action_128
action_180 (87) = happyShift action_129
action_180 (89) = happyShift action_178
action_180 (95) = happyShift action_179
action_180 (97) = happyShift action_307
action_180 (101) = happyShift action_130
action_180 (105) = happyShift action_131
action_180 (106) = happyShift action_308
action_180 (107) = happyShift action_132
action_180 (109) = happyShift action_284
action_180 (113) = happyShift action_134
action_180 (149) = happyShift action_135
action_180 (150) = happyShift action_136
action_180 (151) = happyShift action_137
action_180 (153) = happyShift action_285
action_180 (62) = happyGoto action_280
action_180 (63) = happyGoto action_281
action_180 (68) = happyGoto action_306
action_180 (69) = happyGoto action_283
action_180 _ = happyReduce_187

action_181 (88) = happyShift action_337
action_181 (92) = happyShift action_316
action_181 (114) = happyShift action_318
action_181 _ = happyFail

action_182 (97) = happyShift action_336
action_182 _ = happyReduce_184

action_183 (99) = happyShift action_203
action_183 (102) = happyShift action_204
action_183 (110) = happyShift action_328
action_183 _ = happyFail

action_184 (85) = happyShift action_16
action_184 (87) = happyShift action_17
action_184 (101) = happyShift action_18
action_184 (105) = happyShift action_19
action_184 (107) = happyShift action_20
action_184 (109) = happyShift action_21
action_184 (111) = happyShift action_22
action_184 (112) = happyShift action_23
action_184 (115) = happyShift action_24
action_184 (116) = happyShift action_25
action_184 (117) = happyShift action_26
action_184 (118) = happyShift action_27
action_184 (119) = happyShift action_28
action_184 (121) = happyShift action_29
action_184 (128) = happyShift action_30
action_184 (132) = happyShift action_31
action_184 (133) = happyShift action_32
action_184 (134) = happyShift action_33
action_184 (140) = happyShift action_34
action_184 (141) = happyShift action_35
action_184 (144) = happyShift action_36
action_184 (145) = happyShift action_37
action_184 (146) = happyShift action_38
action_184 (149) = happyShift action_39
action_184 (150) = happyShift action_40
action_184 (151) = happyShift action_41
action_184 (152) = happyShift action_42
action_184 (153) = happyShift action_43
action_184 (51) = happyGoto action_335
action_184 (52) = happyGoto action_8
action_184 (53) = happyGoto action_9
action_184 (54) = happyGoto action_10
action_184 (55) = happyGoto action_11
action_184 (56) = happyGoto action_12
action_184 (57) = happyGoto action_13
action_184 (66) = happyGoto action_14
action_184 (74) = happyGoto action_15
action_184 _ = happyFail

action_185 _ = happyReduce_165

action_186 _ = happyReduce_162

action_187 (85) = happyShift action_16
action_187 (87) = happyShift action_17
action_187 (101) = happyShift action_18
action_187 (105) = happyShift action_19
action_187 (107) = happyShift action_20
action_187 (109) = happyShift action_21
action_187 (111) = happyShift action_22
action_187 (112) = happyShift action_23
action_187 (115) = happyShift action_24
action_187 (116) = happyShift action_25
action_187 (117) = happyShift action_26
action_187 (118) = happyShift action_27
action_187 (119) = happyShift action_28
action_187 (121) = happyShift action_29
action_187 (128) = happyShift action_30
action_187 (132) = happyShift action_31
action_187 (133) = happyShift action_32
action_187 (134) = happyShift action_33
action_187 (140) = happyShift action_34
action_187 (141) = happyShift action_35
action_187 (144) = happyShift action_36
action_187 (145) = happyShift action_37
action_187 (146) = happyShift action_38
action_187 (149) = happyShift action_39
action_187 (150) = happyShift action_40
action_187 (151) = happyShift action_41
action_187 (152) = happyShift action_42
action_187 (153) = happyShift action_43
action_187 (51) = happyGoto action_333
action_187 (52) = happyGoto action_8
action_187 (53) = happyGoto action_9
action_187 (54) = happyGoto action_10
action_187 (55) = happyGoto action_11
action_187 (56) = happyGoto action_12
action_187 (57) = happyGoto action_13
action_187 (66) = happyGoto action_14
action_187 (74) = happyGoto action_15
action_187 (75) = happyGoto action_334
action_187 _ = happyReduce_222

action_188 (85) = happyShift action_16
action_188 (87) = happyShift action_17
action_188 (101) = happyShift action_18
action_188 (105) = happyShift action_19
action_188 (107) = happyShift action_20
action_188 (109) = happyShift action_21
action_188 (111) = happyShift action_22
action_188 (112) = happyShift action_23
action_188 (115) = happyShift action_24
action_188 (116) = happyShift action_25
action_188 (117) = happyShift action_26
action_188 (118) = happyShift action_27
action_188 (119) = happyShift action_28
action_188 (121) = happyShift action_29
action_188 (128) = happyShift action_30
action_188 (132) = happyShift action_31
action_188 (133) = happyShift action_32
action_188 (134) = happyShift action_33
action_188 (140) = happyShift action_34
action_188 (141) = happyShift action_35
action_188 (144) = happyShift action_36
action_188 (145) = happyShift action_37
action_188 (146) = happyShift action_38
action_188 (149) = happyShift action_39
action_188 (150) = happyShift action_40
action_188 (151) = happyShift action_41
action_188 (152) = happyShift action_42
action_188 (153) = happyShift action_43
action_188 (51) = happyGoto action_332
action_188 (52) = happyGoto action_8
action_188 (53) = happyGoto action_9
action_188 (54) = happyGoto action_10
action_188 (55) = happyGoto action_11
action_188 (56) = happyGoto action_12
action_188 (57) = happyGoto action_13
action_188 (66) = happyGoto action_14
action_188 (74) = happyGoto action_15
action_188 _ = happyFail

action_189 (87) = happyShift action_97
action_189 (101) = happyShift action_18
action_189 (105) = happyShift action_19
action_189 (107) = happyShift action_20
action_189 (109) = happyShift action_21
action_189 (115) = happyShift action_24
action_189 (116) = happyShift action_25
action_189 (117) = happyShift action_26
action_189 (118) = happyShift action_27
action_189 (119) = happyShift action_28
action_189 (149) = happyShift action_39
action_189 (150) = happyShift action_40
action_189 (151) = happyShift action_41
action_189 (152) = happyShift action_42
action_189 (153) = happyShift action_43
action_189 (57) = happyGoto action_189
action_189 (59) = happyGoto action_331
action_189 (66) = happyGoto action_14
action_189 _ = happyReduce_169

action_190 (108) = happyShift action_330
action_190 _ = happyFail

action_191 _ = happyReduce_160

action_192 _ = happyReduce_161

action_193 (85) = happyShift action_16
action_193 (87) = happyShift action_17
action_193 (101) = happyShift action_18
action_193 (105) = happyShift action_19
action_193 (107) = happyShift action_20
action_193 (109) = happyShift action_21
action_193 (111) = happyShift action_22
action_193 (112) = happyShift action_23
action_193 (115) = happyShift action_24
action_193 (116) = happyShift action_25
action_193 (117) = happyShift action_26
action_193 (118) = happyShift action_27
action_193 (119) = happyShift action_28
action_193 (121) = happyShift action_29
action_193 (128) = happyShift action_30
action_193 (132) = happyShift action_31
action_193 (133) = happyShift action_32
action_193 (134) = happyShift action_33
action_193 (140) = happyShift action_34
action_193 (141) = happyShift action_35
action_193 (144) = happyShift action_36
action_193 (145) = happyShift action_37
action_193 (146) = happyShift action_38
action_193 (149) = happyShift action_39
action_193 (150) = happyShift action_40
action_193 (151) = happyShift action_41
action_193 (152) = happyShift action_42
action_193 (153) = happyShift action_43
action_193 (51) = happyGoto action_329
action_193 (52) = happyGoto action_8
action_193 (53) = happyGoto action_9
action_193 (54) = happyGoto action_10
action_193 (55) = happyGoto action_11
action_193 (56) = happyGoto action_12
action_193 (57) = happyGoto action_13
action_193 (66) = happyGoto action_14
action_193 (74) = happyGoto action_15
action_193 _ = happyFail

action_194 (110) = happyShift action_328
action_194 _ = happyFail

action_195 (85) = happyShift action_16
action_195 (87) = happyShift action_17
action_195 (101) = happyShift action_18
action_195 (105) = happyShift action_19
action_195 (107) = happyShift action_20
action_195 (109) = happyShift action_21
action_195 (111) = happyShift action_22
action_195 (112) = happyShift action_23
action_195 (115) = happyShift action_24
action_195 (116) = happyShift action_25
action_195 (117) = happyShift action_26
action_195 (118) = happyShift action_27
action_195 (119) = happyShift action_28
action_195 (121) = happyShift action_29
action_195 (128) = happyShift action_30
action_195 (132) = happyShift action_31
action_195 (133) = happyShift action_32
action_195 (134) = happyShift action_33
action_195 (140) = happyShift action_34
action_195 (141) = happyShift action_35
action_195 (144) = happyShift action_36
action_195 (145) = happyShift action_37
action_195 (146) = happyShift action_38
action_195 (149) = happyShift action_39
action_195 (150) = happyShift action_40
action_195 (151) = happyShift action_41
action_195 (152) = happyShift action_42
action_195 (153) = happyShift action_43
action_195 (51) = happyGoto action_327
action_195 (52) = happyGoto action_8
action_195 (53) = happyGoto action_9
action_195 (54) = happyGoto action_10
action_195 (55) = happyGoto action_11
action_195 (56) = happyGoto action_12
action_195 (57) = happyGoto action_13
action_195 (66) = happyGoto action_14
action_195 (74) = happyGoto action_15
action_195 _ = happyFail

action_196 (109) = happyShift action_113
action_196 (113) = happyShift action_114
action_196 (153) = happyShift action_115
action_196 (72) = happyGoto action_111
action_196 (73) = happyGoto action_326
action_196 _ = happyFail

action_197 (109) = happyShift action_325
action_197 _ = happyFail

action_198 _ = happyReduce_124

action_199 (153) = happyShift action_108
action_199 (44) = happyGoto action_324
action_199 _ = happyFail

action_200 (110) = happyShift action_323
action_200 _ = happyFail

action_201 (85) = happyShift action_16
action_201 (87) = happyShift action_17
action_201 (101) = happyShift action_18
action_201 (105) = happyShift action_19
action_201 (107) = happyShift action_20
action_201 (109) = happyShift action_21
action_201 (111) = happyShift action_22
action_201 (112) = happyShift action_23
action_201 (115) = happyShift action_24
action_201 (116) = happyShift action_25
action_201 (117) = happyShift action_26
action_201 (118) = happyShift action_27
action_201 (119) = happyShift action_28
action_201 (121) = happyShift action_29
action_201 (128) = happyShift action_30
action_201 (132) = happyShift action_31
action_201 (133) = happyShift action_32
action_201 (134) = happyShift action_33
action_201 (140) = happyShift action_34
action_201 (141) = happyShift action_35
action_201 (144) = happyShift action_36
action_201 (145) = happyShift action_37
action_201 (146) = happyShift action_38
action_201 (149) = happyShift action_39
action_201 (150) = happyShift action_40
action_201 (151) = happyShift action_41
action_201 (152) = happyShift action_42
action_201 (153) = happyShift action_43
action_201 (51) = happyGoto action_322
action_201 (52) = happyGoto action_8
action_201 (53) = happyGoto action_9
action_201 (54) = happyGoto action_10
action_201 (55) = happyGoto action_11
action_201 (56) = happyGoto action_12
action_201 (57) = happyGoto action_13
action_201 (66) = happyGoto action_14
action_201 (74) = happyGoto action_15
action_201 _ = happyFail

action_202 (153) = happyShift action_108
action_202 (44) = happyGoto action_104
action_202 (49) = happyGoto action_105
action_202 (50) = happyGoto action_321
action_202 _ = happyReduce_113

action_203 (85) = happyShift action_16
action_203 (87) = happyShift action_17
action_203 (101) = happyShift action_18
action_203 (105) = happyShift action_19
action_203 (107) = happyShift action_20
action_203 (109) = happyShift action_21
action_203 (111) = happyShift action_22
action_203 (112) = happyShift action_23
action_203 (115) = happyShift action_24
action_203 (116) = happyShift action_25
action_203 (117) = happyShift action_26
action_203 (118) = happyShift action_27
action_203 (119) = happyShift action_28
action_203 (121) = happyShift action_29
action_203 (128) = happyShift action_30
action_203 (132) = happyShift action_31
action_203 (133) = happyShift action_32
action_203 (134) = happyShift action_33
action_203 (140) = happyShift action_34
action_203 (141) = happyShift action_35
action_203 (144) = happyShift action_36
action_203 (145) = happyShift action_37
action_203 (146) = happyShift action_38
action_203 (149) = happyShift action_39
action_203 (150) = happyShift action_40
action_203 (151) = happyShift action_41
action_203 (152) = happyShift action_42
action_203 (153) = happyShift action_43
action_203 (51) = happyGoto action_320
action_203 (52) = happyGoto action_8
action_203 (53) = happyGoto action_9
action_203 (54) = happyGoto action_10
action_203 (55) = happyGoto action_11
action_203 (56) = happyGoto action_12
action_203 (57) = happyGoto action_13
action_203 (66) = happyGoto action_14
action_203 (74) = happyGoto action_15
action_203 _ = happyFail

action_204 (85) = happyShift action_16
action_204 (87) = happyShift action_17
action_204 (101) = happyShift action_18
action_204 (105) = happyShift action_19
action_204 (107) = happyShift action_20
action_204 (109) = happyShift action_21
action_204 (111) = happyShift action_22
action_204 (112) = happyShift action_23
action_204 (115) = happyShift action_24
action_204 (116) = happyShift action_25
action_204 (117) = happyShift action_26
action_204 (118) = happyShift action_27
action_204 (119) = happyShift action_28
action_204 (121) = happyShift action_29
action_204 (128) = happyShift action_30
action_204 (132) = happyShift action_31
action_204 (133) = happyShift action_32
action_204 (134) = happyShift action_33
action_204 (140) = happyShift action_34
action_204 (141) = happyShift action_35
action_204 (144) = happyShift action_36
action_204 (145) = happyShift action_37
action_204 (146) = happyShift action_38
action_204 (149) = happyShift action_39
action_204 (150) = happyShift action_40
action_204 (151) = happyShift action_41
action_204 (152) = happyShift action_42
action_204 (153) = happyShift action_43
action_204 (51) = happyGoto action_319
action_204 (52) = happyGoto action_8
action_204 (53) = happyGoto action_9
action_204 (54) = happyGoto action_10
action_204 (55) = happyGoto action_11
action_204 (56) = happyGoto action_12
action_204 (57) = happyGoto action_13
action_204 (66) = happyGoto action_14
action_204 (74) = happyGoto action_15
action_204 _ = happyFail

action_205 (97) = happyShift action_140
action_205 _ = happyReduce_148

action_206 (97) = happyShift action_140
action_206 _ = happyReduce_147

action_207 (92) = happyShift action_316
action_207 (103) = happyShift action_317
action_207 (114) = happyShift action_318
action_207 _ = happyFail

action_208 (100) = happyShift action_315
action_208 _ = happyReduce_229

action_209 (110) = happyShift action_314
action_209 _ = happyFail

action_210 (100) = happyShift action_313
action_210 _ = happyReduce_191

action_211 (85) = happyShift action_128
action_211 (87) = happyShift action_129
action_211 (89) = happyShift action_178
action_211 (95) = happyShift action_179
action_211 (97) = happyShift action_307
action_211 (100) = happyShift action_312
action_211 (101) = happyShift action_130
action_211 (105) = happyShift action_131
action_211 (106) = happyShift action_308
action_211 (107) = happyShift action_132
action_211 (109) = happyShift action_284
action_211 (113) = happyShift action_134
action_211 (149) = happyShift action_135
action_211 (150) = happyShift action_136
action_211 (151) = happyShift action_137
action_211 (153) = happyShift action_285
action_211 (62) = happyGoto action_280
action_211 (63) = happyGoto action_281
action_211 (68) = happyGoto action_306
action_211 (69) = happyGoto action_283
action_211 _ = happyReduce_187

action_212 (100) = happyShift action_311
action_212 _ = happyReduce_167

action_213 (110) = happyShift action_310
action_213 _ = happyFail

action_214 (110) = happyShift action_309
action_214 _ = happyFail

action_215 (85) = happyShift action_128
action_215 (87) = happyShift action_129
action_215 (89) = happyShift action_178
action_215 (94) = happyShift action_199
action_215 (95) = happyShift action_179
action_215 (97) = happyShift action_307
action_215 (99) = happyReduce_100
action_215 (101) = happyShift action_130
action_215 (102) = happyReduce_100
action_215 (105) = happyShift action_131
action_215 (106) = happyShift action_308
action_215 (107) = happyShift action_132
action_215 (109) = happyShift action_284
action_215 (113) = happyShift action_134
action_215 (149) = happyShift action_135
action_215 (150) = happyShift action_136
action_215 (151) = happyShift action_137
action_215 (153) = happyShift action_285
action_215 (62) = happyGoto action_280
action_215 (63) = happyGoto action_281
action_215 (68) = happyGoto action_306
action_215 (69) = happyGoto action_283
action_215 _ = happyReduce_187

action_216 (85) = happyShift action_16
action_216 (87) = happyShift action_17
action_216 (101) = happyShift action_18
action_216 (105) = happyShift action_19
action_216 (107) = happyShift action_20
action_216 (109) = happyShift action_21
action_216 (111) = happyShift action_22
action_216 (112) = happyShift action_23
action_216 (115) = happyShift action_24
action_216 (116) = happyShift action_25
action_216 (117) = happyShift action_26
action_216 (118) = happyShift action_27
action_216 (119) = happyShift action_28
action_216 (121) = happyShift action_29
action_216 (128) = happyShift action_30
action_216 (132) = happyShift action_31
action_216 (133) = happyShift action_32
action_216 (134) = happyShift action_33
action_216 (140) = happyShift action_34
action_216 (141) = happyShift action_35
action_216 (144) = happyShift action_36
action_216 (145) = happyShift action_37
action_216 (146) = happyShift action_38
action_216 (149) = happyShift action_39
action_216 (150) = happyShift action_40
action_216 (151) = happyShift action_41
action_216 (152) = happyShift action_42
action_216 (153) = happyShift action_43
action_216 (51) = happyGoto action_212
action_216 (52) = happyGoto action_8
action_216 (53) = happyGoto action_9
action_216 (54) = happyGoto action_10
action_216 (55) = happyGoto action_11
action_216 (56) = happyGoto action_12
action_216 (57) = happyGoto action_13
action_216 (58) = happyGoto action_305
action_216 (66) = happyGoto action_14
action_216 (74) = happyGoto action_15
action_216 _ = happyReduce_166

action_217 (85) = happyShift action_128
action_217 (87) = happyShift action_129
action_217 (89) = happyShift action_178
action_217 (95) = happyShift action_179
action_217 (101) = happyShift action_130
action_217 (105) = happyShift action_131
action_217 (107) = happyShift action_132
action_217 (109) = happyShift action_133
action_217 (113) = happyShift action_134
action_217 (149) = happyShift action_135
action_217 (150) = happyShift action_136
action_217 (151) = happyShift action_137
action_217 (153) = happyShift action_180
action_217 (60) = happyGoto action_207
action_217 (61) = happyGoto action_174
action_217 (62) = happyGoto action_175
action_217 (63) = happyGoto action_176
action_217 (77) = happyGoto action_208
action_217 (78) = happyGoto action_304
action_217 _ = happyFail

action_218 (110) = happyShift action_303
action_218 _ = happyFail

action_219 _ = happyReduce_9

action_220 _ = happyReduce_10

action_221 (136) = happyShift action_302
action_221 _ = happyFail

action_222 (136) = happyShift action_301
action_222 _ = happyFail

action_223 _ = happyReduce_8

action_224 (137) = happyShift action_299
action_224 (153) = happyShift action_300
action_224 (11) = happyGoto action_295
action_224 (12) = happyGoto action_296
action_224 (20) = happyGoto action_297
action_224 (21) = happyGoto action_298
action_224 _ = happyReduce_20

action_225 (153) = happyShift action_294
action_225 _ = happyFail

action_226 (87) = happyShift action_293
action_226 (101) = happyShift action_18
action_226 (105) = happyShift action_19
action_226 (107) = happyShift action_20
action_226 (109) = happyShift action_21
action_226 (115) = happyShift action_24
action_226 (116) = happyShift action_25
action_226 (117) = happyShift action_26
action_226 (118) = happyShift action_27
action_226 (119) = happyShift action_28
action_226 (149) = happyShift action_39
action_226 (150) = happyShift action_40
action_226 (151) = happyShift action_41
action_226 (152) = happyShift action_42
action_226 (153) = happyShift action_43
action_226 (57) = happyGoto action_290
action_226 (66) = happyGoto action_14
action_226 (81) = happyGoto action_291
action_226 (82) = happyGoto action_292
action_226 _ = happyReduce_236

action_227 (110) = happyReduce_86
action_227 (122) = happyReduce_86
action_227 (124) = happyReduce_86
action_227 (125) = happyReduce_86
action_227 (126) = happyReduce_86
action_227 (127) = happyReduce_86
action_227 (133) = happyReduce_86
action_227 (134) = happyReduce_86
action_227 (135) = happyReduce_86
action_227 (138) = happyReduce_86
action_227 (139) = happyReduce_86
action_227 (142) = happyReduce_86
action_227 (154) = happyReduce_86
action_227 (23) = happyGoto action_86
action_227 (37) = happyGoto action_289
action_227 (83) = happyGoto action_88
action_227 _ = happyReduce_238

action_228 (99) = happyShift action_288
action_228 _ = happyFail

action_229 (94) = happyShift action_199
action_229 (102) = happyShift action_287
action_229 _ = happyReduce_100

action_230 (153) = happyReduce_238
action_230 (26) = happyGoto action_83
action_230 (39) = happyGoto action_286
action_230 (83) = happyGoto action_85
action_230 _ = happyReduce_90

action_231 _ = happyReduce_106

action_232 (85) = happyShift action_128
action_232 (87) = happyShift action_129
action_232 (89) = happyShift action_178
action_232 (94) = happyShift action_263
action_232 (95) = happyShift action_179
action_232 (101) = happyShift action_130
action_232 (105) = happyShift action_131
action_232 (107) = happyShift action_132
action_232 (109) = happyShift action_284
action_232 (113) = happyShift action_134
action_232 (149) = happyShift action_135
action_232 (150) = happyShift action_136
action_232 (151) = happyShift action_137
action_232 (153) = happyShift action_285
action_232 (62) = happyGoto action_280
action_232 (63) = happyGoto action_281
action_232 (68) = happyGoto action_282
action_232 (69) = happyGoto action_283
action_232 _ = happyReduce_108

action_233 (102) = happyShift action_279
action_233 _ = happyFail

action_234 (115) = happyShift action_24
action_234 (116) = happyShift action_25
action_234 (117) = happyShift action_26
action_234 (118) = happyShift action_27
action_234 (119) = happyShift action_28
action_234 (66) = happyGoto action_278
action_234 _ = happyFail

action_235 (153) = happyShift action_236
action_235 (46) = happyGoto action_277
action_235 (83) = happyGoto action_234
action_235 _ = happyReduce_238

action_236 _ = happyReduce_104

action_237 (110) = happyReduce_82
action_237 (122) = happyReduce_82
action_237 (124) = happyReduce_82
action_237 (125) = happyReduce_82
action_237 (126) = happyReduce_82
action_237 (127) = happyReduce_82
action_237 (133) = happyReduce_82
action_237 (134) = happyReduce_82
action_237 (135) = happyReduce_82
action_237 (138) = happyReduce_82
action_237 (139) = happyReduce_82
action_237 (142) = happyReduce_82
action_237 (154) = happyReduce_82
action_237 (25) = happyGoto action_80
action_237 (35) = happyGoto action_276
action_237 (83) = happyGoto action_82
action_237 _ = happyReduce_238

action_238 (102) = happyShift action_275
action_238 _ = happyFail

action_239 (153) = happyReduce_238
action_239 (31) = happyGoto action_77
action_239 (42) = happyGoto action_274
action_239 (83) = happyGoto action_79
action_239 _ = happyReduce_96

action_240 (99) = happyShift action_273
action_240 _ = happyFail

action_241 (153) = happyReduce_238
action_241 (24) = happyGoto action_74
action_241 (38) = happyGoto action_272
action_241 (83) = happyGoto action_76
action_241 _ = happyReduce_88

action_242 (94) = happyShift action_263
action_242 (109) = happyShift action_264
action_242 (113) = happyShift action_265
action_242 (153) = happyShift action_266
action_242 (70) = happyGoto action_261
action_242 (71) = happyGoto action_271
action_242 _ = happyReduce_108

action_243 (102) = happyShift action_270
action_243 _ = happyFail

action_244 (110) = happyReduce_80
action_244 (122) = happyReduce_80
action_244 (124) = happyReduce_80
action_244 (125) = happyReduce_80
action_244 (126) = happyReduce_80
action_244 (127) = happyReduce_80
action_244 (133) = happyReduce_80
action_244 (134) = happyReduce_80
action_244 (135) = happyReduce_80
action_244 (138) = happyReduce_80
action_244 (139) = happyReduce_80
action_244 (142) = happyReduce_80
action_244 (154) = happyReduce_80
action_244 (29) = happyGoto action_71
action_244 (34) = happyGoto action_269
action_244 (83) = happyGoto action_73
action_244 _ = happyReduce_238

action_245 (94) = happyShift action_263
action_245 _ = happyReduce_108

action_246 (102) = happyShift action_268
action_246 _ = happyFail

action_247 (110) = happyReduce_94
action_247 (122) = happyReduce_94
action_247 (124) = happyReduce_94
action_247 (125) = happyReduce_94
action_247 (126) = happyReduce_94
action_247 (127) = happyReduce_94
action_247 (133) = happyReduce_94
action_247 (134) = happyReduce_94
action_247 (135) = happyReduce_94
action_247 (138) = happyReduce_94
action_247 (139) = happyReduce_94
action_247 (142) = happyReduce_94
action_247 (154) = happyReduce_94
action_247 (30) = happyGoto action_67
action_247 (41) = happyGoto action_267
action_247 (83) = happyGoto action_69
action_247 _ = happyReduce_238

action_248 (94) = happyShift action_263
action_248 (109) = happyShift action_264
action_248 (113) = happyShift action_265
action_248 (153) = happyShift action_266
action_248 (70) = happyGoto action_261
action_248 (71) = happyGoto action_262
action_248 _ = happyReduce_108

action_249 (99) = happyShift action_259
action_249 (102) = happyShift action_260
action_249 _ = happyFail

action_250 (110) = happyReduce_84
action_250 (122) = happyReduce_84
action_250 (124) = happyReduce_84
action_250 (125) = happyReduce_84
action_250 (126) = happyReduce_84
action_250 (127) = happyReduce_84
action_250 (133) = happyReduce_84
action_250 (134) = happyReduce_84
action_250 (135) = happyReduce_84
action_250 (138) = happyReduce_84
action_250 (139) = happyReduce_84
action_250 (142) = happyReduce_84
action_250 (154) = happyReduce_84
action_250 (28) = happyGoto action_64
action_250 (36) = happyGoto action_258
action_250 (83) = happyGoto action_66
action_250 _ = happyReduce_238

action_251 (102) = happyShift action_257
action_251 (83) = happyGoto action_256
action_251 _ = happyReduce_238

action_252 (115) = happyReduce_238
action_252 (116) = happyReduce_238
action_252 (117) = happyReduce_238
action_252 (118) = happyReduce_238
action_252 (119) = happyReduce_238
action_252 (153) = happyReduce_238
action_252 (27) = happyGoto action_61
action_252 (40) = happyGoto action_255
action_252 (83) = happyGoto action_63
action_252 _ = happyReduce_92

action_253 _ = happyReduce_56

action_254 _ = happyReduce_55

action_255 _ = happyReduce_93

action_256 _ = happyReduce_67

action_257 (33) = happyGoto action_422
action_257 (43) = happyGoto action_423
action_257 (83) = happyGoto action_424
action_257 _ = happyReduce_238

action_258 _ = happyReduce_85

action_259 (85) = happyShift action_16
action_259 (87) = happyShift action_17
action_259 (101) = happyShift action_18
action_259 (105) = happyShift action_19
action_259 (107) = happyShift action_20
action_259 (109) = happyShift action_21
action_259 (111) = happyShift action_22
action_259 (112) = happyShift action_23
action_259 (115) = happyShift action_24
action_259 (116) = happyShift action_25
action_259 (117) = happyShift action_26
action_259 (118) = happyShift action_27
action_259 (119) = happyShift action_28
action_259 (121) = happyShift action_29
action_259 (128) = happyShift action_30
action_259 (132) = happyShift action_31
action_259 (133) = happyShift action_32
action_259 (134) = happyShift action_33
action_259 (140) = happyShift action_34
action_259 (141) = happyShift action_35
action_259 (144) = happyShift action_36
action_259 (145) = happyShift action_37
action_259 (146) = happyShift action_38
action_259 (149) = happyShift action_39
action_259 (150) = happyShift action_40
action_259 (151) = happyShift action_41
action_259 (152) = happyShift action_42
action_259 (153) = happyShift action_43
action_259 (51) = happyGoto action_421
action_259 (52) = happyGoto action_8
action_259 (53) = happyGoto action_9
action_259 (54) = happyGoto action_10
action_259 (55) = happyGoto action_11
action_259 (56) = happyGoto action_12
action_259 (57) = happyGoto action_13
action_259 (66) = happyGoto action_14
action_259 (74) = happyGoto action_15
action_259 _ = happyFail

action_260 (85) = happyShift action_16
action_260 (87) = happyShift action_17
action_260 (101) = happyShift action_18
action_260 (105) = happyShift action_19
action_260 (107) = happyShift action_20
action_260 (109) = happyShift action_21
action_260 (111) = happyShift action_22
action_260 (112) = happyShift action_23
action_260 (115) = happyShift action_24
action_260 (116) = happyShift action_25
action_260 (117) = happyShift action_26
action_260 (118) = happyShift action_27
action_260 (119) = happyShift action_28
action_260 (121) = happyShift action_29
action_260 (128) = happyShift action_30
action_260 (132) = happyShift action_31
action_260 (133) = happyShift action_32
action_260 (134) = happyShift action_33
action_260 (140) = happyShift action_34
action_260 (141) = happyShift action_35
action_260 (144) = happyShift action_36
action_260 (145) = happyShift action_37
action_260 (146) = happyShift action_38
action_260 (149) = happyShift action_39
action_260 (150) = happyShift action_40
action_260 (151) = happyShift action_41
action_260 (152) = happyShift action_42
action_260 (153) = happyShift action_43
action_260 (51) = happyGoto action_420
action_260 (52) = happyGoto action_8
action_260 (53) = happyGoto action_9
action_260 (54) = happyGoto action_10
action_260 (55) = happyGoto action_11
action_260 (56) = happyGoto action_12
action_260 (57) = happyGoto action_13
action_260 (66) = happyGoto action_14
action_260 (74) = happyGoto action_15
action_260 _ = happyFail

action_261 (109) = happyShift action_264
action_261 (113) = happyShift action_265
action_261 (153) = happyShift action_266
action_261 (70) = happyGoto action_261
action_261 (71) = happyGoto action_419
action_261 _ = happyReduce_213

action_262 (102) = happyShift action_418
action_262 _ = happyFail

action_263 (107) = happyShift action_235
action_263 (153) = happyShift action_236
action_263 (46) = happyGoto action_231
action_263 (47) = happyGoto action_245
action_263 (48) = happyGoto action_417
action_263 (83) = happyGoto action_234
action_263 _ = happyReduce_238

action_264 (153) = happyShift action_416
action_264 (45) = happyGoto action_415
action_264 _ = happyFail

action_265 _ = happyReduce_211

action_266 _ = happyReduce_210

action_267 _ = happyReduce_95

action_268 (85) = happyShift action_16
action_268 (87) = happyShift action_17
action_268 (101) = happyShift action_18
action_268 (105) = happyShift action_19
action_268 (107) = happyShift action_20
action_268 (109) = happyShift action_21
action_268 (111) = happyShift action_22
action_268 (112) = happyShift action_23
action_268 (115) = happyShift action_24
action_268 (116) = happyShift action_25
action_268 (117) = happyShift action_26
action_268 (118) = happyShift action_27
action_268 (119) = happyShift action_28
action_268 (121) = happyShift action_29
action_268 (128) = happyShift action_30
action_268 (132) = happyShift action_31
action_268 (133) = happyShift action_32
action_268 (134) = happyShift action_33
action_268 (140) = happyShift action_34
action_268 (141) = happyShift action_35
action_268 (144) = happyShift action_36
action_268 (145) = happyShift action_37
action_268 (146) = happyShift action_38
action_268 (149) = happyShift action_39
action_268 (150) = happyShift action_40
action_268 (151) = happyShift action_41
action_268 (152) = happyShift action_42
action_268 (153) = happyShift action_43
action_268 (51) = happyGoto action_414
action_268 (52) = happyGoto action_8
action_268 (53) = happyGoto action_9
action_268 (54) = happyGoto action_10
action_268 (55) = happyGoto action_11
action_268 (56) = happyGoto action_12
action_268 (57) = happyGoto action_13
action_268 (66) = happyGoto action_14
action_268 (74) = happyGoto action_15
action_268 _ = happyFail

action_269 _ = happyReduce_81

action_270 (85) = happyShift action_16
action_270 (87) = happyShift action_17
action_270 (101) = happyShift action_18
action_270 (105) = happyShift action_19
action_270 (107) = happyShift action_20
action_270 (109) = happyShift action_21
action_270 (111) = happyShift action_22
action_270 (112) = happyShift action_23
action_270 (115) = happyShift action_24
action_270 (116) = happyShift action_25
action_270 (117) = happyShift action_26
action_270 (118) = happyShift action_27
action_270 (119) = happyShift action_28
action_270 (121) = happyShift action_29
action_270 (128) = happyShift action_30
action_270 (132) = happyShift action_31
action_270 (133) = happyShift action_32
action_270 (134) = happyShift action_33
action_270 (140) = happyShift action_34
action_270 (141) = happyShift action_35
action_270 (144) = happyShift action_36
action_270 (145) = happyShift action_37
action_270 (146) = happyShift action_38
action_270 (149) = happyShift action_39
action_270 (150) = happyShift action_40
action_270 (151) = happyShift action_41
action_270 (152) = happyShift action_42
action_270 (153) = happyShift action_43
action_270 (51) = happyGoto action_413
action_270 (52) = happyGoto action_8
action_270 (53) = happyGoto action_9
action_270 (54) = happyGoto action_10
action_270 (55) = happyGoto action_11
action_270 (56) = happyGoto action_12
action_270 (57) = happyGoto action_13
action_270 (66) = happyGoto action_14
action_270 (74) = happyGoto action_15
action_270 _ = happyFail

action_271 (102) = happyShift action_412
action_271 _ = happyFail

action_272 _ = happyReduce_89

action_273 (85) = happyShift action_16
action_273 (87) = happyShift action_17
action_273 (101) = happyShift action_18
action_273 (105) = happyShift action_19
action_273 (107) = happyShift action_20
action_273 (109) = happyShift action_21
action_273 (111) = happyShift action_22
action_273 (112) = happyShift action_23
action_273 (115) = happyShift action_24
action_273 (116) = happyShift action_25
action_273 (117) = happyShift action_26
action_273 (118) = happyShift action_27
action_273 (119) = happyShift action_28
action_273 (121) = happyShift action_29
action_273 (128) = happyShift action_30
action_273 (132) = happyShift action_31
action_273 (133) = happyShift action_32
action_273 (134) = happyShift action_33
action_273 (140) = happyShift action_34
action_273 (141) = happyShift action_35
action_273 (144) = happyShift action_36
action_273 (145) = happyShift action_37
action_273 (146) = happyShift action_38
action_273 (149) = happyShift action_39
action_273 (150) = happyShift action_40
action_273 (151) = happyShift action_41
action_273 (152) = happyShift action_42
action_273 (153) = happyShift action_43
action_273 (51) = happyGoto action_411
action_273 (52) = happyGoto action_8
action_273 (53) = happyGoto action_9
action_273 (54) = happyGoto action_10
action_273 (55) = happyGoto action_11
action_273 (56) = happyGoto action_12
action_273 (57) = happyGoto action_13
action_273 (66) = happyGoto action_14
action_273 (74) = happyGoto action_15
action_273 _ = happyFail

action_274 _ = happyReduce_97

action_275 (150) = happyShift action_409
action_275 (153) = happyShift action_410
action_275 _ = happyFail

action_276 _ = happyReduce_83

action_277 (108) = happyShift action_408
action_277 _ = happyFail

action_278 _ = happyReduce_105

action_279 (85) = happyShift action_16
action_279 (87) = happyShift action_17
action_279 (101) = happyShift action_18
action_279 (105) = happyShift action_19
action_279 (107) = happyShift action_20
action_279 (109) = happyShift action_21
action_279 (111) = happyShift action_22
action_279 (112) = happyShift action_23
action_279 (115) = happyShift action_24
action_279 (116) = happyShift action_25
action_279 (117) = happyShift action_26
action_279 (118) = happyShift action_27
action_279 (119) = happyShift action_28
action_279 (121) = happyShift action_29
action_279 (128) = happyShift action_30
action_279 (132) = happyShift action_31
action_279 (133) = happyShift action_32
action_279 (134) = happyShift action_33
action_279 (140) = happyShift action_34
action_279 (141) = happyShift action_35
action_279 (144) = happyShift action_36
action_279 (145) = happyShift action_37
action_279 (146) = happyShift action_38
action_279 (149) = happyShift action_39
action_279 (150) = happyShift action_40
action_279 (151) = happyShift action_41
action_279 (152) = happyShift action_42
action_279 (153) = happyShift action_43
action_279 (51) = happyGoto action_407
action_279 (52) = happyGoto action_8
action_279 (53) = happyGoto action_9
action_279 (54) = happyGoto action_10
action_279 (55) = happyGoto action_11
action_279 (56) = happyGoto action_12
action_279 (57) = happyGoto action_13
action_279 (66) = happyGoto action_14
action_279 (74) = happyGoto action_15
action_279 _ = happyFail

action_280 _ = happyReduce_208

action_281 _ = happyReduce_181

action_282 (102) = happyShift action_406
action_282 _ = happyFail

action_283 (85) = happyShift action_128
action_283 (87) = happyShift action_129
action_283 (89) = happyShift action_178
action_283 (95) = happyShift action_179
action_283 (101) = happyShift action_130
action_283 (105) = happyShift action_131
action_283 (107) = happyShift action_132
action_283 (109) = happyShift action_284
action_283 (113) = happyShift action_134
action_283 (149) = happyShift action_135
action_283 (150) = happyShift action_136
action_283 (151) = happyShift action_137
action_283 (153) = happyShift action_285
action_283 (62) = happyGoto action_280
action_283 (63) = happyGoto action_281
action_283 (68) = happyGoto action_405
action_283 (69) = happyGoto action_283
action_283 _ = happyReduce_206

action_284 (85) = happyShift action_128
action_284 (87) = happyShift action_129
action_284 (89) = happyShift action_178
action_284 (95) = happyShift action_179
action_284 (101) = happyShift action_130
action_284 (105) = happyShift action_131
action_284 (107) = happyShift action_132
action_284 (109) = happyShift action_133
action_284 (113) = happyShift action_134
action_284 (149) = happyShift action_135
action_284 (150) = happyShift action_136
action_284 (151) = happyShift action_137
action_284 (153) = happyShift action_215
action_284 (44) = happyGoto action_169
action_284 (60) = happyGoto action_404
action_284 (61) = happyGoto action_174
action_284 (62) = happyGoto action_175
action_284 (63) = happyGoto action_176
action_284 (64) = happyGoto action_170
action_284 (67) = happyGoto action_171
action_284 _ = happyReduce_203

action_285 (97) = happyShift action_168
action_285 (106) = happyShift action_308
action_285 _ = happyReduce_187

action_286 _ = happyReduce_91

action_287 (153) = happyShift action_403
action_287 (32) = happyGoto action_402
action_287 _ = happyFail

action_288 (85) = happyShift action_16
action_288 (87) = happyShift action_17
action_288 (101) = happyShift action_18
action_288 (105) = happyShift action_19
action_288 (107) = happyShift action_20
action_288 (109) = happyShift action_21
action_288 (111) = happyShift action_22
action_288 (112) = happyShift action_23
action_288 (115) = happyShift action_24
action_288 (116) = happyShift action_25
action_288 (117) = happyShift action_26
action_288 (118) = happyShift action_27
action_288 (119) = happyShift action_28
action_288 (121) = happyShift action_29
action_288 (128) = happyShift action_30
action_288 (132) = happyShift action_31
action_288 (133) = happyShift action_32
action_288 (134) = happyShift action_33
action_288 (140) = happyShift action_34
action_288 (141) = happyShift action_35
action_288 (144) = happyShift action_36
action_288 (145) = happyShift action_37
action_288 (146) = happyShift action_38
action_288 (149) = happyShift action_39
action_288 (150) = happyShift action_40
action_288 (151) = happyShift action_41
action_288 (152) = happyShift action_42
action_288 (153) = happyShift action_43
action_288 (51) = happyGoto action_401
action_288 (52) = happyGoto action_8
action_288 (53) = happyGoto action_9
action_288 (54) = happyGoto action_10
action_288 (55) = happyGoto action_11
action_288 (56) = happyGoto action_12
action_288 (57) = happyGoto action_13
action_288 (66) = happyGoto action_14
action_288 (74) = happyGoto action_15
action_288 _ = happyFail

action_289 _ = happyReduce_87

action_290 _ = happyReduce_235

action_291 (87) = happyShift action_293
action_291 (101) = happyShift action_18
action_291 (105) = happyShift action_19
action_291 (107) = happyShift action_20
action_291 (109) = happyShift action_21
action_291 (115) = happyShift action_24
action_291 (116) = happyShift action_25
action_291 (117) = happyShift action_26
action_291 (118) = happyShift action_27
action_291 (119) = happyShift action_28
action_291 (149) = happyShift action_39
action_291 (150) = happyShift action_40
action_291 (151) = happyShift action_41
action_291 (152) = happyShift action_42
action_291 (153) = happyShift action_43
action_291 (57) = happyGoto action_290
action_291 (66) = happyGoto action_14
action_291 (81) = happyGoto action_291
action_291 (82) = happyGoto action_400
action_291 _ = happyReduce_236

action_292 (83) = happyGoto action_399
action_292 _ = happyReduce_238

action_293 (85) = happyShift action_16
action_293 (87) = happyShift action_17
action_293 (101) = happyShift action_18
action_293 (105) = happyShift action_19
action_293 (107) = happyShift action_20
action_293 (109) = happyShift action_125
action_293 (111) = happyShift action_22
action_293 (112) = happyShift action_23
action_293 (113) = happyShift action_114
action_293 (115) = happyShift action_24
action_293 (116) = happyShift action_25
action_293 (117) = happyShift action_26
action_293 (118) = happyShift action_27
action_293 (119) = happyShift action_28
action_293 (121) = happyShift action_29
action_293 (128) = happyShift action_30
action_293 (132) = happyShift action_31
action_293 (133) = happyShift action_32
action_293 (134) = happyShift action_33
action_293 (140) = happyShift action_34
action_293 (141) = happyShift action_35
action_293 (144) = happyShift action_36
action_293 (145) = happyShift action_37
action_293 (146) = happyShift action_38
action_293 (149) = happyShift action_39
action_293 (150) = happyShift action_40
action_293 (151) = happyShift action_41
action_293 (152) = happyShift action_42
action_293 (153) = happyShift action_126
action_293 (51) = happyGoto action_123
action_293 (52) = happyGoto action_8
action_293 (53) = happyGoto action_9
action_293 (54) = happyGoto action_10
action_293 (55) = happyGoto action_11
action_293 (56) = happyGoto action_12
action_293 (57) = happyGoto action_13
action_293 (66) = happyGoto action_14
action_293 (72) = happyGoto action_111
action_293 (73) = happyGoto action_398
action_293 (74) = happyGoto action_15
action_293 _ = happyFail

action_294 (87) = happyShift action_293
action_294 (101) = happyShift action_18
action_294 (105) = happyShift action_19
action_294 (107) = happyShift action_20
action_294 (109) = happyShift action_21
action_294 (115) = happyShift action_24
action_294 (116) = happyShift action_25
action_294 (117) = happyShift action_26
action_294 (118) = happyShift action_27
action_294 (119) = happyShift action_28
action_294 (149) = happyShift action_39
action_294 (150) = happyShift action_40
action_294 (151) = happyShift action_41
action_294 (152) = happyShift action_42
action_294 (153) = happyShift action_43
action_294 (57) = happyGoto action_290
action_294 (66) = happyGoto action_14
action_294 (81) = happyGoto action_291
action_294 (82) = happyGoto action_397
action_294 _ = happyReduce_236

action_295 _ = happyReduce_5

action_296 _ = happyReduce_19

action_297 (91) = happyShift action_396
action_297 _ = happyReduce_16

action_298 (94) = happyShift action_363
action_298 (148) = happyShift action_395
action_298 _ = happyReduce_41

action_299 (87) = happyShift action_359
action_299 (153) = happyShift action_360
action_299 (16) = happyGoto action_394
action_299 (17) = happyGoto action_358
action_299 _ = happyFail

action_300 (95) = happyShift action_392
action_300 (107) = happyShift action_393
action_300 _ = happyReduce_43

action_301 (153) = happyShift action_391
action_301 _ = happyFail

action_302 (153) = happyShift action_300
action_302 (21) = happyGoto action_390
action_302 _ = happyFail

action_303 _ = happyReduce_140

action_304 (110) = happyShift action_389
action_304 _ = happyFail

action_305 (108) = happyShift action_388
action_305 _ = happyFail

action_306 _ = happyReduce_174

action_307 (153) = happyShift action_387
action_307 _ = happyFail

action_308 (85) = happyShift action_128
action_308 (87) = happyShift action_129
action_308 (101) = happyShift action_130
action_308 (105) = happyShift action_131
action_308 (107) = happyShift action_132
action_308 (109) = happyShift action_133
action_308 (113) = happyShift action_134
action_308 (149) = happyShift action_135
action_308 (150) = happyShift action_136
action_308 (151) = happyShift action_137
action_308 (153) = happyShift action_138
action_308 (63) = happyGoto action_386
action_308 _ = happyFail

action_309 _ = happyReduce_131

action_310 _ = happyReduce_144

action_311 (85) = happyShift action_16
action_311 (87) = happyShift action_17
action_311 (101) = happyShift action_18
action_311 (105) = happyShift action_19
action_311 (107) = happyShift action_20
action_311 (109) = happyShift action_21
action_311 (111) = happyShift action_22
action_311 (112) = happyShift action_23
action_311 (115) = happyShift action_24
action_311 (116) = happyShift action_25
action_311 (117) = happyShift action_26
action_311 (118) = happyShift action_27
action_311 (119) = happyShift action_28
action_311 (121) = happyShift action_29
action_311 (128) = happyShift action_30
action_311 (132) = happyShift action_31
action_311 (133) = happyShift action_32
action_311 (134) = happyShift action_33
action_311 (140) = happyShift action_34
action_311 (141) = happyShift action_35
action_311 (144) = happyShift action_36
action_311 (145) = happyShift action_37
action_311 (146) = happyShift action_38
action_311 (149) = happyShift action_39
action_311 (150) = happyShift action_40
action_311 (151) = happyShift action_41
action_311 (152) = happyShift action_42
action_311 (153) = happyShift action_43
action_311 (51) = happyGoto action_212
action_311 (52) = happyGoto action_8
action_311 (53) = happyGoto action_9
action_311 (54) = happyGoto action_10
action_311 (55) = happyGoto action_11
action_311 (56) = happyGoto action_12
action_311 (57) = happyGoto action_13
action_311 (58) = happyGoto action_385
action_311 (66) = happyGoto action_14
action_311 (74) = happyGoto action_15
action_311 _ = happyReduce_166

action_312 (85) = happyShift action_16
action_312 (87) = happyShift action_17
action_312 (101) = happyShift action_18
action_312 (105) = happyShift action_19
action_312 (107) = happyShift action_20
action_312 (109) = happyShift action_21
action_312 (111) = happyShift action_22
action_312 (112) = happyShift action_23
action_312 (115) = happyShift action_24
action_312 (116) = happyShift action_25
action_312 (117) = happyShift action_26
action_312 (118) = happyShift action_27
action_312 (119) = happyShift action_28
action_312 (121) = happyShift action_29
action_312 (128) = happyShift action_30
action_312 (132) = happyShift action_31
action_312 (133) = happyShift action_32
action_312 (134) = happyShift action_33
action_312 (140) = happyShift action_34
action_312 (141) = happyShift action_35
action_312 (144) = happyShift action_36
action_312 (145) = happyShift action_37
action_312 (146) = happyShift action_38
action_312 (149) = happyShift action_39
action_312 (150) = happyShift action_40
action_312 (151) = happyShift action_41
action_312 (152) = happyShift action_42
action_312 (153) = happyShift action_43
action_312 (51) = happyGoto action_381
action_312 (52) = happyGoto action_8
action_312 (53) = happyGoto action_9
action_312 (54) = happyGoto action_10
action_312 (55) = happyGoto action_11
action_312 (56) = happyGoto action_12
action_312 (57) = happyGoto action_13
action_312 (66) = happyGoto action_14
action_312 (74) = happyGoto action_15
action_312 (79) = happyGoto action_382
action_312 (80) = happyGoto action_384
action_312 _ = happyFail

action_313 (85) = happyShift action_16
action_313 (87) = happyShift action_17
action_313 (101) = happyShift action_18
action_313 (105) = happyShift action_19
action_313 (107) = happyShift action_20
action_313 (109) = happyShift action_21
action_313 (111) = happyShift action_22
action_313 (112) = happyShift action_23
action_313 (115) = happyShift action_24
action_313 (116) = happyShift action_25
action_313 (117) = happyShift action_26
action_313 (118) = happyShift action_27
action_313 (119) = happyShift action_28
action_313 (121) = happyShift action_29
action_313 (128) = happyShift action_30
action_313 (132) = happyShift action_31
action_313 (133) = happyShift action_32
action_313 (134) = happyShift action_33
action_313 (140) = happyShift action_34
action_313 (141) = happyShift action_35
action_313 (144) = happyShift action_36
action_313 (145) = happyShift action_37
action_313 (146) = happyShift action_38
action_313 (149) = happyShift action_39
action_313 (150) = happyShift action_40
action_313 (151) = happyShift action_41
action_313 (152) = happyShift action_42
action_313 (153) = happyShift action_43
action_313 (51) = happyGoto action_381
action_313 (52) = happyGoto action_8
action_313 (53) = happyGoto action_9
action_313 (54) = happyGoto action_10
action_313 (55) = happyGoto action_11
action_313 (56) = happyGoto action_12
action_313 (57) = happyGoto action_13
action_313 (66) = happyGoto action_14
action_313 (74) = happyGoto action_15
action_313 (79) = happyGoto action_382
action_313 (80) = happyGoto action_383
action_313 _ = happyFail

action_314 _ = happyReduce_141

action_315 (85) = happyShift action_128
action_315 (87) = happyShift action_129
action_315 (89) = happyShift action_178
action_315 (95) = happyShift action_179
action_315 (101) = happyShift action_130
action_315 (105) = happyShift action_131
action_315 (107) = happyShift action_132
action_315 (109) = happyShift action_133
action_315 (113) = happyShift action_134
action_315 (149) = happyShift action_135
action_315 (150) = happyShift action_136
action_315 (151) = happyShift action_137
action_315 (153) = happyShift action_180
action_315 (60) = happyGoto action_207
action_315 (61) = happyGoto action_174
action_315 (62) = happyGoto action_175
action_315 (63) = happyGoto action_176
action_315 (77) = happyGoto action_208
action_315 (78) = happyGoto action_380
action_315 _ = happyFail

action_316 (85) = happyShift action_128
action_316 (87) = happyShift action_129
action_316 (89) = happyShift action_178
action_316 (95) = happyShift action_179
action_316 (101) = happyShift action_130
action_316 (105) = happyShift action_131
action_316 (107) = happyShift action_132
action_316 (109) = happyShift action_133
action_316 (113) = happyShift action_134
action_316 (149) = happyShift action_135
action_316 (150) = happyShift action_136
action_316 (151) = happyShift action_137
action_316 (153) = happyShift action_180
action_316 (61) = happyGoto action_379
action_316 (62) = happyGoto action_175
action_316 (63) = happyGoto action_176
action_316 _ = happyFail

action_317 (85) = happyShift action_16
action_317 (87) = happyShift action_17
action_317 (101) = happyShift action_18
action_317 (105) = happyShift action_19
action_317 (107) = happyShift action_20
action_317 (109) = happyShift action_21
action_317 (111) = happyShift action_22
action_317 (112) = happyShift action_23
action_317 (115) = happyShift action_24
action_317 (116) = happyShift action_25
action_317 (117) = happyShift action_26
action_317 (118) = happyShift action_27
action_317 (119) = happyShift action_28
action_317 (121) = happyShift action_29
action_317 (128) = happyShift action_30
action_317 (132) = happyShift action_31
action_317 (133) = happyShift action_32
action_317 (134) = happyShift action_33
action_317 (140) = happyShift action_34
action_317 (141) = happyShift action_35
action_317 (144) = happyShift action_36
action_317 (145) = happyShift action_37
action_317 (146) = happyShift action_38
action_317 (149) = happyShift action_39
action_317 (150) = happyShift action_40
action_317 (151) = happyShift action_41
action_317 (152) = happyShift action_42
action_317 (153) = happyShift action_43
action_317 (51) = happyGoto action_378
action_317 (52) = happyGoto action_8
action_317 (53) = happyGoto action_9
action_317 (54) = happyGoto action_10
action_317 (55) = happyGoto action_11
action_317 (56) = happyGoto action_12
action_317 (57) = happyGoto action_13
action_317 (66) = happyGoto action_14
action_317 (74) = happyGoto action_15
action_317 _ = happyFail

action_318 (85) = happyShift action_128
action_318 (87) = happyShift action_129
action_318 (89) = happyShift action_178
action_318 (95) = happyShift action_179
action_318 (101) = happyShift action_130
action_318 (105) = happyShift action_131
action_318 (107) = happyShift action_132
action_318 (109) = happyShift action_133
action_318 (113) = happyShift action_134
action_318 (149) = happyShift action_135
action_318 (150) = happyShift action_136
action_318 (151) = happyShift action_137
action_318 (153) = happyShift action_180
action_318 (61) = happyGoto action_377
action_318 (62) = happyGoto action_175
action_318 (63) = happyGoto action_176
action_318 _ = happyFail

action_319 _ = happyReduce_111

action_320 (102) = happyShift action_376
action_320 _ = happyReduce_110

action_321 _ = happyReduce_115

action_322 _ = happyReduce_122

action_323 (128) = happyShift action_375
action_323 _ = happyFail

action_324 _ = happyReduce_101

action_325 (85) = happyShift action_128
action_325 (87) = happyShift action_129
action_325 (89) = happyShift action_178
action_325 (95) = happyShift action_179
action_325 (101) = happyShift action_130
action_325 (105) = happyShift action_131
action_325 (107) = happyShift action_132
action_325 (109) = happyShift action_133
action_325 (113) = happyShift action_134
action_325 (149) = happyShift action_135
action_325 (150) = happyShift action_136
action_325 (151) = happyShift action_137
action_325 (153) = happyShift action_180
action_325 (60) = happyGoto action_207
action_325 (61) = happyGoto action_174
action_325 (62) = happyGoto action_175
action_325 (63) = happyGoto action_176
action_325 (77) = happyGoto action_208
action_325 (78) = happyGoto action_374
action_325 _ = happyFail

action_326 _ = happyReduce_219

action_327 _ = happyReduce_118

action_328 _ = happyReduce_217

action_329 _ = happyReduce_117

action_330 _ = happyReduce_159

action_331 _ = happyReduce_170

action_332 (104) = happyShift action_373
action_332 _ = happyFail

action_333 (94) = happyShift action_187
action_333 _ = happyReduce_223

action_334 _ = happyReduce_224

action_335 (88) = happyShift action_372
action_335 _ = happyFail

action_336 (153) = happyShift action_371
action_336 _ = happyFail

action_337 _ = happyReduce_194

action_338 _ = happyReduce_179

action_339 _ = happyReduce_180

action_340 _ = happyReduce_193

action_341 _ = happyReduce_176

action_342 (85) = happyShift action_128
action_342 (87) = happyShift action_129
action_342 (89) = happyShift action_178
action_342 (95) = happyShift action_179
action_342 (101) = happyShift action_130
action_342 (105) = happyShift action_131
action_342 (107) = happyShift action_132
action_342 (109) = happyShift action_133
action_342 (113) = happyShift action_134
action_342 (149) = happyShift action_135
action_342 (150) = happyShift action_136
action_342 (151) = happyShift action_137
action_342 (153) = happyShift action_180
action_342 (60) = happyGoto action_173
action_342 (61) = happyGoto action_174
action_342 (62) = happyGoto action_175
action_342 (63) = happyGoto action_176
action_342 (76) = happyGoto action_370
action_342 _ = happyReduce_225

action_343 _ = happyReduce_183

action_344 _ = happyReduce_192

action_345 (153) = happyShift action_108
action_345 (44) = happyGoto action_169
action_345 (64) = happyGoto action_170
action_345 (67) = happyGoto action_369
action_345 _ = happyReduce_203

action_346 (85) = happyShift action_128
action_346 (87) = happyShift action_129
action_346 (89) = happyShift action_178
action_346 (95) = happyShift action_179
action_346 (101) = happyShift action_130
action_346 (105) = happyShift action_131
action_346 (107) = happyShift action_132
action_346 (109) = happyShift action_133
action_346 (113) = happyShift action_134
action_346 (149) = happyShift action_135
action_346 (150) = happyShift action_136
action_346 (151) = happyShift action_137
action_346 (153) = happyShift action_180
action_346 (60) = happyGoto action_368
action_346 (61) = happyGoto action_174
action_346 (62) = happyGoto action_175
action_346 (63) = happyGoto action_176
action_346 _ = happyFail

action_347 _ = happyReduce_188

action_348 _ = happyReduce_197

action_349 _ = happyReduce_138

action_350 (110) = happyShift action_367
action_350 _ = happyFail

action_351 (100) = happyShift action_366
action_351 _ = happyReduce_4

action_352 _ = happyReduce_28

action_353 (91) = happyShift action_365
action_353 _ = happyReduce_25

action_354 (94) = happyShift action_363
action_354 (148) = happyShift action_364
action_354 _ = happyReduce_41

action_355 (122) = happyShift action_47
action_355 (124) = happyShift action_48
action_355 (125) = happyShift action_49
action_355 (126) = happyShift action_50
action_355 (127) = happyShift action_51
action_355 (133) = happyShift action_52
action_355 (134) = happyShift action_53
action_355 (135) = happyShift action_54
action_355 (138) = happyShift action_55
action_355 (139) = happyShift action_56
action_355 (142) = happyShift action_57
action_355 (15) = happyGoto action_361
action_355 (22) = happyGoto action_362
action_355 _ = happyReduce_32

action_356 (87) = happyShift action_359
action_356 (153) = happyShift action_360
action_356 (16) = happyGoto action_357
action_356 (17) = happyGoto action_358
action_356 _ = happyFail

action_357 (128) = happyShift action_472
action_357 _ = happyFail

action_358 (94) = happyShift action_471
action_358 _ = happyReduce_34

action_359 (153) = happyShift action_470
action_359 _ = happyFail

action_360 _ = happyReduce_36

action_361 (110) = happyShift action_469
action_361 _ = happyFail

action_362 (122) = happyShift action_47
action_362 (124) = happyShift action_48
action_362 (125) = happyShift action_49
action_362 (126) = happyShift action_50
action_362 (127) = happyShift action_51
action_362 (133) = happyShift action_52
action_362 (134) = happyShift action_53
action_362 (135) = happyShift action_54
action_362 (138) = happyShift action_55
action_362 (139) = happyShift action_56
action_362 (142) = happyShift action_57
action_362 (15) = happyGoto action_468
action_362 (22) = happyGoto action_362
action_362 _ = happyReduce_32

action_363 (153) = happyShift action_300
action_363 (20) = happyGoto action_466
action_363 (21) = happyGoto action_467
action_363 _ = happyFail

action_364 (87) = happyShift action_452
action_364 (18) = happyGoto action_465
action_364 (19) = happyGoto action_451
action_364 _ = happyFail

action_365 (109) = happyShift action_355
action_365 (137) = happyShift action_356
action_365 (153) = happyShift action_300
action_365 (14) = happyGoto action_463
action_365 (21) = happyGoto action_464
action_365 _ = happyFail

action_366 _ = happyReduce_29

action_367 _ = happyReduce_123

action_368 (92) = happyShift action_316
action_368 (114) = happyShift action_318
action_368 _ = happyReduce_195

action_369 _ = happyReduce_205

action_370 _ = happyReduce_227

action_371 _ = happyReduce_185

action_372 _ = happyReduce_220

action_373 _ = happyReduce_163

action_374 (110) = happyShift action_462
action_374 _ = happyFail

action_375 (85) = happyShift action_16
action_375 (87) = happyShift action_17
action_375 (101) = happyShift action_18
action_375 (105) = happyShift action_19
action_375 (107) = happyShift action_20
action_375 (109) = happyShift action_21
action_375 (111) = happyShift action_22
action_375 (112) = happyShift action_23
action_375 (115) = happyShift action_24
action_375 (116) = happyShift action_25
action_375 (117) = happyShift action_26
action_375 (118) = happyShift action_27
action_375 (119) = happyShift action_28
action_375 (121) = happyShift action_29
action_375 (128) = happyShift action_30
action_375 (132) = happyShift action_31
action_375 (133) = happyShift action_32
action_375 (134) = happyShift action_33
action_375 (140) = happyShift action_34
action_375 (141) = happyShift action_35
action_375 (144) = happyShift action_36
action_375 (145) = happyShift action_37
action_375 (146) = happyShift action_38
action_375 (149) = happyShift action_39
action_375 (150) = happyShift action_40
action_375 (151) = happyShift action_41
action_375 (152) = happyShift action_42
action_375 (153) = happyShift action_43
action_375 (51) = happyGoto action_461
action_375 (52) = happyGoto action_8
action_375 (53) = happyGoto action_9
action_375 (54) = happyGoto action_10
action_375 (55) = happyGoto action_11
action_375 (56) = happyGoto action_12
action_375 (57) = happyGoto action_13
action_375 (66) = happyGoto action_14
action_375 (74) = happyGoto action_15
action_375 _ = happyFail

action_376 (85) = happyShift action_16
action_376 (87) = happyShift action_17
action_376 (101) = happyShift action_18
action_376 (105) = happyShift action_19
action_376 (107) = happyShift action_20
action_376 (109) = happyShift action_21
action_376 (111) = happyShift action_22
action_376 (112) = happyShift action_23
action_376 (115) = happyShift action_24
action_376 (116) = happyShift action_25
action_376 (117) = happyShift action_26
action_376 (118) = happyShift action_27
action_376 (119) = happyShift action_28
action_376 (121) = happyShift action_29
action_376 (128) = happyShift action_30
action_376 (132) = happyShift action_31
action_376 (133) = happyShift action_32
action_376 (134) = happyShift action_33
action_376 (140) = happyShift action_34
action_376 (141) = happyShift action_35
action_376 (144) = happyShift action_36
action_376 (145) = happyShift action_37
action_376 (146) = happyShift action_38
action_376 (149) = happyShift action_39
action_376 (150) = happyShift action_40
action_376 (151) = happyShift action_41
action_376 (152) = happyShift action_42
action_376 (153) = happyShift action_43
action_376 (51) = happyGoto action_460
action_376 (52) = happyGoto action_8
action_376 (53) = happyGoto action_9
action_376 (54) = happyGoto action_10
action_376 (55) = happyGoto action_11
action_376 (56) = happyGoto action_12
action_376 (57) = happyGoto action_13
action_376 (66) = happyGoto action_14
action_376 (74) = happyGoto action_15
action_376 _ = happyFail

action_377 _ = happyReduce_171

action_378 _ = happyReduce_228

action_379 _ = happyReduce_172

action_380 _ = happyReduce_230

action_381 (98) = happyShift action_459
action_381 _ = happyFail

action_382 (100) = happyShift action_458
action_382 _ = happyReduce_232

action_383 (110) = happyShift action_457
action_383 _ = happyFail

action_384 (110) = happyShift action_456
action_384 _ = happyFail

action_385 _ = happyReduce_168

action_386 _ = happyReduce_178

action_387 (85) = happyShift action_128
action_387 (87) = happyShift action_129
action_387 (89) = happyShift action_178
action_387 (95) = happyShift action_179
action_387 (101) = happyShift action_130
action_387 (105) = happyShift action_131
action_387 (107) = happyShift action_132
action_387 (109) = happyShift action_284
action_387 (113) = happyShift action_134
action_387 (149) = happyShift action_135
action_387 (150) = happyShift action_136
action_387 (151) = happyShift action_137
action_387 (153) = happyShift action_285
action_387 (62) = happyGoto action_280
action_387 (63) = happyGoto action_281
action_387 (68) = happyGoto action_455
action_387 (69) = happyGoto action_283
action_387 _ = happyReduce_188

action_388 _ = happyReduce_133

action_389 _ = happyReduce_132

action_390 _ = happyReduce_12

action_391 _ = happyReduce_11

action_392 (107) = happyShift action_454
action_392 _ = happyFail

action_393 (153) = happyShift action_108
action_393 (44) = happyGoto action_453
action_393 _ = happyFail

action_394 _ = happyReduce_21

action_395 (87) = happyShift action_452
action_395 (18) = happyGoto action_450
action_395 (19) = happyGoto action_451
action_395 _ = happyFail

action_396 (137) = happyShift action_299
action_396 (153) = happyShift action_300
action_396 (12) = happyGoto action_448
action_396 (21) = happyGoto action_449
action_396 _ = happyReduce_20

action_397 (108) = happyShift action_447
action_397 _ = happyFail

action_398 (99) = happyShift action_446
action_398 _ = happyFail

action_399 _ = happyReduce_58

action_400 _ = happyReduce_237

action_401 (83) = happyGoto action_445
action_401 _ = happyReduce_238

action_402 (83) = happyGoto action_444
action_402 _ = happyReduce_238

action_403 (114) = happyShift action_443
action_403 _ = happyReduce_77

action_404 (92) = happyShift action_316
action_404 (110) = happyShift action_442
action_404 (114) = happyShift action_318
action_404 _ = happyFail

action_405 _ = happyReduce_207

action_406 (85) = happyShift action_16
action_406 (87) = happyShift action_17
action_406 (101) = happyShift action_18
action_406 (105) = happyShift action_19
action_406 (107) = happyShift action_20
action_406 (109) = happyShift action_21
action_406 (111) = happyShift action_22
action_406 (112) = happyShift action_23
action_406 (115) = happyShift action_24
action_406 (116) = happyShift action_25
action_406 (117) = happyShift action_26
action_406 (118) = happyShift action_27
action_406 (119) = happyShift action_28
action_406 (121) = happyShift action_29
action_406 (128) = happyShift action_30
action_406 (132) = happyShift action_31
action_406 (133) = happyShift action_32
action_406 (134) = happyShift action_33
action_406 (140) = happyShift action_34
action_406 (141) = happyShift action_35
action_406 (144) = happyShift action_36
action_406 (145) = happyShift action_37
action_406 (146) = happyShift action_38
action_406 (149) = happyShift action_39
action_406 (150) = happyShift action_40
action_406 (151) = happyShift action_41
action_406 (152) = happyShift action_42
action_406 (153) = happyShift action_43
action_406 (51) = happyGoto action_441
action_406 (52) = happyGoto action_8
action_406 (53) = happyGoto action_9
action_406 (54) = happyGoto action_10
action_406 (55) = happyGoto action_11
action_406 (56) = happyGoto action_12
action_406 (57) = happyGoto action_13
action_406 (66) = happyGoto action_14
action_406 (74) = happyGoto action_15
action_406 _ = happyFail

action_407 (83) = happyGoto action_440
action_407 _ = happyReduce_238

action_408 _ = happyReduce_107

action_409 (83) = happyGoto action_439
action_409 _ = happyReduce_238

action_410 (83) = happyGoto action_438
action_410 _ = happyReduce_238

action_411 (83) = happyGoto action_437
action_411 _ = happyReduce_238

action_412 (85) = happyShift action_16
action_412 (87) = happyShift action_17
action_412 (101) = happyShift action_18
action_412 (105) = happyShift action_19
action_412 (107) = happyShift action_20
action_412 (109) = happyShift action_21
action_412 (111) = happyShift action_22
action_412 (112) = happyShift action_23
action_412 (115) = happyShift action_24
action_412 (116) = happyShift action_25
action_412 (117) = happyShift action_26
action_412 (118) = happyShift action_27
action_412 (119) = happyShift action_28
action_412 (121) = happyShift action_29
action_412 (128) = happyShift action_30
action_412 (132) = happyShift action_31
action_412 (133) = happyShift action_32
action_412 (134) = happyShift action_33
action_412 (140) = happyShift action_34
action_412 (141) = happyShift action_35
action_412 (144) = happyShift action_36
action_412 (145) = happyShift action_37
action_412 (146) = happyShift action_38
action_412 (149) = happyShift action_39
action_412 (150) = happyShift action_40
action_412 (151) = happyShift action_41
action_412 (152) = happyShift action_42
action_412 (153) = happyShift action_43
action_412 (51) = happyGoto action_436
action_412 (52) = happyGoto action_8
action_412 (53) = happyGoto action_9
action_412 (54) = happyGoto action_10
action_412 (55) = happyGoto action_11
action_412 (56) = happyGoto action_12
action_412 (57) = happyGoto action_13
action_412 (66) = happyGoto action_14
action_412 (74) = happyGoto action_15
action_412 _ = happyFail

action_413 (83) = happyGoto action_435
action_413 _ = happyReduce_238

action_414 (83) = happyGoto action_434
action_414 _ = happyReduce_238

action_415 (110) = happyShift action_433
action_415 _ = happyFail

action_416 (153) = happyShift action_416
action_416 (45) = happyGoto action_432
action_416 _ = happyReduce_102

action_417 _ = happyReduce_109

action_418 (85) = happyShift action_16
action_418 (87) = happyShift action_17
action_418 (101) = happyShift action_18
action_418 (105) = happyShift action_19
action_418 (107) = happyShift action_20
action_418 (109) = happyShift action_21
action_418 (111) = happyShift action_22
action_418 (112) = happyShift action_23
action_418 (115) = happyShift action_24
action_418 (116) = happyShift action_25
action_418 (117) = happyShift action_26
action_418 (118) = happyShift action_27
action_418 (119) = happyShift action_28
action_418 (121) = happyShift action_29
action_418 (128) = happyShift action_30
action_418 (132) = happyShift action_31
action_418 (133) = happyShift action_32
action_418 (134) = happyShift action_33
action_418 (140) = happyShift action_34
action_418 (141) = happyShift action_35
action_418 (144) = happyShift action_36
action_418 (145) = happyShift action_37
action_418 (146) = happyShift action_38
action_418 (149) = happyShift action_39
action_418 (150) = happyShift action_40
action_418 (151) = happyShift action_41
action_418 (152) = happyShift action_42
action_418 (153) = happyShift action_43
action_418 (51) = happyGoto action_431
action_418 (52) = happyGoto action_8
action_418 (53) = happyGoto action_9
action_418 (54) = happyGoto action_10
action_418 (55) = happyGoto action_11
action_418 (56) = happyGoto action_12
action_418 (57) = happyGoto action_13
action_418 (66) = happyGoto action_14
action_418 (74) = happyGoto action_15
action_418 _ = happyFail

action_419 _ = happyReduce_214

action_420 (83) = happyGoto action_430
action_420 _ = happyReduce_238

action_421 (102) = happyShift action_429
action_421 (83) = happyGoto action_428
action_421 _ = happyReduce_238

action_422 (114) = happyShift action_427
action_422 _ = happyReduce_98

action_423 (83) = happyGoto action_426
action_423 _ = happyReduce_238

action_424 (153) = happyShift action_425
action_424 _ = happyFail

action_425 (87) = happyShift action_293
action_425 (101) = happyShift action_18
action_425 (105) = happyShift action_19
action_425 (107) = happyShift action_20
action_425 (109) = happyShift action_21
action_425 (115) = happyShift action_24
action_425 (116) = happyShift action_25
action_425 (117) = happyShift action_26
action_425 (118) = happyShift action_27
action_425 (119) = happyShift action_28
action_425 (149) = happyShift action_39
action_425 (150) = happyShift action_40
action_425 (151) = happyShift action_41
action_425 (152) = happyShift action_42
action_425 (153) = happyShift action_43
action_425 (57) = happyGoto action_290
action_425 (66) = happyGoto action_14
action_425 (81) = happyGoto action_291
action_425 (82) = happyGoto action_495
action_425 _ = happyReduce_236

action_426 _ = happyReduce_66

action_427 (33) = happyGoto action_422
action_427 (43) = happyGoto action_494
action_427 (83) = happyGoto action_424
action_427 _ = happyReduce_238

action_428 _ = happyReduce_68

action_429 (85) = happyShift action_16
action_429 (87) = happyShift action_17
action_429 (101) = happyShift action_18
action_429 (105) = happyShift action_19
action_429 (107) = happyShift action_20
action_429 (109) = happyShift action_21
action_429 (111) = happyShift action_22
action_429 (112) = happyShift action_23
action_429 (115) = happyShift action_24
action_429 (116) = happyShift action_25
action_429 (117) = happyShift action_26
action_429 (118) = happyShift action_27
action_429 (119) = happyShift action_28
action_429 (121) = happyShift action_29
action_429 (128) = happyShift action_30
action_429 (132) = happyShift action_31
action_429 (133) = happyShift action_32
action_429 (134) = happyShift action_33
action_429 (140) = happyShift action_34
action_429 (141) = happyShift action_35
action_429 (144) = happyShift action_36
action_429 (145) = happyShift action_37
action_429 (146) = happyShift action_38
action_429 (149) = happyShift action_39
action_429 (150) = happyShift action_40
action_429 (151) = happyShift action_41
action_429 (152) = happyShift action_42
action_429 (153) = happyShift action_43
action_429 (51) = happyGoto action_493
action_429 (52) = happyGoto action_8
action_429 (53) = happyGoto action_9
action_429 (54) = happyGoto action_10
action_429 (55) = happyGoto action_11
action_429 (56) = happyGoto action_12
action_429 (57) = happyGoto action_13
action_429 (66) = happyGoto action_14
action_429 (74) = happyGoto action_15
action_429 _ = happyFail

action_430 _ = happyReduce_69

action_431 (83) = happyGoto action_492
action_431 _ = happyReduce_238

action_432 _ = happyReduce_103

action_433 _ = happyReduce_212

action_434 _ = happyReduce_74

action_435 _ = happyReduce_72

action_436 (83) = happyGoto action_491
action_436 _ = happyReduce_238

action_437 _ = happyReduce_61

action_438 _ = happyReduce_75

action_439 _ = happyReduce_76

action_440 _ = happyReduce_62

action_441 (83) = happyGoto action_490
action_441 _ = happyReduce_238

action_442 _ = happyReduce_209

action_443 (153) = happyShift action_403
action_443 (32) = happyGoto action_489
action_443 _ = happyFail

action_444 _ = happyReduce_64

action_445 _ = happyReduce_65

action_446 (85) = happyShift action_16
action_446 (87) = happyShift action_17
action_446 (101) = happyShift action_18
action_446 (105) = happyShift action_19
action_446 (107) = happyShift action_20
action_446 (109) = happyShift action_21
action_446 (111) = happyShift action_22
action_446 (112) = happyShift action_23
action_446 (115) = happyShift action_24
action_446 (116) = happyShift action_25
action_446 (117) = happyShift action_26
action_446 (118) = happyShift action_27
action_446 (119) = happyShift action_28
action_446 (121) = happyShift action_29
action_446 (128) = happyShift action_30
action_446 (132) = happyShift action_31
action_446 (133) = happyShift action_32
action_446 (134) = happyShift action_33
action_446 (140) = happyShift action_34
action_446 (141) = happyShift action_35
action_446 (144) = happyShift action_36
action_446 (145) = happyShift action_37
action_446 (146) = happyShift action_38
action_446 (149) = happyShift action_39
action_446 (150) = happyShift action_40
action_446 (151) = happyShift action_41
action_446 (152) = happyShift action_42
action_446 (153) = happyShift action_43
action_446 (51) = happyGoto action_488
action_446 (52) = happyGoto action_8
action_446 (53) = happyGoto action_9
action_446 (54) = happyGoto action_10
action_446 (55) = happyGoto action_11
action_446 (56) = happyGoto action_12
action_446 (57) = happyGoto action_13
action_446 (66) = happyGoto action_14
action_446 (74) = happyGoto action_15
action_446 _ = happyFail

action_447 (109) = happyShift action_487
action_447 (83) = happyGoto action_486
action_447 _ = happyReduce_238

action_448 _ = happyReduce_15

action_449 (148) = happyShift action_485
action_449 _ = happyFail

action_450 (91) = happyShift action_484
action_450 _ = happyReduce_18

action_451 (94) = happyShift action_483
action_451 _ = happyReduce_38

action_452 (153) = happyShift action_482
action_452 _ = happyFail

action_453 (108) = happyShift action_481
action_453 _ = happyFail

action_454 (153) = happyShift action_108
action_454 (44) = happyGoto action_480
action_454 _ = happyFail

action_455 _ = happyReduce_175

action_456 _ = happyReduce_143

action_457 _ = happyReduce_142

action_458 (85) = happyShift action_16
action_458 (87) = happyShift action_17
action_458 (101) = happyShift action_18
action_458 (105) = happyShift action_19
action_458 (107) = happyShift action_20
action_458 (109) = happyShift action_21
action_458 (111) = happyShift action_22
action_458 (112) = happyShift action_23
action_458 (115) = happyShift action_24
action_458 (116) = happyShift action_25
action_458 (117) = happyShift action_26
action_458 (118) = happyShift action_27
action_458 (119) = happyShift action_28
action_458 (121) = happyShift action_29
action_458 (128) = happyShift action_30
action_458 (132) = happyShift action_31
action_458 (133) = happyShift action_32
action_458 (134) = happyShift action_33
action_458 (140) = happyShift action_34
action_458 (141) = happyShift action_35
action_458 (144) = happyShift action_36
action_458 (145) = happyShift action_37
action_458 (146) = happyShift action_38
action_458 (149) = happyShift action_39
action_458 (150) = happyShift action_40
action_458 (151) = happyShift action_41
action_458 (152) = happyShift action_42
action_458 (153) = happyShift action_43
action_458 (51) = happyGoto action_381
action_458 (52) = happyGoto action_8
action_458 (53) = happyGoto action_9
action_458 (54) = happyGoto action_10
action_458 (55) = happyGoto action_11
action_458 (56) = happyGoto action_12
action_458 (57) = happyGoto action_13
action_458 (66) = happyGoto action_14
action_458 (74) = happyGoto action_15
action_458 (79) = happyGoto action_382
action_458 (80) = happyGoto action_479
action_458 _ = happyFail

action_459 (85) = happyShift action_16
action_459 (87) = happyShift action_17
action_459 (101) = happyShift action_18
action_459 (105) = happyShift action_19
action_459 (107) = happyShift action_20
action_459 (109) = happyShift action_21
action_459 (111) = happyShift action_22
action_459 (112) = happyShift action_23
action_459 (115) = happyShift action_24
action_459 (116) = happyShift action_25
action_459 (117) = happyShift action_26
action_459 (118) = happyShift action_27
action_459 (119) = happyShift action_28
action_459 (121) = happyShift action_29
action_459 (128) = happyShift action_30
action_459 (132) = happyShift action_31
action_459 (133) = happyShift action_32
action_459 (134) = happyShift action_33
action_459 (140) = happyShift action_34
action_459 (141) = happyShift action_35
action_459 (144) = happyShift action_36
action_459 (145) = happyShift action_37
action_459 (146) = happyShift action_38
action_459 (149) = happyShift action_39
action_459 (150) = happyShift action_40
action_459 (151) = happyShift action_41
action_459 (152) = happyShift action_42
action_459 (153) = happyShift action_43
action_459 (51) = happyGoto action_478
action_459 (52) = happyGoto action_8
action_459 (53) = happyGoto action_9
action_459 (54) = happyGoto action_10
action_459 (55) = happyGoto action_11
action_459 (56) = happyGoto action_12
action_459 (57) = happyGoto action_13
action_459 (66) = happyGoto action_14
action_459 (74) = happyGoto action_15
action_459 _ = happyFail

action_460 _ = happyReduce_112

action_461 _ = happyReduce_121

action_462 _ = happyReduce_139

action_463 _ = happyReduce_24

action_464 (148) = happyShift action_477
action_464 _ = happyFail

action_465 (91) = happyShift action_476
action_465 _ = happyReduce_27

action_466 _ = happyReduce_42

action_467 (94) = happyShift action_363
action_467 _ = happyReduce_41

action_468 _ = happyReduce_33

action_469 _ = happyReduce_30

action_470 (102) = happyShift action_475
action_470 _ = happyFail

action_471 (87) = happyShift action_359
action_471 (153) = happyShift action_360
action_471 (16) = happyGoto action_474
action_471 (17) = happyGoto action_358
action_471 _ = happyFail

action_472 (109) = happyShift action_473
action_472 _ = happyFail

action_473 (122) = happyShift action_47
action_473 (124) = happyShift action_48
action_473 (125) = happyShift action_49
action_473 (126) = happyShift action_50
action_473 (127) = happyShift action_51
action_473 (133) = happyShift action_52
action_473 (134) = happyShift action_53
action_473 (135) = happyShift action_54
action_473 (138) = happyShift action_55
action_473 (139) = happyShift action_56
action_473 (142) = happyShift action_57
action_473 (15) = happyGoto action_508
action_473 (22) = happyGoto action_362
action_473 _ = happyReduce_32

action_474 _ = happyReduce_35

action_475 (153) = happyShift action_507
action_475 _ = happyFail

action_476 (109) = happyShift action_355
action_476 (137) = happyShift action_356
action_476 (14) = happyGoto action_506
action_476 _ = happyFail

action_477 (87) = happyShift action_452
action_477 (18) = happyGoto action_505
action_477 (19) = happyGoto action_451
action_477 _ = happyFail

action_478 _ = happyReduce_231

action_479 _ = happyReduce_233

action_480 (108) = happyShift action_504
action_480 _ = happyFail

action_481 _ = happyReduce_44

action_482 (102) = happyShift action_503
action_482 _ = happyFail

action_483 (87) = happyShift action_452
action_483 (18) = happyGoto action_502
action_483 (19) = happyGoto action_451
action_483 _ = happyFail

action_484 (137) = happyShift action_299
action_484 (12) = happyGoto action_501
action_484 _ = happyReduce_20

action_485 (87) = happyShift action_452
action_485 (18) = happyGoto action_500
action_485 (19) = happyGoto action_451
action_485 _ = happyFail

action_486 _ = happyReduce_59

action_487 (149) = happyShift action_499
action_487 _ = happyFail

action_488 (88) = happyShift action_498
action_488 _ = happyFail

action_489 _ = happyReduce_78

action_490 _ = happyReduce_63

action_491 _ = happyReduce_73

action_492 _ = happyReduce_70

action_493 (83) = happyGoto action_497
action_493 _ = happyReduce_238

action_494 _ = happyReduce_99

action_495 (83) = happyGoto action_496
action_495 _ = happyReduce_238

action_496 _ = happyReduce_79

action_497 _ = happyReduce_71

action_498 _ = happyReduce_234

action_499 (110) = happyShift action_514
action_499 _ = happyFail

action_500 (91) = happyShift action_513
action_500 _ = happyReduce_14

action_501 _ = happyReduce_17

action_502 _ = happyReduce_39

action_503 (153) = happyShift action_512
action_503 _ = happyFail

action_504 _ = happyReduce_45

action_505 (91) = happyShift action_511
action_505 _ = happyReduce_23

action_506 _ = happyReduce_26

action_507 (88) = happyShift action_510
action_507 _ = happyFail

action_508 (110) = happyShift action_509
action_508 _ = happyFail

action_509 _ = happyReduce_31

action_510 _ = happyReduce_37

action_511 (109) = happyShift action_355
action_511 (137) = happyShift action_356
action_511 (14) = happyGoto action_518
action_511 _ = happyFail

action_512 (88) = happyShift action_517
action_512 _ = happyFail

action_513 (137) = happyShift action_299
action_513 (12) = happyGoto action_516
action_513 _ = happyReduce_20

action_514 (83) = happyGoto action_515
action_514 _ = happyReduce_238

action_515 _ = happyReduce_60

action_516 _ = happyReduce_13

action_517 _ = happyReduce_40

action_518 _ = happyReduce_22

happyReduce_4 = happyMonadReduce 4 7 happyReduction_4
happyReduction_4 ((HappyAbsSyn13  happy_var_4) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn10  happy_var_2) `HappyStk`
	(HappyAbsSyn9  happy_var_1) `HappyStk`
	happyRest) tk
	 = happyThen ((
                                   do let mstat = happy_var_1
                                          (mtype,id) = happy_var_2
                                          (extends,with,content) = happy_var_4
                                          (opens,jments,opts) = case content of { Just c -> c; Nothing -> ([],[],noOptions) }
                                      jments <- mapM (checkInfoType mtype) jments
                                      defs <- case buildAnyTree id jments of
                                                Ok x    -> return x
                                                Bad msg -> fail (optDecode opts msg)
                                      return (id, ModInfo mtype mstat opts extends with opens [] "" Nothing defs))
	) (\r -> happyReturn (HappyAbsSyn7 r))

happyReduce_5 = happyReduce 4 8 happyReduction_5
happyReduction_5 ((HappyAbsSyn11  happy_var_4) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn10  happy_var_2) `HappyStk`
	(HappyAbsSyn9  happy_var_1) `HappyStk`
	happyRest)
	 = HappyAbsSyn7
		 (let { mstat = happy_var_1 ;
                                               (mtype,id) = happy_var_2 ;
                                               (extends,with,opens) = happy_var_4 }
                                         in (id, ModInfo mtype mstat noOptions extends with opens [] "" Nothing emptyBinTree)
	) `HappyStk` happyRest

happyReduce_6 = happySpecReduce_0  9 happyReduction_6
happyReduction_6  =  HappyAbsSyn9
		 (MSComplete
	)

happyReduce_7 = happySpecReduce_1  9 happyReduction_7
happyReduction_7 _
	 =  HappyAbsSyn9
		 (MSIncomplete
	)

happyReduce_8 = happySpecReduce_2  10 happyReduction_8
happyReduction_8 (HappyTerminal ((T_Ident   happy_var_2)))
	_
	 =  HappyAbsSyn10
		 ((MTAbstract,      happy_var_2)
	)
happyReduction_8 _ _  = notHappyAtAll 

happyReduce_9 = happySpecReduce_2  10 happyReduction_9
happyReduction_9 (HappyTerminal ((T_Ident   happy_var_2)))
	_
	 =  HappyAbsSyn10
		 ((MTResource,      happy_var_2)
	)
happyReduction_9 _ _  = notHappyAtAll 

happyReduce_10 = happySpecReduce_2  10 happyReduction_10
happyReduction_10 (HappyTerminal ((T_Ident   happy_var_2)))
	_
	 =  HappyAbsSyn10
		 ((MTInterface,     happy_var_2)
	)
happyReduction_10 _ _  = notHappyAtAll 

happyReduce_11 = happyReduce 4 10 happyReduction_11
happyReduction_11 ((HappyTerminal ((T_Ident   happy_var_4))) `HappyStk`
	_ `HappyStk`
	(HappyTerminal ((T_Ident   happy_var_2))) `HappyStk`
	_ `HappyStk`
	happyRest)
	 = HappyAbsSyn10
		 ((MTConcrete happy_var_4,   happy_var_2)
	) `HappyStk` happyRest

happyReduce_12 = happyReduce 4 10 happyReduction_12
happyReduction_12 ((HappyAbsSyn21  happy_var_4) `HappyStk`
	_ `HappyStk`
	(HappyTerminal ((T_Ident   happy_var_2))) `HappyStk`
	_ `HappyStk`
	happyRest)
	 = HappyAbsSyn10
		 ((MTInstance happy_var_4,   happy_var_2)
	) `HappyStk` happyRest

happyReduce_13 = happyReduce 7 11 happyReduction_13
happyReduction_13 ((HappyAbsSyn12  happy_var_7) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn18  happy_var_5) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn21  happy_var_3) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn20  happy_var_1) `HappyStk`
	happyRest)
	 = HappyAbsSyn11
		 ((happy_var_1, Just (fst happy_var_3,snd happy_var_3,happy_var_5), happy_var_7)
	) `HappyStk` happyRest

happyReduce_14 = happyReduce 5 11 happyReduction_14
happyReduction_14 ((HappyAbsSyn18  happy_var_5) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn21  happy_var_3) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn20  happy_var_1) `HappyStk`
	happyRest)
	 = HappyAbsSyn11
		 ((happy_var_1, Just (fst happy_var_3,snd happy_var_3,happy_var_5), [])
	) `HappyStk` happyRest

happyReduce_15 = happySpecReduce_3  11 happyReduction_15
happyReduction_15 (HappyAbsSyn12  happy_var_3)
	_
	(HappyAbsSyn20  happy_var_1)
	 =  HappyAbsSyn11
		 ((happy_var_1, Nothing,                 happy_var_3)
	)
happyReduction_15 _ _ _  = notHappyAtAll 

happyReduce_16 = happySpecReduce_1  11 happyReduction_16
happyReduction_16 (HappyAbsSyn20  happy_var_1)
	 =  HappyAbsSyn11
		 ((happy_var_1, Nothing,                 [])
	)
happyReduction_16 _  = notHappyAtAll 

happyReduce_17 = happyReduce 5 11 happyReduction_17
happyReduction_17 ((HappyAbsSyn12  happy_var_5) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn18  happy_var_3) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn21  happy_var_1) `HappyStk`
	happyRest)
	 = HappyAbsSyn11
		 (([], Just (fst happy_var_1,snd happy_var_1,happy_var_3), happy_var_5)
	) `HappyStk` happyRest

happyReduce_18 = happySpecReduce_3  11 happyReduction_18
happyReduction_18 (HappyAbsSyn18  happy_var_3)
	_
	(HappyAbsSyn21  happy_var_1)
	 =  HappyAbsSyn11
		 (([], Just (fst happy_var_1,snd happy_var_1,happy_var_3), [])
	)
happyReduction_18 _ _ _  = notHappyAtAll 

happyReduce_19 = happySpecReduce_1  11 happyReduction_19
happyReduction_19 (HappyAbsSyn12  happy_var_1)
	 =  HappyAbsSyn11
		 (([], Nothing,                 happy_var_1)
	)
happyReduction_19 _  = notHappyAtAll 

happyReduce_20 = happySpecReduce_0  12 happyReduction_20
happyReduction_20  =  HappyAbsSyn12
		 ([]
	)

happyReduce_21 = happySpecReduce_2  12 happyReduction_21
happyReduction_21 (HappyAbsSyn12  happy_var_2)
	_
	 =  HappyAbsSyn12
		 (happy_var_2
	)
happyReduction_21 _ _  = notHappyAtAll 

happyReduce_22 = happyReduce 7 13 happyReduction_22
happyReduction_22 ((HappyAbsSyn14  happy_var_7) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn18  happy_var_5) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn21  happy_var_3) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn20  happy_var_1) `HappyStk`
	happyRest)
	 = HappyAbsSyn13
		 ((happy_var_1, Just (fst happy_var_3,snd happy_var_3,happy_var_5), Just happy_var_7)
	) `HappyStk` happyRest

happyReduce_23 = happyReduce 5 13 happyReduction_23
happyReduction_23 ((HappyAbsSyn18  happy_var_5) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn21  happy_var_3) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn20  happy_var_1) `HappyStk`
	happyRest)
	 = HappyAbsSyn13
		 ((happy_var_1, Just (fst happy_var_3,snd happy_var_3,happy_var_5), Nothing)
	) `HappyStk` happyRest

happyReduce_24 = happySpecReduce_3  13 happyReduction_24
happyReduction_24 (HappyAbsSyn14  happy_var_3)
	_
	(HappyAbsSyn20  happy_var_1)
	 =  HappyAbsSyn13
		 ((happy_var_1, Nothing,                 Just happy_var_3)
	)
happyReduction_24 _ _ _  = notHappyAtAll 

happyReduce_25 = happySpecReduce_1  13 happyReduction_25
happyReduction_25 (HappyAbsSyn20  happy_var_1)
	 =  HappyAbsSyn13
		 ((happy_var_1, Nothing,                 Nothing)
	)
happyReduction_25 _  = notHappyAtAll 

happyReduce_26 = happyReduce 5 13 happyReduction_26
happyReduction_26 ((HappyAbsSyn14  happy_var_5) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn18  happy_var_3) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn21  happy_var_1) `HappyStk`
	happyRest)
	 = HappyAbsSyn13
		 (([], Just (fst happy_var_1,snd happy_var_1,happy_var_3), Just happy_var_5)
	) `HappyStk` happyRest

happyReduce_27 = happySpecReduce_3  13 happyReduction_27
happyReduction_27 (HappyAbsSyn18  happy_var_3)
	_
	(HappyAbsSyn21  happy_var_1)
	 =  HappyAbsSyn13
		 (([], Just (fst happy_var_1,snd happy_var_1,happy_var_3), Nothing)
	)
happyReduction_27 _ _ _  = notHappyAtAll 

happyReduce_28 = happySpecReduce_1  13 happyReduction_28
happyReduction_28 (HappyAbsSyn14  happy_var_1)
	 =  HappyAbsSyn13
		 (([], Nothing,                 Just happy_var_1)
	)
happyReduction_28 _  = notHappyAtAll 

happyReduce_29 = happySpecReduce_2  13 happyReduction_29
happyReduction_29 _
	(HappyAbsSyn13  happy_var_1)
	 =  HappyAbsSyn13
		 (happy_var_1
	)
happyReduction_29 _ _  = notHappyAtAll 

happyReduce_30 = happySpecReduce_3  14 happyReduction_30
happyReduction_30 _
	(HappyAbsSyn15  happy_var_2)
	_
	 =  HappyAbsSyn14
		 (([],[d | Left ds <- happy_var_2, d <- ds],concatOptions [o | Right o <- happy_var_2])
	)
happyReduction_30 _ _ _  = notHappyAtAll 

happyReduce_31 = happyReduce 6 14 happyReduction_31
happyReduction_31 (_ `HappyStk`
	(HappyAbsSyn15  happy_var_5) `HappyStk`
	_ `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn12  happy_var_2) `HappyStk`
	_ `HappyStk`
	happyRest)
	 = HappyAbsSyn14
		 ((happy_var_2,[d | Left ds <- happy_var_5, d <- ds],concatOptions [o | Right o <- happy_var_5])
	) `HappyStk` happyRest

happyReduce_32 = happySpecReduce_0  15 happyReduction_32
happyReduction_32  =  HappyAbsSyn15
		 ([]
	)

happyReduce_33 = happySpecReduce_2  15 happyReduction_33
happyReduction_33 (HappyAbsSyn15  happy_var_2)
	(HappyAbsSyn22  happy_var_1)
	 =  HappyAbsSyn15
		 (happy_var_1 : happy_var_2
	)
happyReduction_33 _ _  = notHappyAtAll 

happyReduce_34 = happySpecReduce_1  16 happyReduction_34
happyReduction_34 (HappyAbsSyn17  happy_var_1)
	 =  HappyAbsSyn12
		 ([happy_var_1]
	)
happyReduction_34 _  = notHappyAtAll 

happyReduce_35 = happySpecReduce_3  16 happyReduction_35
happyReduction_35 (HappyAbsSyn12  happy_var_3)
	_
	(HappyAbsSyn17  happy_var_1)
	 =  HappyAbsSyn12
		 (happy_var_1 : happy_var_3
	)
happyReduction_35 _ _ _  = notHappyAtAll 

happyReduce_36 = happySpecReduce_1  17 happyReduction_36
happyReduction_36 (HappyTerminal ((T_Ident   happy_var_1)))
	 =  HappyAbsSyn17
		 (OSimple happy_var_1
	)
happyReduction_36 _  = notHappyAtAll 

happyReduce_37 = happyReduce 5 17 happyReduction_37
happyReduction_37 (_ `HappyStk`
	(HappyTerminal ((T_Ident   happy_var_4))) `HappyStk`
	_ `HappyStk`
	(HappyTerminal ((T_Ident   happy_var_2))) `HappyStk`
	_ `HappyStk`
	happyRest)
	 = HappyAbsSyn17
		 (OQualif happy_var_2 happy_var_4
	) `HappyStk` happyRest

happyReduce_38 = happySpecReduce_1  18 happyReduction_38
happyReduction_38 (HappyAbsSyn19  happy_var_1)
	 =  HappyAbsSyn18
		 ([happy_var_1]
	)
happyReduction_38 _  = notHappyAtAll 

happyReduce_39 = happySpecReduce_3  18 happyReduction_39
happyReduction_39 (HappyAbsSyn18  happy_var_3)
	_
	(HappyAbsSyn19  happy_var_1)
	 =  HappyAbsSyn18
		 (happy_var_1 : happy_var_3
	)
happyReduction_39 _ _ _  = notHappyAtAll 

happyReduce_40 = happyReduce 5 19 happyReduction_40
happyReduction_40 (_ `HappyStk`
	(HappyTerminal ((T_Ident   happy_var_4))) `HappyStk`
	_ `HappyStk`
	(HappyTerminal ((T_Ident   happy_var_2))) `HappyStk`
	_ `HappyStk`
	happyRest)
	 = HappyAbsSyn19
		 ((happy_var_2,happy_var_4)
	) `HappyStk` happyRest

happyReduce_41 = happySpecReduce_1  20 happyReduction_41
happyReduction_41 (HappyAbsSyn21  happy_var_1)
	 =  HappyAbsSyn20
		 ([happy_var_1]
	)
happyReduction_41 _  = notHappyAtAll 

happyReduce_42 = happySpecReduce_3  20 happyReduction_42
happyReduction_42 (HappyAbsSyn20  happy_var_3)
	_
	(HappyAbsSyn21  happy_var_1)
	 =  HappyAbsSyn20
		 (happy_var_1 : happy_var_3
	)
happyReduction_42 _ _ _  = notHappyAtAll 

happyReduce_43 = happySpecReduce_1  21 happyReduction_43
happyReduction_43 (HappyTerminal ((T_Ident   happy_var_1)))
	 =  HappyAbsSyn21
		 ((happy_var_1,MIAll      )
	)
happyReduction_43 _  = notHappyAtAll 

happyReduce_44 = happyReduce 4 21 happyReduction_44
happyReduction_44 (_ `HappyStk`
	(HappyAbsSyn32  happy_var_3) `HappyStk`
	_ `HappyStk`
	(HappyTerminal ((T_Ident   happy_var_1))) `HappyStk`
	happyRest)
	 = HappyAbsSyn21
		 ((happy_var_1,MIOnly   happy_var_3)
	) `HappyStk` happyRest

happyReduce_45 = happyReduce 5 21 happyReduction_45
happyReduction_45 (_ `HappyStk`
	(HappyAbsSyn32  happy_var_4) `HappyStk`
	_ `HappyStk`
	_ `HappyStk`
	(HappyTerminal ((T_Ident   happy_var_1))) `HappyStk`
	happyRest)
	 = HappyAbsSyn21
		 ((happy_var_1,MIExcept happy_var_4)
	) `HappyStk` happyRest

happyReduce_46 = happySpecReduce_2  22 happyReduction_46
happyReduction_46 (HappyAbsSyn23  happy_var_2)
	_
	 =  HappyAbsSyn22
		 (Left  happy_var_2
	)
happyReduction_46 _ _  = notHappyAtAll 

happyReduce_47 = happySpecReduce_2  22 happyReduction_47
happyReduction_47 (HappyAbsSyn23  happy_var_2)
	_
	 =  HappyAbsSyn22
		 (Left  happy_var_2
	)
happyReduction_47 _ _  = notHappyAtAll 

happyReduce_48 = happySpecReduce_2  22 happyReduction_48
happyReduction_48 (HappyAbsSyn23  happy_var_2)
	_
	 =  HappyAbsSyn22
		 (Left  happy_var_2
	)
happyReduction_48 _ _  = notHappyAtAll 

happyReduce_49 = happySpecReduce_2  22 happyReduction_49
happyReduction_49 (HappyAbsSyn23  happy_var_2)
	_
	 =  HappyAbsSyn22
		 (Left  happy_var_2
	)
happyReduction_49 _ _  = notHappyAtAll 

happyReduce_50 = happySpecReduce_2  22 happyReduction_50
happyReduction_50 (HappyAbsSyn23  happy_var_2)
	_
	 =  HappyAbsSyn22
		 (Left  happy_var_2
	)
happyReduction_50 _ _  = notHappyAtAll 

happyReduce_51 = happySpecReduce_2  22 happyReduction_51
happyReduction_51 (HappyAbsSyn23  happy_var_2)
	_
	 =  HappyAbsSyn22
		 (Left  happy_var_2
	)
happyReduction_51 _ _  = notHappyAtAll 

happyReduce_52 = happySpecReduce_2  22 happyReduction_52
happyReduction_52 (HappyAbsSyn30  happy_var_2)
	_
	 =  HappyAbsSyn22
		 (Left  [(f, CncCat (Just e) Nothing    Nothing Nothing) | (f,e) <- happy_var_2]
	)
happyReduction_52 _ _  = notHappyAtAll 

happyReduce_53 = happySpecReduce_2  22 happyReduction_53
happyReduction_53 (HappyAbsSyn30  happy_var_2)
	_
	 =  HappyAbsSyn22
		 (Left  [(f, CncCat Nothing    (Just e) Nothing Nothing) | (f,e) <- happy_var_2]
	)
happyReduction_53 _ _  = notHappyAtAll 

happyReduce_54 = happySpecReduce_2  22 happyReduction_54
happyReduction_54 (HappyAbsSyn23  happy_var_2)
	_
	 =  HappyAbsSyn22
		 (Left  happy_var_2
	)
happyReduction_54 _ _  = notHappyAtAll 

happyReduce_55 = happySpecReduce_3  22 happyReduction_55
happyReduction_55 (HappyAbsSyn30  happy_var_3)
	_
	_
	 =  HappyAbsSyn22
		 (Left  [(f, CncCat Nothing    Nothing (Just e) Nothing) | (f,e) <- happy_var_3]
	)
happyReduction_55 _ _ _  = notHappyAtAll 

happyReduce_56 = happySpecReduce_3  22 happyReduction_56
happyReduction_56 (HappyAbsSyn30  happy_var_3)
	_
	_
	 =  HappyAbsSyn22
		 (Left  [(f, CncFun Nothing Nothing (Just e) Nothing) | (f,e) <- happy_var_3]
	)
happyReduction_56 _ _ _  = notHappyAtAll 

happyReduce_57 = happySpecReduce_2  22 happyReduction_57
happyReduction_57 (HappyAbsSyn31  happy_var_2)
	_
	 =  HappyAbsSyn22
		 (Right happy_var_2
	)
happyReduction_57 _ _  = notHappyAtAll 

happyReduce_58 = happyReduce 4 23 happyReduction_58
happyReduction_58 ((HappyAbsSyn83  happy_var_4) `HappyStk`
	(HappyAbsSyn74  happy_var_3) `HappyStk`
	(HappyTerminal ((T_Ident   happy_var_2))) `HappyStk`
	(HappyAbsSyn83  happy_var_1) `HappyStk`
	happyRest)
	 = HappyAbsSyn23
		 ([(happy_var_2, AbsCat (Just (mkL happy_var_1 happy_var_4 happy_var_3)))]
	) `HappyStk` happyRest

happyReduce_59 = happyReduce 6 23 happyReduction_59
happyReduction_59 ((HappyAbsSyn83  happy_var_6) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn74  happy_var_4) `HappyStk`
	(HappyTerminal ((T_Ident   happy_var_3))) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn83  happy_var_1) `HappyStk`
	happyRest)
	 = HappyAbsSyn23
		 (listCatDef (mkL happy_var_1 happy_var_6 (happy_var_3,happy_var_4,0))
	) `HappyStk` happyRest

happyReduce_60 = happyReduce 9 23 happyReduction_60
happyReduction_60 ((HappyAbsSyn83  happy_var_9) `HappyStk`
	_ `HappyStk`
	(HappyTerminal ((T_Integer happy_var_7))) `HappyStk`
	_ `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn74  happy_var_4) `HappyStk`
	(HappyTerminal ((T_Ident   happy_var_3))) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn83  happy_var_1) `HappyStk`
	happyRest)
	 = HappyAbsSyn23
		 (listCatDef (mkL happy_var_1 happy_var_9 (happy_var_3,happy_var_4,fromIntegral happy_var_7))
	) `HappyStk` happyRest

happyReduce_61 = happyReduce 5 24 happyReduction_61
happyReduction_61 ((HappyAbsSyn83  happy_var_5) `HappyStk`
	(HappyAbsSyn51  happy_var_4) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn32  happy_var_2) `HappyStk`
	(HappyAbsSyn83  happy_var_1) `HappyStk`
	happyRest)
	 = HappyAbsSyn23
		 ([(fun, AbsFun (Just (mkL happy_var_1 happy_var_5 happy_var_4)) Nothing (Just []) (Just True)) | fun <- happy_var_2]
	) `HappyStk` happyRest

happyReduce_62 = happyReduce 5 25 happyReduction_62
happyReduction_62 ((HappyAbsSyn83  happy_var_5) `HappyStk`
	(HappyAbsSyn51  happy_var_4) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn32  happy_var_2) `HappyStk`
	(HappyAbsSyn83  happy_var_1) `HappyStk`
	happyRest)
	 = HappyAbsSyn23
		 ([(f, AbsFun Nothing (Just 0)           (Just [mkL happy_var_1 happy_var_5 ([],happy_var_4)]) Nothing) | f <- happy_var_2]
	) `HappyStk` happyRest

happyReduce_63 = happyReduce 6 25 happyReduction_63
happyReduction_63 ((HappyAbsSyn83  happy_var_6) `HappyStk`
	(HappyAbsSyn51  happy_var_5) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn68  happy_var_3) `HappyStk`
	(HappyAbsSyn46  happy_var_2) `HappyStk`
	(HappyAbsSyn83  happy_var_1) `HappyStk`
	happyRest)
	 = HappyAbsSyn23
		 ([(happy_var_2,AbsFun Nothing (Just (length happy_var_3)) (Just [mkL happy_var_1 happy_var_6 (happy_var_3,happy_var_5)]) Nothing)]
	) `HappyStk` happyRest

happyReduce_64 = happyReduce 5 26 happyReduction_64
happyReduction_64 (_ `HappyStk`
	(HappyAbsSyn32  happy_var_4) `HappyStk`
	_ `HappyStk`
	(HappyTerminal ((T_Ident   happy_var_2))) `HappyStk`
	_ `HappyStk`
	happyRest)
	 = HappyAbsSyn23
		 ((happy_var_2,   AbsCat Nothing) :
                                         [(fun, AbsFun Nothing Nothing Nothing  (Just True)) | fun <- happy_var_4]
	) `HappyStk` happyRest

happyReduce_65 = happyReduce 5 26 happyReduction_65
happyReduction_65 ((HappyAbsSyn83  happy_var_5) `HappyStk`
	(HappyAbsSyn51  happy_var_4) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn32  happy_var_2) `HappyStk`
	(HappyAbsSyn83  happy_var_1) `HappyStk`
	happyRest)
	 = HappyAbsSyn23
		 (-- (snd (valCat happy_var_4), AbsCat Nothing) :
                                         [(fun, AbsFun (Just (mkL happy_var_1 happy_var_5 happy_var_4)) Nothing Nothing (Just True)) | fun <- happy_var_2]
	) `HappyStk` happyRest

happyReduce_66 = happyReduce 5 27 happyReduction_66
happyReduction_66 ((HappyAbsSyn83  happy_var_5) `HappyStk`
	(HappyAbsSyn43  happy_var_4) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn46  happy_var_2) `HappyStk`
	(HappyAbsSyn83  happy_var_1) `HappyStk`
	happyRest)
	 = HappyAbsSyn23
		 ((happy_var_2, ResParam (Just (mkL happy_var_1 happy_var_5 [param | L loc param <- happy_var_4])) Nothing) :
                                        [(f, ResValue (L loc (mkProdSimple co (Cn happy_var_2)))) | L loc (f,co) <- happy_var_4]
	) `HappyStk` happyRest

happyReduce_67 = happySpecReduce_3  27 happyReduction_67
happyReduction_67 _
	(HappyAbsSyn46  happy_var_2)
	_
	 =  HappyAbsSyn23
		 ([(happy_var_2, ResParam Nothing Nothing)]
	)
happyReduction_67 _ _ _  = notHappyAtAll 

happyReduce_68 = happyReduce 5 28 happyReduction_68
happyReduction_68 ((HappyAbsSyn83  happy_var_5) `HappyStk`
	(HappyAbsSyn51  happy_var_4) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn32  happy_var_2) `HappyStk`
	(HappyAbsSyn83  happy_var_1) `HappyStk`
	happyRest)
	 = HappyAbsSyn23
		 ([(i, info) | i <- happy_var_2,   info <- mkOverload (Just (mkL happy_var_1 happy_var_5 happy_var_4)) Nothing  ]
	) `HappyStk` happyRest

happyReduce_69 = happyReduce 5 28 happyReduction_69
happyReduction_69 ((HappyAbsSyn83  happy_var_5) `HappyStk`
	(HappyAbsSyn51  happy_var_4) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn32  happy_var_2) `HappyStk`
	(HappyAbsSyn83  happy_var_1) `HappyStk`
	happyRest)
	 = HappyAbsSyn23
		 ([(i, info) | i <- happy_var_2,   info <- mkOverload Nothing   (Just (mkL happy_var_1 happy_var_5 happy_var_4))]
	) `HappyStk` happyRest

happyReduce_70 = happyReduce 6 28 happyReduction_70
happyReduction_70 ((HappyAbsSyn83  happy_var_6) `HappyStk`
	(HappyAbsSyn51  happy_var_5) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn70  happy_var_3) `HappyStk`
	(HappyAbsSyn46  happy_var_2) `HappyStk`
	(HappyAbsSyn83  happy_var_1) `HappyStk`
	happyRest)
	 = HappyAbsSyn23
		 ([(i, info) | i <- [happy_var_2], info <- mkOverload Nothing   (Just (mkL happy_var_1 happy_var_6 (mkAbs happy_var_3 happy_var_5)))]
	) `HappyStk` happyRest

happyReduce_71 = happyReduce 7 28 happyReduction_71
happyReduction_71 ((HappyAbsSyn83  happy_var_7) `HappyStk`
	(HappyAbsSyn51  happy_var_6) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn51  happy_var_4) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn32  happy_var_2) `HappyStk`
	(HappyAbsSyn83  happy_var_1) `HappyStk`
	happyRest)
	 = HappyAbsSyn23
		 ([(i, info) | i <- happy_var_2,   info <- mkOverload (Just (mkL happy_var_1 happy_var_7 happy_var_4)) (Just (mkL happy_var_1 happy_var_7 happy_var_6))]
	) `HappyStk` happyRest

happyReduce_72 = happyReduce 5 29 happyReduction_72
happyReduction_72 ((HappyAbsSyn83  happy_var_5) `HappyStk`
	(HappyAbsSyn51  happy_var_4) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn32  happy_var_2) `HappyStk`
	(HappyAbsSyn83  happy_var_1) `HappyStk`
	happyRest)
	 = HappyAbsSyn23
		 ([(f,  CncFun Nothing (Just (mkL happy_var_1 happy_var_5 happy_var_4)) Nothing Nothing) | f <- happy_var_2]
	) `HappyStk` happyRest

happyReduce_73 = happyReduce 6 29 happyReduction_73
happyReduction_73 ((HappyAbsSyn83  happy_var_6) `HappyStk`
	(HappyAbsSyn51  happy_var_5) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn70  happy_var_3) `HappyStk`
	(HappyAbsSyn46  happy_var_2) `HappyStk`
	(HappyAbsSyn83  happy_var_1) `HappyStk`
	happyRest)
	 = HappyAbsSyn23
		 ([(happy_var_2, CncFun Nothing (Just (mkL happy_var_1 happy_var_6 (mkAbs happy_var_3 happy_var_5))) Nothing Nothing)]
	) `HappyStk` happyRest

happyReduce_74 = happyReduce 5 30 happyReduction_74
happyReduction_74 ((HappyAbsSyn83  happy_var_5) `HappyStk`
	(HappyAbsSyn51  happy_var_4) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn32  happy_var_2) `HappyStk`
	(HappyAbsSyn83  happy_var_1) `HappyStk`
	happyRest)
	 = HappyAbsSyn30
		 ([(i,mkL happy_var_1 happy_var_5 happy_var_4) | i <- happy_var_2]
	) `HappyStk` happyRest

happyReduce_75 = happyMonadReduce 5 31 happyReduction_75
happyReduction_75 (_ `HappyStk`
	(HappyTerminal ((T_Ident   happy_var_4))) `HappyStk`
	_ `HappyStk`
	(HappyTerminal ((T_Ident   happy_var_2))) `HappyStk`
	(HappyAbsSyn83  happy_var_1) `HappyStk`
	happyRest) tk
	 = happyThen (( case parseModuleOptions ["--" ++ showIdent happy_var_2 ++ "=" ++ showIdent happy_var_4] of
                                    Ok  x   -> return x
                                    Bad msg -> failLoc happy_var_1 msg)
	) (\r -> happyReturn (HappyAbsSyn31 r))

happyReduce_76 = happyMonadReduce 5 31 happyReduction_76
happyReduction_76 (_ `HappyStk`
	(HappyTerminal ((T_Double  happy_var_4))) `HappyStk`
	_ `HappyStk`
	(HappyTerminal ((T_Ident   happy_var_2))) `HappyStk`
	(HappyAbsSyn83  happy_var_1) `HappyStk`
	happyRest) tk
	 = happyThen (( case parseModuleOptions ["--" ++ showIdent happy_var_2 ++ "=" ++ show happy_var_4] of
                                    Ok  x   -> return x
                                    Bad msg -> failLoc happy_var_1 msg)
	) (\r -> happyReturn (HappyAbsSyn31 r))

happyReduce_77 = happySpecReduce_1  32 happyReduction_77
happyReduction_77 (HappyTerminal ((T_Ident   happy_var_1)))
	 =  HappyAbsSyn32
		 ([happy_var_1]
	)
happyReduction_77 _  = notHappyAtAll 

happyReduce_78 = happySpecReduce_3  32 happyReduction_78
happyReduction_78 (HappyAbsSyn32  happy_var_3)
	_
	(HappyTerminal ((T_Ident   happy_var_1)))
	 =  HappyAbsSyn32
		 (happy_var_1 : happy_var_3
	)
happyReduction_78 _ _ _  = notHappyAtAll 

happyReduce_79 = happyReduce 4 33 happyReduction_79
happyReduction_79 ((HappyAbsSyn83  happy_var_4) `HappyStk`
	(HappyAbsSyn74  happy_var_3) `HappyStk`
	(HappyTerminal ((T_Ident   happy_var_2))) `HappyStk`
	(HappyAbsSyn83  happy_var_1) `HappyStk`
	happyRest)
	 = HappyAbsSyn33
		 (mkL happy_var_1 happy_var_4 (happy_var_2,happy_var_3)
	) `HappyStk` happyRest

happyReduce_80 = happySpecReduce_2  34 happyReduction_80
happyReduction_80 _
	(HappyAbsSyn23  happy_var_1)
	 =  HappyAbsSyn23
		 (happy_var_1
	)
happyReduction_80 _ _  = notHappyAtAll 

happyReduce_81 = happySpecReduce_3  34 happyReduction_81
happyReduction_81 (HappyAbsSyn23  happy_var_3)
	_
	(HappyAbsSyn23  happy_var_1)
	 =  HappyAbsSyn23
		 (happy_var_1 ++ happy_var_3
	)
happyReduction_81 _ _ _  = notHappyAtAll 

happyReduce_82 = happySpecReduce_2  35 happyReduction_82
happyReduction_82 _
	(HappyAbsSyn23  happy_var_1)
	 =  HappyAbsSyn23
		 (happy_var_1
	)
happyReduction_82 _ _  = notHappyAtAll 

happyReduce_83 = happySpecReduce_3  35 happyReduction_83
happyReduction_83 (HappyAbsSyn23  happy_var_3)
	_
	(HappyAbsSyn23  happy_var_1)
	 =  HappyAbsSyn23
		 (happy_var_1 ++ happy_var_3
	)
happyReduction_83 _ _ _  = notHappyAtAll 

happyReduce_84 = happySpecReduce_2  36 happyReduction_84
happyReduction_84 _
	(HappyAbsSyn23  happy_var_1)
	 =  HappyAbsSyn23
		 (happy_var_1
	)
happyReduction_84 _ _  = notHappyAtAll 

happyReduce_85 = happySpecReduce_3  36 happyReduction_85
happyReduction_85 (HappyAbsSyn23  happy_var_3)
	_
	(HappyAbsSyn23  happy_var_1)
	 =  HappyAbsSyn23
		 (happy_var_1 ++ happy_var_3
	)
happyReduction_85 _ _ _  = notHappyAtAll 

happyReduce_86 = happySpecReduce_2  37 happyReduction_86
happyReduction_86 _
	(HappyAbsSyn23  happy_var_1)
	 =  HappyAbsSyn23
		 (happy_var_1
	)
happyReduction_86 _ _  = notHappyAtAll 

happyReduce_87 = happySpecReduce_3  37 happyReduction_87
happyReduction_87 (HappyAbsSyn23  happy_var_3)
	_
	(HappyAbsSyn23  happy_var_1)
	 =  HappyAbsSyn23
		 (happy_var_1 ++ happy_var_3
	)
happyReduction_87 _ _ _  = notHappyAtAll 

happyReduce_88 = happySpecReduce_2  38 happyReduction_88
happyReduction_88 _
	(HappyAbsSyn23  happy_var_1)
	 =  HappyAbsSyn23
		 (happy_var_1
	)
happyReduction_88 _ _  = notHappyAtAll 

happyReduce_89 = happySpecReduce_3  38 happyReduction_89
happyReduction_89 (HappyAbsSyn23  happy_var_3)
	_
	(HappyAbsSyn23  happy_var_1)
	 =  HappyAbsSyn23
		 (happy_var_1 ++ happy_var_3
	)
happyReduction_89 _ _ _  = notHappyAtAll 

happyReduce_90 = happySpecReduce_2  39 happyReduction_90
happyReduction_90 _
	(HappyAbsSyn23  happy_var_1)
	 =  HappyAbsSyn23
		 (happy_var_1
	)
happyReduction_90 _ _  = notHappyAtAll 

happyReduce_91 = happySpecReduce_3  39 happyReduction_91
happyReduction_91 (HappyAbsSyn23  happy_var_3)
	_
	(HappyAbsSyn23  happy_var_1)
	 =  HappyAbsSyn23
		 (happy_var_1 ++ happy_var_3
	)
happyReduction_91 _ _ _  = notHappyAtAll 

happyReduce_92 = happySpecReduce_2  40 happyReduction_92
happyReduction_92 _
	(HappyAbsSyn23  happy_var_1)
	 =  HappyAbsSyn23
		 (happy_var_1
	)
happyReduction_92 _ _  = notHappyAtAll 

happyReduce_93 = happySpecReduce_3  40 happyReduction_93
happyReduction_93 (HappyAbsSyn23  happy_var_3)
	_
	(HappyAbsSyn23  happy_var_1)
	 =  HappyAbsSyn23
		 (happy_var_1 ++ happy_var_3
	)
happyReduction_93 _ _ _  = notHappyAtAll 

happyReduce_94 = happySpecReduce_2  41 happyReduction_94
happyReduction_94 _
	(HappyAbsSyn30  happy_var_1)
	 =  HappyAbsSyn30
		 (happy_var_1
	)
happyReduction_94 _ _  = notHappyAtAll 

happyReduce_95 = happySpecReduce_3  41 happyReduction_95
happyReduction_95 (HappyAbsSyn30  happy_var_3)
	_
	(HappyAbsSyn30  happy_var_1)
	 =  HappyAbsSyn30
		 (happy_var_1 ++ happy_var_3
	)
happyReduction_95 _ _ _  = notHappyAtAll 

happyReduce_96 = happySpecReduce_2  42 happyReduction_96
happyReduction_96 _
	(HappyAbsSyn31  happy_var_1)
	 =  HappyAbsSyn31
		 (happy_var_1
	)
happyReduction_96 _ _  = notHappyAtAll 

happyReduce_97 = happySpecReduce_3  42 happyReduction_97
happyReduction_97 (HappyAbsSyn31  happy_var_3)
	_
	(HappyAbsSyn31  happy_var_1)
	 =  HappyAbsSyn31
		 (addOptions happy_var_1 happy_var_3
	)
happyReduction_97 _ _ _  = notHappyAtAll 

happyReduce_98 = happySpecReduce_1  43 happyReduction_98
happyReduction_98 (HappyAbsSyn33  happy_var_1)
	 =  HappyAbsSyn43
		 ([happy_var_1]
	)
happyReduction_98 _  = notHappyAtAll 

happyReduce_99 = happySpecReduce_3  43 happyReduction_99
happyReduction_99 (HappyAbsSyn43  happy_var_3)
	_
	(HappyAbsSyn33  happy_var_1)
	 =  HappyAbsSyn43
		 (happy_var_1 : happy_var_3
	)
happyReduction_99 _ _ _  = notHappyAtAll 

happyReduce_100 = happySpecReduce_1  44 happyReduction_100
happyReduction_100 (HappyTerminal ((T_Ident   happy_var_1)))
	 =  HappyAbsSyn32
		 ([happy_var_1]
	)
happyReduction_100 _  = notHappyAtAll 

happyReduce_101 = happySpecReduce_3  44 happyReduction_101
happyReduction_101 (HappyAbsSyn32  happy_var_3)
	_
	(HappyTerminal ((T_Ident   happy_var_1)))
	 =  HappyAbsSyn32
		 (happy_var_1 : happy_var_3
	)
happyReduction_101 _ _ _  = notHappyAtAll 

happyReduce_102 = happySpecReduce_1  45 happyReduction_102
happyReduction_102 (HappyTerminal ((T_Ident   happy_var_1)))
	 =  HappyAbsSyn32
		 ([happy_var_1]
	)
happyReduction_102 _  = notHappyAtAll 

happyReduce_103 = happySpecReduce_2  45 happyReduction_103
happyReduction_103 (HappyAbsSyn32  happy_var_2)
	(HappyTerminal ((T_Ident   happy_var_1)))
	 =  HappyAbsSyn32
		 (happy_var_1 : happy_var_2
	)
happyReduction_103 _ _  = notHappyAtAll 

happyReduce_104 = happySpecReduce_1  46 happyReduction_104
happyReduction_104 (HappyTerminal ((T_Ident   happy_var_1)))
	 =  HappyAbsSyn46
		 (happy_var_1
	)
happyReduction_104 _  = notHappyAtAll 

happyReduce_105 = happyMonadReduce 2 46 happyReduction_105
happyReduction_105 ((HappyAbsSyn46  happy_var_2) `HappyStk`
	(HappyAbsSyn83  happy_var_1) `HappyStk`
	happyRest) tk
	 = happyThen (( failLoc happy_var_1 (showIdent happy_var_2++ " is a predefined constant, it can not be redefined"))
	) (\r -> happyReturn (HappyAbsSyn46 r))

happyReduce_106 = happySpecReduce_1  47 happyReduction_106
happyReduction_106 (HappyAbsSyn46  happy_var_1)
	 =  HappyAbsSyn46
		 (happy_var_1
	)
happyReduction_106 _  = notHappyAtAll 

happyReduce_107 = happySpecReduce_3  47 happyReduction_107
happyReduction_107 _
	(HappyAbsSyn46  happy_var_2)
	_
	 =  HappyAbsSyn46
		 (mkListId happy_var_2
	)
happyReduction_107 _ _ _  = notHappyAtAll 

happyReduce_108 = happySpecReduce_1  48 happyReduction_108
happyReduction_108 (HappyAbsSyn46  happy_var_1)
	 =  HappyAbsSyn32
		 ([happy_var_1]
	)
happyReduction_108 _  = notHappyAtAll 

happyReduce_109 = happySpecReduce_3  48 happyReduction_109
happyReduction_109 (HappyAbsSyn32  happy_var_3)
	_
	(HappyAbsSyn46  happy_var_1)
	 =  HappyAbsSyn32
		 (happy_var_1 : happy_var_3
	)
happyReduction_109 _ _ _  = notHappyAtAll 

happyReduce_110 = happySpecReduce_3  49 happyReduction_110
happyReduction_110 (HappyAbsSyn51  happy_var_3)
	_
	(HappyAbsSyn32  happy_var_1)
	 =  HappyAbsSyn49
		 ([(lab,Just happy_var_3,Nothing) | lab <- happy_var_1]
	)
happyReduction_110 _ _ _  = notHappyAtAll 

happyReduce_111 = happySpecReduce_3  49 happyReduction_111
happyReduction_111 (HappyAbsSyn51  happy_var_3)
	_
	(HappyAbsSyn32  happy_var_1)
	 =  HappyAbsSyn49
		 ([(lab,Nothing,Just happy_var_3) | lab <- happy_var_1]
	)
happyReduction_111 _ _ _  = notHappyAtAll 

happyReduce_112 = happyReduce 5 49 happyReduction_112
happyReduction_112 ((HappyAbsSyn51  happy_var_5) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn51  happy_var_3) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn32  happy_var_1) `HappyStk`
	happyRest)
	 = HappyAbsSyn49
		 ([(lab,Just happy_var_3,Just happy_var_5) | lab <- happy_var_1]
	) `HappyStk` happyRest

happyReduce_113 = happySpecReduce_0  50 happyReduction_113
happyReduction_113  =  HappyAbsSyn49
		 ([]
	)

happyReduce_114 = happySpecReduce_1  50 happyReduction_114
happyReduction_114 (HappyAbsSyn49  happy_var_1)
	 =  HappyAbsSyn49
		 (happy_var_1
	)
happyReduction_114 _  = notHappyAtAll 

happyReduce_115 = happySpecReduce_3  50 happyReduction_115
happyReduction_115 (HappyAbsSyn49  happy_var_3)
	_
	(HappyAbsSyn49  happy_var_1)
	 =  HappyAbsSyn49
		 (happy_var_1 ++ happy_var_3
	)
happyReduction_115 _ _ _  = notHappyAtAll 

happyReduce_116 = happySpecReduce_3  51 happyReduction_116
happyReduction_116 (HappyAbsSyn51  happy_var_3)
	_
	(HappyAbsSyn51  happy_var_1)
	 =  HappyAbsSyn51
		 (FV [happy_var_1,happy_var_3]
	)
happyReduction_116 _ _ _  = notHappyAtAll 

happyReduce_117 = happyReduce 4 51 happyReduction_117
happyReduction_117 ((HappyAbsSyn51  happy_var_4) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn70  happy_var_2) `HappyStk`
	_ `HappyStk`
	happyRest)
	 = HappyAbsSyn51
		 (mkAbs happy_var_2 happy_var_4
	) `HappyStk` happyRest

happyReduce_118 = happyReduce 4 51 happyReduction_118
happyReduction_118 ((HappyAbsSyn51  happy_var_4) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn70  happy_var_2) `HappyStk`
	_ `HappyStk`
	happyRest)
	 = HappyAbsSyn51
		 (mkCTable happy_var_2 happy_var_4
	) `HappyStk` happyRest

happyReduce_119 = happySpecReduce_3  51 happyReduction_119
happyReduction_119 (HappyAbsSyn51  happy_var_3)
	_
	(HappyAbsSyn74  happy_var_1)
	 =  HappyAbsSyn51
		 (mkProdSimple happy_var_1 happy_var_3
	)
happyReduction_119 _ _ _  = notHappyAtAll 

happyReduce_120 = happySpecReduce_3  51 happyReduction_120
happyReduction_120 (HappyAbsSyn51  happy_var_3)
	_
	(HappyAbsSyn51  happy_var_1)
	 =  HappyAbsSyn51
		 (Table happy_var_1 happy_var_3
	)
happyReduction_120 _ _ _  = notHappyAtAll 

happyReduce_121 = happyMonadReduce 6 51 happyReduction_121
happyReduction_121 ((HappyAbsSyn51  happy_var_6) `HappyStk`
	_ `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn49  happy_var_3) `HappyStk`
	_ `HappyStk`
	_ `HappyStk`
	happyRest) tk
	 = happyThen ((
                                        do defs <- mapM tryLoc happy_var_3
                                           return $ mkLet defs happy_var_6)
	) (\r -> happyReturn (HappyAbsSyn51 r))

happyReduce_122 = happyMonadReduce 4 51 happyReduction_122
happyReduction_122 ((HappyAbsSyn51  happy_var_4) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn49  happy_var_2) `HappyStk`
	_ `HappyStk`
	happyRest) tk
	 = happyThen ((
                                        do defs <- mapM tryLoc happy_var_2
                                           return $ mkLet defs happy_var_4)
	) (\r -> happyReturn (HappyAbsSyn51 r))

happyReduce_123 = happyMonadReduce 5 51 happyReduction_123
happyReduction_123 (_ `HappyStk`
	(HappyAbsSyn49  happy_var_4) `HappyStk`
	_ `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn51  happy_var_1) `HappyStk`
	happyRest) tk
	 = happyThen ((
                                        do defs <- mapM tryLoc happy_var_4
                                           return $ mkLet defs happy_var_1)
	) (\r -> happyReturn (HappyAbsSyn51 r))

happyReduce_124 = happySpecReduce_3  51 happyReduction_124
happyReduction_124 (HappyTerminal ((T_String  happy_var_3)))
	(HappyAbsSyn51  happy_var_2)
	_
	 =  HappyAbsSyn51
		 (Example happy_var_2 happy_var_3
	)
happyReduction_124 _ _ _  = notHappyAtAll 

happyReduce_125 = happySpecReduce_1  51 happyReduction_125
happyReduction_125 (HappyAbsSyn51  happy_var_1)
	 =  HappyAbsSyn51
		 (happy_var_1
	)
happyReduction_125 _  = notHappyAtAll 

happyReduce_126 = happySpecReduce_3  52 happyReduction_126
happyReduction_126 (HappyAbsSyn51  happy_var_3)
	_
	(HappyAbsSyn51  happy_var_1)
	 =  HappyAbsSyn51
		 (C happy_var_1 happy_var_3
	)
happyReduction_126 _ _ _  = notHappyAtAll 

happyReduce_127 = happySpecReduce_1  52 happyReduction_127
happyReduction_127 (HappyAbsSyn51  happy_var_1)
	 =  HappyAbsSyn51
		 (happy_var_1
	)
happyReduction_127 _  = notHappyAtAll 

happyReduce_128 = happySpecReduce_3  53 happyReduction_128
happyReduction_128 (HappyAbsSyn51  happy_var_3)
	_
	(HappyAbsSyn51  happy_var_1)
	 =  HappyAbsSyn51
		 (Glue happy_var_1 happy_var_3
	)
happyReduction_128 _ _ _  = notHappyAtAll 

happyReduce_129 = happySpecReduce_1  53 happyReduction_129
happyReduction_129 (HappyAbsSyn51  happy_var_1)
	 =  HappyAbsSyn51
		 (happy_var_1
	)
happyReduction_129 _  = notHappyAtAll 

happyReduce_130 = happySpecReduce_3  54 happyReduction_130
happyReduction_130 (HappyAbsSyn51  happy_var_3)
	_
	(HappyAbsSyn51  happy_var_1)
	 =  HappyAbsSyn51
		 (S happy_var_1 happy_var_3
	)
happyReduction_130 _ _ _  = notHappyAtAll 

happyReduce_131 = happyReduce 4 54 happyReduction_131
happyReduction_131 (_ `HappyStk`
	(HappyAbsSyn78  happy_var_3) `HappyStk`
	_ `HappyStk`
	_ `HappyStk`
	happyRest)
	 = HappyAbsSyn51
		 (T TRaw happy_var_3
	) `HappyStk` happyRest

happyReduce_132 = happyReduce 5 54 happyReduction_132
happyReduction_132 (_ `HappyStk`
	(HappyAbsSyn78  happy_var_4) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn51  happy_var_2) `HappyStk`
	_ `HappyStk`
	happyRest)
	 = HappyAbsSyn51
		 (T (TTyped happy_var_2) happy_var_4
	) `HappyStk` happyRest

happyReduce_133 = happyReduce 5 54 happyReduction_133
happyReduction_133 (_ `HappyStk`
	(HappyAbsSyn58  happy_var_4) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn51  happy_var_2) `HappyStk`
	_ `HappyStk`
	happyRest)
	 = HappyAbsSyn51
		 (V happy_var_2 happy_var_4
	) `HappyStk` happyRest

happyReduce_134 = happySpecReduce_3  54 happyReduction_134
happyReduction_134 (HappyAbsSyn51  happy_var_3)
	_
	(HappyAbsSyn51  happy_var_1)
	 =  HappyAbsSyn51
		 (case happy_var_1 of
                                         RecType xs -> RecType (xs ++ [(tupleLabel (length xs+1),happy_var_3)])
                                         t          -> RecType [(tupleLabel 1,happy_var_1), (tupleLabel 2,happy_var_3)]
	)
happyReduction_134 _ _ _  = notHappyAtAll 

happyReduce_135 = happySpecReduce_3  54 happyReduction_135
happyReduction_135 (HappyAbsSyn51  happy_var_3)
	_
	(HappyAbsSyn51  happy_var_1)
	 =  HappyAbsSyn51
		 (ExtR happy_var_1 happy_var_3
	)
happyReduction_135 _ _ _  = notHappyAtAll 

happyReduce_136 = happySpecReduce_1  54 happyReduction_136
happyReduction_136 (HappyAbsSyn51  happy_var_1)
	 =  HappyAbsSyn51
		 (happy_var_1
	)
happyReduction_136 _  = notHappyAtAll 

happyReduce_137 = happySpecReduce_2  55 happyReduction_137
happyReduction_137 (HappyAbsSyn51  happy_var_2)
	(HappyAbsSyn51  happy_var_1)
	 =  HappyAbsSyn51
		 (App happy_var_1 happy_var_2
	)
happyReduction_137 _ _  = notHappyAtAll 

happyReduce_138 = happyReduce 4 55 happyReduction_138
happyReduction_138 (_ `HappyStk`
	(HappyAbsSyn51  happy_var_3) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn51  happy_var_1) `HappyStk`
	happyRest)
	 = HappyAbsSyn51
		 (App happy_var_1 (ImplArg happy_var_3)
	) `HappyStk` happyRest

happyReduce_139 = happyReduce 6 55 happyReduction_139
happyReduction_139 (_ `HappyStk`
	(HappyAbsSyn78  happy_var_5) `HappyStk`
	_ `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn51  happy_var_2) `HappyStk`
	_ `HappyStk`
	happyRest)
	 = HappyAbsSyn51
		 (let annot = case happy_var_2 of
                                             Typed _ t -> TTyped t
                                             _         -> TRaw
                                       in S (T annot happy_var_5) happy_var_2
	) `HappyStk` happyRest

happyReduce_140 = happyReduce 4 55 happyReduction_140
happyReduction_140 (_ `HappyStk`
	(HappyAbsSyn58  happy_var_3) `HappyStk`
	_ `HappyStk`
	_ `HappyStk`
	happyRest)
	 = HappyAbsSyn51
		 (FV happy_var_3
	) `HappyStk` happyRest

happyReduce_141 = happyMonadReduce 4 55 happyReduction_141
happyReduction_141 (_ `HappyStk`
	(HappyAbsSyn78  happy_var_3) `HappyStk`
	_ `HappyStk`
	_ `HappyStk`
	happyRest) tk
	 = happyThen (( mkAlts happy_var_3)
	) (\r -> happyReturn (HappyAbsSyn51 r))

happyReduce_142 = happyReduce 6 55 happyReduction_142
happyReduction_142 (_ `HappyStk`
	(HappyAbsSyn80  happy_var_5) `HappyStk`
	_ `HappyStk`
	(HappyTerminal ((T_String  happy_var_3))) `HappyStk`
	_ `HappyStk`
	_ `HappyStk`
	happyRest)
	 = HappyAbsSyn51
		 (Alts (K happy_var_3) happy_var_5
	) `HappyStk` happyRest

happyReduce_143 = happyReduce 6 55 happyReduction_143
happyReduction_143 (_ `HappyStk`
	(HappyAbsSyn80  happy_var_5) `HappyStk`
	_ `HappyStk`
	(HappyTerminal ((T_Ident   happy_var_3))) `HappyStk`
	_ `HappyStk`
	_ `HappyStk`
	happyRest)
	 = HappyAbsSyn51
		 (Alts (Vr happy_var_3) happy_var_5
	) `HappyStk` happyRest

happyReduce_144 = happyReduce 4 55 happyReduction_144
happyReduction_144 (_ `HappyStk`
	(HappyAbsSyn58  happy_var_3) `HappyStk`
	_ `HappyStk`
	_ `HappyStk`
	happyRest)
	 = HappyAbsSyn51
		 (Strs happy_var_3
	) `HappyStk` happyRest

happyReduce_145 = happySpecReduce_2  55 happyReduction_145
happyReduction_145 (HappyAbsSyn60  happy_var_2)
	_
	 =  HappyAbsSyn51
		 (EPatt happy_var_2
	)
happyReduction_145 _ _  = notHappyAtAll 

happyReduce_146 = happySpecReduce_2  55 happyReduction_146
happyReduction_146 (HappyAbsSyn51  happy_var_2)
	_
	 =  HappyAbsSyn51
		 (EPattType happy_var_2
	)
happyReduction_146 _ _  = notHappyAtAll 

happyReduce_147 = happySpecReduce_3  55 happyReduction_147
happyReduction_147 (HappyAbsSyn51  happy_var_3)
	(HappyTerminal ((T_Ident   happy_var_2)))
	_
	 =  HappyAbsSyn51
		 (ELincat happy_var_2 happy_var_3
	)
happyReduction_147 _ _ _  = notHappyAtAll 

happyReduce_148 = happySpecReduce_3  55 happyReduction_148
happyReduction_148 (HappyAbsSyn51  happy_var_3)
	(HappyTerminal ((T_Ident   happy_var_2)))
	_
	 =  HappyAbsSyn51
		 (ELin happy_var_2 happy_var_3
	)
happyReduction_148 _ _ _  = notHappyAtAll 

happyReduce_149 = happySpecReduce_1  55 happyReduction_149
happyReduction_149 (HappyAbsSyn51  happy_var_1)
	 =  HappyAbsSyn51
		 (happy_var_1
	)
happyReduction_149 _  = notHappyAtAll 

happyReduce_150 = happySpecReduce_3  56 happyReduction_150
happyReduction_150 (HappyAbsSyn65  happy_var_3)
	_
	(HappyAbsSyn51  happy_var_1)
	 =  HappyAbsSyn51
		 (P  happy_var_1 happy_var_3
	)
happyReduction_150 _ _ _  = notHappyAtAll 

happyReduce_151 = happySpecReduce_1  56 happyReduction_151
happyReduction_151 (HappyAbsSyn51  happy_var_1)
	 =  HappyAbsSyn51
		 (happy_var_1
	)
happyReduction_151 _  = notHappyAtAll 

happyReduce_152 = happySpecReduce_1  57 happyReduction_152
happyReduction_152 (HappyTerminal ((T_Ident   happy_var_1)))
	 =  HappyAbsSyn51
		 (Vr happy_var_1
	)
happyReduction_152 _  = notHappyAtAll 

happyReduce_153 = happySpecReduce_1  57 happyReduction_153
happyReduction_153 (HappyAbsSyn46  happy_var_1)
	 =  HappyAbsSyn51
		 (Sort happy_var_1
	)
happyReduction_153 _  = notHappyAtAll 

happyReduce_154 = happySpecReduce_1  57 happyReduction_154
happyReduction_154 (HappyTerminal ((T_String  happy_var_1)))
	 =  HappyAbsSyn51
		 (K happy_var_1
	)
happyReduction_154 _  = notHappyAtAll 

happyReduce_155 = happySpecReduce_1  57 happyReduction_155
happyReduction_155 (HappyTerminal ((T_Integer happy_var_1)))
	 =  HappyAbsSyn51
		 (EInt happy_var_1
	)
happyReduction_155 _  = notHappyAtAll 

happyReduce_156 = happySpecReduce_1  57 happyReduction_156
happyReduction_156 (HappyTerminal ((T_Double  happy_var_1)))
	 =  HappyAbsSyn51
		 (EFloat happy_var_1
	)
happyReduction_156 _  = notHappyAtAll 

happyReduce_157 = happySpecReduce_1  57 happyReduction_157
happyReduction_157 _
	 =  HappyAbsSyn51
		 (Meta 0
	)

happyReduce_158 = happySpecReduce_2  57 happyReduction_158
happyReduction_158 _
	_
	 =  HappyAbsSyn51
		 (Empty
	)

happyReduce_159 = happyReduce 4 57 happyReduction_159
happyReduction_159 (_ `HappyStk`
	(HappyAbsSyn58  happy_var_3) `HappyStk`
	(HappyTerminal ((T_Ident   happy_var_2))) `HappyStk`
	_ `HappyStk`
	happyRest)
	 = HappyAbsSyn51
		 (foldl App (Vr (mkListId happy_var_2)) happy_var_3
	) `HappyStk` happyRest

happyReduce_160 = happySpecReduce_3  57 happyReduction_160
happyReduction_160 _
	(HappyTerminal ((T_String  happy_var_2)))
	_
	 =  HappyAbsSyn51
		 (K happy_var_2
	)
happyReduction_160 _ _ _  = notHappyAtAll 

happyReduce_161 = happyMonadReduce 3 57 happyReduction_161
happyReduction_161 (_ `HappyStk`
	(HappyAbsSyn49  happy_var_2) `HappyStk`
	_ `HappyStk`
	happyRest) tk
	 = happyThen (( mkR happy_var_2)
	) (\r -> happyReturn (HappyAbsSyn51 r))

happyReduce_162 = happySpecReduce_3  57 happyReduction_162
happyReduction_162 _
	(HappyAbsSyn58  happy_var_2)
	_
	 =  HappyAbsSyn51
		 (R (tuple2record happy_var_2)
	)
happyReduction_162 _ _ _  = notHappyAtAll 

happyReduce_163 = happyReduce 5 57 happyReduction_163
happyReduction_163 (_ `HappyStk`
	(HappyAbsSyn51  happy_var_4) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn51  happy_var_2) `HappyStk`
	_ `HappyStk`
	happyRest)
	 = HappyAbsSyn51
		 (Typed happy_var_2 happy_var_4
	) `HappyStk` happyRest

happyReduce_164 = happySpecReduce_1  57 happyReduction_164
happyReduction_164 (HappyTerminal ((T_LString happy_var_1)))
	 =  HappyAbsSyn51
		 (K happy_var_1
	)
happyReduction_164 _  = notHappyAtAll 

happyReduce_165 = happySpecReduce_3  57 happyReduction_165
happyReduction_165 _
	(HappyAbsSyn51  happy_var_2)
	_
	 =  HappyAbsSyn51
		 (happy_var_2
	)
happyReduction_165 _ _ _  = notHappyAtAll 

happyReduce_166 = happySpecReduce_0  58 happyReduction_166
happyReduction_166  =  HappyAbsSyn58
		 ([]
	)

happyReduce_167 = happySpecReduce_1  58 happyReduction_167
happyReduction_167 (HappyAbsSyn51  happy_var_1)
	 =  HappyAbsSyn58
		 ([happy_var_1]
	)
happyReduction_167 _  = notHappyAtAll 

happyReduce_168 = happySpecReduce_3  58 happyReduction_168
happyReduction_168 (HappyAbsSyn58  happy_var_3)
	_
	(HappyAbsSyn51  happy_var_1)
	 =  HappyAbsSyn58
		 (happy_var_1 : happy_var_3
	)
happyReduction_168 _ _ _  = notHappyAtAll 

happyReduce_169 = happySpecReduce_0  59 happyReduction_169
happyReduction_169  =  HappyAbsSyn58
		 ([]
	)

happyReduce_170 = happySpecReduce_2  59 happyReduction_170
happyReduction_170 (HappyAbsSyn58  happy_var_2)
	(HappyAbsSyn51  happy_var_1)
	 =  HappyAbsSyn58
		 (happy_var_1 : happy_var_2
	)
happyReduction_170 _ _  = notHappyAtAll 

happyReduce_171 = happySpecReduce_3  60 happyReduction_171
happyReduction_171 (HappyAbsSyn60  happy_var_3)
	_
	(HappyAbsSyn60  happy_var_1)
	 =  HappyAbsSyn60
		 (PAlt happy_var_1 happy_var_3
	)
happyReduction_171 _ _ _  = notHappyAtAll 

happyReduce_172 = happySpecReduce_3  60 happyReduction_172
happyReduction_172 (HappyAbsSyn60  happy_var_3)
	_
	(HappyAbsSyn60  happy_var_1)
	 =  HappyAbsSyn60
		 (PSeq happy_var_1 happy_var_3
	)
happyReduction_172 _ _ _  = notHappyAtAll 

happyReduce_173 = happySpecReduce_1  60 happyReduction_173
happyReduction_173 (HappyAbsSyn60  happy_var_1)
	 =  HappyAbsSyn60
		 (happy_var_1
	)
happyReduction_173 _  = notHappyAtAll 

happyReduce_174 = happySpecReduce_2  61 happyReduction_174
happyReduction_174 (HappyAbsSyn68  happy_var_2)
	(HappyTerminal ((T_Ident   happy_var_1)))
	 =  HappyAbsSyn60
		 (PC happy_var_1 happy_var_2
	)
happyReduction_174 _ _  = notHappyAtAll 

happyReduce_175 = happyReduce 4 61 happyReduction_175
happyReduction_175 ((HappyAbsSyn68  happy_var_4) `HappyStk`
	(HappyTerminal ((T_Ident   happy_var_3))) `HappyStk`
	_ `HappyStk`
	(HappyTerminal ((T_Ident   happy_var_1))) `HappyStk`
	happyRest)
	 = HappyAbsSyn60
		 (PP (happy_var_1,happy_var_3) happy_var_4
	) `HappyStk` happyRest

happyReduce_176 = happySpecReduce_2  61 happyReduction_176
happyReduction_176 _
	(HappyAbsSyn60  happy_var_1)
	 =  HappyAbsSyn60
		 (PRep happy_var_1
	)
happyReduction_176 _ _  = notHappyAtAll 

happyReduce_177 = happySpecReduce_1  61 happyReduction_177
happyReduction_177 (HappyAbsSyn60  happy_var_1)
	 =  HappyAbsSyn60
		 (happy_var_1
	)
happyReduction_177 _  = notHappyAtAll 

happyReduce_178 = happySpecReduce_3  62 happyReduction_178
happyReduction_178 (HappyAbsSyn60  happy_var_3)
	_
	(HappyTerminal ((T_Ident   happy_var_1)))
	 =  HappyAbsSyn60
		 (PAs happy_var_1 happy_var_3
	)
happyReduction_178 _ _ _  = notHappyAtAll 

happyReduce_179 = happySpecReduce_2  62 happyReduction_179
happyReduction_179 (HappyAbsSyn60  happy_var_2)
	_
	 =  HappyAbsSyn60
		 (PNeg happy_var_2
	)
happyReduction_179 _ _  = notHappyAtAll 

happyReduce_180 = happySpecReduce_2  62 happyReduction_180
happyReduction_180 (HappyAbsSyn51  happy_var_2)
	_
	 =  HappyAbsSyn60
		 (PTilde happy_var_2
	)
happyReduction_180 _ _  = notHappyAtAll 

happyReduce_181 = happySpecReduce_1  62 happyReduction_181
happyReduction_181 (HappyAbsSyn60  happy_var_1)
	 =  HappyAbsSyn60
		 (happy_var_1
	)
happyReduction_181 _  = notHappyAtAll 

happyReduce_182 = happySpecReduce_1  63 happyReduction_182
happyReduction_182 _
	 =  HappyAbsSyn60
		 (PChar
	)

happyReduce_183 = happySpecReduce_3  63 happyReduction_183
happyReduction_183 _
	(HappyTerminal ((T_String  happy_var_2)))
	_
	 =  HappyAbsSyn60
		 (PChars happy_var_2
	)
happyReduction_183 _ _ _  = notHappyAtAll 

happyReduce_184 = happySpecReduce_2  63 happyReduction_184
happyReduction_184 (HappyTerminal ((T_Ident   happy_var_2)))
	_
	 =  HappyAbsSyn60
		 (PMacro happy_var_2
	)
happyReduction_184 _ _  = notHappyAtAll 

happyReduce_185 = happyReduce 4 63 happyReduction_185
happyReduction_185 ((HappyTerminal ((T_Ident   happy_var_4))) `HappyStk`
	_ `HappyStk`
	(HappyTerminal ((T_Ident   happy_var_2))) `HappyStk`
	_ `HappyStk`
	happyRest)
	 = HappyAbsSyn60
		 (PM (happy_var_2,happy_var_4)
	) `HappyStk` happyRest

happyReduce_186 = happySpecReduce_1  63 happyReduction_186
happyReduction_186 _
	 =  HappyAbsSyn60
		 (PW
	)

happyReduce_187 = happySpecReduce_1  63 happyReduction_187
happyReduction_187 (HappyTerminal ((T_Ident   happy_var_1)))
	 =  HappyAbsSyn60
		 (PV happy_var_1
	)
happyReduction_187 _  = notHappyAtAll 

happyReduce_188 = happySpecReduce_3  63 happyReduction_188
happyReduction_188 (HappyTerminal ((T_Ident   happy_var_3)))
	_
	(HappyTerminal ((T_Ident   happy_var_1)))
	 =  HappyAbsSyn60
		 (PP (happy_var_1,happy_var_3) []
	)
happyReduction_188 _ _ _  = notHappyAtAll 

happyReduce_189 = happySpecReduce_1  63 happyReduction_189
happyReduction_189 (HappyTerminal ((T_Integer happy_var_1)))
	 =  HappyAbsSyn60
		 (PInt happy_var_1
	)
happyReduction_189 _  = notHappyAtAll 

happyReduce_190 = happySpecReduce_1  63 happyReduction_190
happyReduction_190 (HappyTerminal ((T_Double  happy_var_1)))
	 =  HappyAbsSyn60
		 (PFloat  happy_var_1
	)
happyReduction_190 _  = notHappyAtAll 

happyReduce_191 = happySpecReduce_1  63 happyReduction_191
happyReduction_191 (HappyTerminal ((T_String  happy_var_1)))
	 =  HappyAbsSyn60
		 (PString happy_var_1
	)
happyReduction_191 _  = notHappyAtAll 

happyReduce_192 = happySpecReduce_3  63 happyReduction_192
happyReduction_192 _
	(HappyAbsSyn64  happy_var_2)
	_
	 =  HappyAbsSyn60
		 (PR happy_var_2
	)
happyReduction_192 _ _ _  = notHappyAtAll 

happyReduce_193 = happySpecReduce_3  63 happyReduction_193
happyReduction_193 _
	(HappyAbsSyn68  happy_var_2)
	_
	 =  HappyAbsSyn60
		 ((PR . tuple2recordPatt) happy_var_2
	)
happyReduction_193 _ _ _  = notHappyAtAll 

happyReduce_194 = happySpecReduce_3  63 happyReduction_194
happyReduction_194 _
	(HappyAbsSyn60  happy_var_2)
	_
	 =  HappyAbsSyn60
		 (happy_var_2
	)
happyReduction_194 _ _ _  = notHappyAtAll 

happyReduce_195 = happySpecReduce_3  64 happyReduction_195
happyReduction_195 (HappyAbsSyn60  happy_var_3)
	_
	(HappyAbsSyn32  happy_var_1)
	 =  HappyAbsSyn64
		 ([(LIdent (ident2raw i),happy_var_3) | i <- happy_var_1]
	)
happyReduction_195 _ _ _  = notHappyAtAll 

happyReduce_196 = happySpecReduce_1  65 happyReduction_196
happyReduction_196 (HappyTerminal ((T_Ident   happy_var_1)))
	 =  HappyAbsSyn65
		 (LIdent (ident2raw happy_var_1)
	)
happyReduction_196 _  = notHappyAtAll 

happyReduce_197 = happySpecReduce_2  65 happyReduction_197
happyReduction_197 (HappyTerminal ((T_Integer happy_var_2)))
	_
	 =  HappyAbsSyn65
		 (LVar (fromIntegral happy_var_2)
	)
happyReduction_197 _ _  = notHappyAtAll 

happyReduce_198 = happySpecReduce_1  66 happyReduction_198
happyReduction_198 _
	 =  HappyAbsSyn46
		 (cType
	)

happyReduce_199 = happySpecReduce_1  66 happyReduction_199
happyReduction_199 _
	 =  HappyAbsSyn46
		 (cPType
	)

happyReduce_200 = happySpecReduce_1  66 happyReduction_200
happyReduction_200 _
	 =  HappyAbsSyn46
		 (cTok
	)

happyReduce_201 = happySpecReduce_1  66 happyReduction_201
happyReduction_201 _
	 =  HappyAbsSyn46
		 (cStr
	)

happyReduce_202 = happySpecReduce_1  66 happyReduction_202
happyReduction_202 _
	 =  HappyAbsSyn46
		 (cStrs
	)

happyReduce_203 = happySpecReduce_0  67 happyReduction_203
happyReduction_203  =  HappyAbsSyn64
		 ([]
	)

happyReduce_204 = happySpecReduce_1  67 happyReduction_204
happyReduction_204 (HappyAbsSyn64  happy_var_1)
	 =  HappyAbsSyn64
		 (happy_var_1
	)
happyReduction_204 _  = notHappyAtAll 

happyReduce_205 = happySpecReduce_3  67 happyReduction_205
happyReduction_205 (HappyAbsSyn64  happy_var_3)
	_
	(HappyAbsSyn64  happy_var_1)
	 =  HappyAbsSyn64
		 (happy_var_1 ++ happy_var_3
	)
happyReduction_205 _ _ _  = notHappyAtAll 

happyReduce_206 = happySpecReduce_1  68 happyReduction_206
happyReduction_206 (HappyAbsSyn60  happy_var_1)
	 =  HappyAbsSyn68
		 ([happy_var_1]
	)
happyReduction_206 _  = notHappyAtAll 

happyReduce_207 = happySpecReduce_2  68 happyReduction_207
happyReduction_207 (HappyAbsSyn68  happy_var_2)
	(HappyAbsSyn60  happy_var_1)
	 =  HappyAbsSyn68
		 (happy_var_1 : happy_var_2
	)
happyReduction_207 _ _  = notHappyAtAll 

happyReduce_208 = happySpecReduce_1  69 happyReduction_208
happyReduction_208 (HappyAbsSyn60  happy_var_1)
	 =  HappyAbsSyn60
		 (happy_var_1
	)
happyReduction_208 _  = notHappyAtAll 

happyReduce_209 = happySpecReduce_3  69 happyReduction_209
happyReduction_209 _
	(HappyAbsSyn60  happy_var_2)
	_
	 =  HappyAbsSyn60
		 (PImplArg happy_var_2
	)
happyReduction_209 _ _ _  = notHappyAtAll 

happyReduce_210 = happySpecReduce_1  70 happyReduction_210
happyReduction_210 (HappyTerminal ((T_Ident   happy_var_1)))
	 =  HappyAbsSyn70
		 ([(Explicit,happy_var_1    )]
	)
happyReduction_210 _  = notHappyAtAll 

happyReduce_211 = happySpecReduce_1  70 happyReduction_211
happyReduction_211 _
	 =  HappyAbsSyn70
		 ([(Explicit,identW)]
	)

happyReduce_212 = happySpecReduce_3  70 happyReduction_212
happyReduction_212 _
	(HappyAbsSyn32  happy_var_2)
	_
	 =  HappyAbsSyn70
		 ([(Implicit,v) | v <- happy_var_2]
	)
happyReduction_212 _ _ _  = notHappyAtAll 

happyReduce_213 = happySpecReduce_1  71 happyReduction_213
happyReduction_213 (HappyAbsSyn70  happy_var_1)
	 =  HappyAbsSyn70
		 (happy_var_1
	)
happyReduction_213 _  = notHappyAtAll 

happyReduce_214 = happySpecReduce_2  71 happyReduction_214
happyReduction_214 (HappyAbsSyn70  happy_var_2)
	(HappyAbsSyn70  happy_var_1)
	 =  HappyAbsSyn70
		 (happy_var_1 ++ happy_var_2
	)
happyReduction_214 _ _  = notHappyAtAll 

happyReduce_215 = happySpecReduce_1  72 happyReduction_215
happyReduction_215 (HappyTerminal ((T_Ident   happy_var_1)))
	 =  HappyAbsSyn70
		 ([(Explicit,happy_var_1    )]
	)
happyReduction_215 _  = notHappyAtAll 

happyReduce_216 = happySpecReduce_1  72 happyReduction_216
happyReduction_216 _
	 =  HappyAbsSyn70
		 ([(Explicit,identW)]
	)

happyReduce_217 = happySpecReduce_3  72 happyReduction_217
happyReduction_217 _
	(HappyAbsSyn32  happy_var_2)
	_
	 =  HappyAbsSyn70
		 ([(Implicit,v) | v <- happy_var_2]
	)
happyReduction_217 _ _ _  = notHappyAtAll 

happyReduce_218 = happySpecReduce_1  73 happyReduction_218
happyReduction_218 (HappyAbsSyn70  happy_var_1)
	 =  HappyAbsSyn70
		 (happy_var_1
	)
happyReduction_218 _  = notHappyAtAll 

happyReduce_219 = happySpecReduce_3  73 happyReduction_219
happyReduction_219 (HappyAbsSyn70  happy_var_3)
	_
	(HappyAbsSyn70  happy_var_1)
	 =  HappyAbsSyn70
		 (happy_var_1 ++ happy_var_3
	)
happyReduction_219 _ _ _  = notHappyAtAll 

happyReduce_220 = happyReduce 5 74 happyReduction_220
happyReduction_220 (_ `HappyStk`
	(HappyAbsSyn51  happy_var_4) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn70  happy_var_2) `HappyStk`
	_ `HappyStk`
	happyRest)
	 = HappyAbsSyn74
		 ([(b,x,happy_var_4) | (b,x) <- happy_var_2]
	) `HappyStk` happyRest

happyReduce_221 = happySpecReduce_1  74 happyReduction_221
happyReduction_221 (HappyAbsSyn51  happy_var_1)
	 =  HappyAbsSyn74
		 ([mkHypo happy_var_1]
	)
happyReduction_221 _  = notHappyAtAll 

happyReduce_222 = happySpecReduce_0  75 happyReduction_222
happyReduction_222  =  HappyAbsSyn58
		 ([]
	)

happyReduce_223 = happySpecReduce_1  75 happyReduction_223
happyReduction_223 (HappyAbsSyn51  happy_var_1)
	 =  HappyAbsSyn58
		 ([happy_var_1]
	)
happyReduction_223 _  = notHappyAtAll 

happyReduce_224 = happySpecReduce_3  75 happyReduction_224
happyReduction_224 (HappyAbsSyn58  happy_var_3)
	_
	(HappyAbsSyn51  happy_var_1)
	 =  HappyAbsSyn58
		 (happy_var_1 : happy_var_3
	)
happyReduction_224 _ _ _  = notHappyAtAll 

happyReduce_225 = happySpecReduce_0  76 happyReduction_225
happyReduction_225  =  HappyAbsSyn68
		 ([]
	)

happyReduce_226 = happySpecReduce_1  76 happyReduction_226
happyReduction_226 (HappyAbsSyn60  happy_var_1)
	 =  HappyAbsSyn68
		 ([happy_var_1]
	)
happyReduction_226 _  = notHappyAtAll 

happyReduce_227 = happySpecReduce_3  76 happyReduction_227
happyReduction_227 (HappyAbsSyn68  happy_var_3)
	_
	(HappyAbsSyn60  happy_var_1)
	 =  HappyAbsSyn68
		 (happy_var_1 : happy_var_3
	)
happyReduction_227 _ _ _  = notHappyAtAll 

happyReduce_228 = happySpecReduce_3  77 happyReduction_228
happyReduction_228 (HappyAbsSyn51  happy_var_3)
	_
	(HappyAbsSyn60  happy_var_1)
	 =  HappyAbsSyn77
		 ((happy_var_1,happy_var_3)
	)
happyReduction_228 _ _ _  = notHappyAtAll 

happyReduce_229 = happySpecReduce_1  78 happyReduction_229
happyReduction_229 (HappyAbsSyn77  happy_var_1)
	 =  HappyAbsSyn78
		 ([happy_var_1]
	)
happyReduction_229 _  = notHappyAtAll 

happyReduce_230 = happySpecReduce_3  78 happyReduction_230
happyReduction_230 (HappyAbsSyn78  happy_var_3)
	_
	(HappyAbsSyn77  happy_var_1)
	 =  HappyAbsSyn78
		 (happy_var_1 : happy_var_3
	)
happyReduction_230 _ _ _  = notHappyAtAll 

happyReduce_231 = happySpecReduce_3  79 happyReduction_231
happyReduction_231 (HappyAbsSyn51  happy_var_3)
	_
	(HappyAbsSyn51  happy_var_1)
	 =  HappyAbsSyn79
		 ((happy_var_1,happy_var_3)
	)
happyReduction_231 _ _ _  = notHappyAtAll 

happyReduce_232 = happySpecReduce_1  80 happyReduction_232
happyReduction_232 (HappyAbsSyn79  happy_var_1)
	 =  HappyAbsSyn80
		 ([happy_var_1]
	)
happyReduction_232 _  = notHappyAtAll 

happyReduce_233 = happySpecReduce_3  80 happyReduction_233
happyReduction_233 (HappyAbsSyn80  happy_var_3)
	_
	(HappyAbsSyn79  happy_var_1)
	 =  HappyAbsSyn80
		 (happy_var_1 : happy_var_3
	)
happyReduction_233 _ _ _  = notHappyAtAll 

happyReduce_234 = happyReduce 5 81 happyReduction_234
happyReduction_234 (_ `HappyStk`
	(HappyAbsSyn51  happy_var_4) `HappyStk`
	_ `HappyStk`
	(HappyAbsSyn70  happy_var_2) `HappyStk`
	_ `HappyStk`
	happyRest)
	 = HappyAbsSyn74
		 ([(b,x,happy_var_4) | (b,x) <- happy_var_2]
	) `HappyStk` happyRest

happyReduce_235 = happySpecReduce_1  81 happyReduction_235
happyReduction_235 (HappyAbsSyn51  happy_var_1)
	 =  HappyAbsSyn74
		 ([mkHypo happy_var_1]
	)
happyReduction_235 _  = notHappyAtAll 

happyReduce_236 = happySpecReduce_0  82 happyReduction_236
happyReduction_236  =  HappyAbsSyn74
		 ([]
	)

happyReduce_237 = happySpecReduce_2  82 happyReduction_237
happyReduction_237 (HappyAbsSyn74  happy_var_2)
	(HappyAbsSyn74  happy_var_1)
	 =  HappyAbsSyn74
		 (happy_var_1 ++ happy_var_2
	)
happyReduction_237 _ _  = notHappyAtAll 

happyReduce_238 = happyMonadReduce 0 83 happyReduction_238
happyReduction_238 (happyRest) tk
	 = happyThen (( getPosn)
	) (\r -> happyReturn (HappyAbsSyn83 r))

happyNewToken action sts stk
	= lexer(\tk -> 
	let cont i = action i i tk (HappyState action) sts stk in
	case tk of {
	T_EOF -> action 154 154 tk (HappyState action) sts stk;
	T_exclmark -> cont 84;
	T_patt -> cont 85;
	T_int_label -> cont 86;
	T_oparen -> cont 87;
	T_cparen -> cont 88;
	T_tilde -> cont 89;
	T_star -> cont 90;
	T_starstar -> cont 91;
	T_plus -> cont 92;
	T_plusplus -> cont 93;
	T_comma -> cont 94;
	T_minus -> cont 95;
	T_rarrow -> cont 96;
	T_dot -> cont 97;
	T_alt -> cont 98;
	T_colon -> cont 99;
	T_semicolon -> cont 100;
	T_less -> cont 101;
	T_equal -> cont 102;
	T_big_rarrow -> cont 103;
	T_great -> cont 104;
	T_questmark -> cont 105;
	T_at -> cont 106;
	T_obrack -> cont 107;
	T_cbrack -> cont 108;
	T_ocurly -> cont 109;
	T_ccurly -> cont 110;
	T_lam -> cont 111;
	T_lamlam -> cont 112;
	T_underscore -> cont 113;
	T_bar -> cont 114;
	T_PType -> cont 115;
	T_Str -> cont 116;
	T_Strs -> cont 117;
	T_Tok -> cont 118;
	T_Type -> cont 119;
	T_abstract -> cont 120;
	T_case -> cont 121;
	T_cat -> cont 122;
	T_concrete -> cont 123;
	T_data -> cont 124;
	T_def -> cont 125;
	T_flags -> cont 126;
	T_fun -> cont 127;
	T_in -> cont 128;
	T_incomplete -> cont 129;
	T_instance -> cont 130;
	T_interface -> cont 131;
	T_let -> cont 132;
	T_lin -> cont 133;
	T_lincat -> cont 134;
	T_lindef -> cont 135;
	T_of -> cont 136;
	T_open -> cont 137;
	T_oper -> cont 138;
	T_param -> cont 139;
	T_pattern -> cont 140;
	T_pre -> cont 141;
	T_printname -> cont 142;
	T_resource -> cont 143;
	T_strs -> cont 144;
	T_table -> cont 145;
	T_variants -> cont 146;
	T_where -> cont 147;
	T_with -> cont 148;
	(T_Integer happy_dollar_dollar) -> cont 149;
	(T_Double  happy_dollar_dollar) -> cont 150;
	(T_String  happy_dollar_dollar) -> cont 151;
	(T_LString happy_dollar_dollar) -> cont 152;
	(T_Ident   happy_dollar_dollar) -> cont 153;
	_ -> happyError' tk
	})

happyError_ 154 tk = happyError' tk
happyError_ _ tk = happyError' tk

happyThen :: () => P a -> (a -> P b) -> P b
happyThen = (>>=)
happyReturn :: () => a -> P a
happyReturn = (return)
happyThen1 = happyThen
happyReturn1 :: () => a -> P a
happyReturn1 = happyReturn
happyError' :: () => (Token) -> P a
happyError' tk = (\token -> happyError) tk

pModDef = happySomeParser where
  happySomeParser = happyThen (happyParse action_0) (\x -> case x of {HappyAbsSyn7 z -> happyReturn z; _other -> notHappyAtAll })

pTopDef = happySomeParser where
  happySomeParser = happyThen (happyParse action_1) (\x -> case x of {HappyAbsSyn22 z -> happyReturn z; _other -> notHappyAtAll })

pModHeader = happySomeParser where
  happySomeParser = happyThen (happyParse action_2) (\x -> case x of {HappyAbsSyn7 z -> happyReturn z; _other -> notHappyAtAll })

pExp = happySomeParser where
  happySomeParser = happyThen (happyParse action_3) (\x -> case x of {HappyAbsSyn51 z -> happyReturn z; _other -> notHappyAtAll })

happySeq = happyDontSeq


happyError :: P a
happyError = fail "syntax error"

-- Quick fix to render error messages from UTF-8-encoded source files correctly.
optDecode opts =
    if map toLower (flag optEncoding opts) `elem` ["utf8","utf-8"]
    then decodeString
    else id

mkListId,mkConsId,mkBaseId  :: Ident -> Ident
mkListId = prefixIdent "List"
mkConsId = prefixIdent "Cons"
mkBaseId = prefixIdent "Base"

listCatDef :: L (Ident, Context, Int) -> [(Ident,Info)]
listCatDef (L loc (id,cont,size)) = [catd,nilfund,consfund]
  where
    listId = mkListId id
    baseId = mkBaseId id
    consId = mkConsId id

    catd     = (listId, AbsCat (Just (L loc cont')))
    nilfund  = (baseId, AbsFun (Just (L loc niltyp))  Nothing Nothing (Just True))
    consfund = (consId, AbsFun (Just (L loc constyp)) Nothing Nothing (Just True))

    cont' = [(b,mkId x i,ty) | (i,(b,x,ty)) <- zip [0..] cont]
    xs = map (\(b,x,t) -> Vr x) cont'
    cd = mkHypo (mkApp (Vr id) xs)
    lc = mkApp (Vr listId) xs

    niltyp  = mkProdSimple (cont' ++ replicate size cd) lc
    constyp = mkProdSimple (cont' ++ [cd, mkHypo lc]) lc

    mkId x i = if isWildIdent x then (varX i) else x

tryLoc (c,mty,Just e) = return (c,(mty,e))
tryLoc (c,_  ,_     ) = fail ("local definition of" +++ showIdent c +++ "without value")

mkR []       = return $ RecType [] --- empty record always interpreted as record type
mkR fs@(f:_) =
  case f of
    (lab,Just ty,Nothing) -> mapM tryRT fs >>= return . RecType
    _                     -> mapM tryR  fs >>= return . R
  where
    tryRT (lab,Just ty,Nothing) = return (ident2label lab,ty)
    tryRT (lab,_      ,_      ) = fail $ "illegal record type field" +++ showIdent lab --- manifest fields ?!

    tryR (lab,mty,Just t) = return (ident2label lab,(mty,t))
    tryR (lab,_  ,_     ) = fail $ "illegal record field" +++ showIdent lab

mkOverload pdt pdf@(Just (L loc df)) =
  case appForm df of
    (keyw, ts@(_:_)) | isOverloading keyw -> 
       case last ts of
         R fs -> [ResOverload [m | Vr m <- ts] [(L loc ty,L loc fu) | (_,(Just ty,fu)) <- fs]]
         _    -> [ResOper pdt pdf]
    _         -> [ResOper pdt pdf]

     -- to enable separare type signature --- not type-checked
mkOverload pdt@(Just (L _ df)) pdf =
  case appForm df of
    (keyw, ts@(_:_)) | isOverloading keyw ->
       case last ts of
         RecType _ -> [] 
         _         -> [ResOper pdt pdf]
    _              -> [ResOper pdt pdf]
mkOverload pdt pdf = [ResOper pdt pdf]

isOverloading t =
  case t of
    Vr keyw | showIdent keyw == "overload" -> True      -- overload is a "soft keyword"
    _                                      -> False

checkInfoType mt jment@(id,info) =
  case info of
    AbsCat pcont         -> ifAbstract mt (locPerh pcont)
    AbsFun pty _ pde _   -> ifAbstract mt (locPerh pty ++ maybe [] locAll pde)
    CncCat pty pd ppn _  -> ifConcrete mt (locPerh pty ++ locPerh pd ++ locPerh ppn)
    CncFun _   pd ppn _  -> ifConcrete mt (locPerh pd ++ locPerh ppn)
    ResParam pparam _    -> ifResource mt (locPerh pparam)
    ResValue ty          -> ifResource mt (locL ty)
    ResOper  pty pt      -> ifOper mt pty pt
    ResOverload _ xs     -> ifResource mt (concat [[loc1,loc2] | (L loc1 _,L loc2 _) <- xs])
  where
    locPerh = maybe [] locL
    locAll xs = [loc | L loc x <- xs]
    locL (L loc x) = [loc]
    
    illegal (Local s e:_) = failLoc (Pn s 0) "illegal definition"
    illegal _             = return jment

    ifAbstract MTAbstract     locs = return jment
    ifAbstract _              locs = illegal locs

    ifConcrete (MTConcrete _) locs = return jment
    ifConcrete _              locs = illegal locs

    ifResource (MTConcrete _) locs = return jment
    ifResource (MTInstance _) locs = return jment
    ifResource MTInterface    locs = return jment
    ifResource MTResource     locs = return jment
    ifResource _              locs = illegal locs
    
    ifOper MTAbstract pty pt = return (id,AbsFun pty (fmap (const 0) pt) (Just (maybe [] (\(L l t) -> [L l ([],t)]) pt)) (Just False))
    ifOper _          pty pt = return jment

mkAlts cs = case cs of
  _:_ -> do
    def  <- mkDef (last cs)
    alts <- mapM mkAlt (init cs)
    return (Alts def alts)
  _ -> fail "empty alts"
 where
   mkDef (_,t) = return t
   mkAlt (p,t) = do
     ss <- mkStrs p
     return (t,ss)
   mkStrs p = case p of
     PAlt a b -> do
       Strs as <- mkStrs a
       Strs bs <- mkStrs b
       return $ Strs $ as ++ bs
     PString s -> return $ Strs [K s]
     PV x -> return (Vr x) --- for macros; not yet complete
     PMacro x -> return (Vr x) --- for macros; not yet complete
     PM c -> return (Q c) --- for macros; not yet complete
     _ -> fail "no strs from pattern"

mkL :: Posn -> Posn -> x -> L x
mkL (Pn l1 _) (Pn l2 _) x = L (Local l1 l2) x
{-# LINE 1 "templates/GenericTemplate.hs" #-}
{-# LINE 1 "templates/GenericTemplate.hs" #-}
{-# LINE 1 "" #-}
{-# LINE 1 "" #-}
{-# LINE 1 "templates/GenericTemplate.hs" #-}
-- Id: GenericTemplate.hs,v 1.26 2005/01/14 14:47:22 simonmar Exp 

{-# LINE 30 "templates/GenericTemplate.hs" #-}








{-# LINE 51 "templates/GenericTemplate.hs" #-}

{-# LINE 61 "templates/GenericTemplate.hs" #-}

{-# LINE 70 "templates/GenericTemplate.hs" #-}

infixr 9 `HappyStk`
data HappyStk a = HappyStk a (HappyStk a)

-----------------------------------------------------------------------------
-- starting the parse

happyParse start_state = happyNewToken start_state notHappyAtAll notHappyAtAll

-----------------------------------------------------------------------------
-- Accepting the parse

-- If the current token is (1), it means we've just accepted a partial
-- parse (a %partial parser).  We must ignore the saved token on the top of
-- the stack in this case.
happyAccept (1) tk st sts (_ `HappyStk` ans `HappyStk` _) =
	happyReturn1 ans
happyAccept j tk st sts (HappyStk ans _) = 
	 (happyReturn1 ans)

-----------------------------------------------------------------------------
-- Arrays only: do the next action

{-# LINE 148 "templates/GenericTemplate.hs" #-}

-----------------------------------------------------------------------------
-- HappyState data type (not arrays)



newtype HappyState b c = HappyState
        (Int ->                    -- token number
         Int ->                    -- token number (yes, again)
         b ->                           -- token semantic value
         HappyState b c ->              -- current state
         [HappyState b c] ->            -- state stack
         c)



-----------------------------------------------------------------------------
-- Shifting a token

happyShift new_state (1) tk st sts stk@(x `HappyStk` _) =
     let (i) = (case x of { HappyErrorToken (i) -> i }) in
--     trace "shifting the error token" $
     new_state i i tk (HappyState (new_state)) ((st):(sts)) (stk)

happyShift new_state i tk st sts stk =
     happyNewToken new_state ((st):(sts)) ((HappyTerminal (tk))`HappyStk`stk)

-- happyReduce is specialised for the common cases.

happySpecReduce_0 i fn (1) tk st sts stk
     = happyFail (1) tk st sts stk
happySpecReduce_0 nt fn j tk st@((HappyState (action))) sts stk
     = action nt j tk st ((st):(sts)) (fn `HappyStk` stk)

happySpecReduce_1 i fn (1) tk st sts stk
     = happyFail (1) tk st sts stk
happySpecReduce_1 nt fn j tk _ sts@(((st@(HappyState (action))):(_))) (v1`HappyStk`stk')
     = let r = fn v1 in
       happySeq r (action nt j tk st sts (r `HappyStk` stk'))

happySpecReduce_2 i fn (1) tk st sts stk
     = happyFail (1) tk st sts stk
happySpecReduce_2 nt fn j tk _ ((_):(sts@(((st@(HappyState (action))):(_))))) (v1`HappyStk`v2`HappyStk`stk')
     = let r = fn v1 v2 in
       happySeq r (action nt j tk st sts (r `HappyStk` stk'))

happySpecReduce_3 i fn (1) tk st sts stk
     = happyFail (1) tk st sts stk
happySpecReduce_3 nt fn j tk _ ((_):(((_):(sts@(((st@(HappyState (action))):(_))))))) (v1`HappyStk`v2`HappyStk`v3`HappyStk`stk')
     = let r = fn v1 v2 v3 in
       happySeq r (action nt j tk st sts (r `HappyStk` stk'))

happyReduce k i fn (1) tk st sts stk
     = happyFail (1) tk st sts stk
happyReduce k nt fn j tk st sts stk
     = case happyDrop (k - ((1) :: Int)) sts of
	 sts1@(((st1@(HappyState (action))):(_))) ->
        	let r = fn stk in  -- it doesn't hurt to always seq here...
       		happyDoSeq r (action nt j tk st1 sts1 r)

happyMonadReduce k nt fn (1) tk st sts stk
     = happyFail (1) tk st sts stk
happyMonadReduce k nt fn j tk st sts stk =
        happyThen1 (fn stk tk) (\r -> action nt j tk st1 sts1 (r `HappyStk` drop_stk))
       where (sts1@(((st1@(HappyState (action))):(_)))) = happyDrop k ((st):(sts))
             drop_stk = happyDropStk k stk

happyMonad2Reduce k nt fn (1) tk st sts stk
     = happyFail (1) tk st sts stk
happyMonad2Reduce k nt fn j tk st sts stk =
       happyThen1 (fn stk tk) (\r -> happyNewToken new_state sts1 (r `HappyStk` drop_stk))
       where (sts1@(((st1@(HappyState (action))):(_)))) = happyDrop k ((st):(sts))
             drop_stk = happyDropStk k stk





             new_state = action


happyDrop (0) l = l
happyDrop n ((_):(t)) = happyDrop (n - ((1) :: Int)) t

happyDropStk (0) l = l
happyDropStk n (x `HappyStk` xs) = happyDropStk (n - ((1)::Int)) xs

-----------------------------------------------------------------------------
-- Moving to a new state after a reduction

{-# LINE 246 "templates/GenericTemplate.hs" #-}
happyGoto action j tk st = action j j tk (HappyState action)


-----------------------------------------------------------------------------
-- Error recovery ((1) is the error token)

-- parse error if we are in recovery and we fail again
happyFail (1) tk old_st _ stk@(x `HappyStk` _) =
     let (i) = (case x of { HappyErrorToken (i) -> i }) in
--	trace "failing" $ 
        happyError_ i tk

{-  We don't need state discarding for our restricted implementation of
    "error".  In fact, it can cause some bogus parses, so I've disabled it
    for now --SDM

-- discard a state
happyFail  (1) tk old_st (((HappyState (action))):(sts)) 
						(saved_tok `HappyStk` _ `HappyStk` stk) =
--	trace ("discarding state, depth " ++ show (length stk))  $
	action (1) (1) tk (HappyState (action)) sts ((saved_tok`HappyStk`stk))
-}

-- Enter error recovery: generate an error token,
--                       save the old token and carry on.
happyFail  i tk (HappyState (action)) sts stk =
--      trace "entering error recovery" $
	action (1) (1) tk (HappyState (action)) sts ( (HappyErrorToken (i)) `HappyStk` stk)

-- Internal happy errors:

notHappyAtAll :: a
notHappyAtAll = error "Internal Happy error\n"

-----------------------------------------------------------------------------
-- Hack to get the typechecker to accept our action functions







-----------------------------------------------------------------------------
-- Seq-ing.  If the --strict flag is given, then Happy emits 
--	happySeq = happyDoSeq
-- otherwise it emits
-- 	happySeq = happyDontSeq

happyDoSeq, happyDontSeq :: a -> b -> b
happyDoSeq   a b = a `seq` b
happyDontSeq a b = b

-----------------------------------------------------------------------------
-- Don't inline any functions from the template.  GHC has a nasty habit
-- of deciding to inline happyGoto everywhere, which increases the size of
-- the generated parser quite a bit.

{-# LINE 312 "templates/GenericTemplate.hs" #-}
{-# NOINLINE happyShift #-}
{-# NOINLINE happySpecReduce_0 #-}
{-# NOINLINE happySpecReduce_1 #-}
{-# NOINLINE happySpecReduce_2 #-}
{-# NOINLINE happySpecReduce_3 #-}
{-# NOINLINE happyReduce #-}
{-# NOINLINE happyMonadReduce #-}
{-# NOINLINE happyGoto #-}
{-# NOINLINE happyFail #-}

-- end of Happy Template.

Index

(HTML for this module was generated on 2015-03-03. About the conversion tool.)