#
# DO NOT MODIFY!!!!
# This file is automatically generated by Racc 1.4.9
# from Racc grammer file "".
#

require 'racc/parser.rb'

require 'puppet'
require 'puppet/pops'

module Puppet
  class ParseError < Puppet::Error; end
  class ImportError < Racc::ParseError; end
  class AlreadyImportedError < ImportError; end
end

module Puppet
  module Pops
    module Parser
      class Parser < Racc::Parser

module_eval(<<'...end egrammar.ra/module_eval...', 'egrammar.ra', 899)

# Make emacs happy
# Local Variables:
# mode: ruby
# End:
...end egrammar.ra/module_eval...
##### State transition tables begin ###

clist = [
'63,75,291,-140,61,69,388,70,85,86,87,69,112,70,-268,294,315,279,163',
'316,291,389,-277,292,21,20,114,338,117,-282,111,52,113,55,81,65,12,284',
'59,44,47,292,54,45,10,11,-140,280,62,19,258,164,46,116,294,17,18,-268',
'88,90,89,91,127,80,127,-277,124,84,124,53,339,120,-282,43,76,93,78,79',
'77,-179,-179,60,49,66,67,56,370,92,58,63,75,68,259,61,69,291,70,68,126',
'146,126,112,123,-280,123,291,442,408,294,70,125,441,125,21,20,114,292',
'117,294,111,52,113,55,147,65,12,292,59,44,47,82,54,45,10,11,112,155',
'62,19,441,328,46,116,168,17,18,-280,190,458,114,192,117,80,111,454,113',
'453,127,53,372,195,124,43,76,93,78,79,-267,291,84,60,49,66,67,56,260',
'116,58,63,75,68,294,61,69,140,70,454,291,453,292,92,94,95,126,92,127',
'140,123,93,124,294,273,21,20,274,125,140,143,292,52,-267,55,275,65,12',
'146,59,44,47,143,54,45,10,11,112,278,62,19,282,143,46,126,503,17,18',
'123,306,441,114,307,117,80,111,125,113,155,127,53,313,127,124,43,76',
'124,78,79,129,130,313,60,49,66,67,56,317,116,58,63,75,68,84,61,69,92',
'70,165,75,-179,-179,166,94,95,126,92,127,126,123,93,124,123,92,21,20',
'92,125,129,130,125,52,336,55,155,65,12,344,59,44,47,362,54,45,10,11',
'112,363,62,19,-180,-180,46,126,365,17,18,123,-181,-181,114,369,117,80',
'111,125,113,374,127,53,376,127,124,43,76,124,78,79,-183,-183,379,60',
'49,66,67,56,381,116,58,63,75,68,294,61,69,384,70,99,98,271,270,385,94',
'95,126,291,127,126,123,93,124,123,397,21,20,398,125,271,270,125,52,399',
'55,400,65,132,403,59,44,47,282,54,45,409,100,112,411,62,19,271,270,46',
'126,384,17,18,123,271,270,114,-222,117,80,111,125,113,417,127,53,419',
'127,124,43,76,124,78,79,319,318,426,60,49,66,67,56,427,116,58,63,75',
'68,336,61,69,337,70,99,98,330,331,430,94,95,126,433,127,126,123,93,124',
'123,384,21,20,384,125,146,443,125,52,444,55,447,65,132,448,59,44,47',
'451,54,45,455,100,457,466,62,19,468,470,46,126,336,17,18,123,474,476',
'165,75,127,80,166,125,124,336,479,53,480,336,483,43,76,487,78,79,457',
'489,490,60,49,66,67,56,491,492,58,63,75,68,336,61,69,344,70,498,126',
'499,163,112,123,160,500,436,501,502,511,512,125,513,514,21,20,114,516',
'117,517,111,52,113,55,80,65,132,518,59,44,47,365,54,45,164,76,112,,62',
'19,,,46,116,,17,18,,,,114,,117,80,111,,113,,,53,,,,43,76,,78,79,,,,60',
'49,66,67,56,,116,58,63,75,68,,61,69,,70,,,,,112,94,95,,,,,,93,,,,21',
'20,114,,117,,111,52,113,55,,65,12,,59,44,47,,54,45,10,11,112,,62,19',
',,46,116,,17,18,,,,114,,117,80,111,,113,,,53,,,,43,76,,78,79,,,,60,49',
'66,67,56,,116,58,63,75,68,,61,69,,70,,,,,112,,,,,,,,,,,,21,20,114,,117',
',111,52,113,55,,65,12,,59,44,47,,54,45,10,11,,,62,19,,,46,116,,17,18',
',,,,,,80,,,,,,53,,,,43,76,,78,79,,,,60,49,66,67,56,,,58,63,75,68,,61',
'69,,70,,,,,,,,,,,,,,,,,21,20,139,,,,,52,,55,,65,12,,59,44,47,,54,45',
'10,11,,,62,19,,,46,,,17,18,,,,165,75,,80,166,,,,,53,,,,43,76,,78,79',
',,,60,49,66,67,56,,,58,63,75,68,,61,69,,70,,,,163,,,160,,,,,,,,,,21',
'20,,,,,,52,,55,80,65,132,,59,44,47,,54,45,164,76,,,62,19,,,46,,,17,18',
',,,165,75,,80,166,,,,,53,,,,43,76,,78,79,,,,60,49,66,67,56,,,58,63,75',
'68,,61,69,,70,,,,163,,,160,,,,,,,,,,21,20,,,,,,52,,55,80,65,132,,59',
'44,47,,54,45,164,76,,,62,19,,,46,,,17,18,,,,165,75,,80,166,,,,,53,,',
',43,76,,78,79,,,,60,49,66,67,56,,,58,63,75,68,,61,69,,70,,,,163,,,160',
',,,,,,,,,21,20,,,,,,52,,55,80,65,132,,59,44,47,,54,45,164,76,,,62,19',
',,46,,,17,18,,,,,,,80,,,,,,53,,,,43,76,,78,79,,,,60,49,66,67,56,,,58',
'63,75,68,,61,69,174,70,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,65,12,,59',
'44,47,,54,45,10,11,,,62,19,,,46,,,17,18,,,,,,,80,,,,,,53,,,,43,76,,78',
'79,,,,172,169,66,67,170,179,178,171,63,75,68,,61,69,181,70,,,,,,,,,',
',,,,,,,21,20,,,,,,52,,55,,65,12,,59,44,47,,54,45,10,11,,,62,19,,,46',
',,17,18,,,,,,,80,,,,,,53,,,,43,76,,78,79,,,,172,169,66,67,170,179,178',
'171,63,75,68,,61,69,,70,183,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,65,12',
',59,44,47,,54,45,10,11,,,62,19,,,46,,,17,18,,,,,,,80,,,,,,53,,,,43,76',
',78,79,,,,172,169,66,67,170,179,178,171,63,75,68,,61,69,,70,,,,,,,,',
',,,,,,,,21,20,,,,,,52,,55,,65,12,,59,44,47,,54,45,10,11,,,62,19,,,46',
',,17,18,,,,,,,80,,,,,,53,,,,43,76,,78,79,,,,60,49,66,67,56,,,58,63,75',
'68,,61,69,,194,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,65,132,,59,44,47,',
'54,45,,,,,62,19,,,46,,,17,18,,,,,,,80,,,,,,53,,,,43,76,,78,79,,,,60',
'49,66,67,56,,,58,63,75,68,,61,69,,70,,,,,,,,,,,,,,,,,21,20,,,,,,52,',
'55,,65,12,,59,44,47,,54,45,10,11,,,62,19,,,46,,,17,18,,,,,,,80,,,,,',
'53,,,,43,76,,78,79,,,,60,49,66,67,56,,,58,63,75,68,,61,69,,70,,,,,,',
',,,,,,,,,,21,20,,,,,,52,,55,,65,12,,59,44,47,,54,45,10,11,,,62,19,,',
'46,,,17,18,,,,,,,80,,,,,,53,,,,43,76,,78,79,,,,60,49,66,67,56,,,58,63',
'75,68,,61,69,,70,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,65,12,,59,44,47',
',54,45,10,11,,,62,19,,,46,,,17,18,,,,,,,80,,,,,,53,,,,43,76,,78,79,',
',,60,49,66,67,56,,,58,63,75,68,,61,69,,70,,,,,,,,,,,,,,,,,21,20,,,,',
',52,,55,,65,12,,59,44,47,,54,45,10,11,,,62,19,,,46,,,17,18,,,,,,,80',
',,,,,53,,,,43,76,,78,79,,,,60,49,66,67,56,,,58,63,75,68,,61,69,,70,',
',,,,,,,,,,,,,,,21,20,,,,,,52,,55,,65,12,,59,44,47,,54,45,10,11,,,62',
'19,,,46,,,17,18,,,,,,,80,,,,,,53,,,,43,76,,78,79,,,,60,49,66,67,56,',
',58,63,75,68,,61,69,,70,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,65,12,,59',
'44,47,,54,45,10,11,,,62,19,,,46,,,17,18,,,,,,,80,,,,,,53,,,,43,76,,78',
'79,,,,60,49,66,67,56,,,58,63,75,68,,61,69,,70,,,,,,,,,,,,,,,,,21,20',
',,,,,52,,55,,65,12,,59,44,47,,54,45,10,11,,,62,19,,,46,,,17,18,,,,,',
',80,,,,,,53,,,,43,76,,78,79,,,,60,49,66,67,56,,,58,63,75,68,,61,69,',
'70,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,65,12,,59,44,47,,54,45,10,11,',
',62,19,,,46,,,17,18,,,,,,,80,,,,,,53,,,,43,76,,78,79,,,,60,49,66,67',
'56,,,58,63,75,68,,61,69,,70,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,65,12',
',59,44,47,,54,45,10,11,,,62,19,,,46,,,17,18,,,,,,,80,,,,,,53,,,,43,76',
',78,79,,,,60,49,66,67,56,,,58,63,75,68,,61,69,,70,,,,,,,,,,,,,,,,,21',
'20,,,,,,212,227,218,228,65,220,230,222,44,210,,214,208,,,,,62,19,231',
'226,209,,,17,207,,,,,,,80,,,,,229,213,,,,43,76,,78,79,,,,223,211,224',
'225,219,233,232,221,63,75,68,,61,69,,70,,,,,,,,,,,,,,,,,21,20,,,,,,52',
',55,,65,132,,59,44,47,,54,45,,,,,62,19,,,46,,,17,18,,,,,,,80,,,,,,53',
',,,43,76,,78,79,,,,60,49,66,67,56,,,58,63,75,68,,61,69,,70,,,,,,,,,',
',,,,,,,21,20,,,,,,52,,55,,65,132,,59,44,47,,54,45,,,,,62,19,,,46,,,17',
'18,,,,,,,80,,,,,,53,,,,43,76,,78,79,,,,60,49,66,67,56,,,58,63,75,68',
',61,69,,70,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,65,132,,59,44,47,,54,45',
',,,,62,19,,,46,,,17,18,,,,,,,80,,,,,,53,,,,43,76,,78,79,,,,60,49,66',
'67,56,,,58,63,75,68,,61,69,,70,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,65',
'132,,59,44,47,,54,45,,,,,62,19,,,46,,,17,18,,,,,,,80,,,,,,53,,,,43,76',
',78,79,,,,60,49,66,67,56,,,58,63,75,68,,61,69,,70,,,,,,,,,,,,,,,,,21',
'20,,,,,,52,,55,,65,132,,59,44,47,,54,45,,,,,62,19,,,46,,,17,18,,,,,',
',80,,,,,,53,,,,43,76,,78,79,,,,60,49,66,67,56,,,58,63,75,68,,61,69,',
'70,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,65,132,,59,44,47,,54,45,,,,,62',
'19,,,46,,,17,18,,,,,,,80,,,,,,53,,,,43,76,,78,79,,,,60,49,66,67,56,',
',58,63,75,68,,61,69,,70,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,65,132,,59',
'44,47,,54,45,,,,,62,19,,,46,,,17,18,,,,,,,80,,,,,,53,,,,43,76,,78,79',
',,,60,49,66,67,56,,,58,63,75,68,,61,69,,70,,,,,,,,,,,,,,,,,21,20,,,',
',,52,,55,,65,132,,59,44,47,,54,45,,,,,62,19,,,46,,,17,18,,,,,,,80,,',
',,,53,,,,43,76,,78,79,,,,60,49,66,67,56,,,58,63,75,68,,61,69,,70,,,',
',,,,,,,,,,,,,21,20,,,,,,52,,55,,65,132,,59,44,47,,54,45,,,,,62,19,,',
'46,,,17,18,,,,,,,80,,,,,,53,,,,43,76,,78,79,,,,60,49,66,67,56,,,58,63',
'75,68,,61,69,,70,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,65,132,,59,44,47',
',54,45,,,,,62,19,,,46,,,17,18,,,,,,,80,,,,,,53,,,,43,76,,78,79,,,,60',
'49,66,67,56,,,58,63,75,68,,61,69,,70,,,,,,,,,,,,,,,,,21,20,,,,,,52,',
'55,,65,132,,59,44,47,,54,45,,,,,62,19,,,46,,,17,18,,,,,,,80,,,,,,53',
',,,43,76,,78,79,,,,60,49,66,67,56,,,58,63,75,68,,61,69,,70,,,,,,,,,',
',,,,,,,21,20,,,,,,52,,55,,65,132,,59,44,47,,54,45,,,,,62,19,,,46,,,17',
'18,,,,,,,80,,,,,,53,,,,43,76,,78,79,,,,60,49,66,67,56,,,58,63,75,68',
',61,69,,70,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,65,132,,59,44,47,,54,45',
',,,,62,19,,,46,,,17,18,,,,,,,80,,,,,,53,,,,43,76,,78,79,,,,60,49,66',
'67,56,,,58,63,75,68,,61,69,,70,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,65',
'132,,59,44,47,,54,45,,,,,62,19,,,46,,,17,18,,,,,,,80,,,,,,53,,,,43,76',
',78,79,,,,60,49,66,67,56,,,58,63,75,68,,61,69,,70,,,,,,,,,,,,,,,,,21',
'20,,,,,,52,,55,,65,132,,59,44,47,,54,45,,,,,62,19,,,46,,,17,18,,,,,',
',80,,,,,,53,,,,43,76,,78,79,,,,60,49,66,67,56,,,58,63,75,68,,61,69,',
'70,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,65,132,,59,44,47,,54,45,,,,,62',
'19,,,46,,,17,18,,,,,,,80,,,,,,53,,,,43,76,,78,79,,,,60,49,66,67,56,',
',58,63,75,68,,61,69,,70,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,65,132,,59',
'44,47,,54,45,,,,,62,19,,,46,,,17,18,,,,,,,80,,,,,,53,,,,43,76,,78,79',
',,,60,49,66,67,56,,,58,63,75,68,,61,69,,70,,,,,,,,,,,,,,,,,21,20,,,',
',,52,,55,,65,132,,59,44,47,,54,45,,,,,62,19,,,46,,,17,18,,,,,,,80,,',
',,,53,,,,43,76,,78,79,,,,60,49,66,67,56,,,58,63,75,68,,61,69,,70,,,',
',,,,,,,,,,,,,21,20,,,,,,52,,55,,65,132,,59,44,47,,54,45,,,,,62,19,,',
'46,,,17,18,,,,,,,80,,,,,,53,,,255,43,76,,78,79,,,,60,49,66,67,56,,,58',
'63,75,68,,61,69,,70,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,65,132,,59,44',
'47,,54,45,,,,,62,19,,,46,,,17,18,,,,,,,80,,,,,,53,,,,43,76,,78,79,,',
',60,49,66,67,56,,,58,63,75,68,,61,69,,70,,,,,,,,,,,,,,,,,21,20,,,,,',
'52,,55,,65,132,,59,44,47,,54,45,,,,,62,19,,,46,,,17,18,,,,,,,80,,,,',
',53,,,,43,76,,78,79,,,,60,49,66,67,56,,,58,63,75,68,,61,69,,70,,,,,',
',,,,,,,,,,,21,20,,,,,,52,,55,,65,132,,59,44,47,,54,45,,,,,62,19,,,46',
',,17,18,,,,,,,80,,,,,,53,,,,43,76,,78,79,,,,60,49,66,67,56,,,58,63,75',
'68,,61,69,,70,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,65,132,,59,44,47,,54',
'45,,,,,62,19,,,46,,,17,18,,,,,,,80,,,,,,53,,,,43,76,,78,79,,,,60,49',
'66,67,56,,,58,63,75,68,,61,69,,70,,,,,,,,,,,,,,,,,21,20,296,,,,,52,',
'55,,65,12,,59,44,47,,54,45,10,11,,,62,19,,,46,,,17,18,,,,,,,80,,,,,',
'53,,,,43,76,,78,79,,,,60,49,66,67,56,,,58,63,75,68,,61,69,,70,304,,',
',,,,,,,,,,,,,21,20,,,,,,52,,55,,65,12,,59,44,47,,54,45,10,11,,,62,19',
',,46,,,17,18,,,,,,,80,,,,,,53,,,,43,76,,78,79,,,,60,49,66,67,56,,,58',
'63,75,68,,61,69,,70,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,65,12,,59,44',
'47,,54,45,10,11,,,62,19,,,46,,,17,18,,,,,,,80,,,,,,53,,,,43,76,,78,79',
',,,60,49,66,67,56,,,58,63,75,68,,61,69,,70,183,,,,,,,,,,,,,,,,21,20',
',,,,,52,,55,,65,12,,59,44,47,,54,45,10,11,,,62,19,,,46,,,17,18,,,,,',
',80,,,,,,53,,,,43,76,,78,79,,,,172,169,66,67,170,179,178,171,63,75,68',
',61,69,,70,,,337,,,,,,,,,,,,,,21,20,,,,,,52,,55,,65,132,,59,44,47,,54',
'45,,,,,62,19,,,46,,,17,18,,,,,,,80,,,,,,53,,,,43,76,,78,79,,,,60,49',
'66,67,56,,,58,63,75,68,,61,69,,70,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55',
',65,132,,59,44,47,,54,45,,,,,62,19,,,46,,,17,18,,,,,,,80,,,,,,53,,,',
'43,76,,78,79,,,,60,49,66,67,56,,,58,63,75,68,,61,69,,70,,,,,,,,,,,,',
',,,,21,20,,,,,,52,,55,,65,132,,59,44,47,,54,45,,,,,62,19,,,46,,,17,18',
',,,,,,80,,,,,,53,,,,43,76,,78,79,,,,60,49,66,67,56,,,58,63,75,68,,61',
'69,,70,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,65,132,,59,44,47,,54,45,,',
',,62,19,,,46,,,17,18,,,,,,,80,,,,,,53,,,,43,76,,78,79,,,,60,49,66,67',
'56,,,58,63,75,68,,61,69,,70,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,65,132',
',59,44,47,,54,45,,,,,62,19,,,46,,,17,18,,,,,,,80,,,,,,53,,,,43,76,,78',
'79,,,,60,49,66,67,56,,,58,63,75,68,,61,69,,70,,,,,,,,,,,,,,,,,21,20',
',,,,,52,,55,,65,12,,59,44,47,,54,45,10,11,,,62,19,,,46,,,17,18,,,,,',
',80,,,,,,53,,,,43,76,,78,79,,,,60,49,66,67,56,,,58,63,75,68,,61,69,',
'70,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,65,132,,59,44,47,,54,45,,,,,62',
'19,,,46,,,17,18,,,,,,,80,,,,,,53,,,,43,76,,78,79,,,,60,49,66,67,56,',
',58,63,75,68,,61,69,,70,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,65,12,,59',
'44,47,,54,45,10,11,,,62,19,,,46,,,17,18,,,,,,,80,,,,,,53,,,,43,76,,78',
'79,,,,60,49,66,67,56,,,58,63,75,68,,61,69,,70,391,,,,,,,,,,,,,,,,21',
'20,,,,,,52,,55,,65,12,,59,44,47,,54,45,10,11,,,62,19,,,46,,,17,18,,',
',,,,80,,,,,,53,,,,43,76,,78,79,,,,60,49,66,67,56,,,58,63,75,68,,61,69',
',70,393,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,65,12,,59,44,47,,54,45,10',
'11,,,62,19,,,46,,,17,18,,,,,,,80,,,,,,53,,,,43,76,,78,79,,,,60,49,66',
'67,56,,,58,63,75,68,,61,69,,70,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,65',
'132,,59,44,47,,54,45,,,,,62,19,,,46,,,17,18,,,,,,,80,,,,,,53,,,,43,76',
',78,79,,,,60,49,66,67,56,,,58,63,75,68,,61,69,,70,,,,,,,,,,,,,,,,,21',
'20,,,,,,52,,55,,65,12,,59,44,47,,54,45,10,11,,,62,19,,,46,,,17,18,,',
',,,,80,,,,,,53,,,,43,76,,78,79,,,,172,169,66,67,170,179,178,171,63,75',
'68,,61,69,,70,412,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,65,12,,59,44,47',
',54,45,10,11,,,62,19,,,46,,,17,18,,,,,,,80,,,,,,53,,,,43,76,,78,79,',
',,172,169,66,67,170,179,178,171,63,75,68,,61,69,,70,,,,,,,,,,,,,,,,',
'21,20,,,,,,52,,55,,65,12,,59,44,47,,54,45,10,11,,,62,19,,,46,,,17,18',
',,,,,,80,,,,,,53,,,,43,76,,78,79,,,,172,169,66,67,170,179,178,171,63',
'75,68,,61,69,,70,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,65,12,,59,44,47',
',54,45,10,11,,,62,19,,,46,,,17,18,,,,,,,80,,,,,,53,,,,43,76,,78,79,',
',,60,49,66,67,56,,,58,63,75,68,,61,69,,70,,,,,,,,,,,,,,,,,21,20,,,,',
',52,,55,,65,132,,59,44,47,,54,45,,,,,62,19,,,46,,,17,18,,,,,,,80,,,',
',,53,,,,43,76,,78,79,,,,60,49,66,67,56,,,58,63,75,68,,61,69,,70,,,,',
',,,,,,,,,,,,21,20,,,,,,52,,55,,65,132,,59,44,47,,54,45,,,,,62,19,,,46',
',,17,18,,,,,,,80,,,,,,53,,,,43,76,,78,79,,,,60,49,66,67,56,,,58,63,75',
'68,,61,69,,70,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,65,132,,59,44,47,,54',
'45,,,,,62,19,,,46,,,17,18,,,,,,,80,,,,,,53,,,,43,76,,78,79,,,,60,49',
'66,67,56,,,58,63,75,68,,61,69,,70,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55',
',65,132,,59,44,47,,54,45,,,,,62,19,,,46,,,17,18,,,,,,,80,,,,,,53,,,',
'43,76,,78,79,,,,60,49,66,67,56,,,58,63,75,68,,61,69,,70,,,,,,,,,,,,',
',,,,21,20,,,,,,52,,55,,65,132,,59,44,47,,54,45,,,,,62,19,,,46,,,17,18',
',,,,,,80,,,,,,53,,,,43,76,,78,79,,,,60,49,66,67,56,,,58,63,75,68,,61',
'69,,70,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,65,132,,59,44,47,,54,45,,',
',,62,19,,,46,,,17,18,,,,,,,80,,,,,,53,,,,43,76,,78,79,,,,60,49,66,67',
'56,,,58,63,75,68,,61,69,,70,446,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,65',
'12,,59,44,47,,54,45,10,11,,,62,19,,,46,,,17,18,,,,,,,80,,,,,,53,,,,43',
'76,,78,79,,,,60,49,66,67,56,,,58,63,75,68,,61,69,,70,,,,,,,,,,,,,,,',
',21,20,,,,,,52,,55,,65,132,,59,44,47,,54,45,,,,,62,19,,,46,,,17,18,',
',,,,,80,,,,,,53,,,,43,76,,78,79,,,,60,49,66,67,56,,,58,63,75,68,,61',
'69,,70,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,65,12,,59,44,47,,54,45,10',
'11,,,62,19,,,46,,,17,18,,,,,,,80,,,,,,53,,,,43,76,,78,79,,,,60,49,66',
'67,56,,,58,63,75,68,,61,69,,70,459,,,,,,,,,,,,,,,,21,20,,,,,,52,,55',
',65,132,,59,44,47,,54,45,,,,,62,19,,,46,,,17,18,,,,,,,80,,,,,,53,,,',
'43,76,,78,79,,,,60,49,66,67,56,,,58,63,75,68,,61,69,,70,,,,,,,,,,,,',
',,,,21,20,,,,,,52,,55,,65,12,,59,44,47,,54,45,10,11,,,62,19,,,46,,,17',
'18,,,,,,,80,,,,,,53,,,,43,76,,78,79,,,,60,49,66,67,56,,,58,63,75,68',
',61,69,,70,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,65,12,,59,44,47,,54,45',
'10,11,,,62,19,,,46,,,17,18,,,,,,,80,,,,,,53,,,,43,76,,78,79,,,,60,49',
'66,67,56,,,58,63,75,68,,61,69,,70,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55',
',65,132,,59,44,47,,54,45,,,,,62,19,,,46,,,17,18,,,,,,,80,,,,,,53,,,',
'43,76,,78,79,,,,60,49,66,67,56,,,58,63,75,68,,61,69,,70,,,,,,,,,,,,',
',,,,21,20,,,,,,52,,55,,65,132,,59,44,47,,54,45,,,,,62,19,,,46,,,17,18',
',,,,,,80,,,,,,53,,,,43,76,,78,79,,,,60,49,66,67,56,,,58,63,75,68,,61',
'69,,70,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,65,12,,59,44,47,,54,45,10',
'11,,,62,19,,,46,,,17,18,,,,,,,80,,,,,,53,,,,43,76,,78,79,,,,60,49,66',
'67,56,,,58,63,75,68,,61,69,,70,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,65',
'132,,59,44,47,,54,45,,,,,62,19,,,46,,,17,18,,,,,,,80,,,,,,53,,,,43,76',
',78,79,,,,60,49,66,67,56,,,58,63,75,68,,61,69,,70,,,,,,,,,,,,,,,,,21',
'20,,,,,,52,,55,,65,12,,59,44,47,,54,45,10,11,,,62,19,,,46,,,17,18,,',
',,,,80,,,,,,53,,,,43,76,,78,79,,,,60,49,66,67,56,,,58,63,75,68,,61,69',
',70,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,65,132,,59,44,47,,54,45,,,,,62',
'19,,,46,,,17,18,,,,,,,80,,,,,,53,,,,43,76,,78,79,,,,60,49,66,67,56,',
',58,63,75,68,,61,69,,70,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,65,132,,59',
'44,47,,54,45,,,,,62,19,,,46,,,17,18,,,,,,,80,,,,,,53,,,,43,76,,78,79',
',,,60,49,66,67,56,,,58,63,75,68,,61,69,,70,495,,,,,,,,,,,,,,,,21,20',
',,,,,52,,55,,65,12,,59,44,47,,54,45,10,11,,,62,19,,,46,,,17,18,,,,,',
',80,,,,,,53,,,,43,76,,78,79,,,,60,49,66,67,56,,,58,63,75,68,,61,69,',
'70,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,65,12,,59,44,47,,54,45,10,11,',
',62,19,,,46,,,17,18,,,,,,,80,,,,,,53,,,,43,76,,78,79,,,,60,49,66,67',
'56,,,58,63,75,68,,61,69,,70,505,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,65',
'12,,59,44,47,,54,45,10,11,,,62,19,,,46,,,17,18,,,,,,,80,,,,,,53,,,,43',
'76,,78,79,,,,60,49,66,67,56,,,58,63,75,68,,61,69,,70,507,,,,,,,,,,,',
',,,,21,20,,,,,,52,,55,,65,12,,59,44,47,,54,45,10,11,,,62,19,,,46,,,17',
'18,,,,,,,80,,,,,,53,,,,43,76,,78,79,,,,60,49,66,67,56,,,58,63,75,68',
',61,69,,70,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,65,12,,59,44,47,,54,45',
'10,11,,,62,19,,,46,,,17,18,,,,,,,80,,,,,,53,,,,43,76,,78,79,,,,60,49',
'66,67,56,,,58,63,75,68,,61,69,,70,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55',
',65,132,,59,44,47,,54,45,,,,,62,19,,,46,,,17,18,,,,,,,80,,,,,,53,,,',
'43,76,,78,79,,,112,60,49,66,67,56,,,58,,,68,108,103,114,,117,,111,,113',
',104,106,105,107,,,,,,,,,,,,,,,,116,,,,110,109,,,96,97,99,98,101,102',
',94,95,112,,297,,,93,,,,,,,108,103,114,,117,,111,,113,,104,106,105,107',
',,,,100,,,,,,,,,,,116,,,,110,109,,,96,97,99,98,101,102,,94,95,112,,298',
',,93,,,,,,,108,103,114,,117,,111,,113,,104,106,105,107,,,,,100,,,,,',
',,,,,116,,,,110,109,,,96,97,99,98,101,102,,94,95,112,,299,,,93,,,,,',
',108,103,114,,117,,111,,113,,104,106,105,107,,,,,100,,,,,,,,,,,116,',
',,110,109,,112,96,97,99,98,101,102,,94,95,,,108,103,114,93,117,,111',
',113,,104,106,105,107,,,,,,,,,,,,,,,100,116,,,,110,109,,,96,97,99,98',
'101,102,,94,95,,,,,,93,,,,112,,,,,,,330,331,,,,108,103,114,334,117,112',
'111,,113,100,104,106,105,107,,,,,,114,,117,,111,,113,,,,116,,,,110,109',
',,96,97,99,98,101,102,,94,95,116,,,112,,93,,,96,97,99,98,,,,94,95,114',
',117,112,111,93,113,,,,,,,100,,,,114,,117,,111,,113,,,,116,,,100,,,',
',96,97,99,98,,,,94,95,116,,,112,,93,,,96,97,99,98,101,102,,94,95,114',
',117,112,111,93,113,,,,,,,100,,,103,114,,117,,111,,113,,104,,116,,,100',
',,,,96,97,99,98,101,102,,94,95,116,,,,,93,,112,96,97,99,98,101,102,',
'94,95,,,,103,114,93,117,112,111,,113,,104,100,,,,,,,103,114,,117,,111',
',113,,104,100,116,,,,,,,,96,97,99,98,101,102,,94,95,116,,,,,93,,112',
'96,97,99,98,101,102,,94,95,,,,103,114,93,117,,111,,113,,104,100,,,,',
',,,,,,,,,,,,100,116,,,,,112,,,96,97,99,98,101,102,,94,95,108,103,114',
',117,93,111,,113,,104,106,105,107,,,,,,,,,,,,,,,,116,100,,,,112,,,96',
'97,99,98,101,102,,94,95,108,103,114,,117,93,111,,113,,104,106,105,107',
',,,,,,,,,,,,,,,116,100,,,,109,,,96,97,99,98,101,102,112,94,95,,,340',
',,93,,,,108,103,114,,117,,111,,113,,104,106,105,107,,,,,,,,100,,,,,',
',,116,,,,110,109,,112,96,97,99,98,101,102,,94,95,,,108,103,114,93,117',
',111,,113,,104,106,105,107,,,,,,,,,,,,,,,100,116,,,,110,109,,112,96',
'97,99,98,101,102,,94,95,,,108,103,114,93,117,,111,,113,,104,106,105',
'107,,,,,,,,,,,,,,,100,116,,,,110,109,,,96,97,99,98,101,102,112,94,95',
',,,,,93,,,,108,103,114,366,117,,111,,113,,104,106,105,107,,,,,,,,100',
',,,,,,,116,,,,110,109,,112,96,97,99,98,101,102,,94,95,,,108,103,114',
'93,117,,111,,113,,104,106,105,107,,,,,,,,,,,,,,,100,116,,,,110,109,',
'112,96,97,99,98,101,102,,94,95,,,108,103,114,93,117,,111,,113,,104,106',
'105,107,,,,,,,,,,,,,,,100,116,,,,110,109,,112,96,97,99,98,101,102,,94',
'95,,,108,103,114,93,117,,111,,113,,104,106,105,107,,,,,,,,,,,,,,,100',
'116,,,,110,109,,112,96,97,99,98,101,102,,94,95,,,108,103,114,93,117',
',111,,113,,104,106,105,107,,,,,,,,,,,,,,,100,116,,,,110,109,,112,96',
'97,99,98,101,102,,94,95,,,108,103,114,93,117,,111,,113,,104,106,105',
'107,,,,,,,,,,,,,,,100,116,,,,110,109,,112,96,97,99,98,101,102,,94,95',
',,108,103,114,93,117,,111,,113,,104,106,105,107,,,,,,,,,,,,,,,100,116',
',,,110,109,,,96,97,99,98,101,102,,94,95,,352,227,351,228,93,349,230',
'353,,346,,348,350,,,,,,,231,226,354,,,,347,,,,100,,,,,,,,229,355,,,',
',,,,,,,,358,356,359,357,360,233,232,361,352,227,351,228,,349,230,353',
',346,,348,350,,,,,,,231,226,354,,,,347,,,,,,,,,,,,229,355,,,,,,,,,,',
',358,356,359,357,360,233,232,361,352,227,351,228,,349,230,353,,346,',
'348,350,,,,,,,231,226,354,,,,347,,,,,,,,,,,,229,355,,,,,,,,,,,,358,356',
'359,357,360,233,232,361,352,227,351,228,,349,230,353,,346,,348,350,',
',,,,,231,226,354,,,,347,,,,,,,,,,,,229,355,,,,,,,,,,,,358,356,359,357',
'360,233,232,361,352,227,351,228,,349,230,353,,346,,348,350,,,,,,,231',
'226,354,,,,347,,,,,,,,,,,,229,355,,,,,,,,,,,,358,356,359,357,360,233',
'232,361,352,227,351,228,,349,230,353,,346,,348,350,,,,,,,231,226,354',
',,,347,,,,,,,,,,,,229,355,,,,,,,,,,,,358,356,359,357,360,233,232,361' ]
        racc_action_table = arr = ::Array.new(9980, nil)
        idx = 0
        clist.each do |str|
          str.split(',', -1).each do |i|
            arr[idx] = i.to_i unless i.empty?
            idx += 1
          end
        end

clist = [
'0,0,146,210,0,0,295,0,7,7,7,168,235,168,208,146,182,143,307,182,293',
'295,209,146,0,0,235,217,235,224,235,0,235,0,1,0,0,146,0,0,0,293,0,0',
'0,0,210,143,0,0,114,307,0,235,168,0,0,208,7,7,7,7,55,0,12,209,55,5,12',
'0,217,12,224,0,0,235,0,0,0,210,210,0,0,0,0,0,270,8,0,4,4,0,114,4,4,270',
'4,168,55,50,12,236,55,225,12,192,377,309,270,309,55,377,12,4,4,236,270',
'236,192,236,4,236,4,51,4,4,192,4,4,4,4,4,4,4,4,239,58,4,4,394,192,4',
'236,64,4,4,225,76,394,239,77,239,4,239,391,239,391,220,4,271,81,220',
'4,4,236,4,4,220,271,83,4,4,4,4,4,115,239,4,10,10,4,271,10,10,49,10,451',
'384,451,271,118,239,239,220,119,56,169,220,239,56,384,135,10,10,136',
'220,211,49,384,10,220,10,138,10,10,139,10,10,10,169,10,10,10,10,240',
'141,10,10,145,211,10,56,484,10,10,56,156,484,240,158,240,10,240,56,240',
'171,60,10,173,128,60,10,10,128,10,10,16,16,180,10,10,10,10,10,185,240',
'10,11,11,10,196,11,11,201,11,190,190,47,47,190,240,240,60,202,132,128',
'60,240,132,128,203,11,11,204,60,57,57,128,11,206,11,221,11,11,257,11',
'11,11,262,11,11,11,11,237,264,11,11,61,61,11,132,265,11,11,132,62,62',
'237,268,237,11,237,132,237,272,154,11,276,170,154,11,11,170,11,11,63',
'63,280,11,11,11,11,11,281,237,11,17,17,11,282,17,17,285,17,237,237,121',
'121,291,237,237,154,292,172,170,154,237,172,170,300,17,17,301,154,152',
'152,170,17,302,17,303,17,17,305,17,17,17,308,17,17,312,237,238,314,17',
'17,153,153,17,172,327,17,17,172,167,167,238,332,238,17,238,172,238,333',
'218,17,335,219,218,17,17,219,17,17,187,187,341,17,17,17,17,17,343,238',
'17,18,18,17,345,18,18,347,18,238,238,417,417,364,238,238,218,367,223',
'219,218,238,223,219,371,18,18,373,218,376,378,219,18,379,18,382,18,18',
'383,18,18,18,390,18,18,392,238,393,401,18,18,406,416,18,223,418,18,18',
'223,425,429,59,59,369,18,59,223,369,432,437,18,438,439,445,18,18,454',
'18,18,455,457,458,18,18,18,18,18,461,464,18,19,19,18,465,19,19,469,19',
'472,369,473,59,131,369,59,478,369,481,482,493,494,369,496,497,19,19',
'131,504,131,506,131,19,131,19,59,19,19,508,19,19,19,515,19,19,59,59',
'241,,19,19,,,19,131,,19,19,,,,241,,241,19,241,,241,,,19,,,,19,19,,19',
'19,,,,19,19,19,19,19,,241,19,20,20,19,,20,20,,20,,,,,133,241,241,,,',
',,241,,,,20,20,133,,133,,133,20,133,20,,20,20,,20,20,20,,20,20,20,20',
'134,,20,20,,,20,133,,20,20,,,,134,,134,20,134,,134,,,20,,,,20,20,,20',
'20,,,,20,20,20,20,20,,134,20,21,21,20,,21,21,,21,,,,,234,,,,,,,,,,,',
'21,21,234,,234,,234,21,234,21,,21,21,,21,21,21,,21,21,21,21,,,21,21',
',,21,234,,21,21,,,,,,,21,,,,,,21,,,,21,21,,21,21,,,,21,21,21,21,21,',
',21,48,48,21,,48,48,,48,,,,,,,,,,,,,,,,,48,48,48,,,,,48,,48,,48,48,',
'48,48,48,,48,48,48,48,,,48,48,,,48,,,48,48,,,,222,222,,48,222,,,,,48',
',,,48,48,,48,48,,,,48,48,48,48,48,,,48,52,52,48,,52,52,,52,,,,222,,',
'222,,,,,,,,,,52,52,,,,,,52,,52,222,52,52,,52,52,52,,52,52,222,222,,',
'52,52,,,52,,,52,52,,,,306,306,,52,306,,,,,52,,,,52,52,,52,52,,,,52,52',
'52,52,52,,,52,53,53,52,,53,53,,53,,,,306,,,306,,,,,,,,,,53,53,,,,,,53',
',53,306,53,53,,53,53,53,,53,53,306,306,,,53,53,,,53,,,53,53,,,,403,403',
',53,403,,,,,53,,,,53,53,,53,53,,,,53,53,53,53,53,,,53,54,54,53,,54,54',
',54,,,,403,,,403,,,,,,,,,,54,54,,,,,,54,,54,403,54,54,,54,54,54,,54',
'54,403,403,,,54,54,,,54,,,54,54,,,,,,,54,,,,,,54,,,,54,54,,54,54,,,',
'54,54,54,54,54,,,54,68,68,54,,68,68,68,68,,,,,,,,,,,,,,,,,68,68,,,,',
',68,,68,,68,68,,68,68,68,,68,68,68,68,,,68,68,,,68,,,68,68,,,,,,,68',
',,,,,68,,,,68,68,,68,68,,,,68,68,68,68,68,68,68,68,69,69,68,,69,69,69',
'69,,,,,,,,,,,,,,,,,69,69,,,,,,69,,69,,69,69,,69,69,69,,69,69,69,69,',
',69,69,,,69,,,69,69,,,,,,,69,,,,,,69,,,,69,69,,69,69,,,,69,69,69,69',
'69,69,69,69,70,70,69,,70,70,,70,70,,,,,,,,,,,,,,,,70,70,,,,,,70,,70',
',70,70,,70,70,70,,70,70,70,70,,,70,70,,,70,,,70,70,,,,,,,70,,,,,,70',
',,,70,70,,70,70,,,,70,70,70,70,70,70,70,70,74,74,70,,74,74,,74,,,,,',
',,,,,,,,,,,74,74,,,,,,74,,74,,74,74,,74,74,74,,74,74,74,74,,,74,74,',
',74,,,74,74,,,,,,,74,,,,,,74,,,,74,74,,74,74,,,,74,74,74,74,74,,,74',
'79,79,74,,79,79,,79,,,,,,,,,,,,,,,,,79,79,,,,,,79,,79,,79,79,,79,79',
'79,,79,79,,,,,79,79,,,79,,,79,79,,,,,,,79,,,,,,79,,,,79,79,,79,79,,',
',79,79,79,79,79,,,79,82,82,79,,82,82,,82,,,,,,,,,,,,,,,,,82,82,,,,,',
'82,,82,,82,82,,82,82,82,,82,82,82,82,,,82,82,,,82,,,82,82,,,,,,,82,',
',,,,82,,,,82,82,,82,82,,,,82,82,82,82,82,,,82,84,84,82,,84,84,,84,,',
',,,,,,,,,,,,,,84,84,,,,,,84,,84,,84,84,,84,84,84,,84,84,84,84,,,84,84',
',,84,,,84,84,,,,,,,84,,,,,,84,,,,84,84,,84,84,,,,84,84,84,84,84,,,84',
'85,85,84,,85,85,,85,,,,,,,,,,,,,,,,,85,85,,,,,,85,,85,,85,85,,85,85',
'85,,85,85,85,85,,,85,85,,,85,,,85,85,,,,,,,85,,,,,,85,,,,85,85,,85,85',
',,,85,85,85,85,85,,,85,86,86,85,,86,86,,86,,,,,,,,,,,,,,,,,86,86,,,',
',,86,,86,,86,86,,86,86,86,,86,86,86,86,,,86,86,,,86,,,86,86,,,,,,,86',
',,,,,86,,,,86,86,,86,86,,,,86,86,86,86,86,,,86,87,87,86,,87,87,,87,',
',,,,,,,,,,,,,,,87,87,,,,,,87,,87,,87,87,,87,87,87,,87,87,87,87,,,87',
'87,,,87,,,87,87,,,,,,,87,,,,,,87,,,,87,87,,87,87,,,,87,87,87,87,87,',
',87,88,88,87,,88,88,,88,,,,,,,,,,,,,,,,,88,88,,,,,,88,,88,,88,88,,88',
'88,88,,88,88,88,88,,,88,88,,,88,,,88,88,,,,,,,88,,,,,,88,,,,88,88,,88',
'88,,,,88,88,88,88,88,,,88,89,89,88,,89,89,,89,,,,,,,,,,,,,,,,,89,89',
',,,,,89,,89,,89,89,,89,89,89,,89,89,89,89,,,89,89,,,89,,,89,89,,,,,',
',89,,,,,,89,,,,89,89,,89,89,,,,89,89,89,89,89,,,89,90,90,89,,90,90,',
'90,,,,,,,,,,,,,,,,,90,90,,,,,,90,,90,,90,90,,90,90,90,,90,90,90,90,',
',90,90,,,90,,,90,90,,,,,,,90,,,,,,90,,,,90,90,,90,90,,,,90,90,90,90',
'90,,,90,91,91,90,,91,91,,91,,,,,,,,,,,,,,,,,91,91,,,,,,91,,91,,91,91',
',91,91,91,,91,91,91,91,,,91,91,,,91,,,91,91,,,,,,,91,,,,,,91,,,,91,91',
',91,91,,,,91,91,91,91,91,,,91,92,92,91,,92,92,,92,,,,,,,,,,,,,,,,,92',
'92,,,,,,92,92,92,92,92,92,92,92,92,92,,92,92,,,,,92,92,92,92,92,,,92',
'92,,,,,,,92,,,,,92,92,,,,92,92,,92,92,,,,92,92,92,92,92,92,92,92,93',
'93,92,,93,93,,93,,,,,,,,,,,,,,,,,93,93,,,,,,93,,93,,93,93,,93,93,93',
',93,93,,,,,93,93,,,93,,,93,93,,,,,,,93,,,,,,93,,,,93,93,,93,93,,,,93',
'93,93,93,93,,,93,94,94,93,,94,94,,94,,,,,,,,,,,,,,,,,94,94,,,,,,94,',
'94,,94,94,,94,94,94,,94,94,,,,,94,94,,,94,,,94,94,,,,,,,94,,,,,,94,',
',,94,94,,94,94,,,,94,94,94,94,94,,,94,95,95,94,,95,95,,95,,,,,,,,,,',
',,,,,,95,95,,,,,,95,,95,,95,95,,95,95,95,,95,95,,,,,95,95,,,95,,,95',
'95,,,,,,,95,,,,,,95,,,,95,95,,95,95,,,,95,95,95,95,95,,,95,96,96,95',
',96,96,,96,,,,,,,,,,,,,,,,,96,96,,,,,,96,,96,,96,96,,96,96,96,,96,96',
',,,,96,96,,,96,,,96,96,,,,,,,96,,,,,,96,,,,96,96,,96,96,,,,96,96,96',
'96,96,,,96,97,97,96,,97,97,,97,,,,,,,,,,,,,,,,,97,97,,,,,,97,,97,,97',
'97,,97,97,97,,97,97,,,,,97,97,,,97,,,97,97,,,,,,,97,,,,,,97,,,,97,97',
',97,97,,,,97,97,97,97,97,,,97,98,98,97,,98,98,,98,,,,,,,,,,,,,,,,,98',
'98,,,,,,98,,98,,98,98,,98,98,98,,98,98,,,,,98,98,,,98,,,98,98,,,,,,',
'98,,,,,,98,,,,98,98,,98,98,,,,98,98,98,98,98,,,98,99,99,98,,99,99,,99',
',,,,,,,,,,,,,,,,99,99,,,,,,99,,99,,99,99,,99,99,99,,99,99,,,,,99,99',
',,99,,,99,99,,,,,,,99,,,,,,99,,,,99,99,,99,99,,,,99,99,99,99,99,,,99',
'100,100,99,,100,100,,100,,,,,,,,,,,,,,,,,100,100,,,,,,100,,100,,100',
'100,,100,100,100,,100,100,,,,,100,100,,,100,,,100,100,,,,,,,100,,,,',
',100,,,,100,100,,100,100,,,,100,100,100,100,100,,,100,101,101,100,,101',
'101,,101,,,,,,,,,,,,,,,,,101,101,,,,,,101,,101,,101,101,,101,101,101',
',101,101,,,,,101,101,,,101,,,101,101,,,,,,,101,,,,,,101,,,,101,101,',
'101,101,,,,101,101,101,101,101,,,101,102,102,101,,102,102,,102,,,,,',
',,,,,,,,,,,102,102,,,,,,102,,102,,102,102,,102,102,102,,102,102,,,,',
'102,102,,,102,,,102,102,,,,,,,102,,,,,,102,,,,102,102,,102,102,,,,102',
'102,102,102,102,,,102,103,103,102,,103,103,,103,,,,,,,,,,,,,,,,,103',
'103,,,,,,103,,103,,103,103,,103,103,103,,103,103,,,,,103,103,,,103,',
',103,103,,,,,,,103,,,,,,103,,,,103,103,,103,103,,,,103,103,103,103,103',
',,103,104,104,103,,104,104,,104,,,,,,,,,,,,,,,,,104,104,,,,,,104,,104',
',104,104,,104,104,104,,104,104,,,,,104,104,,,104,,,104,104,,,,,,,104',
',,,,,104,,,,104,104,,104,104,,,,104,104,104,104,104,,,104,105,105,104',
',105,105,,105,,,,,,,,,,,,,,,,,105,105,,,,,,105,,105,,105,105,,105,105',
'105,,105,105,,,,,105,105,,,105,,,105,105,,,,,,,105,,,,,,105,,,,105,105',
',105,105,,,,105,105,105,105,105,,,105,106,106,105,,106,106,,106,,,,',
',,,,,,,,,,,,106,106,,,,,,106,,106,,106,106,,106,106,106,,106,106,,,',
',106,106,,,106,,,106,106,,,,,,,106,,,,,,106,,,,106,106,,106,106,,,,106',
'106,106,106,106,,,106,107,107,106,,107,107,,107,,,,,,,,,,,,,,,,,107',
'107,,,,,,107,,107,,107,107,,107,107,107,,107,107,,,,,107,107,,,107,',
',107,107,,,,,,,107,,,,,,107,,,,107,107,,107,107,,,,107,107,107,107,107',
',,107,108,108,107,,108,108,,108,,,,,,,,,,,,,,,,,108,108,,,,,,108,,108',
',108,108,,108,108,108,,108,108,,,,,108,108,,,108,,,108,108,,,,,,,108',
',,,,,108,,,,108,108,,108,108,,,,108,108,108,108,108,,,108,109,109,108',
',109,109,,109,,,,,,,,,,,,,,,,,109,109,,,,,,109,,109,,109,109,,109,109',
'109,,109,109,,,,,109,109,,,109,,,109,109,,,,,,,109,,,,,,109,,,,109,109',
',109,109,,,,109,109,109,109,109,,,109,110,110,109,,110,110,,110,,,,',
',,,,,,,,,,,,110,110,,,,,,110,,110,,110,110,,110,110,110,,110,110,,,',
',110,110,,,110,,,110,110,,,,,,,110,,,,,,110,,,,110,110,,110,110,,,,110',
'110,110,110,110,,,110,111,111,110,,111,111,,111,,,,,,,,,,,,,,,,,111',
'111,,,,,,111,,111,,111,111,,111,111,111,,111,111,,,,,111,111,,,111,',
',111,111,,,,,,,111,,,,,,111,,,111,111,111,,111,111,,,,111,111,111,111',
'111,,,111,112,112,111,,112,112,,112,,,,,,,,,,,,,,,,,112,112,,,,,,112',
',112,,112,112,,112,112,112,,112,112,,,,,112,112,,,112,,,112,112,,,,',
',,112,,,,,,112,,,,112,112,,112,112,,,,112,112,112,112,112,,,112,116',
'116,112,,116,116,,116,,,,,,,,,,,,,,,,,116,116,,,,,,116,,116,,116,116',
',116,116,116,,116,116,,,,,116,116,,,116,,,116,116,,,,,,,116,,,,,,116',
',,,116,116,,116,116,,,,116,116,116,116,116,,,116,117,117,116,,117,117',
',117,,,,,,,,,,,,,,,,,117,117,,,,,,117,,117,,117,117,,117,117,117,,117',
'117,,,,,117,117,,,117,,,117,117,,,,,,,117,,,,,,117,,,,117,117,,117,117',
',,,117,117,117,117,117,,,117,120,120,117,,120,120,,120,,,,,,,,,,,,,',
',,,120,120,,,,,,120,,120,,120,120,,120,120,120,,120,120,,,,,120,120',
',,120,,,120,120,,,,,,,120,,,,,,120,,,,120,120,,120,120,,,,120,120,120',
'120,120,,,120,147,147,120,,147,147,,147,,,,,,,,,,,,,,,,,147,147,147',
',,,,147,,147,,147,147,,147,147,147,,147,147,147,147,,,147,147,,,147',
',,147,147,,,,,,,147,,,,,,147,,,,147,147,,147,147,,,,147,147,147,147',
'147,,,147,155,155,147,,155,155,,155,155,,,,,,,,,,,,,,,,155,155,,,,,',
'155,,155,,155,155,,155,155,155,,155,155,155,155,,,155,155,,,155,,,155',
'155,,,,,,,155,,,,,,155,,,,155,155,,155,155,,,,155,155,155,155,155,,',
'155,191,191,155,,191,191,,191,,,,,,,,,,,,,,,,,191,191,,,,,,191,,191',
',191,191,,191,191,191,,191,191,191,191,,,191,191,,,191,,,191,191,,,',
',,,191,,,,,,191,,,,191,191,,191,191,,,,191,191,191,191,191,,,191,194',
'194,191,,194,194,,194,194,,,,,,,,,,,,,,,,194,194,,,,,,194,,194,,194',
'194,,194,194,194,,194,194,194,194,,,194,194,,,194,,,194,194,,,,,,,194',
',,,,,194,,,,194,194,,194,194,,,,194,194,194,194,194,194,194,194,207',
'207,194,,207,207,,207,,,207,,,,,,,,,,,,,,207,207,,,,,,207,,207,,207',
'207,,207,207,207,,207,207,,,,,207,207,,,207,,,207,207,,,,,,,207,,,,',
',207,,,,207,207,,207,207,,,,207,207,207,207,207,,,207,212,212,207,,212',
'212,,212,,,,,,,,,,,,,,,,,212,212,,,,,,212,,212,,212,212,,212,212,212',
',212,212,,,,,212,212,,,212,,,212,212,,,,,,,212,,,,,,212,,,,212,212,',
'212,212,,,,212,212,212,212,212,,,212,213,213,212,,213,213,,213,,,,,',
',,,,,,,,,,,213,213,,,,,,213,,213,,213,213,,213,213,213,,213,213,,,,',
'213,213,,,213,,,213,213,,,,,,,213,,,,,,213,,,,213,213,,213,213,,,,213',
'213,213,213,213,,,213,214,214,213,,214,214,,214,,,,,,,,,,,,,,,,,214',
'214,,,,,,214,,214,,214,214,,214,214,214,,214,214,,,,,214,214,,,214,',
',214,214,,,,,,,214,,,,,,214,,,,214,214,,214,214,,,,214,214,214,214,214',
',,214,255,255,214,,255,255,,255,,,,,,,,,,,,,,,,,255,255,,,,,,255,,255',
',255,255,,255,255,255,,255,255,,,,,255,255,,,255,,,255,255,,,,,,,255',
',,,,,255,,,,255,255,,255,255,,,,255,255,255,255,255,,,255,275,275,255',
',275,275,,275,,,,,,,,,,,,,,,,,275,275,,,,,,275,,275,,275,275,,275,275',
'275,,275,275,275,275,,,275,275,,,275,,,275,275,,,,,,,275,,,,,,275,,',
',275,275,,275,275,,,,275,275,275,275,275,,,275,278,278,275,,278,278',
',278,,,,,,,,,,,,,,,,,278,278,,,,,,278,,278,,278,278,,278,278,278,,278',
'278,,,,,278,278,,,278,,,278,278,,,,,,,278,,,,,,278,,,,278,278,,278,278',
',,,278,278,278,278,278,,,278,279,279,278,,279,279,,279,,,,,,,,,,,,,',
',,,279,279,,,,,,279,,279,,279,279,,279,279,279,,279,279,279,279,,,279',
'279,,,279,,,279,279,,,,,,,279,,,,,,279,,,,279,279,,279,279,,,,279,279',
'279,279,279,,,279,297,297,279,,297,297,,297,297,,,,,,,,,,,,,,,,297,297',
',,,,,297,,297,,297,297,,297,297,297,,297,297,297,297,,,297,297,,,297',
',,297,297,,,,,,,297,,,,,,297,,,,297,297,,297,297,,,,297,297,297,297',
'297,,,297,298,298,297,,298,298,,298,298,,,,,,,,,,,,,,,,298,298,,,,,',
'298,,298,,298,298,,298,298,298,,298,298,298,298,,,298,298,,,298,,,298',
'298,,,,,,,298,,,,,,298,,,,298,298,,298,298,,,,298,298,298,298,298,,',
'298,299,299,298,,299,299,,299,,,,,,,,,,,,,,,,,299,299,,,,,,299,,299',
',299,299,,299,299,299,,299,299,,,,,299,299,,,299,,,299,299,,,,,,,299',
',,,,,299,,,,299,299,,299,299,,,,299,299,299,299,299,,,299,313,313,299',
',313,313,,313,,,,,,,,,,,,,,,,,313,313,,,,,,313,,313,,313,313,,313,313',
'313,,313,313,313,313,,,313,313,,,313,,,313,313,,,,,,,313,,,,,,313,,',
',313,313,,313,313,,,,313,313,313,313,313,313,313,313,316,316,313,,316',
'316,,316,316,,,,,,,,,,,,,,,,316,316,,,,,,316,,316,,316,316,,316,316',
'316,,316,316,316,316,,,316,316,,,316,,,316,316,,,,,,,316,,,,,,316,,',
',316,316,,316,316,,,,316,316,316,316,316,316,316,316,317,317,316,,317',
'317,,317,,,,,,,,,,,,,,,,,317,317,,,,,,317,,317,,317,317,,317,317,317',
',317,317,317,317,,,317,317,,,317,,,317,317,,,,,,,317,,,,,,317,,,,317',
'317,,317,317,,,,317,317,317,317,317,317,317,317,322,322,317,,322,322',
',322,,,,,,,,,,,,,,,,,322,322,,,,,,322,,322,,322,322,,322,322,322,,322',
'322,322,322,,,322,322,,,322,,,322,322,,,,,,,322,,,,,,322,,,,322,322',
',322,322,,,,322,322,322,322,322,,,322,337,337,322,,337,337,,337,,,,',
',,,,,,,,,,,,337,337,,,,,,337,,337,,337,337,,337,337,337,,337,337,,,',
',337,337,,,337,,,337,337,,,,,,,337,,,,,,337,,,,337,337,,337,337,,,,337',
'337,337,337,337,,,337,338,338,337,,338,338,,338,,,,,,,,,,,,,,,,,338',
'338,,,,,,338,,338,,338,338,,338,338,338,,338,338,,,,,338,338,,,338,',
',338,338,,,,,,,338,,,,,,338,,,,338,338,,338,338,,,,338,338,338,338,338',
',,338,339,339,338,,339,339,,339,,,,,,,,,,,,,,,,,339,339,,,,,,339,,339',
',339,339,,339,339,339,,339,339,,,,,339,339,,,339,,,339,339,,,,,,,339',
',,,,,339,,,,339,339,,339,339,,,,339,339,339,339,339,,,339,340,340,339',
',340,340,,340,,,,,,,,,,,,,,,,,340,340,,,,,,340,,340,,340,340,,340,340',
'340,,340,340,,,,,340,340,,,340,,,340,340,,,,,,,340,,,,,,340,,,,340,340',
',340,340,,,,340,340,340,340,340,,,340,344,344,340,,344,344,,344,,,,',
',,,,,,,,,,,,344,344,,,,,,344,,344,,344,344,,344,344,344,,344,344,,,',
',344,344,,,344,,,344,344,,,,,,,344,,,,,,344,,,,344,344,,344,344,,,,344',
'344,344,344,344,,,344,365,365,344,,365,365,,365,,,,,,,,,,,,,,,,,365',
'365,,,,,,365,,365,,365,365,,365,365,365,,365,365,,,,,365,365,,,365,',
',365,365,,,,,,,365,,,,,,365,,,,365,365,,365,365,,,,365,365,365,365,365',
',,365,381,381,365,,381,381,,381,381,,,,,,,,,,,,,,,,381,381,,,,,,381',
',381,,381,381,,381,381,381,,381,381,381,381,,,381,381,,,381,,,381,381',
',,,,,,381,,,,,,381,,,,381,381,,381,381,,,,381,381,381,381,381,,,381',
'385,385,381,,385,385,,385,,,,,,,,,,,,,,,,,385,385,,,,,,385,,385,,385',
'385,,385,385,385,,385,385,,,,,385,385,,,385,,,385,385,,,,,,,385,,,,',
',385,,,,385,385,,385,385,,,,385,385,385,385,385,,,385,388,388,385,,388',
'388,,388,,,,,,,,,,,,,,,,,388,388,,,,,,388,,388,,388,388,,388,388,388',
',388,388,388,388,,,388,388,,,388,,,388,388,,,,,,,388,,,,,,388,,,,388',
'388,,388,388,,,,388,388,388,388,388,,,388,395,395,388,,395,395,,395',
'395,,,,,,,,,,,,,,,,395,395,,,,,,395,,395,,395,395,,395,395,395,,395',
'395,,,,,395,395,,,395,,,395,395,,,,,,,395,,,,,,395,,,,395,395,,395,395',
',,,395,395,395,395,395,,,395,397,397,395,,397,397,,397,,,,,,,,,,,,,',
',,,397,397,,,,,,397,,397,,397,397,,397,397,397,,397,397,397,397,,,397',
'397,,,397,,,397,397,,,,,,,397,,,,,,397,,,,397,397,,397,397,,,,397,397',
'397,397,397,,,397,398,398,397,,398,398,,398,,,,,,,,,,,,,,,,,398,398',
',,,,,398,,398,,398,398,,398,398,398,,398,398,398,398,,,398,398,,,398',
',,398,398,,,,,,,398,,,,,,398,,,,398,398,,398,398,,,,398,398,398,398',
'398,,,398,408,408,398,,408,408,,408,,,,,,,,,,,,,,,,,408,408,,,,,,408',
',408,,408,408,,408,408,408,,408,408,,,,,408,408,,,408,,,408,408,,,,',
',,408,,,,,,408,,,,408,408,,408,408,,,,408,408,408,408,408,,,408,426',
'426,408,,426,426,,426,,,,,,,,,,,,,,,,,426,426,,,,,,426,,426,,426,426',
',426,426,426,,426,426,,,,,426,426,,,426,,,426,426,,,,,,,426,,,,,,426',
',,,426,426,,426,426,,,,426,426,426,426,426,,,426,433,433,426,,433,433',
',433,,,,,,,,,,,,,,,,,433,433,,,,,,433,,433,,433,433,,433,433,433,,433',
'433,433,433,,,433,433,,,433,,,433,433,,,,,,,433,,,,,,433,,,,433,433',
',433,433,,,,433,433,433,433,433,,,433,441,441,433,,441,441,,441,,,,',
',,,,,,,,,,,,441,441,,,,,,441,,441,,441,441,,441,441,441,,441,441,,,',
',441,441,,,441,,,441,441,,,,,,,441,,,,,,441,,,,441,441,,441,441,,,,441',
'441,441,441,441,,,441,444,444,441,,444,444,,444,,,,,,,,,,,,,,,,,444',
'444,,,,,,444,,444,,444,444,,444,444,444,,444,444,444,444,,,444,444,',
',444,,,444,444,,,,,,,444,,,,,,444,,,,444,444,,444,444,,,,444,444,444',
'444,444,,,444,447,447,444,,447,447,,447,,,,,,,,,,,,,,,,,447,447,,,,',
',447,,447,,447,447,,447,447,447,,447,447,,,,,447,447,,,447,,,447,447',
',,,,,,447,,,,,,447,,,,447,447,,447,447,,,,447,447,447,447,447,,,447',
'453,453,447,,453,453,,453,,,,,,,,,,,,,,,,,453,453,,,,,,453,,453,,453',
'453,,453,453,453,,453,453,,,,,453,453,,,453,,,453,453,,,,,,,453,,,,',
',453,,,,453,453,,453,453,,,,453,453,453,453,453,,,453,466,466,453,,466',
'466,,466,466,,,,,,,,,,,,,,,,466,466,,,,,,466,,466,,466,466,,466,466',
'466,,466,466,466,466,,,466,466,,,466,,,466,466,,,,,,,466,,,,,,466,,',
',466,466,,466,466,,,,466,466,466,466,466,,,466,468,468,466,,468,468',
',468,,,,,,,,,,,,,,,,,468,468,,,,,,468,,468,,468,468,,468,468,468,,468',
'468,468,468,,,468,468,,,468,,,468,468,,,,,,,468,,,,,,468,,,,468,468',
',468,468,,,,468,468,468,468,468,,,468,487,487,468,,487,487,,487,487',
',,,,,,,,,,,,,,,487,487,,,,,,487,,487,,487,487,,487,487,487,,487,487',
'487,487,,,487,487,,,487,,,487,487,,,,,,,487,,,,,,487,,,,487,487,,487',
'487,,,,487,487,487,487,487,,,487,489,489,487,,489,489,,489,489,,,,,',
',,,,,,,,,,489,489,,,,,,489,,489,,489,489,,489,489,489,,489,489,489,489',
',,489,489,,,489,,,489,489,,,,,,,489,,,,,,489,,,,489,489,,489,489,,,',
'489,489,489,489,489,,,489,490,490,489,,490,490,,490,,,,,,,,,,,,,,,,',
'490,490,,,,,,490,,490,,490,490,,490,490,490,,490,490,490,490,,,490,490',
',,490,,,490,490,,,,,,,490,,,,,,490,,,,490,490,,490,490,,,,490,490,490',
'490,490,,,490,499,499,490,,499,499,,499,,,,,,,,,,,,,,,,,499,499,,,,',
',499,,499,,499,499,,499,499,499,,499,499,,,,,499,499,,,499,,,499,499',
',,,,,,499,,,,,,499,,,,499,499,,499,499,,,9,499,499,499,499,499,,,499',
',,499,9,9,9,,9,,9,,9,,9,9,9,9,,,,,,,,,,,,,,,,9,,,,9,9,,,9,9,9,9,9,9',
',9,9,148,,148,,,9,,,,,,,148,148,148,,148,,148,,148,,148,148,148,148',
',,,,9,,,,,,,,,,,148,,,,148,148,,,148,148,148,148,148,148,,148,148,150',
',150,,,148,,,,,,,150,150,150,,150,,150,,150,,150,150,150,150,,,,,148',
',,,,,,,,,,150,,,,150,150,,,150,150,150,150,150,150,,150,150,151,,151',
',,150,,,,,,,151,151,151,,151,,151,,151,,151,151,151,151,,,,,150,,,,',
',,,,,,151,,,,151,151,,193,151,151,151,151,151,151,,151,151,,,193,193',
'193,151,193,,193,,193,,193,193,193,193,,,,,,,,,,,,,,,151,193,,,,193',
'193,,,193,193,193,193,193,193,,193,193,,,,,,193,,,,205,,,,,,,193,193',
',,,205,205,205,205,205,242,205,,205,193,205,205,205,205,,,,,,242,,242',
',242,,242,,,,205,,,,205,205,,,205,205,205,205,205,205,,205,205,242,',
',243,,205,,,242,242,242,242,,,,242,242,243,,243,244,243,242,243,,,,',
',,205,,,,244,,244,,244,,244,,,,243,,,242,,,,,243,243,243,243,,,,243',
'243,244,,,245,,243,,,244,244,244,244,244,244,,244,244,245,,245,246,245',
'244,245,,,,,,,243,,,246,246,,246,,246,,246,,246,,245,,,244,,,,,245,245',
'245,245,245,245,,245,245,246,,,,,245,,247,246,246,246,246,246,246,,246',
'246,,,,247,247,246,247,248,247,,247,,247,245,,,,,,,248,248,,248,,248',
',248,,248,246,247,,,,,,,,247,247,247,247,247,247,,247,247,248,,,,,247',
',249,248,248,248,248,248,248,,248,248,,,,249,249,248,249,,249,,249,',
'249,247,,,,,,,,,,,,,,,,,248,249,,,,,250,,,249,249,249,249,249,249,,249',
'249,250,250,250,,250,249,250,,250,,250,250,250,250,,,,,,,,,,,,,,,,250',
'249,,,,251,,,250,250,250,250,250,250,,250,250,251,251,251,,251,250,251',
',251,,251,251,251,251,,,,,,,,,,,,,,,,251,250,,,,251,,,251,251,251,251',
'251,251,252,251,251,,,252,,,251,,,,252,252,252,,252,,252,,252,,252,252',
'252,252,,,,,,,,251,,,,,,,,252,,,,252,252,,256,252,252,252,252,252,252',
',252,252,,,256,256,256,252,256,,256,,256,,256,256,256,256,,,,,,,,,,',
',,,,252,256,,,,256,256,,261,256,256,256,256,256,256,,256,256,,,261,261',
'261,256,261,,261,,261,,261,261,261,261,,,,,,,,,,,,,,,256,261,,,,261',
'261,,,261,261,261,261,261,261,266,261,261,,,,,,261,,,,266,266,266,266',
'266,,266,,266,,266,266,266,266,,,,,,,,261,,,,,,,,266,,,,266,266,,421',
'266,266,266,266,266,266,,266,266,,,421,421,421,266,421,,421,,421,,421',
'421,421,421,,,,,,,,,,,,,,,266,421,,,,421,421,,422,421,421,421,421,421',
'421,,421,421,,,422,422,422,421,422,,422,,422,,422,422,422,422,,,,,,',
',,,,,,,,421,422,,,,422,422,,423,422,422,422,422,422,422,,422,422,,,423',
'423,423,422,423,,423,,423,,423,423,423,423,,,,,,,,,,,,,,,422,423,,,',
'423,423,,424,423,423,423,423,423,423,,423,423,,,424,424,424,423,424',
',424,,424,,424,424,424,424,,,,,,,,,,,,,,,423,424,,,,424,424,,428,424',
'424,424,424,424,424,,424,424,,,428,428,428,424,428,,428,,428,,428,428',
'428,428,,,,,,,,,,,,,,,424,428,,,,428,428,,450,428,428,428,428,428,428',
',428,428,,,450,450,450,428,450,,450,,450,,450,450,450,450,,,,,,,,,,',
',,,,428,450,,,,450,450,,,450,450,450,450,450,450,,450,450,,260,260,260',
'260,450,260,260,260,,260,,260,260,,,,,,,260,260,260,,,,260,,,,450,,',
',,,,,260,260,,,,,,,,,,,,260,260,260,260,260,260,260,260,334,334,334',
'334,,334,334,334,,334,,334,334,,,,,,,334,334,334,,,,334,,,,,,,,,,,,334',
'334,,,,,,,,,,,,334,334,334,334,334,334,334,334,336,336,336,336,,336',
'336,336,,336,,336,336,,,,,,,336,336,336,,,,336,,,,,,,,,,,,336,336,,',
',,,,,,,,,336,336,336,336,336,336,336,336,366,366,366,366,,366,366,366',
',366,,366,366,,,,,,,366,366,366,,,,366,,,,,,,,,,,,366,366,,,,,,,,,,',
',366,366,366,366,366,366,366,366,374,374,374,374,,374,374,374,,374,',
'374,374,,,,,,,374,374,374,,,,374,,,,,,,,,,,,374,374,,,,,,,,,,,,374,374',
'374,374,374,374,374,374,399,399,399,399,,399,399,399,,399,,399,399,',
',,,,,399,399,399,,,,399,,,,,,,,,,,,399,399,,,,,,,,,,,,399,399,399,399',
'399,399,399,399' ]
        racc_action_check = arr = ::Array.new(9980, nil)
        idx = 0
        clist.each do |str|
          str.split(',', -1).each do |i|
            arr[idx] = i.to_i unless i.empty?
            idx += 1
          end
        end

racc_action_pointer = [
    -2,    34,   nil,   nil,    87,    54,   nil,    -8,    78,  8439,
   176,   265,    62,   nil,   nil,   nil,   168,   354,   443,   532,
   621,   710,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   189,   799,   157,
    27,    96,   888,   977,  1066,    60,   193,   207,   127,   503,
   244,   229,   237,   257,   127,   nil,   nil,   nil,  1155,  1244,
  1333,   nil,   nil,   nil,  1422,   nil,    70,    78,   nil,  1511,
   nil,   160,  1600,   156,  1689,  1778,  1867,  1956,  2045,  2134,
  2223,  2312,  2401,  2490,  2579,  2668,  2757,  2846,  2935,  3024,
  3113,  3202,  3291,  3380,  3469,  3558,  3647,  3736,  3825,  3914,
  4003,  4092,  4181,   nil,     8,   166,  4270,  4359,   181,   185,
  4448,   340,   nil,   nil,   nil,   nil,   nil,   nil,   247,   nil,
   nil,   539,   282,   628,   662,   173,   176,   nil,   199,   143,
   nil,   218,   nil,     8,   nil,   167,   -35,  4537,  8497,   nil,
  8555,  8613,   358,   380,   333,  4626,   223,   nil,   218,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   388,     4,   169,
   336,   236,   371,   235,   nil,   nil,   nil,   nil,   nil,   nil,
   245,   nil,     6,   nil,   nil,   252,   nil,   430,   nil,   nil,
   273,  4715,    68,  8661,  4804,   nil,   257,   nil,   nil,   nil,
   nil,   264,   274,   281,   284,  8728,   286,  4893,     2,    10,
    -9,   179,  4982,  5071,  5160,   nil,   nil,    15,   422,   425,
   155,   292,   859,   460,    17,    91,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   717,     5,    94,   306,   395,   128,
   217,   573,  8745,  8789,  8806,  8850,  8867,  8915,  8932,  8980,
  9026,  9072,  9127,   nil,   nil,  5249,  9175,   291,   nil,   nil,
  9599,  9223,   259,   nil,   290,   278,  9278,   nil,   289,   nil,
    58,   131,   325,   nil,   nil,  5338,   309,   nil,  5427,  5516,
   297,   344,   309,   nil,   nil,   349,   nil,   nil,   nil,   nil,
   nil,   352,   335,   -17,   nil,    -7,   nil,  5605,  5694,  5783,
   370,   373,   379,   380,   nil,   354,   948,   -24,   336,   100,
   nil,   nil,   392,  5872,   395,   nil,  5961,  6050,   nil,   nil,
   nil,   nil,  6139,   nil,   nil,   nil,   nil,   397,   nil,   nil,
   nil,   nil,   405,   413,  9657,   416,  9715,  6228,  6317,  6406,
  6495,   423,   nil,   434,  6584,   435,   nil,   439,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   447,  6673,  9773,   452,   nil,   505,
   nil,   455,   nil,   458,  9831,   nil,   401,    98,   464,   468,
   nil,  6762,   472,   410,   150,  6851,   nil,   nil,  6940,   nil,
   476,   120,   479,   457,   126,  7029,   nil,  7118,  7207,  9889,
   nil,   483,   nil,  1037,   nil,   nil,   486,   nil,  7296,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   424,   374,   486,   nil,
   nil,  9326,  9374,  9422,  9470,   493,  7385,   nil,  9518,   494,
   nil,   nil,   499,  7474,   nil,   nil,   nil,   485,   487,   503,
   nil,  7563,   nil,   nil,  7652,   507,   nil,  7741,   nil,   nil,
  9566,   152,   nil,  7830,   511,   489,   nil,   515,   516,   nil,
   nil,   521,   nil,   nil,   522,   524,  7919,   nil,  8008,   527,
   nil,   nil,   532,   501,   nil,   nil,   nil,   nil,   539,   nil,
   nil,   541,   542,   nil,   224,   nil,   nil,  8097,   nil,  8186,
  8275,   nil,   nil,   543,   544,   nil,   546,   549,   nil,  8364,
   nil,   nil,   nil,   nil,   551,   nil,   553,   nil,   561,   nil,
   nil,   nil,   nil,   nil,   nil,   532,   nil,   nil,   nil,   nil ]

racc_action_default = [
    -3,  -288,    -1,    -2,    -4,    -5,    -8,   -10,   -16,   -21,
  -288,  -288,  -182,   -33,   -34,   -35,   -36,  -288,  -288,  -288,
  -288,  -288,   -64,   -65,   -66,   -67,   -68,   -69,   -70,   -71,
   -72,   -73,   -74,   -75,   -76,   -77,   -78,   -79,   -80,   -81,
   -82,   -83,   -84,   -85,   -86,   -87,   -88,   -89,  -288,  -288,
   -96,  -100,  -288,  -288,  -288,  -288,  -288,  -288,  -288,  -288,
  -288,  -236,  -259,  -235,  -288,  -209,  -210,  -211,  -288,  -288,
  -288,  -232,  -233,  -234,  -288,  -238,  -288,  -251,  -254,  -288,
  -260,  -288,  -288,    -7,  -288,  -288,  -288,  -288,  -288,  -288,
  -288,  -288,  -137,  -288,  -288,  -288,  -288,  -288,  -288,  -288,
  -288,  -288,  -288,  -288,  -288,  -288,  -288,  -288,  -288,  -288,
  -288,  -288,  -288,   -94,  -288,  -132,  -287,  -287,   -22,   -23,
  -288,  -287,  -152,  -179,  -180,  -181,  -182,  -183,  -288,  -149,
  -150,   -47,  -182,   -48,   -55,  -288,  -288,   -14,  -261,   -91,
   -95,  -199,  -206,  -259,   -97,  -287,  -288,  -288,  -288,  -108,
  -288,  -288,  -287,  -287,  -288,  -288,  -261,  -163,  -165,  -166,
  -167,  -168,  -169,  -171,  -172,  -235,  -236,  -287,  -288,  -226,
  -228,  -231,  -227,  -261,  -213,  -222,  -223,  -224,  -229,  -230,
  -261,  -215,  -288,  -218,  -219,  -288,  -237,  -288,  -242,  -245,
  -288,  -249,  -288,  -288,  -288,   520,    -6,    -9,   -11,   -12,
   -13,   -17,   -18,   -19,   -20,  -288,  -261,  -288,   -87,   -88,
   -89,  -279,  -272,  -278,  -266,  -138,  -141,  -288,  -269,  -283,
  -182,  -286,  -275,  -281,  -210,  -211,  -265,  -270,  -271,  -273,
  -274,  -276,  -284,  -285,   -37,   -38,   -39,   -40,   -41,   -42,
   -43,   -44,   -45,   -46,   -49,   -50,   -51,   -52,   -53,   -54,
   -56,   -57,  -288,   -58,  -126,  -288,   -62,  -261,  -101,  -102,
  -137,  -136,  -288,  -135,  -288,  -263,  -288,   -28,  -287,  -184,
  -288,  -288,  -288,   -59,   -60,  -262,  -288,   -93,  -288,  -249,
  -288,  -288,  -288,  -178,  -106,  -261,  -189,  -191,  -192,  -193,
  -194,  -196,  -288,  -288,  -259,  -288,   -99,  -288,  -288,  -288,
  -288,  -288,  -288,  -288,  -160,  -287,  -262,  -288,  -287,  -203,
  -204,  -205,  -288,  -262,  -288,  -216,  -288,  -288,  -239,  -240,
  -241,  -243,  -288,  -246,  -247,  -248,  -250,  -261,  -252,  -255,
  -257,  -258,    -8,  -288,  -137,  -288,  -262,  -288,  -288,  -288,
  -288,  -261,  -128,  -288,  -262,  -261,  -140,  -288,  -266,  -267,
  -268,  -269,  -272,  -275,  -277,  -278,  -279,  -280,  -281,  -282,
  -283,  -286,  -133,  -134,  -288,  -264,  -137,  -288,  -155,  -288,
  -185,  -261,  -186,  -261,  -137,   -15,   -90,  -288,  -288,  -288,
  -103,  -288,  -176,  -288,  -262,  -288,  -197,  -198,  -288,   -98,
  -288,  -111,  -288,  -117,  -288,  -288,  -121,  -287,  -287,  -137,
  -159,  -288,  -173,  -288,  -164,  -170,  -288,  -201,  -288,  -212,
  -225,  -214,  -217,  -220,  -221,  -244,  -288,  -288,  -261,   -26,
  -139,  -144,  -142,  -143,  -130,  -288,  -262,   -61,   -63,  -288,
   -25,   -29,  -261,  -287,  -156,  -157,  -158,  -288,  -288,  -261,
   -92,  -288,  -200,  -207,  -249,  -288,  -105,  -288,  -107,  -190,
  -195,  -111,  -110,  -288,  -288,  -117,  -116,  -288,  -288,  -120,
  -122,  -288,  -153,  -154,  -288,  -261,  -288,  -174,  -287,  -261,
  -253,  -256,  -288,   -30,  -127,  -129,  -131,   -27,  -288,  -187,
  -188,  -288,  -288,  -104,  -288,  -109,  -112,  -288,  -115,  -288,
  -287,  -145,  -146,  -288,  -288,  -162,  -288,  -288,   -24,   -31,
  -151,  -148,  -208,  -177,  -288,  -114,  -288,  -119,  -288,  -124,
  -125,  -147,  -161,  -175,  -202,  -263,  -113,  -118,  -123,   -32 ]

racc_goto_table = [
     2,   122,   131,   133,   134,   265,   135,   136,   161,   159,
   257,   263,   263,   329,   144,   364,   254,   142,   325,   177,
   177,   141,   186,   281,   310,   138,   404,     1,   285,   396,
   118,   119,   262,   264,   137,    83,   206,   148,   150,   151,
   283,   173,   180,     3,   152,   153,   472,   452,   431,   167,
   456,   253,   311,   380,   175,   175,   175,   486,   128,   395,
   188,   508,   341,   420,   193,   367,   434,   401,   461,   464,
   197,   198,   199,   200,   327,   405,   449,   205,   234,   235,
   236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
   246,   247,   248,   249,   250,   251,   252,   256,   268,   154,
   387,   261,   261,   277,   478,   266,   378,   485,   201,   202,
   203,   204,   488,   196,   386,   413,   323,   272,   141,   324,
   321,   122,   322,   467,   295,   460,   320,   276,   189,   300,
   301,   191,   nil,   137,   nil,   nil,   nil,   142,   nil,   496,
   309,   141,   nil,   302,   308,   305,   nil,   nil,   nil,   nil,
   nil,   nil,   371,   373,   nil,   303,   nil,   nil,   nil,   153,
   342,   167,   312,   368,   141,   407,   nil,   nil,   nil,   314,
   nil,   161,   159,   nil,   nil,   nil,   377,   nil,   nil,   142,
   332,   nil,   nil,   141,   nil,   nil,   406,   nil,   nil,   nil,
   nil,   326,   133,   nil,   333,   335,   nil,   148,   150,   151,
   402,   nil,   nil,   283,   345,   nil,   nil,   152,   153,   122,
   nil,   nil,   167,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   471,   nil,   nil,
   252,   nil,   141,   141,   nil,   nil,   343,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   382,   161,   159,   nil,   nil,   nil,
   nil,   375,   nil,   256,   410,   519,   nil,   nil,   414,   nil,
   415,   482,   nil,   nil,   383,   nil,   nil,   nil,   418,   326,
   nil,   nil,   nil,   nil,   256,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   463,   463,   nil,   nil,   nil,   390,   392,   175,
   nil,   nil,   175,   175,   nil,   nil,   469,   nil,   188,   nil,
   432,   nil,   nil,   nil,   nil,   nil,   416,   nil,   439,   nil,
   nil,   nil,   421,   422,   423,   424,   nil,   nil,   463,   428,
   425,   475,   nil,   nil,   429,   nil,   nil,   nil,   nil,   nil,
   440,   nil,   nil,   465,   nil,   484,   nil,   nil,   nil,   nil,
   266,   nil,   161,   159,   nil,   nil,   141,   nil,   435,   nil,
   437,   nil,   438,   463,   nil,   nil,   nil,   nil,   nil,   nil,
   450,   nil,   nil,   nil,   375,   nil,   nil,   nil,   nil,   nil,
   256,   445,   nil,   nil,   515,   509,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   256,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   473,   nil,   nil,
   nil,   252,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   477,   nil,   nil,   nil,   nil,   428,   nil,   481,   nil,
   nil,   nil,   256,   nil,   nil,   nil,   nil,   nil,   148,   nil,
   nil,   nil,   nil,   nil,   326,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   493,   nil,   nil,   nil,   497,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   494,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   266,   nil,   nil,   504,   nil,   506,
   510 ]

racc_goto_check = [
     2,    66,    10,    10,    10,    13,     6,     6,    41,    42,
    22,    58,    58,   102,    45,    14,    59,    83,    85,    89,
    89,    43,    95,    49,    40,     8,    75,     1,    51,    56,
     9,     9,    62,    62,     6,     5,    11,    10,    10,    10,
    58,    86,    86,     3,    66,    66,    12,    53,    16,    66,
    54,    21,    39,    50,     6,     6,     6,    52,    69,    55,
     6,    57,    60,    63,    10,    71,    72,    74,    68,    68,
     6,     6,     6,     6,    51,    77,    78,    10,    10,    10,
    10,    10,    10,    10,    10,    10,    10,    10,    10,    10,
    10,    10,    10,    10,    10,    10,    10,    10,    67,    69,
    79,    10,    10,    45,    68,    10,    85,    53,     9,     9,
     9,     9,    54,     5,    81,    88,    91,    66,    43,    92,
    96,    66,    97,    75,     8,    56,    99,    15,   100,    67,
    67,   101,   nil,     6,   nil,   nil,   nil,    83,   nil,    68,
    43,    43,   nil,    66,    67,    15,   nil,   nil,   nil,   nil,
   nil,   nil,    51,    51,   nil,     2,   nil,   nil,   nil,    66,
    59,    66,    15,    58,    43,    40,   nil,   nil,   nil,    15,
   nil,    41,    42,   nil,   nil,   nil,    22,   nil,   nil,    83,
     6,   nil,   nil,    43,   nil,   nil,    49,   nil,   nil,   nil,
   nil,     2,    10,   nil,     2,    15,   nil,    10,    10,    10,
    58,   nil,   nil,    58,    11,   nil,   nil,    66,    66,    66,
   nil,   nil,    66,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   102,   nil,   nil,
    10,   nil,    43,    43,   nil,   nil,    15,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,    43,    41,    42,   nil,   nil,   nil,
   nil,     6,   nil,    10,    89,    14,   nil,   nil,    89,   nil,
    95,    85,   nil,   nil,    15,   nil,   nil,   nil,    11,     2,
   nil,   nil,   nil,   nil,    10,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,    58,    58,   nil,   nil,   nil,     2,     2,     6,
   nil,   nil,     6,     6,   nil,   nil,    22,   nil,     6,   nil,
    11,   nil,   nil,   nil,   nil,   nil,    15,   nil,    11,   nil,
   nil,   nil,    10,    10,    10,    10,   nil,   nil,    58,    10,
    15,    59,   nil,   nil,    15,   nil,   nil,   nil,   nil,   nil,
    45,   nil,   nil,    11,   nil,    22,   nil,   nil,   nil,   nil,
    10,   nil,    41,    42,   nil,   nil,    43,   nil,    66,   nil,
    15,   nil,    15,    58,   nil,   nil,   nil,   nil,   nil,   nil,
    10,   nil,   nil,   nil,     6,   nil,   nil,   nil,   nil,   nil,
    10,     2,   nil,   nil,    13,    58,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,    10,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,    15,   nil,   nil,
   nil,    10,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,    15,   nil,   nil,   nil,   nil,    10,   nil,    15,   nil,
   nil,   nil,    10,   nil,   nil,   nil,   nil,   nil,    10,   nil,
   nil,   nil,   nil,   nil,     2,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,    15,   nil,   nil,   nil,    15,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,     2,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,    10,   nil,   nil,     2,   nil,     2,
     2 ]

racc_goto_pointer = [
   nil,    27,     0,    43,   nil,    31,   -14,   nil,   -23,    20,
   -15,   -56,  -372,  -115,  -250,   -11,  -317,   nil,   nil,   nil,
   nil,   -60,  -102,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,  -116,
  -144,   -51,   -50,   -28,   nil,   -36,   nil,   nil,   nil,  -122,
  -228,  -118,  -396,  -344,  -343,  -240,  -270,  -429,  -105,   -95,
  -193,   nil,   -84,  -273,   nil,   nil,   -11,   -23,  -329,    42,
   nil,  -203,  -303,   nil,  -238,  -280,   nil,  -232,  -308,  -193,
   nil,  -178,   nil,   -32,   nil,  -173,   -27,   nil,  -201,   -49,
   nil,   -74,   -71,   nil,   nil,   -52,   -67,   -65,   nil,   -61,
    52,    54,  -180 ]

racc_goto_default = [
   nil,   nil,   462,   nil,     4,     5,     6,     7,   nil,     8,
     9,   nil,   nil,   nil,   nil,   nil,   267,    13,    14,    15,
    16,   nil,   394,    22,    23,    24,    25,    26,    27,    28,
    29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
    39,    40,    41,    42,    48,   nil,    50,    51,   145,   nil,
   nil,   nil,   149,   nil,   nil,   nil,   nil,   nil,   269,   nil,
   nil,   115,   nil,   215,   217,   216,    57,   nil,   nil,   nil,
   121,   nil,   nil,   156,   nil,   157,   158,   162,   286,   287,
   288,   289,   290,   293,    64,   nil,   nil,   182,   184,   185,
   176,    71,    72,    73,    74,   nil,   nil,   nil,   187,   nil,
   nil,   nil,   nil ]

racc_reduce_table = [
  0, 0, :racc_error,
  1, 97, :_reduce_1,
  1, 97, :_reduce_2,
  0, 97, :_reduce_3,
  1, 98, :_reduce_4,
  1, 100, :_reduce_5,
  3, 100, :_reduce_6,
  2, 100, :_reduce_7,
  1, 101, :_reduce_8,
  3, 101, :_reduce_9,
  1, 102, :_reduce_none,
  3, 102, :_reduce_11,
  3, 102, :_reduce_12,
  3, 102, :_reduce_13,
  1, 104, :_reduce_14,
  3, 104, :_reduce_15,
  1, 103, :_reduce_none,
  3, 103, :_reduce_17,
  3, 103, :_reduce_18,
  3, 103, :_reduce_19,
  3, 103, :_reduce_20,
  1, 105, :_reduce_none,
  2, 105, :_reduce_22,
  2, 105, :_reduce_23,
  7, 105, :_reduce_24,
  5, 105, :_reduce_25,
  5, 105, :_reduce_26,
  4, 112, :_reduce_27,
  1, 109, :_reduce_28,
  3, 109, :_reduce_29,
  1, 108, :_reduce_30,
  2, 108, :_reduce_31,
  4, 108, :_reduce_32,
  1, 106, :_reduce_none,
  1, 106, :_reduce_none,
  1, 106, :_reduce_none,
  1, 106, :_reduce_none,
  3, 106, :_reduce_37,
  3, 106, :_reduce_38,
  3, 106, :_reduce_39,
  3, 106, :_reduce_40,
  3, 106, :_reduce_41,
  3, 106, :_reduce_42,
  3, 106, :_reduce_43,
  3, 106, :_reduce_44,
  3, 106, :_reduce_45,
  3, 106, :_reduce_46,
  2, 106, :_reduce_47,
  2, 106, :_reduce_48,
  3, 106, :_reduce_49,
  3, 106, :_reduce_50,
  3, 106, :_reduce_51,
  3, 106, :_reduce_52,
  3, 106, :_reduce_53,
  3, 106, :_reduce_54,
  2, 106, :_reduce_55,
  3, 106, :_reduce_56,
  3, 106, :_reduce_57,
  3, 106, :_reduce_58,
  3, 106, :_reduce_59,
  3, 106, :_reduce_60,
  5, 116, :_reduce_61,
  1, 118, :_reduce_62,
  3, 118, :_reduce_63,
  1, 113, :_reduce_none,
  1, 113, :_reduce_none,
  1, 113, :_reduce_none,
  1, 113, :_reduce_none,
  1, 113, :_reduce_none,
  1, 113, :_reduce_none,
  1, 113, :_reduce_none,
  1, 113, :_reduce_none,
  1, 113, :_reduce_none,
  1, 113, :_reduce_none,
  1, 113, :_reduce_none,
  1, 113, :_reduce_none,
  1, 113, :_reduce_none,
  1, 113, :_reduce_none,
  1, 113, :_reduce_none,
  1, 113, :_reduce_none,
  1, 113, :_reduce_none,
  1, 113, :_reduce_none,
  1, 113, :_reduce_none,
  1, 113, :_reduce_none,
  1, 113, :_reduce_none,
  1, 113, :_reduce_85,
  1, 113, :_reduce_86,
  1, 113, :_reduce_87,
  1, 113, :_reduce_88,
  1, 113, :_reduce_89,
  4, 115, :_reduce_90,
  2, 115, :_reduce_91,
  5, 115, :_reduce_92,
  3, 115, :_reduce_93,
  2, 140, :_reduce_94,
  2, 140, :_reduce_95,
  1, 120, :_reduce_96,
  2, 120, :_reduce_97,
  4, 142, :_reduce_98,
  3, 142, :_reduce_99,
  1, 142, :_reduce_100,
  3, 143, :_reduce_101,
  3, 143, :_reduce_102,
  3, 141, :_reduce_103,
  3, 146, :_reduce_104,
  2, 146, :_reduce_105,
  2, 144, :_reduce_106,
  4, 144, :_reduce_107,
  2, 123, :_reduce_108,
  5, 148, :_reduce_109,
  4, 148, :_reduce_110,
  0, 149, :_reduce_none,
  2, 149, :_reduce_112,
  4, 149, :_reduce_113,
  3, 149, :_reduce_114,
  6, 124, :_reduce_115,
  5, 124, :_reduce_116,
  0, 150, :_reduce_none,
  4, 150, :_reduce_118,
  3, 150, :_reduce_119,
  5, 122, :_reduce_120,
  1, 151, :_reduce_121,
  2, 151, :_reduce_122,
  5, 152, :_reduce_123,
  1, 153, :_reduce_none,
  1, 153, :_reduce_none,
  1, 117, :_reduce_none,
  4, 117, :_reduce_127,
  1, 156, :_reduce_128,
  3, 156, :_reduce_129,
  3, 155, :_reduce_130,
  6, 121, :_reduce_131,
  2, 121, :_reduce_132,
  3, 157, :_reduce_133,
  3, 157, :_reduce_134,
  1, 158, :_reduce_none,
  1, 158, :_reduce_none,
  0, 107, :_reduce_137,
  1, 107, :_reduce_138,
  3, 107, :_reduce_139,
  1, 160, :_reduce_none,
  1, 160, :_reduce_none,
  3, 159, :_reduce_142,
  3, 159, :_reduce_143,
  3, 159, :_reduce_144,
  6, 125, :_reduce_145,
  6, 126, :_reduce_146,
  7, 114, :_reduce_147,
  7, 114, :_reduce_148,
  1, 165, :_reduce_none,
  1, 165, :_reduce_none,
  7, 127, :_reduce_151,
  1, 166, :_reduce_152,
  1, 164, :_reduce_none,
  1, 164, :_reduce_none,
  1, 167, :_reduce_none,
  2, 167, :_reduce_156,
  1, 168, :_reduce_none,
  1, 168, :_reduce_none,
  4, 129, :_reduce_159,
  3, 129, :_reduce_160,
  7, 128, :_reduce_161,
  6, 128, :_reduce_162,
  1, 169, :_reduce_163,
  3, 169, :_reduce_164,
  1, 171, :_reduce_none,
  1, 171, :_reduce_none,
  1, 171, :_reduce_167,
  1, 171, :_reduce_none,
  1, 172, :_reduce_169,
  3, 172, :_reduce_170,
  1, 173, :_reduce_none,
  1, 173, :_reduce_none,
  1, 170, :_reduce_none,
  2, 170, :_reduce_174,
  7, 131, :_reduce_175,
  2, 145, :_reduce_176,
  5, 145, :_reduce_177,
  1, 145, :_reduce_none,
  1, 162, :_reduce_none,
  1, 162, :_reduce_none,
  1, 162, :_reduce_none,
  1, 162, :_reduce_182,
  1, 162, :_reduce_183,
  1, 163, :_reduce_184,
  2, 163, :_reduce_185,
  2, 163, :_reduce_186,
  4, 163, :_reduce_187,
  4, 163, :_reduce_188,
  1, 147, :_reduce_189,
  3, 147, :_reduce_190,
  1, 174, :_reduce_none,
  1, 174, :_reduce_none,
  1, 175, :_reduce_none,
  1, 175, :_reduce_none,
  3, 177, :_reduce_195,
  1, 177, :_reduce_196,
  2, 178, :_reduce_197,
  2, 176, :_reduce_198,
  1, 179, :_reduce_199,
  4, 179, :_reduce_200,
  4, 132, :_reduce_201,
  7, 132, :_reduce_202,
  3, 132, :_reduce_203,
  3, 132, :_reduce_204,
  3, 132, :_reduce_205,
  2, 180, :_reduce_206,
  5, 133, :_reduce_207,
  7, 133, :_reduce_208,
  1, 119, :_reduce_209,
  1, 134, :_reduce_210,
  1, 134, :_reduce_211,
  4, 135, :_reduce_212,
  2, 135, :_reduce_213,
  4, 135, :_reduce_214,
  2, 135, :_reduce_215,
  3, 136, :_reduce_216,
  4, 136, :_reduce_217,
  2, 136, :_reduce_218,
  1, 183, :_reduce_219,
  3, 183, :_reduce_220,
  3, 184, :_reduce_221,
  1, 185, :_reduce_none,
  1, 185, :_reduce_223,
  1, 182, :_reduce_224,
  3, 182, :_reduce_225,
  1, 186, :_reduce_none,
  1, 186, :_reduce_none,
  1, 186, :_reduce_none,
  1, 186, :_reduce_none,
  1, 186, :_reduce_none,
  1, 186, :_reduce_none,
  1, 138, :_reduce_none,
  1, 138, :_reduce_none,
  1, 138, :_reduce_none,
  1, 187, :_reduce_235,
  1, 187, :_reduce_236,
  2, 188, :_reduce_237,
  1, 190, :_reduce_238,
  1, 192, :_reduce_239,
  1, 193, :_reduce_240,
  2, 191, :_reduce_241,
  1, 194, :_reduce_242,
  1, 195, :_reduce_243,
  2, 195, :_reduce_244,
  2, 189, :_reduce_245,
  2, 196, :_reduce_246,
  2, 196, :_reduce_247,
  3, 99, :_reduce_248,
  0, 181, :_reduce_none,
  1, 181, :_reduce_none,
  0, 197, :_reduce_251,
  2, 197, :_reduce_252,
  4, 197, :_reduce_253,
  1, 130, :_reduce_254,
  3, 130, :_reduce_255,
  5, 130, :_reduce_256,
  1, 198, :_reduce_none,
  1, 198, :_reduce_none,
  1, 139, :_reduce_259,
  1, 137, :_reduce_260,
  0, 111, :_reduce_none,
  1, 111, :_reduce_262,
  0, 110, :_reduce_none,
  1, 110, :_reduce_none,
  1, 161, :_reduce_none,
  1, 161, :_reduce_none,
  1, 161, :_reduce_none,
  1, 161, :_reduce_none,
  1, 161, :_reduce_none,
  1, 161, :_reduce_none,
  1, 161, :_reduce_none,
  1, 161, :_reduce_none,
  1, 161, :_reduce_none,
  1, 161, :_reduce_none,
  1, 161, :_reduce_none,
  1, 161, :_reduce_none,
  1, 161, :_reduce_none,
  1, 161, :_reduce_none,
  1, 161, :_reduce_none,
  1, 161, :_reduce_none,
  1, 161, :_reduce_none,
  1, 161, :_reduce_none,
  1, 161, :_reduce_none,
  1, 161, :_reduce_none,
  1, 161, :_reduce_none,
  1, 161, :_reduce_none,
  0, 154, :_reduce_287 ]

racc_reduce_n = 288

racc_shift_n = 520

racc_token_table = {
  false => 0,
  :error => 1,
  :STRING => 2,
  :DQPRE => 3,
  :DQMID => 4,
  :DQPOST => 5,
  :WORD => 6,
  :LBRACK => 7,
  :RBRACK => 8,
  :LBRACE => 9,
  :RBRACE => 10,
  :SYMBOL => 11,
  :FARROW => 12,
  :COMMA => 13,
  :TRUE => 14,
  :FALSE => 15,
  :EQUALS => 16,
  :APPENDS => 17,
  :DELETES => 18,
  :LESSEQUAL => 19,
  :NOTEQUAL => 20,
  :DOT => 21,
  :COLON => 22,
  :LLCOLLECT => 23,
  :RRCOLLECT => 24,
  :QMARK => 25,
  :WSLPAREN => 26,
  :LPAREN => 27,
  :RPAREN => 28,
  :ISEQUAL => 29,
  :GREATEREQUAL => 30,
  :GREATERTHAN => 31,
  :LESSTHAN => 32,
  :IF => 33,
  :ELSE => 34,
  :DEFINE => 35,
  :ELSIF => 36,
  :VARIABLE => 37,
  :CLASS => 38,
  :INHERITS => 39,
  :NODE => 40,
  :BOOLEAN => 41,
  :NAME => 42,
  :SEMIC => 43,
  :CASE => 44,
  :DEFAULT => 45,
  :AT => 46,
  :ATAT => 47,
  :LCOLLECT => 48,
  :RCOLLECT => 49,
  :CLASSREF => 50,
  :NOT => 51,
  :OR => 52,
  :AND => 53,
  :UNDEF => 54,
  :PARROW => 55,
  :PLUS => 56,
  :MINUS => 57,
  :TIMES => 58,
  :DIV => 59,
  :LSHIFT => 60,
  :RSHIFT => 61,
  :UMINUS => 62,
  :MATCH => 63,
  :NOMATCH => 64,
  :REGEX => 65,
  :IN_EDGE => 66,
  :OUT_EDGE => 67,
  :IN_EDGE_SUB => 68,
  :OUT_EDGE_SUB => 69,
  :IN => 70,
  :UNLESS => 71,
  :PIPE => 72,
  :LAMBDA => 73,
  :SELBRACE => 74,
  :NUMBER => 75,
  :HEREDOC => 76,
  :SUBLOCATE => 77,
  :RENDER_STRING => 78,
  :RENDER_EXPR => 79,
  :EPP_START => 80,
  :EPP_END => 81,
  :EPP_END_TRIM => 82,
  :FUNCTION => 83,
  :TYPE => 84,
  :PRIVATE => 85,
  :ATTR => 86,
  :APPLICATION => 87,
  :PRODUCES => 88,
  :CONSUMES => 89,
  :SITE => 90,
  :LOW => 91,
  :HIGH => 92,
  :LISTSTART => 93,
  :SPLAT => 94,
  :MODULO => 95 }

racc_nt_base = 96

racc_use_result_var = true

Racc_arg = [
  racc_action_table,
  racc_action_check,
  racc_action_default,
  racc_action_pointer,
  racc_goto_table,
  racc_goto_check,
  racc_goto_default,
  racc_goto_pointer,
  racc_nt_base,
  racc_reduce_table,
  racc_token_table,
  racc_shift_n,
  racc_reduce_n,
  racc_use_result_var ]

Racc_token_to_s_table = [
  "$end",
  "error",
  "STRING",
  "DQPRE",
  "DQMID",
  "DQPOST",
  "WORD",
  "LBRACK",
  "RBRACK",
  "LBRACE",
  "RBRACE",
  "SYMBOL",
  "FARROW",
  "COMMA",
  "TRUE",
  "FALSE",
  "EQUALS",
  "APPENDS",
  "DELETES",
  "LESSEQUAL",
  "NOTEQUAL",
  "DOT",
  "COLON",
  "LLCOLLECT",
  "RRCOLLECT",
  "QMARK",
  "WSLPAREN",
  "LPAREN",
  "RPAREN",
  "ISEQUAL",
  "GREATEREQUAL",
  "GREATERTHAN",
  "LESSTHAN",
  "IF",
  "ELSE",
  "DEFINE",
  "ELSIF",
  "VARIABLE",
  "CLASS",
  "INHERITS",
  "NODE",
  "BOOLEAN",
  "NAME",
  "SEMIC",
  "CASE",
  "DEFAULT",
  "AT",
  "ATAT",
  "LCOLLECT",
  "RCOLLECT",
  "CLASSREF",
  "NOT",
  "OR",
  "AND",
  "UNDEF",
  "PARROW",
  "PLUS",
  "MINUS",
  "TIMES",
  "DIV",
  "LSHIFT",
  "RSHIFT",
  "UMINUS",
  "MATCH",
  "NOMATCH",
  "REGEX",
  "IN_EDGE",
  "OUT_EDGE",
  "IN_EDGE_SUB",
  "OUT_EDGE_SUB",
  "IN",
  "UNLESS",
  "PIPE",
  "LAMBDA",
  "SELBRACE",
  "NUMBER",
  "HEREDOC",
  "SUBLOCATE",
  "RENDER_STRING",
  "RENDER_EXPR",
  "EPP_START",
  "EPP_END",
  "EPP_END_TRIM",
  "FUNCTION",
  "TYPE",
  "PRIVATE",
  "ATTR",
  "APPLICATION",
  "PRODUCES",
  "CONSUMES",
  "SITE",
  "LOW",
  "HIGH",
  "LISTSTART",
  "SPLAT",
  "MODULO",
  "$start",
  "program",
  "statements",
  "epp_expression",
  "syntactic_statements",
  "syntactic_statement",
  "assignment",
  "relationship",
  "assignments",
  "resource",
  "expression",
  "attribute_operations",
  "additional_resource_bodies",
  "resource_bodies",
  "endsemi",
  "endcomma",
  "resource_body",
  "primary_expression",
  "capability_mapping",
  "call_function_expression",
  "bracketed_expression",
  "selector_entries",
  "expressions",
  "variable",
  "call_method_with_lambda_expression",
  "collection_expression",
  "case_expression",
  "if_expression",
  "unless_expression",
  "definition_expression",
  "application_expression",
  "hostclass_expression",
  "node_definition_expression",
  "site_definition_expression",
  "epp_render_expression",
  "function_definition",
  "type_alias",
  "type_definition",
  "reserved_word",
  "array",
  "hash",
  "regex",
  "quotedtext",
  "type",
  "call_function_start",
  "lambda",
  "call_method_expression",
  "named_access",
  "lambda_parameter_list",
  "opt_return_type",
  "lambda_rest",
  "parameters",
  "if_part",
  "else",
  "unless_else",
  "case_options",
  "case_option",
  "options_statements",
  "nil",
  "selector_entry",
  "selector_entry_list",
  "collect_query",
  "optional_query",
  "attribute_operation",
  "attribute_name",
  "keyword",
  "classname",
  "parameter_list",
  "opt_statements",
  "capability_kw",
  "stacked_classname",
  "classparent",
  "classnameordefault",
  "hostnames",
  "nodeparent",
  "hostname",
  "dotted_name",
  "name_or_number",
  "parameter",
  "untyped_parameter",
  "typed_parameter",
  "regular_parameter",
  "splat_parameter",
  "parameter_type",
  "type_alias_lhs",
  "optional_statements",
  "collection_entries",
  "hashpairs",
  "hashpair",
  "collection_entry",
  "collection_entry_keyword",
  "string",
  "dq_string",
  "heredoc",
  "dqpre",
  "dqrval",
  "dqpost",
  "dqmid",
  "text_expression",
  "dqtail",
  "sublocated_text",
  "epp_parameters_list",
  "epp_end" ]

Racc_debug_parser = false

##### State transition tables end #####

# reduce 0 omitted

module_eval(<<'.,.,', 'egrammar.ra', 67)
  def _reduce_1(val, _values, result)
     result = create_program(Factory.block_or_expression(val[0])) 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 68)
  def _reduce_2(val, _values, result)
     result = create_program(val[0]) 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 69)
  def _reduce_3(val, _values, result)
     result = create_empty_program 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 73)
  def _reduce_4(val, _values, result)
     result = transform_calls(val[0]) 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 80)
  def _reduce_5(val, _values, result)
     result = [val[0]]
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 81)
  def _reduce_6(val, _values, result)
     result = val[0].push val[2] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 82)
  def _reduce_7(val, _values, result)
     result = val[0].push val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 89)
  def _reduce_8(val, _values, result)
     result = val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 90)
  def _reduce_9(val, _values, result)
     result = aryfy(val[0]).push(val[1]).push(val[2]) 
    result
  end
.,.,

# reduce 10 omitted

module_eval(<<'.,.,', 'egrammar.ra', 95)
  def _reduce_11(val, _values, result)
     result = val[0].set(val[2])      ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 96)
  def _reduce_12(val, _values, result)
     result = val[0].plus_set(val[2]) ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 97)
  def _reduce_13(val, _values, result)
     result = val[0].minus_set(val[2]); loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 100)
  def _reduce_14(val, _values, result)
     result = [val[0]] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 101)
  def _reduce_15(val, _values, result)
     result = val[0].push(val[2]) 
    result
  end
.,.,

# reduce 16 omitted

module_eval(<<'.,.,', 'egrammar.ra', 105)
  def _reduce_17(val, _values, result)
     result = val[0].relop(val[1][:value], val[2]); loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 106)
  def _reduce_18(val, _values, result)
     result = val[0].relop(val[1][:value], val[2]); loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 107)
  def _reduce_19(val, _values, result)
     result = val[0].relop(val[1][:value], val[2]); loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 108)
  def _reduce_20(val, _values, result)
     result = val[0].relop(val[1][:value], val[2]); loc result, val[1] 
    result
  end
.,.,

# reduce 21 omitted

module_eval(<<'.,.,', 'egrammar.ra', 117)
  def _reduce_22(val, _values, result)
          result = val[1]
      unless Factory.set_resource_form(result, 'virtual')
        # This is equivalent to a syntax error - additional semantic restrictions apply
        error val[0], "Virtual (@) can only be applied to a Resource Expression"
      end
      # relocate the result
      loc result, val[0], val[1]
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 128)
  def _reduce_23(val, _values, result)
          result = val[1]
      unless Factory.set_resource_form(result, 'exported')
        # This is equivalent to a syntax error - additional semantic restrictions apply
        error val[0], "Exported (@@) can only be applied to a Resource Expression"
      end
      # relocate the result
      loc result, val[0], val[1]
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 139)
  def _reduce_24(val, _values, result)
          bodies = [Factory.RESOURCE_BODY(val[2], val[4])] + val[5]
      result = Factory.RESOURCE(val[0], bodies)
      loc result, val[0], val[6]
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 146)
  def _reduce_25(val, _values, result)
            result = Factory.RESOURCE(Factory.fqn(token_text(val[0])), val[2])
        loc result, val[0], val[4]
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 155)
  def _reduce_26(val, _values, result)
           result = case Factory.resource_shape(val[0])
       when :resource, :class
        # This catches deprecated syntax.
        # If the attribute operations does not include +>, then the found expression
        # is actually a LEFT followed by LITERAL_HASH
        #
        unless tmp = transform_resource_wo_title(val[0], val[2], val[1], val[4])
          error val[1], "Syntax error resource body without title or hash with +>"
        end
        tmp
      when :defaults
        Factory.RESOURCE_DEFAULTS(val[0], val[2])
      when :override
        # This was only done for override in original - TODO should it be here at all
        Factory.RESOURCE_OVERRIDE(val[0], val[2])
      else
        error val[0], "Expression is not valid as a resource, resource-default, or resource-override"
      end
     loc result, val[0], val[4]
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 177)
  def _reduce_27(val, _values, result)
     result = Factory.RESOURCE_BODY(val[0], val[2]) 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 180)
  def _reduce_28(val, _values, result)
     result = [val[0]] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 181)
  def _reduce_29(val, _values, result)
     result = val[0].push val[2] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 187)
  def _reduce_30(val, _values, result)
     result = [] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 188)
  def _reduce_31(val, _values, result)
     result = [] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 189)
  def _reduce_32(val, _values, result)
     result = val[2] 
    result
  end
.,.,

# reduce 33 omitted

# reduce 34 omitted

# reduce 35 omitted

# reduce 36 omitted

module_eval(<<'.,.,', 'egrammar.ra', 198)
  def _reduce_37(val, _values, result)
     result = val[0].in val[2]        ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 199)
  def _reduce_38(val, _values, result)
     result = val[0] =~  val[2]       ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 200)
  def _reduce_39(val, _values, result)
     result = val[0].mne val[2]       ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 201)
  def _reduce_40(val, _values, result)
     result = val[0] +   val[2]       ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 202)
  def _reduce_41(val, _values, result)
     result = val[0] -   val[2]       ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 203)
  def _reduce_42(val, _values, result)
     result = val[0] /   val[2]       ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 204)
  def _reduce_43(val, _values, result)
     result = val[0] *   val[2]       ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 205)
  def _reduce_44(val, _values, result)
     result = val[0] %   val[2]       ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 206)
  def _reduce_45(val, _values, result)
     result = val[0] <<  val[2]       ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 207)
  def _reduce_46(val, _values, result)
     result = val[0] >>  val[2]       ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 208)
  def _reduce_47(val, _values, result)
     result = val[1].minus            ; loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 209)
  def _reduce_48(val, _values, result)
     result = val[1].unfold           ; loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 210)
  def _reduce_49(val, _values, result)
     result = val[0].ne  val[2]       ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 211)
  def _reduce_50(val, _values, result)
     result = val[0].eq  val[2]       ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 212)
  def _reduce_51(val, _values, result)
     result = val[0] >   val[2]       ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 213)
  def _reduce_52(val, _values, result)
     result = val[0] >=  val[2]       ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 214)
  def _reduce_53(val, _values, result)
     result = val[0] <   val[2]       ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 215)
  def _reduce_54(val, _values, result)
     result = val[0] <=  val[2]       ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 216)
  def _reduce_55(val, _values, result)
     result = val[1].not              ; loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 217)
  def _reduce_56(val, _values, result)
     result = val[0].and val[2]       ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 218)
  def _reduce_57(val, _values, result)
     result = val[0].or  val[2]       ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 219)
  def _reduce_58(val, _values, result)
     result = val[0].select(*val[2])  ; loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 220)
  def _reduce_59(val, _values, result)
     result = val[1].paren            ; loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 221)
  def _reduce_60(val, _values, result)
     result = val[1].paren          ; loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 224)
  def _reduce_61(val, _values, result)
     result = val[0].access(val[2])         ; loc result, val[0], val[4] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 233)
  def _reduce_62(val, _values, result)
     result = [val[0]] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 234)
  def _reduce_63(val, _values, result)
     result = val[0].push(val[2]) 
    result
  end
.,.,

# reduce 64 omitted

# reduce 65 omitted

# reduce 66 omitted

# reduce 67 omitted

# reduce 68 omitted

# reduce 69 omitted

# reduce 70 omitted

# reduce 71 omitted

# reduce 72 omitted

# reduce 73 omitted

# reduce 74 omitted

# reduce 75 omitted

# reduce 76 omitted

# reduce 77 omitted

# reduce 78 omitted

# reduce 79 omitted

# reduce 80 omitted

# reduce 81 omitted

# reduce 82 omitted

# reduce 83 omitted

# reduce 84 omitted

module_eval(<<'.,.,', 'egrammar.ra', 260)
  def _reduce_85(val, _values, result)
     result = Factory.NUMBER(val[0][:value])          ; loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 261)
  def _reduce_86(val, _values, result)
     result = Factory.literal(val[0][:value])         ; loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 262)
  def _reduce_87(val, _values, result)
     result = Factory.literal(:default)               ; loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 263)
  def _reduce_88(val, _values, result)
     result = Factory.literal(:undef)                 ; loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 264)
  def _reduce_89(val, _values, result)
     result = Factory.QNAME_OR_NUMBER(val[0][:value]) ; loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 273)
  def _reduce_90(val, _values, result)
          result = Factory.CALL_NAMED(val[0], true, val[1])
      loc result, val[0], val[3]
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 277)
  def _reduce_91(val, _values, result)
          result = Factory.CALL_NAMED(val[0], true, [])
      loc result, val[0], val[1]
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 281)
  def _reduce_92(val, _values, result)
          result = Factory.CALL_NAMED(val[0], true, val[1])
      loc result, val[0], val[4]
      result.lambda = val[4]
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 286)
  def _reduce_93(val, _values, result)
          result = Factory.CALL_NAMED(val[0], true, [])
      loc result, val[0], val[2]
      result.lambda = val[2]
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 292)
  def _reduce_94(val, _values, result)
     result = val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 293)
  def _reduce_95(val, _values, result)
     result = Factory.QNAME(val[0][:value]); loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 298)
  def _reduce_96(val, _values, result)
     result = val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 299)
  def _reduce_97(val, _values, result)
     result = val[0]; val[0].lambda = val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 302)
  def _reduce_98(val, _values, result)
     result = Factory.CALL_METHOD(val[0], val[2]); loc result, val[1], val[3] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 303)
  def _reduce_99(val, _values, result)
     result = Factory.CALL_METHOD(val[0], []); loc result, val[1], val[3] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 304)
  def _reduce_100(val, _values, result)
     result = Factory.CALL_METHOD(val[0], []); loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 308)
  def _reduce_101(val, _values, result)
            result = val[0].dot(Factory.fqn(val[2][:value]))
        loc result, val[1], val[2]
      
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 312)
  def _reduce_102(val, _values, result)
            result = val[0].dot(Factory.fqn(val[2][:value]))
        loc result, val[1], val[2]
      
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 320)
  def _reduce_103(val, _values, result)
          result = Factory.LAMBDA(val[0][:value], val[2][:value], val[1])
      loc result, val[0][:start], val[2][:end]
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 325)
  def _reduce_104(val, _values, result)
     result = {:end => val[2], :value =>val[1] } 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 326)
  def _reduce_105(val, _values, result)
     result = {:end => val[1], :value => nil } 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 330)
  def _reduce_106(val, _values, result)
     result = {:start => val[0], :value => [] } 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 331)
  def _reduce_107(val, _values, result)
     result = {:start => val[0], :value => val[1] } 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 339)
  def _reduce_108(val, _values, result)
          result = val[1]
      loc(result, val[0], val[1])
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 346)
  def _reduce_109(val, _values, result)
            result = Factory.IF(val[0], Factory.block_or_expression(val[2], val[1], val[3]), val[4])
        loc(result, val[0], (val[4] ? val[4] : val[3]))
      
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 350)
  def _reduce_110(val, _values, result)
            result = Factory.IF(val[0], nil, val[3])
        loc(result, val[0], (val[3] ? val[3] : val[2]))
      
    result
  end
.,.,

# reduce 111 omitted

module_eval(<<'.,.,', 'egrammar.ra', 358)
  def _reduce_112(val, _values, result)
            result = val[1]
        loc(result, val[0], val[1])
      
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 362)
  def _reduce_113(val, _values, result)
            result = Factory.block_or_expression(val[2], val[1], val[3])
      
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 365)
  def _reduce_114(val, _values, result)
            result = nil # don't think a nop is needed here either
      
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 372)
  def _reduce_115(val, _values, result)
          result = Factory.UNLESS(val[1], Factory.block_or_expression(val[3], val[2], val[4]), val[5])
      loc result, val[0], val[4]
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 376)
  def _reduce_116(val, _values, result)
          result = Factory.UNLESS(val[1], nil, val[4])
      loc result, val[0], val[4]
    
    result
  end
.,.,

# reduce 117 omitted

module_eval(<<'.,.,', 'egrammar.ra', 386)
  def _reduce_118(val, _values, result)
            result = Factory.block_or_expression(val[2], val[1], val[3])
      
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 389)
  def _reduce_119(val, _values, result)
            result = nil # don't think a nop is needed here either
      
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 396)
  def _reduce_120(val, _values, result)
          result = Factory.CASE(val[1], *val[3])
      loc result, val[0], val[4]
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 402)
  def _reduce_121(val, _values, result)
     result = [val[0]] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 403)
  def _reduce_122(val, _values, result)
     result = val[0].push val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 408)
  def _reduce_123(val, _values, result)
            result = Factory.WHEN(val[0], val[3]); loc result, val[1], val[4]
      
    result
  end
.,.,

# reduce 124 omitted

# reduce 125 omitted

# reduce 126 omitted

module_eval(<<'.,.,', 'egrammar.ra', 424)
  def _reduce_127(val, _values, result)
            result = val[1]
      
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 429)
  def _reduce_128(val, _values, result)
     result = [val[0]] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 430)
  def _reduce_129(val, _values, result)
     result = val[0].push val[2] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 435)
  def _reduce_130(val, _values, result)
     result = Factory.MAP(val[0], val[2]) ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 445)
  def _reduce_131(val, _values, result)
          result = Factory.COLLECT(val[0], val[1], val[3])
      loc result, val[0], val[5]
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 449)
  def _reduce_132(val, _values, result)
          result = Factory.COLLECT(val[0], val[1], [])
      loc result, val[0], val[1]
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 454)
  def _reduce_133(val, _values, result)
     result = Factory.VIRTUAL_QUERY(val[1])   ; loc result, val[0], val[2] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 455)
  def _reduce_134(val, _values, result)
     result = Factory.EXPORTED_QUERY(val[1])  ; loc result, val[0], val[2] 
    result
  end
.,.,

# reduce 135 omitted

# reduce 136 omitted

module_eval(<<'.,.,', 'egrammar.ra', 464)
  def _reduce_137(val, _values, result)
     result = [] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 465)
  def _reduce_138(val, _values, result)
     result = [val[0]] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 466)
  def _reduce_139(val, _values, result)
     result = val[0].push(val[2]) 
    result
  end
.,.,

# reduce 140 omitted

# reduce 141 omitted

module_eval(<<'.,.,', 'egrammar.ra', 481)
  def _reduce_142(val, _values, result)
            result = Factory.ATTRIBUTE_OP(val[0][:value], '=>', val[2])
        loc result, val[0], val[2]
      
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 485)
  def _reduce_143(val, _values, result)
            result = Factory.ATTRIBUTE_OP(val[0][:value], '+>', val[2])
        loc result, val[0], val[2]
      
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 489)
  def _reduce_144(val, _values, result)
          result = Factory.ATTRIBUTES_OP(val[2]) ; loc result, val[0], val[2]
   
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 498)
  def _reduce_145(val, _values, result)
          definition = Factory.DEFINITION(classname(val[1][:value]), val[2], val[4])
      loc(definition, val[0], val[5])
      result = add_definition(definition)
      # New lexer does not keep track of this, this is done in validation
      if @lexer.respond_to?(:'indefine=')
        @lexer.indefine = false
      end
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 510)
  def _reduce_146(val, _values, result)
        definition = Factory.APPLICATION(classname(val[1][:value]), val[2], val[4])
    loc(definition, val[0], val[5])
    result = add_definition(definition)
  
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 517)
  def _reduce_147(val, _values, result)
        result = Factory.CAPABILITY_MAPPING(val[1][:value],
                                        Factory.QNAME(classname(val[0][:value])),
                                        classname(val[2][:value]), val[4])
    loc result, val[0], val[6]
    add_mapping(result)
  
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 524)
  def _reduce_148(val, _values, result)
        result = Factory.CAPABILITY_MAPPING(val[1][:value],
                                        val[0],
                                        classname(val[2][:value]), val[4])
    loc result, val[0], val[6]
    add_mapping(result)
  
    result
  end
.,.,

# reduce 149 omitted

# reduce 150 omitted

module_eval(<<'.,.,', 'egrammar.ra', 541)
  def _reduce_151(val, _values, result)
          # Remove this class' name from the namestack as all nested classes have been parsed
      namepop
      definition = Factory.HOSTCLASS(classname(val[1][:value]), val[2], token_text(val[3]), val[5])
      loc(definition, val[0], val[6])
      result = add_definition(definition)
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 552)
  def _reduce_152(val, _values, result)
     namestack(val[0][:value]) ; result = val[0] 
    result
  end
.,.,

# reduce 153 omitted

# reduce 154 omitted

# reduce 155 omitted

module_eval(<<'.,.,', 'egrammar.ra', 561)
  def _reduce_156(val, _values, result)
     result = val[1] 
    result
  end
.,.,

# reduce 157 omitted

# reduce 158 omitted

module_eval(<<'.,.,', 'egrammar.ra', 578)
  def _reduce_159(val, _values, result)
        definition = Factory.SITE(val[2])
    loc(definition, val[0], val[3])
    result = add_definition(definition)
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 583)
  def _reduce_160(val, _values, result)
        definition = Factory.SITE(nil)
    loc(definition, val[0], val[2])
    result = add_definition(definition)
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 594)
  def _reduce_161(val, _values, result)
          definition = Factory.NODE(val[1], val[3], val[5])
      loc(definition, val[0], val[6])
      result = add_definition(definition)
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 599)
  def _reduce_162(val, _values, result)
          definition = Factory.NODE(val[1], val[3], nil)
      loc(definition, val[0], val[5])
      result = add_definition(definition)
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 610)
  def _reduce_163(val, _values, result)
     result = [result] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 611)
  def _reduce_164(val, _values, result)
     result = val[0].push(val[2]) 
    result
  end
.,.,

# reduce 165 omitted

# reduce 166 omitted

module_eval(<<'.,.,', 'egrammar.ra', 618)
  def _reduce_167(val, _values, result)
     result = Factory.literal(:default); loc result, val[0] 
    result
  end
.,.,

# reduce 168 omitted

module_eval(<<'.,.,', 'egrammar.ra', 622)
  def _reduce_169(val, _values, result)
     result = Factory.literal(val[0][:value]); loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 623)
  def _reduce_170(val, _values, result)
     result = Factory.concat(val[0], '.', val[2][:value]); loc result, val[0], val[2] 
    result
  end
.,.,

# reduce 171 omitted

# reduce 172 omitted

# reduce 173 omitted

module_eval(<<'.,.,', 'egrammar.ra', 632)
  def _reduce_174(val, _values, result)
     result = val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 638)
  def _reduce_175(val, _values, result)
          definition = Factory.FUNCTION(val[1][:value], val[2], val[5], val[3])
      loc(definition, val[0], val[6])
      result = add_definition(definition)
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 644)
  def _reduce_176(val, _values, result)
     result = val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 645)
  def _reduce_177(val, _values, result)
     result = val[1].access(val[3]) ; loc result, val[1], val[4] 
    result
  end
.,.,

# reduce 178 omitted

# reduce 179 omitted

# reduce 180 omitted

# reduce 181 omitted

module_eval(<<'.,.,', 'egrammar.ra', 655)
  def _reduce_182(val, _values, result)
     error val[0], "'class' keyword not allowed at this location" 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 656)
  def _reduce_183(val, _values, result)
     error val[0], "A quoted string is not valid as a name here" 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 660)
  def _reduce_184(val, _values, result)
     result = [] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 661)
  def _reduce_185(val, _values, result)
     result = [] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 662)
  def _reduce_186(val, _values, result)
     result = [] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 663)
  def _reduce_187(val, _values, result)
     result = val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 664)
  def _reduce_188(val, _values, result)
     result = val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 668)
  def _reduce_189(val, _values, result)
     result = [val[0]] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 669)
  def _reduce_190(val, _values, result)
     result = val[0].push(val[2]) 
    result
  end
.,.,

# reduce 191 omitted

# reduce 192 omitted

# reduce 193 omitted

# reduce 194 omitted

module_eval(<<'.,.,', 'egrammar.ra', 681)
  def _reduce_195(val, _values, result)
     result = Factory.PARAM(val[0][:value], val[2]) ; loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 682)
  def _reduce_196(val, _values, result)
     result = Factory.PARAM(val[0][:value]); loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 685)
  def _reduce_197(val, _values, result)
     result = val[1]; val[1].captures_rest 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 688)
  def _reduce_198(val, _values, result)
     val[1].type_expr(val[0]) ; result = val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 691)
  def _reduce_199(val, _values, result)
     result = val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 692)
  def _reduce_200(val, _values, result)
     result = val[0].access(val[2]) ; loc result, val[0], val[3] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 697)
  def _reduce_201(val, _values, result)
          definition = Factory.TYPE_ASSIGNMENT(val[0], Factory.KEY_ENTRY(val[2], val[3]))
      loc(definition, val[0], val[3])
      result = add_definition(definition)
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 702)
  def _reduce_202(val, _values, result)
          definition = Factory.TYPE_ASSIGNMENT(val[0], val[2].access(val[4]))
      loc(definition, val[0], val[5])
      result = add_definition(definition)
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 707)
  def _reduce_203(val, _values, result)
          definition = Factory.TYPE_ASSIGNMENT(val[0], val[2])
      loc(definition, val[0], val[2])
      result = add_definition(definition)
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 712)
  def _reduce_204(val, _values, result)
          definition = Factory.TYPE_ASSIGNMENT(val[0], val[2])
      loc(definition, val[0], val[2])
      result = add_definition(definition)
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 717)
  def _reduce_205(val, _values, result)
          definition = Factory.TYPE_ASSIGNMENT(val[0], val[2])
      loc(definition, val[0], val[4])
      result = add_definition(definition)
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 723)
  def _reduce_206(val, _values, result)
     result = val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 729)
  def _reduce_207(val, _values, result)
            definition = Factory.TYPE_DEFINITION(val[1][:value], nil, val[3])
        loc(definition, val[0], val[4])
        result = add_definition(definition)
      
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 734)
  def _reduce_208(val, _values, result)
            definition = Factory.TYPE_DEFINITION(val[1][:value], val[3][:value], val[5])
        loc(definition, val[0], val[6])
        result = add_definition(definition)
      
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 743)
  def _reduce_209(val, _values, result)
         fqn = Factory.fqn(val[0][:value])
     loc(fqn, val[0])
     fqn['offset'] += 1
     fqn['length'] -= 1
     result = fqn.var
     loc(result, val[0])
  
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 754)
  def _reduce_210(val, _values, result)
     result = Factory.RESERVED(val[0][:value]) ; loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 755)
  def _reduce_211(val, _values, result)
     result = Factory.RESERVED(val[0][:value]) ; loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 761)
  def _reduce_212(val, _values, result)
     result = Factory.LIST(val[1]); loc result, val[0], val[3] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 762)
  def _reduce_213(val, _values, result)
     result = Factory.literal([]) ; loc result, val[0], val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 763)
  def _reduce_214(val, _values, result)
     result = Factory.LIST(val[1]); loc result, val[0], val[3] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 764)
  def _reduce_215(val, _values, result)
     result = Factory.literal([]) ; loc result, val[0], val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 767)
  def _reduce_216(val, _values, result)
     result = Factory.HASH(val[1]); loc result, val[0], val[2] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 768)
  def _reduce_217(val, _values, result)
     result = Factory.HASH(val[1]); loc result, val[0], val[3] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 769)
  def _reduce_218(val, _values, result)
     result = Factory.literal({}) ; loc result, val[0], val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 772)
  def _reduce_219(val, _values, result)
     result = [val[0]] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 773)
  def _reduce_220(val, _values, result)
     result = val[0].push val[2] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 776)
  def _reduce_221(val, _values, result)
     result = Factory.KEY_ENTRY(val[0], val[2]); loc result, val[1] 
    result
  end
.,.,

# reduce 222 omitted

module_eval(<<'.,.,', 'egrammar.ra', 780)
  def _reduce_223(val, _values, result)
     result = Factory.literal(val[0][:value]) ; loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 783)
  def _reduce_224(val, _values, result)
     result = [val[0]] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 784)
  def _reduce_225(val, _values, result)
     result = val[0].push(val[2]) 
    result
  end
.,.,

# reduce 226 omitted

# reduce 227 omitted

# reduce 228 omitted

# reduce 229 omitted

# reduce 230 omitted

# reduce 231 omitted

# reduce 232 omitted

# reduce 233 omitted

# reduce 234 omitted

module_eval(<<'.,.,', 'egrammar.ra', 801)
  def _reduce_235(val, _values, result)
     result = Factory.literal(val[0][:value]) ; loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 802)
  def _reduce_236(val, _values, result)
     result = Factory.literal(val[0][:value]) ; loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 804)
  def _reduce_237(val, _values, result)
     result = Factory.STRING(val[0], *val[1]) ; loc result, val[0], val[1][-1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 805)
  def _reduce_238(val, _values, result)
     result = Factory.literal(val[0][:value]); loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 806)
  def _reduce_239(val, _values, result)
     result = Factory.literal(val[0][:value]); loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 807)
  def _reduce_240(val, _values, result)
     result = Factory.literal(val[0][:value]); loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 808)
  def _reduce_241(val, _values, result)
     result = [val[0]] + val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 809)
  def _reduce_242(val, _values, result)
     result = Factory.TEXT(val[0]) 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 812)
  def _reduce_243(val, _values, result)
     result = [val[0]] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 813)
  def _reduce_244(val, _values, result)
     result = [val[0]] + val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 816)
  def _reduce_245(val, _values, result)
     result = Factory.HEREDOC(val[0][:value], val[1]); loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 819)
  def _reduce_246(val, _values, result)
     result = Factory.SUBLOCATE(val[0], val[1]); loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 820)
  def _reduce_247(val, _values, result)
     result = Factory.SUBLOCATE(val[0], val[1]); loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 823)
  def _reduce_248(val, _values, result)
     result = Factory.EPP(val[1], val[2]); loc result, val[0] 
    result
  end
.,.,

# reduce 249 omitted

# reduce 250 omitted

module_eval(<<'.,.,', 'egrammar.ra', 830)
  def _reduce_251(val, _values, result)
     result = nil 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 831)
  def _reduce_252(val, _values, result)
     result = [] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 832)
  def _reduce_253(val, _values, result)
     result = val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 835)
  def _reduce_254(val, _values, result)
     result = Factory.RENDER_STRING(val[0][:value]); loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 836)
  def _reduce_255(val, _values, result)
     result = Factory.RENDER_EXPR(val[1]); loc result, val[0], val[2] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 837)
  def _reduce_256(val, _values, result)
     result = Factory.RENDER_EXPR(Factory.block_or_expression(val[2], val[1], val[3])); loc result, val[0], val[4] 
    result
  end
.,.,

# reduce 257 omitted

# reduce 258 omitted

module_eval(<<'.,.,', 'egrammar.ra', 843)
  def _reduce_259(val, _values, result)
     result = Factory.QREF(val[0][:value])  ; loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 846)
  def _reduce_260(val, _values, result)
     result = Factory.literal(val[0][:value]); loc result, val[0] 
    result
  end
.,.,

# reduce 261 omitted

module_eval(<<'.,.,', 'egrammar.ra', 852)
  def _reduce_262(val, _values, result)
     result = nil 
    result
  end
.,.,

# reduce 263 omitted

# reduce 264 omitted

# reduce 265 omitted

# reduce 266 omitted

# reduce 267 omitted

# reduce 268 omitted

# reduce 269 omitted

# reduce 270 omitted

# reduce 271 omitted

# reduce 272 omitted

# reduce 273 omitted

# reduce 274 omitted

# reduce 275 omitted

# reduce 276 omitted

# reduce 277 omitted

# reduce 278 omitted

# reduce 279 omitted

# reduce 280 omitted

# reduce 281 omitted

# reduce 282 omitted

# reduce 283 omitted

# reduce 284 omitted

# reduce 285 omitted

# reduce 286 omitted

module_eval(<<'.,.,', 'egrammar.ra', 883)
  def _reduce_287(val, _values, result)
     result = nil
    result
  end
.,.,

def _reduce_none(val, _values, result)
  val[0]
end

      end   # class Parser
      end   # module Parser
    end   # module Pops
  end   # module Puppet