Anons79 Mini Shell

Directory : /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/parser/
Upload File :
Current File : //opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/parser/eparser.rb

#
# DO NOT MODIFY!!!!
# This file is automatically generated by Racc 1.5.2
# from Racc grammar 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', 941)

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

clist = [
'67,79,306,-148,65,73,306,74,89,90,91,73,116,74,-281,309,430,179,74,-290',
'85,354,-295,307,21,20,118,307,121,-293,88,54,117,57,96,69,12,299,63',
'46,49,294,56,47,10,11,-148,160,66,19,180,161,48,120,309,17,18,-281,92',
'94,93,95,-290,84,355,-295,131,272,170,55,128,295,-293,45,80,97,82,83',
'81,-190,-190,64,51,70,71,58,171,116,62,60,61,67,79,72,184,65,73,116',
'74,72,154,118,130,121,200,407,127,117,131,273,202,118,128,121,129,21',
'20,117,-280,154,408,205,54,157,57,88,69,12,120,63,46,49,86,56,47,10',
'11,116,120,66,19,274,157,48,130,306,17,18,127,332,97,118,333,121,84',
'131,129,117,309,128,55,-280,124,96,45,80,307,82,83,154,133,134,64,51',
'70,71,58,306,120,62,60,61,67,79,72,96,65,73,116,74,309,130,157,98,99',
'127,479,475,307,474,97,287,118,129,121,480,21,20,117,463,288,530,344',
'54,462,57,462,69,12,116,63,46,49,-235,56,47,10,11,116,120,66,19,388',
'118,48,121,289,17,18,117,160,306,118,171,121,84,131,475,117,474,128',
'55,292,131,309,45,80,128,82,83,120,293,307,64,51,70,71,58,297,120,62',
'60,61,67,79,72,323,65,73,324,74,330,130,-236,98,99,127,-190,-190,130',
'330,97,88,127,129,181,79,21,20,182,96,129,133,134,54,96,57,96,69,12',
'116,63,46,49,96,56,47,10,11,116,352,66,19,390,118,48,121,170,17,18,117',
'171,306,118,360,121,84,131,380,117,381,128,55,383,131,309,45,80,128',
'82,83,120,387,307,64,51,70,71,58,392,120,62,60,61,67,79,72,394,65,73',
'398,74,400,130,131,98,99,127,128,309,130,403,97,404,127,129,-191,-191',
'21,20,-192,-192,129,306,131,54,417,57,128,69,136,418,63,46,49,419,56',
'47,-194,-194,130,420,66,19,127,289,48,285,284,17,18,422,129,285,284',
'131,425,84,131,128,130,297,128,55,127,131,431,45,80,128,82,83,129,285',
'284,64,51,70,71,58,285,284,62,60,61,67,79,72,433,65,73,130,74,403,130',
'127,131,-235,127,438,128,130,440,129,447,127,129,131,448,21,20,128,352',
'129,285,284,54,353,57,451,69,136,454,63,46,49,403,56,47,335,334,403',
'130,66,19,160,127,48,346,347,17,18,464,130,129,465,131,127,84,131,128',
'468,469,128,55,129,472,476,45,80,478,82,83,489,490,492,64,51,70,71,58',
'494,352,62,60,61,67,79,72,498,65,73,130,74,500,130,127,352,503,127,504',
'352,457,507,129,511,478,129,513,515,21,20,516,517,352,519,520,54,360',
'57,525,69,136,526,63,46,49,527,56,47,528,529,538,541,66,19,542,543,48',
'545,546,17,18,547,548,383,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70',
'71,58,,,62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,',
'57,,69,12,,63,46,49,,56,47,10,11,,,66,19,,,48,,,17,18,,,,,,,84,,,,,',
'55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73,,74',
',,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,12,,63,46,49,,56,47,10,11,,,66',
'19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,',
',62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,145,,,,,54,,57,',
'69,12,,63,46,49,,56,47,10,11,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,',
',,45,80,,82,83,,,,149,146,70,71,147,153,152,148,60,61,67,79,72,,65,73',
',74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,136,,63,46,49,,56,47,,,,,66',
'19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,',
',62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69',
'136,,63,46,49,,56,47,,,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80',
',82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,',
',,,,21,20,,,,,,54,,57,,69,136,,63,46,49,,56,47,,,,,66,19,,,48,,,17,18',
',,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79',
'72,,65,73,186,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,12,,63,46,49',
',56,47,10,11,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,',
',,149,146,70,71,147,153,152,148,60,61,67,79,72,,65,73,191,74,,,,,,,',
',,,,,,,,,21,20,,,,,,54,,57,,69,12,,63,46,49,,56,47,10,11,,,66,19,,,48',
',,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,149,146,70,71,147,153,152',
'148,60,61,67,79,72,,65,73,,74,193,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,',
'69,12,,63,46,49,,56,47,10,11,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,',
',,45,80,,82,83,,,,149,146,70,71,147,153,152,148,60,61,67,79,72,,65,73',
',74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,12,,63,46,49,,56,47,10,11',
',,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71',
'58,,,62,60,61,67,79,72,,65,73,,204,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57',
',69,136,,63,46,49,,56,47,,,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,',
'45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73,,74,,,,,,',
',,,,,,,,,,21,20,,,,,,54,,57,,69,12,,63,46,49,,56,47,10,11,,,66,19,,',
'48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62,60',
'61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,12,,63',
'46,49,,56,47,10,11,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82',
'83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,',
'21,20,,,,,,54,,57,,69,12,,63,46,49,,56,47,10,11,,,66,19,,,48,,,17,18',
',,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79',
'72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,12,,63,46,49,,56',
'47,10,11,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64',
'51,70,71,58,,,62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,',
',,54,,57,,69,12,,63,46,49,,56,47,10,11,,,66,19,,,48,,,17,18,,,,,,,84',
',,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73',
',74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,12,,63,46,49,,56,47,10,11',
',,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71',
'58,,,62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57',
',69,12,,63,46,49,,56,47,10,11,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55',
',,,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73,,74,,,',
',,,,,,,,,,,,,21,20,,,,,,54,,57,,69,12,,63,46,49,,56,47,10,11,,,66,19',
',,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62',
'60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,12,',
'63,46,49,,56,47,10,11,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80',
',82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,',
',,,,21,20,,,,,,222,239,228,240,69,232,242,234,46,220,,224,218,,,,,66',
'19,243,238,219,,,17,217,,,,,,,84,,,,,241,223,,,,45,80,,82,83,,,,235',
'221,236,237,229,245,244,233,230,231,67,79,72,,65,73,,74,,,,,,,,,,,,',
',,,,21,20,,,,,,54,,57,,69,136,,63,46,49,,56,47,,,,,66,19,,,48,,,17,18',
',,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79',
'72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,136,,63,46,49,,56',
'47,,,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51',
'70,71,58,,,62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54',
',57,,69,136,,63,46,49,,56,47,,,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55',
',,,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73,,74,,,',
',,,,,,,,,,,,,21,20,,,,,,54,,57,,69,136,,63,46,49,,56,47,,,,,66,19,,',
'48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62,60',
'61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,136,,63',
'46,49,,56,47,,,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83',
',,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21',
'20,,,,,,54,,57,,69,136,,63,46,49,,56,47,,,,,66,19,,,48,,,17,18,,,,,',
',84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65',
'73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,136,,63,46,49,,56,47,,',
',,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71',
'58,,,62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57',
',69,136,,63,46,49,,56,47,,,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,',
'45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73,,74,,,,,,',
',,,,,,,,,,21,20,,,,,,54,,57,,69,136,,63,46,49,,56,47,,,,,66,19,,,48',
',,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61',
'67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,136,,63,46',
'49,,56,47,,,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,',
',64,51,70,71,58,,,62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20',
',,,,,54,,57,,69,136,,63,46,49,,56,47,,,,,66,19,,,48,,,17,18,,,,,,,84',
',,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73',
',74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,136,,63,46,49,,56,47,,,,,66',
'19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,',
',62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69',
'136,,63,46,49,,56,47,,,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80',
',82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,',
',,,,21,20,,,,,,54,,57,,69,136,,63,46,49,,56,47,,,,,66,19,,,48,,,17,18',
',,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79',
'72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,136,,63,46,49,,56',
'47,,,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51',
'70,71,58,,,62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54',
',57,,69,136,,63,46,49,,56,47,,,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55',
',,,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73,,74,,,',
',,,,,,,,,,,,,21,20,,,,,,54,,57,,69,136,,63,46,49,,56,47,,,,,66,19,,',
'48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62,60',
'61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,136,,63',
'46,49,,56,47,,,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83',
',,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21',
'20,,,,,,54,,57,,69,136,,63,46,49,,56,47,,,,,66,19,,,48,,,17,18,,,,,',
',84,,,,,,55,,,267,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72',
',65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,12,,63,46,49,,56,47',
'10,11,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,149,146',
'70,71,147,153,152,148,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20',
',,,,,54,,57,,69,136,,63,46,49,,56,47,,,,,66,19,,,48,,,17,18,,,,,,,84',
',,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73',
',74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,136,,63,46,49,,56,47,,,,,66',
'19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,',
',62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69',
'136,,63,46,49,,56,47,,,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80',
',82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,',
',,,,21,20,311,,,,,54,,57,,69,12,,63,46,49,,56,47,10,11,,,66,19,,,48',
',,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,149,146,70,71,147,153,152',
'148,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69',
'12,,63,46,49,,56,47,10,11,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45',
'80,,82,83,,,,149,146,70,71,147,153,152,148,60,61,67,79,72,,65,73,,74',
'321,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,12,,63,46,49,,56,47,10,11,',
',66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71',
'58,,,62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57',
',69,12,,63,46,49,,56,47,10,11,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55',
',,,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73,,74,193',
',,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,12,,63,46,49,,56,47,10,11,,,66',
'19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,149,146,70,71,147',
'153,152,148,60,61,67,79,72,,65,73,,74,,,353,,,,,,,,,,,,,,21,20,,,,,',
'54,,57,,69,136,,63,46,49,,56,47,,,,,66,19,,,48,,,17,18,,,,,,,84,,,,',
',55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73,,74',
',,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,136,,63,46,49,,56,47,,,,,66,19',
',,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62',
'60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,136',
',63,46,49,,56,47,,,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82',
'83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,',
'21,20,,,,,,54,,57,,69,136,,63,46,49,,56,47,,,,,66,19,,,48,,,17,18,,',
',,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72',
',65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,136,,63,46,49,,56,47',
',,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70',
'71,58,,,62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,',
'57,,69,12,,63,46,49,,56,47,10,11,,,66,19,,,48,,,17,18,,,,,,,84,,,,,',
'55,,,,45,80,,82,83,,,,149,146,70,71,147,153,152,148,60,61,67,79,72,',
'65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,12,,63,46,49,,56,47',
'10,11,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,149,146',
'70,71,147,153,152,148,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20',
',,,,,54,,57,,69,12,,63,46,49,,56,47,10,11,,,66,19,,,48,,,17,18,,,,,',
',84,,,,,,55,,,,45,80,,82,83,,,,149,146,70,71,147,153,152,148,60,61,67',
'79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,12,,63,46,49',
',56,47,10,11,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,',
',,64,51,70,71,58,,,62,60,61,67,79,72,,65,73,,74,410,,,,,,,,,,,,,,,,21',
'20,,,,,,54,,57,,69,12,,63,46,49,,56,47,10,11,,,66,19,,,48,,,17,18,,',
',,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72',
',65,73,,74,412,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,12,,63,46,49,,56',
'47,10,11,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64',
'51,70,71,58,,,62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,',
',,54,,57,,69,136,,63,46,49,,56,47,,,,,66,19,,,48,,,17,18,,,,,,,84,,',
',,,55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73,',
'74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,12,,63,46,49,,56,47,10,11,',
',66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,149,146,70,71',
'147,153,152,148,60,61,67,79,72,,65,73,,74,434,,,,,,,,,,,,,,,,21,20,',
',,,,54,,57,,69,12,,63,46,49,,56,47,10,11,,,66,19,,,48,,,17,18,,,,,,',
'84,,,,,,55,,,,45,80,,82,83,,,,149,146,70,71,147,153,152,148,60,61,67',
'79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,12,,63,46,49',
',56,47,10,11,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,',
',,64,51,70,71,58,,,62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20',
',,,,,54,,57,,69,136,,63,46,49,,56,47,,,,,66,19,,,48,,,17,18,,,,,,,84',
',,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73',
',74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,136,,63,46,49,,56,47,,,,,66',
'19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,',
',62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69',
'136,,63,46,49,,56,47,,,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80',
',82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,',
',,,,21,20,,,,,,54,,57,,69,136,,63,46,49,,56,47,,,,,66,19,,,48,,,17,18',
',,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79',
'72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,12,,63,46,49,,56',
'47,10,11,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,149',
'146,70,71,147,153,152,148,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,',
'21,20,,,,,,54,,57,,69,136,,63,46,49,,56,47,,,,,66,19,,,48,,,17,18,,',
',,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72',
',65,73,,74,467,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,12,,63,46,49,,56',
'47,10,11,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64',
'51,70,71,58,,,62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,',
',,54,,57,,69,136,,63,46,49,,56,47,,,,,66,19,,,48,,,17,18,,,,,,,84,,',
',,,55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73,',
'74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,12,,63,46,49,,56,47,10,11,',
',66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,149,146,70,71',
'147,153,152,148,60,61,67,79,72,,65,73,,74,481,,,,,,,,,,,,,,,,21,20,',
',,,,54,,57,,69,136,,63,46,49,,56,47,,,,,66,19,,,48,,,17,18,,,,,,,84',
',,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73',
',74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,12,,63,46,49,,56,47,10,11',
',,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71',
'58,,,62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57',
',69,12,,63,46,49,,56,47,10,11,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55',
',,,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73,,74,,,',
',,,,,,,,,,,,,21,20,,,,,,54,,57,,69,12,,63,46,49,,56,47,10,11,,,66,19',
',,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62',
'60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,12,',
'63,46,49,,56,47,10,11,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80',
',82,83,,,,149,146,70,71,147,153,152,148,60,61,67,79,72,,65,73,,74,,',
',,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,136,,63,46,49,,56,47,,,,,66,19,',
',48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62',
'60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,12,',
'63,46,49,,56,47,10,11,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80',
',82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,',
',,,,21,20,,,,,,54,,57,,69,12,,63,46,49,,56,47,10,11,,,66,19,,,48,,,17',
'18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,149,146,70,71,147,153,152,148',
'60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,12,',
'63,46,49,,56,47,10,11,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80',
',82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,',
',,,,21,20,,,,,,54,,57,,69,12,,63,46,49,,56,47,10,11,,,66,19,,,48,,,17',
'18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,149,146,70,71,147,153,152,148',
'60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,136',
',63,46,49,,56,47,,,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82',
'83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,',
'21,20,,,,,,54,,57,,69,136,,63,46,49,,56,47,,,,,66,19,,,48,,,17,18,,',
',,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72',
',65,73,,74,522,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,12,,63,46,49,,56',
'47,10,11,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64',
'51,70,71,58,,,62,60,61,67,79,72,,65,73,,74,,,,,,,,,,,,,,,,,21,20,,,',
',,54,,57,,69,12,,63,46,49,,56,47,10,11,,,66,19,,,48,,,17,18,,,,,,,84',
',,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73',
',74,532,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,12,,63,46,49,,56,47,10',
'11,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70',
'71,58,,,62,60,61,67,79,72,,65,73,,74,534,,,,,,,,,,,,,,,,21,20,,,,,,54',
',57,,69,12,,63,46,49,,56,47,10,11,,,66,19,,,48,,,17,18,,,,,,,84,,,,',
',55,,,,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73,,74',
',,,,,,,,,,,,,,,,21,20,,,,,,54,,57,,69,12,,63,46,49,,56,47,10,11,,,66',
'19,,,48,,,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,',
',62,60,61,67,79,72,,65,73,,74,540,,,,,,,,,,,,,,,,21,20,,,,,,54,,57,',
'69,12,,63,46,49,,56,47,10,11,,,66,19,,,48,,,17,18,,,,,,,84,,,,,,55,',
',,45,80,,82,83,,,,64,51,70,71,58,,,62,60,61,67,79,72,,65,73,,74,,,,',
',,,,,,,,,,,,21,20,,,,,,54,,57,,69,136,,63,46,49,,56,47,,,,,66,19,,,48',
',,17,18,,,,,,,84,,,,,,55,,,,45,80,,82,83,,,,64,51,70,71,58,116,,62,60',
'61,,,72,,,,,112,107,118,,121,,115,,117,,108,110,109,111,,,,,,,,,,,,',
',,,120,,,,114,113,,,100,101,103,102,105,106,,98,99,116,,312,,,97,,,',
',,,112,107,118,,121,,115,,117,,108,110,109,111,,,,,,,104,,,,,,,,,120',
',,,114,113,,,100,101,103,102,105,106,,98,99,116,,313,,,97,,,,,,,112',
'107,118,,121,,115,,117,,108,110,109,111,,,,,,,104,,,,,,,,,120,,,,114',
'113,,,100,101,103,102,105,106,,98,99,116,,314,,,97,,,,,,,112,107,118',
',121,,115,,117,,108,110,109,111,,,,,,,104,,,,,,,,,120,,181,79,114,113',
'182,116,100,101,103,102,105,106,,98,99,,,112,107,118,97,121,,115,,117',
',108,110,109,111,,,,,181,79,,,182,179,,,176,,,120,104,,,114,113,,,100',
'101,103,102,105,106,,98,99,84,,,,,97,116,,,,180,80,179,,,176,346,347',
'112,107,118,350,121,116,115,,117,,108,110,109,111,104,,,84,,118,,121',
',,,117,,180,80,120,,,,114,113,,,100,101,103,102,105,106,,98,99,120,',
',116,,97,,,,,103,102,,,,98,99,118,,121,116,,97,117,,,,,,,,,104,,118',
',121,,,,117,,,,120,,,,116,104,,,,,103,102,,,,98,99,120,118,,121,116',
'97,,117,100,101,103,102,,,,98,99,,118,,121,,97,,117,,,,120,,,,104,,',
',100,101,103,102,,,,98,99,120,,,116,104,97,,,100,101,103,102,105,106',
',98,99,118,,121,116,,97,117,,,,,,,,,104,107,118,,121,,,,117,,108,,120',
',,,,104,,,100,101,103,102,105,106,,98,99,120,,,,116,97,,,100,101,103',
'102,105,106,,98,99,107,118,,121,116,97,,117,,108,,,,,,104,,107,118,',
'121,,,,117,,108,,120,,,,104,,,,100,101,103,102,105,106,,98,99,120,,',
',116,97,,,100,101,103,102,105,106,,98,99,107,118,,121,,97,,117,,108',
',,,,,104,,,,,,,,,,,,,120,,,,104,116,,,100,101,103,102,105,106,,98,99',
'112,107,118,,121,97,115,,117,,108,110,109,111,,,,,,,,,,,,,,,,120,,,104',
',116,,,100,101,103,102,105,106,,98,99,112,107,118,,121,97,115,,117,',
'108,110,109,111,,,,,,,,,,,,,,,,120,,,104,,113,,,100,101,103,102,105',
'106,116,98,99,,,356,,,97,,,,112,107,118,,121,,115,,117,,108,110,109',
'111,,,,,,,,,,104,,,,,,120,,,,114,113,,,100,101,103,102,105,106,,98,99',
'116,-66,,,,97,-66,,,,,,112,107,118,,121,,115,,117,,108,110,109,111,',
',,,,,104,,,,,,,,,120,,,,114,113,,116,100,101,103,102,105,106,,98,99',
',,112,107,118,97,121,,115,,117,,108,110,109,111,,,,,,,,,,,,,,,,120,104',
',,114,113,,,100,101,103,102,105,106,116,98,99,,,,,,97,,,,112,107,118',
'384,121,,115,,117,,108,110,109,111,,,,,,,,,,104,,,,,,120,,,,114,113',
',116,100,101,103,102,105,106,,98,99,,,112,107,118,97,121,,115,,117,',
'108,110,109,111,,,,,,,,,,,,,,,,120,104,,,114,113,,116,100,101,103,102',
'105,106,,98,99,,,112,107,118,97,121,,115,,117,,108,110,109,111,,,,,',
',,,,,,,,,,120,104,,,114,113,,116,100,101,103,102,105,106,,98,99,,,112',
'107,118,97,121,,115,,117,,108,110,109,111,,,,,,,,,,,,,,,,120,104,,,114',
'113,,116,100,101,103,102,105,106,,98,99,,,112,107,118,97,121,,115,,117',
',108,110,109,111,,,,,,,,,,,,,,,,120,104,,,114,113,,116,100,101,103,102',
'105,106,,98,99,,,112,107,118,97,121,,115,,117,,108,110,109,111,,,,,',
',,,,,,,,,,120,104,,,114,113,,116,100,101,103,102,105,106,,98,99,,,112',
'107,118,97,121,,115,,117,,108,110,109,111,,,,,,,,,,,,,,,,120,104,181',
'79,114,113,182,116,100,101,103,102,105,106,,98,99,,,112,107,118,97,121',
',115,,117,,108,110,109,111,,,,,181,79,,,182,179,,,176,,,120,104,,,114',
'113,,,100,101,103,102,105,106,,98,99,84,,,,,97,,,,,180,80,179,,,176',
',368,239,367,240,,365,242,369,,362,,364,366,,,104,,,84,243,238,370,',
',,363,,,180,80,,,,,,,,241,371,,,,,,,,,,,,374,372,375,373,376,245,244',
'377,378,379,368,239,367,240,,365,242,369,,362,,364,366,,,,,,,243,238',
'370,,,,363,,,,,,,,,,,,241,371,,,,,,,,,,,,374,372,375,373,376,245,244',
'377,378,379,368,239,367,240,,365,242,369,,362,,364,366,,,,,,,243,238',
'370,,,,363,,,,,,,,,,,,241,371,,,,,,,,,,,,374,372,375,373,376,245,244',
'377,378,379,368,239,367,240,,365,242,369,,362,,364,366,,,,,,,243,238',
'370,,,,363,,,,,,,,,,,,241,371,,,,,,,,,,,,374,372,375,373,376,245,244',
'377,378,379,368,239,367,240,,365,242,369,,362,,364,366,,,,,,,243,238',
'370,,,,363,,,,,,,,,,,,241,371,,,,,,,,,,,,374,372,375,373,376,245,244',
'377,378,379,368,239,367,240,,365,242,369,,362,,364,366,,,,,,,243,238',
'370,,,,363,,,,,,,,,,,,241,371,,,,,,,,,,,,374,372,375,373,376,245,244',
'377,378,379' ]
        racc_action_table = arr = ::Array.new(10660, 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,160,220,0,0,308,0,7,7,7,184,247,184,218,160,326,324,326,219,1,227',
'236,160,0,0,247,308,247,237,5,0,247,0,8,0,0,160,0,0,0,157,0,0,0,0,220',
'52,0,0,324,53,0,247,184,0,0,218,7,7,7,7,219,0,227,236,57,118,61,0,57',
'157,237,0,0,247,0,0,0,220,220,0,0,0,0,0,62,248,0,0,0,4,4,0,68,4,4,135',
'4,184,51,248,57,248,80,310,57,248,232,118,81,135,232,135,57,4,4,135',
'232,146,310,85,4,51,4,87,4,4,248,4,4,4,4,4,4,4,4,251,135,4,4,119,146',
'4,232,403,4,4,232,192,248,251,192,251,4,12,232,251,403,12,4,232,12,122',
'4,4,403,4,4,221,16,16,4,4,4,4,4,202,251,4,4,4,10,10,4,123,10,10,137',
'10,202,12,221,251,251,12,414,410,202,410,251,139,137,12,137,414,10,10',
'137,396,140,508,202,10,396,10,508,10,10,138,10,10,10,141,10,10,10,10',
'252,137,10,10,284,138,10,138,144,10,10,138,145,284,252,148,252,10,58',
'472,252,472,58,10,150,60,284,10,10,60,10,10,138,155,284,10,10,10,10',
'10,159,252,10,10,10,11,11,10,172,11,11,174,11,185,58,188,252,252,58',
'49,49,60,190,252,206,60,58,200,200,11,11,200,211,60,59,59,11,212,11',
'213,11,11,246,11,11,11,214,11,11,11,11,253,216,11,11,285,246,11,246',
'231,11,11,246,233,285,253,269,253,11,64,276,253,278,64,11,279,132,285',
'11,11,132,11,11,246,282,285,11,11,11,11,11,286,253,11,11,11,17,17,11',
'290,17,17,295,17,296,64,136,253,253,64,136,297,132,300,253,306,132,64',
'65,65,17,17,66,66,132,307,147,17,315,17,147,17,17,316,17,17,17,317,17',
'17,67,67,136,318,17,17,136,319,17,125,125,17,17,320,136,166,166,149',
'322,17,168,149,147,325,168,17,147,228,329,17,17,228,17,17,147,167,167',
'17,17,17,17,17,169,169,17,17,17,18,18,17,331,18,18,149,18,343,168,149',
'229,348,168,349,229,228,351,149,357,228,168,230,359,18,18,230,361,228',
'183,183,18,363,18,382,18,18,385,18,18,18,389,18,18,197,197,391,229,18',
'18,394,229,18,438,438,18,18,397,230,229,398,235,230,18,387,235,401,402',
'387,18,230,409,411,18,18,412,18,18,421,423,428,18,18,18,18,18,437,439',
'18,18,18,19,19,18,446,19,19,235,19,450,387,235,453,458,387,459,460,387',
'466,235,475,476,387,478,480,19,19,483,486,487,488,489,19,493,19,496',
'19,19,497,19,19,19,502,19,19,505,506,518,521,19,19,523,524,19,531,533',
'19,19,535,539,544,,,,19,,,,,,19,,,,19,19,,19,19,,,,19,19,19,19,19,,',
'19,19,19,20,20,19,,20,20,,20,,,,,,,,,,,,,,,,,20,20,,,,,,20,,20,,20,20',
',20,20,20,,20,20,20,20,,,20,20,,,20,,,20,20,,,,,,,20,,,,,,20,,,,20,20',
',20,20,,,,20,20,20,20,20,,,20,20,20,21,21,20,,21,21,,21,,,,,,,,,,,,',
',,,,21,21,,,,,,21,,21,,21,21,,21,21,21,,21,21,21,21,,,21,21,,,21,,,21',
'21,,,,,,,21,,,,,,21,,,,21,21,,21,21,,,,21,21,21,21,21,,,21,21,21,50',
'50,21,,50,50,,50,,,,,,,,,,,,,,,,,50,50,50,,,,,50,,50,,50,50,,50,50,50',
',50,50,50,50,,,50,50,,,50,,,50,50,,,,,,,50,,,,,,50,,,,50,50,,50,50,',
',,50,50,50,50,50,50,50,50,50,50,54,54,50,,54,54,,54,,,,,,,,,,,,,,,,',
'54,54,,,,,,54,,54,,54,54,,54,54,54,,54,54,,,,,54,54,,,54,,,54,54,,,',
',,,54,,,,,,54,,,,54,54,,54,54,,,,54,54,54,54,54,,,54,54,54,55,55,54',
',55,55,,55,,,,,,,,,,,,,,,,,55,55,,,,,,55,,55,,55,55,,55,55,55,,55,55',
',,,,55,55,,,55,,,55,55,,,,,,,55,,,,,,55,,,,55,55,,55,55,,,,55,55,55',
'55,55,,,55,55,55,56,56,55,,56,56,,56,,,,,,,,,,,,,,,,,56,56,,,,,,56,',
'56,,56,56,,56,56,56,,56,56,,,,,56,56,,,56,,,56,56,,,,,,,56,,,,,,56,',
',,56,56,,56,56,,,,56,56,56,56,56,,,56,56,56,72,72,56,,72,72,72,72,,',
',,,,,,,,,,,,,,72,72,,,,,,72,,72,,72,72,,72,72,72,,72,72,72,72,,,72,72',
',,72,,,72,72,,,,,,,72,,,,,,72,,,,72,72,,72,72,,,,72,72,72,72,72,72,72',
'72,72,72,73,73,72,,73,73,73,73,,,,,,,,,,,,,,,,,73,73,,,,,,73,,73,,73',
'73,,73,73,73,,73,73,73,73,,,73,73,,,73,,,73,73,,,,,,,73,,,,,,73,,,,73',
'73,,73,73,,,,73,73,73,73,73,73,73,73,73,73,74,74,73,,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,74,74',
'74,74,74,78,78,74,,78,78,,78,,,,,,,,,,,,,,,,,78,78,,,,,,78,,78,,78,78',
',78,78,78,,78,78,78,78,,,78,78,,,78,,,78,78,,,,,,,78,,,,,,78,,,,78,78',
',78,78,,,,78,78,78,78,78,,,78,78,78,83,83,78,,83,83,,83,,,,,,,,,,,,',
',,,,83,83,,,,,,83,,83,,83,83,,83,83,83,,83,83,,,,,83,83,,,83,,,83,83',
',,,,,,83,,,,,,83,,,,83,83,,83,83,,,,83,83,83,83,83,,,83,83,83,86,86',
'83,,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,86,86,88,88,86,,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,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,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,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',
'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,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,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,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,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,,,',
'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,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,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,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,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,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,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',
'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,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,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,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,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,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,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,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,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,112,112',
'113,113,112,,113,113,,113,,,,,,,,,,,,,,,,,113,113,,,,,,113,,113,,113',
'113,,113,113,113,,113,113,,,,,113,113,,,113,,,113,113,,,,,,,113,,,,',
',113,,,,113,113,,113,113,,,,113,113,113,113,113,,,113,113,113,114,114',
'113,,114,114,,114,,,,,,,,,,,,,,,,,114,114,,,,,,114,,114,,114,114,,114',
'114,114,,114,114,,,,,114,114,,,114,,,114,114,,,,,,,114,,,,,,114,,,,114',
'114,,114,114,,,,114,114,114,114,114,,,114,114,114,115,115,114,,115,115',
',115,,,,,,,,,,,,,,,,,115,115,,,,,,115,,115,,115,115,,115,115,115,,115',
'115,,,,,115,115,,,115,,,115,115,,,,,,,115,,,,,,115,,,115,115,115,,115',
'115,,,,115,115,115,115,115,,,115,115,115,116,116,115,,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,116,116,116,116,116,116,120,120,116,,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,120,120,121,121,120,,121,121,,121,,,,,',
',,,,,,,,,,,121,121,,,,,,121,,121,,121,121,,121,121,121,,121,121,,,,',
'121,121,,,121,,,121,121,,,,,,,121,,,,,,121,,,,121,121,,121,121,,,,121',
'121,121,121,121,,,121,121,121,124,124,121,,124,124,,124,,,,,,,,,,,,',
',,,,124,124,,,,,,124,,124,,124,124,,124,124,124,,124,124,,,,,124,124',
',,124,,,124,124,,,,,,,124,,,,,,124,,,,124,124,,124,124,,,,124,124,124',
'124,124,,,124,124,124,161,161,124,,161,161,,161,,,,,,,,,,,,,,,,,161',
'161,161,,,,,161,,161,,161,161,,161,161,161,,161,161,161,161,,,161,161',
',,161,,,161,161,,,,,,,161,,,,,,161,,,,161,161,,161,161,,,,161,161,161',
'161,161,161,161,161,161,161,170,170,161,,170,170,,170,,,,,,,,,,,,,,',
',,170,170,,,,,,170,,170,,170,170,,170,170,170,,170,170,170,170,,,170',
'170,,,170,,,170,170,,,,,,,170,,,,,,170,,,,170,170,,170,170,,,,170,170',
'170,170,170,170,170,170,170,170,171,171,170,,171,171,,171,171,,,,,,',
',,,,,,,,,171,171,,,,,,171,,171,,171,171,,171,171,171,,171,171,171,171',
',,171,171,,,171,,,171,171,,,,,,,171,,,,,,171,,,,171,171,,171,171,,,',
'171,171,171,171,171,,,171,171,171,201,201,171,,201,201,,201,,,,,,,,',
',,,,,,,,201,201,,,,,,201,,201,,201,201,,201,201,201,,201,201,201,201',
',,201,201,,,201,,,201,201,,,,,,,201,,,,,,201,,,,201,201,,201,201,,,',
'201,201,201,201,201,,,201,201,201,204,204,201,,204,204,,204,204,,,,',
',,,,,,,,,,,204,204,,,,,,204,,204,,204,204,,204,204,204,,204,204,204',
'204,,,204,204,,,204,,,204,204,,,,,,,204,,,,,,204,,,,204,204,,204,204',
',,,204,204,204,204,204,204,204,204,204,204,217,217,204,,217,217,,217',
',,217,,,,,,,,,,,,,,217,217,,,,,,217,,217,,217,217,,217,217,217,,217',
'217,,,,,217,217,,,217,,,217,217,,,,,,,217,,,,,,217,,,,217,217,,217,217',
',,,217,217,217,217,217,,,217,217,217,222,222,217,,222,222,,222,,,,,',
',,,,,,,,,,,222,222,,,,,,222,,222,,222,222,,222,222,222,,222,222,,,,',
'222,222,,,222,,,222,222,,,,,,,222,,,,,,222,,,,222,222,,222,222,,,,222',
'222,222,222,222,,,222,222,222,223,223,222,,223,223,,223,,,,,,,,,,,,',
',,,,223,223,,,,,,223,,223,,223,223,,223,223,223,,223,223,,,,,223,223',
',,223,,,223,223,,,,,,,223,,,,,,223,,,,223,223,,223,223,,,,223,223,223',
'223,223,,,223,223,223,224,224,223,,224,224,,224,,,,,,,,,,,,,,,,,224',
'224,,,,,,224,,224,,224,224,,224,224,224,,224,224,,,,,224,224,,,224,',
',224,224,,,,,,,224,,,,,,224,,,,224,224,,224,224,,,,224,224,224,224,224',
',,224,224,224,267,267,224,,267,267,,267,,,,,,,,,,,,,,,,,267,267,,,,',
',267,,267,,267,267,,267,267,267,,267,267,,,,,267,267,,,267,,,267,267',
',,,,,,267,,,,,,267,,,,267,267,,267,267,,,,267,267,267,267,267,,,267',
'267,267,289,289,267,,289,289,,289,,,,,,,,,,,,,,,,,289,289,,,,,,289,',
'289,,289,289,,289,289,289,,289,289,289,289,,,289,289,,,289,,,289,289',
',,,,,,289,,,,,,289,,,,289,289,,289,289,,,,289,289,289,289,289,289,289',
'289,289,289,292,292,289,,292,292,,292,,,,,,,,,,,,,,,,,292,292,,,,,,292',
',292,,292,292,,292,292,292,,292,292,292,292,,,292,292,,,292,,,292,292',
',,,,,,292,,,,,,292,,,,292,292,,292,292,,,,292,292,292,292,292,292,292',
'292,292,292,293,293,292,,293,293,,293,,,,,,,,,,,,,,,,,293,293,,,,,,293',
',293,,293,293,,293,293,293,,293,293,293,293,,,293,293,,,293,,,293,293',
',,,,,,293,,,,,,293,,,,293,293,,293,293,,,,293,293,293,293,293,293,293',
'293,293,293,294,294,293,,294,294,,294,,,,,,,,,,,,,,,,,294,294,,,,,,294',
',294,,294,294,,294,294,294,,294,294,294,294,,,294,294,,,294,,,294,294',
',,,,,,294,,,,,,294,,,,294,294,,294,294,,,,294,294,294,294,294,,,294',
'294,294,312,312,294,,312,312,,312,312,,,,,,,,,,,,,,,,312,312,,,,,,312',
',312,,312,312,,312,312,312,,312,312,312,312,,,312,312,,,312,,,312,312',
',,,,,,312,,,,,,312,,,,312,312,,312,312,,,,312,312,312,312,312,,,312',
'312,312,313,313,312,,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,313,314,314,313,,314,314,,314,,,,,,,,,,,,,,,,,314,314,,,,,,314,',
'314,,314,314,,314,314,314,,314,314,,,,,314,314,,,314,,,314,314,,,,,',
',314,,,,,,314,,,,314,314,,314,314,,,,314,314,314,314,314,,,314,314,314',
'330,330,314,,330,330,,330,,,,,,,,,,,,,,,,,330,330,,,,,,330,,330,,330',
'330,,330,330,330,,330,330,330,330,,,330,330,,,330,,,330,330,,,,,,,330',
',,,,,330,,,,330,330,,330,330,,,,330,330,330,330,330,330,330,330,330',
'330,333,333,330,,333,333,,333,333,,,,,,,,,,,,,,,,333,333,,,,,,333,,333',
',333,333,,333,333,333,,333,333,333,333,,,333,333,,,333,,,333,333,,,',
',,,333,,,,,,333,,,,333,333,,333,333,,,,333,333,333,333,333,333,333,333',
'333,333,338,338,333,,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,338,,,338',
'338,338,353,353,338,,353,353,,353,,,,,,,,,,,,,,,,,353,353,,,,,,353,',
'353,,353,353,,353,353,353,,353,353,,,,,353,353,,,353,,,353,353,,,,,',
',353,,,,,,353,,,,353,353,,353,353,,,,353,353,353,353,353,,,353,353,353',
'354,354,353,,354,354,,354,,,,,,,,,,,,,,,,,354,354,,,,,,354,,354,,354',
'354,,354,354,354,,354,354,,,,,354,354,,,354,,,354,354,,,,,,,354,,,,',
',354,,,,354,354,,354,354,,,,354,354,354,354,354,,,354,354,354,355,355',
'354,,355,355,,355,,,,,,,,,,,,,,,,,355,355,,,,,,355,,355,,355,355,,355',
'355,355,,355,355,,,,,355,355,,,355,,,355,355,,,,,,,355,,,,,,355,,,,355',
'355,,355,355,,,,355,355,355,355,355,,,355,355,355,356,356,355,,356,356',
',356,,,,,,,,,,,,,,,,,356,356,,,,,,356,,356,,356,356,,356,356,356,,356',
'356,,,,,356,356,,,356,,,356,356,,,,,,,356,,,,,,356,,,,356,356,,356,356',
',,,356,356,356,356,356,,,356,356,356,360,360,356,,360,360,,360,,,,,',
',,,,,,,,,,,360,360,,,,,,360,,360,,360,360,,360,360,360,,360,360,360',
'360,,,360,360,,,360,,,360,360,,,,,,,360,,,,,,360,,,,360,360,,360,360',
',,,360,360,360,360,360,360,360,360,360,360,383,383,360,,383,383,,383',
',,,,,,,,,,,,,,,,383,383,,,,,,383,,383,,383,383,,383,383,383,,383,383',
',,,,383,383,,,383,,,383,383,,,,,,,383,,,,,,383,,,,383,383,,383,383,',
',,383,383,383,383,383,,,383,383,383,400,400,383,,400,400,,400,400,,',
',,,,,,,,,,,,,400,400,,,,,,400,,400,,400,400,,400,400,400,,400,400,400',
'400,,,400,400,,,400,,,400,400,,,,,,,400,,,,,,400,,,,400,400,,400,400',
',,,400,400,400,400,400,,,400,400,400,404,404,400,,404,404,,404,,,,,',
',,,,,,,,,,,404,404,,,,,,404,,404,,404,404,,404,404,404,,404,404,,,,',
'404,404,,,404,,,404,404,,,,,,,404,,,,,,404,,,,404,404,,404,404,,,,404',
'404,404,404,404,,,404,404,404,407,407,404,,407,407,,407,,,,,,,,,,,,',
',,,,407,407,,,,,,407,,407,,407,407,,407,407,407,,407,407,407,407,,,407',
'407,,,407,,,407,407,,,,,,,407,,,,,,407,,,,407,407,,407,407,,,,407,407',
'407,407,407,407,407,407,407,407,415,415,407,,415,415,,415,415,,,,,,',
',,,,,,,,,415,415,,,,,,415,,415,,415,415,,415,415,415,,415,415,,,,,415',
'415,,,415,,,415,415,,,,,,,415,,,,,,415,,,,415,415,,415,415,,,,415,415',
'415,415,415,,,415,415,415,417,417,415,,417,417,,417,,,,,,,,,,,,,,,,',
'417,417,,,,,,417,,417,,417,417,,417,417,417,,417,417,417,417,,,417,417',
',,417,,,417,417,,,,,,,417,,,,,,417,,,,417,417,,417,417,,,,417,417,417',
'417,417,,,417,417,417,418,418,417,,418,418,,418,,,,,,,,,,,,,,,,,418',
'418,,,,,,418,,418,,418,418,,418,418,418,,418,418,418,418,,,418,418,',
',418,,,418,418,,,,,,,418,,,,,,418,,,,418,418,,418,418,,,,418,418,418',
'418,418,,,418,418,418,420,420,418,,420,420,,420,,,,,,,,,,,,,,,,,420',
'420,,,,,,420,,420,,420,420,,420,420,420,,420,420,420,420,,,420,420,',
',420,,,420,420,,,,,,,420,,,,,,420,,,,420,420,,420,420,,,,420,420,420',
'420,420,,,420,420,420,430,430,420,,430,430,,430,,,,,,,,,,,,,,,,,430',
'430,,,,,,430,,430,,430,430,,430,430,430,,430,430,430,430,,,430,430,',
',430,,,430,430,,,,,,,430,,,,,,430,,,,430,430,,430,430,,,,430,430,430',
'430,430,430,430,430,430,430,447,447,430,,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,447,447,454,454,447,,454,454,,454,,,,,,,,,,,,,,,,,454',
'454,,,,,,454,,454,,454,454,,454,454,454,,454,454,454,454,,,454,454,',
',454,,,454,454,,,,,,,454,,,,,,454,,,,454,454,,454,454,,,,454,454,454',
'454,454,,,454,454,454,462,462,454,,462,462,,462,,,,,,,,,,,,,,,,,462',
'462,,,,,,462,,462,,462,462,,462,462,462,,462,462,462,462,,,462,462,',
',462,,,462,462,,,,,,,462,,,,,,462,,,,462,462,,462,462,,,,462,462,462',
'462,462,462,462,462,462,462,465,465,462,,465,465,,465,,,,,,,,,,,,,,',
',,465,465,,,,,,465,,465,,465,465,,465,465,465,,465,465,465,465,,,465',
'465,,,465,,,465,465,,,,,,,465,,,,,,465,,,,465,465,,465,465,,,,465,465',
'465,465,465,,,465,465,465,468,468,465,,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,468,468,468,468,474,474,468,,474,474,,474,,,,,,,,,,,,,,',
',,474,474,,,,,,474,,474,,474,474,,474,474,474,,474,474,,,,,474,474,',
',474,,,474,474,,,,,,,474,,,,,,474,,,,474,474,,474,474,,,,474,474,474',
'474,474,,,474,474,474,479,479,474,,479,479,,479,,,,,,,,,,,,,,,,,479',
'479,,,,,,479,,479,,479,479,,479,479,479,,479,479,,,,,479,479,,,479,',
',479,479,,,,,,,479,,,,,,479,,,,479,479,,479,479,,,,479,479,479,479,479',
',,479,479,479,490,490,479,,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,,,490,490,490,492,492,490,,492,492,,492,,,,,,,,,,,,,,,,,492,492',
',,,,,492,,492,,492,492,,492,492,492,,492,492,492,492,,,492,492,,,492',
',,492,492,,,,,,,492,,,,,,492,,,,492,492,,492,492,,,,492,492,492,492',
'492,,,492,492,492,511,511,492,,511,511,,511,511,,,,,,,,,,,,,,,,511,511',
',,,,,511,,511,,511,511,,511,511,511,,511,511,511,511,,,511,511,,,511',
',,511,511,,,,,,,511,,,,,,511,,,,511,511,,511,511,,,,511,511,511,511',
'511,,,511,511,511,513,513,511,,513,513,,513,513,,,,,,,,,,,,,,,,513,513',
',,,,,513,,513,,513,513,,513,513,513,,513,513,513,513,,,513,513,,,513',
',,513,513,,,,,,,513,,,,,,513,,,,513,513,,513,513,,,,513,513,513,513',
'513,,,513,513,513,515,515,513,,515,515,,515,,,,,,,,,,,,,,,,,515,515',
',,,,,515,,515,,515,515,,515,515,515,,515,515,515,515,,,515,515,,,515',
',,515,515,,,,,,,515,,,,,,515,,,,515,515,,515,515,,,,515,515,515,515',
'515,,,515,515,515,520,520,515,,520,520,,520,520,,,,,,,,,,,,,,,,520,520',
',,,,,520,,520,,520,520,,520,520,520,,520,520,520,520,,,520,520,,,520',
',,520,520,,,,,,,520,,,,,,520,,,,520,520,,520,520,,,,520,520,520,520',
'520,,,520,520,520,526,526,520,,526,526,,526,,,,,,,,,,,,,,,,,526,526',
',,,,,526,,526,,526,526,,526,526,526,,526,526,,,,,526,526,,,526,,,526',
'526,,,,,,,526,,,,,,526,,,,526,526,,526,526,,,,526,526,526,526,526,9',
',526,526,526,,,526,,,,,9,9,9,,9,,9,,9,,9,9,9,9,,,,,,,,,,,,,,,,9,,,,9',
'9,,,9,9,9,9,9,9,,9,9,162,,162,,,9,,,,,,,162,162,162,,162,,162,,162,',
'162,162,162,162,,,,,,,9,,,,,,,,,162,,,,162,162,,,162,162,162,162,162',
'162,,162,162,164,,164,,,162,,,,,,,164,164,164,,164,,164,,164,,164,164',
'164,164,,,,,,,162,,,,,,,,,164,,,,164,164,,,164,164,164,164,164,164,',
'164,164,165,,165,,,164,,,,,,,165,165,165,,165,,165,,165,,165,165,165',
'165,,,,,,,164,,,,,,,,,165,,63,63,165,165,63,203,165,165,165,165,165',
'165,,165,165,,,203,203,203,165,203,,203,,203,,203,203,203,203,,,,,234',
'234,,,234,63,,,63,,,203,165,,,203,203,,,203,203,203,203,203,203,,203',
'203,63,,,,,203,215,,,,63,63,234,,,234,203,203,215,215,215,215,215,249',
'215,,215,,215,215,215,215,203,,,234,,249,,249,,,,249,,234,234,215,,',
',215,215,,,215,215,215,215,215,215,,215,215,249,,,250,,215,,,,,249,249',
',,,249,249,250,,250,254,,249,250,,,,,,,,,215,,254,,254,,,,254,,,,250',
',,,255,249,,,,,250,250,,,,250,250,254,255,,255,256,250,,255,254,254',
'254,254,,,,254,254,,256,,256,,254,,256,,,,255,,,,250,,,,255,255,255',
'255,,,,255,255,256,,,257,254,255,,,256,256,256,256,256,256,,256,256',
'257,,257,258,,256,257,,,,,,,,,255,258,258,,258,,,,258,,258,,257,,,,',
'256,,,257,257,257,257,257,257,,257,257,258,,,,259,257,,,258,258,258',
'258,258,258,,258,258,259,259,,259,260,258,,259,,259,,,,,,257,,260,260',
',260,,,,260,,260,,259,,,,258,,,,259,259,259,259,259,259,,259,259,260',
',,,261,259,,,260,260,260,260,260,260,,260,260,261,261,,261,,260,,261',
',261,,,,,,259,,,,,,,,,,,,,261,,,,260,262,,,261,261,261,261,261,261,',
'261,261,262,262,262,,262,261,262,,262,,262,262,262,262,,,,,,,,,,,,,',
',,262,,,261,,263,,,262,262,262,262,262,262,,262,262,263,263,263,,263',
'262,263,,263,,263,263,263,263,,,,,,,,,,,,,,,,263,,,262,,263,,,263,263',
'263,263,263,263,264,263,263,,,264,,,263,,,,264,264,264,,264,,264,,264',
',264,264,264,264,,,,,,,,,,263,,,,,,264,,,,264,264,,,264,264,264,264',
'264,264,,264,264,268,268,,,,264,268,,,,,,268,268,268,,268,,268,,268',
',268,268,268,268,,,,,,,264,,,,,,,,,268,,,,268,268,,275,268,268,268,268',
'268,268,,268,268,,,275,275,275,268,275,,275,,275,,275,275,275,275,,',
',,,,,,,,,,,,,275,268,,,275,275,,,275,275,275,275,275,275,280,275,275',
',,,,,275,,,,280,280,280,280,280,,280,,280,,280,280,280,280,,,,,,,,,',
'275,,,,,,280,,,,280,280,,413,280,280,280,280,280,280,,280,280,,,413',
'413,413,280,413,,413,,413,,413,413,413,413,,,,,,,,,,,,,,,,413,280,,',
'413,413,,442,413,413,413,413,413,413,,413,413,,,442,442,442,413,442',
',442,,442,,442,442,442,442,,,,,,,,,,,,,,,,442,413,,,442,442,,443,442',
'442,442,442,442,442,,442,442,,,443,443,443,442,443,,443,,443,,443,443',
'443,443,,,,,,,,,,,,,,,,443,442,,,443,443,,444,443,443,443,443,443,443',
',443,443,,,444,444,444,443,444,,444,,444,,444,444,444,444,,,,,,,,,,',
',,,,,444,443,,,444,444,,445,444,444,444,444,444,444,,444,444,,,445,445',
'445,444,445,,445,,445,,445,445,445,445,,,,,,,,,,,,,,,,445,444,,,445',
'445,,471,445,445,445,445,445,445,,445,445,,,471,471,471,445,471,,471',
',471,,471,471,471,471,,,,,,,,,,,,,,,,471,445,323,323,471,471,323,514',
'471,471,471,471,471,471,,471,471,,,514,514,514,471,514,,514,,514,,514',
'514,514,514,,,,,425,425,,,425,323,,,323,,,514,471,,,514,514,,,514,514',
'514,514,514,514,,514,514,323,,,,,514,,,,,323,323,425,,,425,,274,274',
'274,274,,274,274,274,,274,,274,274,,,514,,,425,274,274,274,,,,274,,',
'425,425,,,,,,,,274,274,,,,,,,,,,,,274,274,274,274,274,274,274,274,274',
'274,350,350,350,350,,350,350,350,,350,,350,350,,,,,,,350,350,350,,,',
'350,,,,,,,,,,,,350,350,,,,,,,,,,,,350,350,350,350,350,350,350,350,350',
'350,352,352,352,352,,352,352,352,,352,,352,352,,,,,,,352,352,352,,,',
'352,,,,,,,,,,,,352,352,,,,,,,,,,,,352,352,352,352,352,352,352,352,352',
'352,384,384,384,384,,384,384,384,,384,,384,384,,,,,,,384,384,384,,,',
'384,,,,,,,,,,,,384,384,,,,,,,,,,,,384,384,384,384,384,384,384,384,384',
'384,392,392,392,392,,392,392,392,,392,,392,392,,,,,,,392,392,392,,,',
'392,,,,,,,,,,,,392,392,,,,,,,,,,,,392,392,392,392,392,392,392,392,392',
'392,419,419,419,419,,419,419,419,,419,,419,419,,,,,,,419,419,419,,,',
'419,,,,,,,,,,,,419,419,,,,,,,,,,,,419,419,419,419,419,419,419,419,419',
'419' ]
        racc_action_check = arr = ::Array.new(10660, 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,    20,   nil,   nil,    89,    17,   nil,    -8,    25,  8997,
   180,   271,   153,   nil,   nil,   nil,    82,   362,   453,   544,
   635,   726,   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,   nil,   nil,   199,
   817,    73,   -25,    24,   908,   999,  1090,    64,   244,   214,
   251,    41,    77,  9219,   335,   298,   302,   320,    78,   nil,
   nil,   nil,  1181,  1272,  1363,   nil,   nil,   nil,  1454,   nil,
    27,    38,   nil,  1545,   nil,   121,  1636,   112,  1727,  1818,
  1909,  2000,  2091,  2182,  2273,  2364,  2455,  2546,  2637,  2728,
  2819,  2910,  3001,  3092,  3183,  3274,  3365,  3456,  3547,  3638,
  3729,  3820,  3911,  4002,  4093,  4184,  4275,   nil,    25,   132,
  4366,  4457,   154,   176,  4548,   391,   nil,   nil,   nil,   nil,
   nil,   nil,   342,   nil,   nil,    90,   372,   181,   212,   173,
   182,   211,   nil,   nil,   223,   168,    92,   392,   234,   423,
   240,   nil,   nil,   nil,   nil,   254,   nil,    32,   nil,   207,
   -35,  4639,  9055,   nil,  9113,  9171,   397,   417,   426,   424,
  4730,  4821,   263,   nil,   258,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   458,     4,   268,   nil,   nil,   271,   nil,
   277,   nil,   139,   nil,   nil,   nil,   nil,   495,   nil,   nil,
   293,  4912,   140,  9219,  5003,   nil,   279,   nil,   nil,   nil,
   nil,   291,   296,   298,   305,  9283,   307,  5094,     2,     7,
    -9,   142,  5185,  5276,  5367,   nil,   nil,     9,   433,   464,
   475,   300,   106,   322,  9254,   514,    10,    17,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   303,     5,    80,  9300,
  9344,   130,   221,   312,  9361,  9389,  9406,  9450,  9467,  9512,
  9529,  9574,  9620,  9666,  9721,   nil,   nil,  5458,  9779,   321,
   nil,   nil,   nil,   nil, 10267,  9827,   289,   nil,   316,   300,
  9882,   nil,   313,   nil,   204,   295,   350,   nil,   nil,  5549,
   339,   nil,  5640,  5731,  5822,   320,   363,   329,   nil,   nil,
   368,   nil,   nil,   nil,   nil,   nil,   367,   356,   -31,   nil,
    92,   nil,  5913,  6004,  6095,   387,   392,   396,   402,   402,
   411,   nil,   387, 10218,   -25,   370,     9,   nil,   nil,   428,
  6186,   450,   nil,  6277,   nil,   nil,   nil,   nil,  6368,   nil,
   nil,   nil,   nil,   450,   nil,   nil,   nil,   nil,   455,   459,
 10327,   462, 10387,  6459,  6550,  6641,  6732,   461,   nil,   470,
  6823,   469,   nil,   475,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   479,  6914, 10447,   483,   nil,   517,   nil,   483,
   nil,   488, 10507,   nil,   433,   nil,   201,   502,   506,   nil,
  7005,   514,   450,   108,  7096,   nil,   nil,  7187,   nil,   516,
   163,   517,   496,  9930,   183,  7278,   nil,  7369,  7460, 10567,
  7551,   505,   nil,   525,   nil, 10253,   nil,   nil,   526,   nil,
  7642,   nil,   nil,   nil,   nil,   nil,   nil,   469,   427,   529,
   nil,   nil,  9978, 10026, 10074, 10122,   539,  7733,   nil,   nil,
   544,   nil,   nil,   544,  7824,   nil,   nil,   nil,   530,   532,
   548,   nil,  7915,   nil,   nil,  8006,   553,   nil,  8097,   nil,
   nil, 10170,   213,   nil,  8188,   556,   532,   nil,   559,  8279,
   560,   nil,   nil,   562,   nil,   nil,   563,   561,   565,   567,
  8370,   nil,  8461,   565,   nil,   nil,   570,   540,   nil,   nil,
   nil,   nil,   577,   nil,   nil,   580,   581,   nil,   203,   nil,
   nil,  8552,   nil,  8643, 10218,  8734,   nil,   nil,   582,   nil,
  8825,   583,   nil,   586,   589,   nil,  8916,   nil,   nil,   nil,
   nil,   589,   nil,   590,   nil,   593,   nil,   nil,   nil,   594,
   nil,   nil,   nil,   nil,   562,   nil,   nil,   nil,   nil,   nil ]

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

racc_goto_table = [
     2,   177,   279,   175,   269,   135,   137,   138,   382,   296,
   139,   140,   158,   194,   266,   216,   155,   277,   277,   345,
   196,   126,   341,   327,   144,   169,   187,   187,   156,   188,
   188,   449,   426,   132,    87,   416,   122,   123,   483,   486,
   141,   488,   162,   164,   165,     1,   477,   276,   278,   185,
   190,     3,   473,   496,   452,   271,   298,   265,   328,   399,
   510,   415,   141,   141,   195,   300,   166,   167,   198,   126,
   535,   203,   357,   183,   441,   502,   168,   385,   207,   208,
   209,   210,   455,   423,   215,   246,   247,   248,   249,   250,
   251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
   261,   262,   263,   264,   268,   291,   195,   343,   275,   275,
   512,   155,   280,   523,   509,   397,   206,   427,   211,   212,
   213,   214,   470,   156,   406,   155,   405,   395,   432,   339,
   340,   337,   338,   449,   491,   310,   482,   336,   199,   201,
   nil,   286,   nil,   194,   319,   126,   nil,   nil,   nil,   326,
   nil,   141,   nil,   nil,   nil,   282,   167,   nil,   183,   nil,
   141,   nil,   nil,   nil,   nil,   429,   358,   155,   nil,   nil,
   nil,   320,   177,   nil,   175,   428,   nil,   317,   nil,   386,
   nil,   396,   nil,   nil,   nil,   nil,   155,   nil,   nil,   389,
   391,   nil,   nil,   361,   348,   169,   315,   316,   156,   318,
   nil,   342,   nil,   nil,   349,   137,   nil,   nil,   nil,   nil,
   162,   164,   165,   325,   nil,   nil,   nil,   nil,   nil,   424,
   nil,   nil,   298,   nil,   290,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   271,   nil,   nil,   nil,   nil,   166,   167,   126,
   nil,   126,   nil,   393,   183,   nil,   nil,   nil,   nil,   155,
   155,   nil,   322,   nil,   495,   264,   nil,   nil,   nil,   nil,
   nil,   177,   401,   175,   nil,   329,   nil,   nil,   nil,   439,
   331,   nil,   435,   549,   nil,   nil,   nil,   nil,   nil,   141,
   436,   268,   195,   195,   187,   nil,   506,   188,   nil,   nil,
   nil,   nil,   nil,   nil,   342,   nil,   351,   nil,   nil,   271,
   nil,   nil,   413,   453,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   460,   409,   411,   485,   485,   nil,   485,   493,   nil,
   141,   nil,   nil,   195,   nil,   nil,   nil,   nil,   198,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   487,   nil,
   nil,   442,   443,   444,   445,   nil,   499,   nil,   268,   359,
   195,   485,   nil,   nil,   461,   nil,   508,   nil,   nil,   nil,
   nil,   393,   nil,   177,   nil,   175,   nil,   nil,   155,   271,
   nil,   280,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   402,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   485,
   nil,   nil,   471,   nil,   nil,   nil,   456,   141,   nil,   421,
   466,   271,   nil,   413,   544,   nil,   nil,   271,   nil,   nil,
   nil,   nil,   536,   nil,   nil,   nil,   nil,   nil,   268,   nil,
   195,   nil,   nil,   437,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   264,   nil,   446,   nil,   nil,
   nil,   450,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   268,   nil,   195,   nil,   nil,   nil,   268,   nil,   195,   nil,
   nil,   nil,   162,   nil,   nil,   342,   nil,   514,   nil,   458,
   nil,   459,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   521,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   531,   nil,   533,   280,   537,   nil,   nil,   nil,   497,
   539,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   501,   nil,   nil,   nil,   nil,   nil,   nil,
   505,   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,   nil,   518,   nil,   nil,
   nil,   nil,   nil,   524 ]

racc_goto_check = [
     2,    47,    15,    48,    24,    12,    12,    12,    16,    55,
     6,     6,    51,     9,    65,    13,    49,    64,    64,   108,
   101,    72,    91,    46,    10,    76,     8,     8,    89,    96,
    96,    25,    81,    75,     5,    62,    11,    11,    74,    74,
     6,    74,    12,    12,    12,     1,    60,    68,    68,    92,
    92,     3,    59,    14,    18,     9,    64,    23,    45,    56,
    58,    61,     6,     6,     6,    57,    72,    72,     6,    72,
    63,    12,    66,    72,    69,    74,    75,    77,     6,     6,
     6,     6,    78,    80,    12,    12,    12,    12,    12,    12,
    12,    12,    12,    12,    12,    12,    12,    12,    12,    12,
    12,    12,    12,    12,    12,    51,     6,    57,    12,    12,
    60,    49,    12,    74,    59,    91,     5,    83,    11,    11,
    11,    11,    84,    89,    85,    49,    87,    94,    95,    97,
    98,   102,   103,    25,    81,    10,    62,   105,   106,   107,
   nil,    72,   nil,     9,    10,    72,   nil,   nil,   nil,    49,
   nil,     6,   nil,   nil,   nil,    73,    72,   nil,    72,   nil,
     6,   nil,   nil,   nil,   nil,    46,    65,    49,   nil,   nil,
   nil,     2,    47,   nil,    48,    55,   nil,    72,   nil,    64,
   nil,    24,   nil,   nil,   nil,   nil,    49,   nil,   nil,    57,
    57,   nil,   nil,    13,     6,    76,    73,    73,    89,    73,
   nil,     2,   nil,   nil,     2,    12,   nil,   nil,   nil,   nil,
    12,    12,    12,    73,   nil,   nil,   nil,   nil,   nil,    64,
   nil,   nil,    64,   nil,    17,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,     9,   nil,   nil,   nil,   nil,    72,    72,    72,
   nil,    72,   nil,     8,    72,   nil,   nil,   nil,   nil,    49,
    49,   nil,    17,   nil,   108,    12,   nil,   nil,   nil,   nil,
   nil,    47,    49,    48,   nil,    17,   nil,   nil,   nil,    13,
    17,   nil,     9,    16,   nil,   nil,   nil,   nil,   nil,     6,
   101,    12,     6,     6,     8,   nil,    91,    96,   nil,   nil,
   nil,   nil,   nil,   nil,     2,   nil,    17,   nil,   nil,     9,
   nil,   nil,    12,    13,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,    13,     2,     2,    64,    64,   nil,    64,    24,   nil,
     6,   nil,   nil,     6,   nil,   nil,   nil,   nil,     6,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,    13,   nil,
   nil,    12,    12,    12,    12,   nil,    65,   nil,    12,    17,
     6,    64,   nil,   nil,    51,   nil,    24,   nil,   nil,   nil,
   nil,     8,   nil,    47,   nil,    48,   nil,   nil,    49,     9,
   nil,    12,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
    17,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,    64,
   nil,   nil,    12,   nil,   nil,   nil,    72,     6,   nil,    17,
     2,     9,   nil,    12,    15,   nil,   nil,     9,   nil,   nil,
   nil,   nil,    64,   nil,   nil,   nil,   nil,   nil,    12,   nil,
     6,   nil,   nil,    17,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,    12,   nil,    17,   nil,   nil,
   nil,    17,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
    12,   nil,     6,   nil,   nil,   nil,    12,   nil,     6,   nil,
   nil,   nil,    12,   nil,   nil,     2,   nil,    12,   nil,    17,
   nil,    17,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   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,   nil,   nil,
   nil,     2,   nil,     2,    12,     2,   nil,   nil,   nil,    17,
     2,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,    17,   nil,   nil,   nil,   nil,   nil,   nil,
    17,   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,   nil,    17,   nil,   nil,
   nil,   nil,   nil,    17 ]

racc_goto_pointer = [
   nil,    45,     0,    51,   nil,    30,   -10,   nil,   -46,   -61,
   -26,    26,   -12,   -81,  -386,  -122,  -271,    80,  -329,   nil,
   nil,   nil,   nil,   -58,  -112,  -329,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,  -126,  -161,   -62,   -60,   -35,
   nil,   -40,   nil,   nil,   nil,  -150,  -237,   -95,  -414,  -358,
  -366,  -253,  -279,  -445,  -103,  -101,  -195,   nil,   -73,  -278,
   nil,   nil,     9,    30,  -379,    17,   -35,  -205,  -305,   nil,
  -239,  -291,   nil,  -207,  -281,  -184,   nil,  -181,   nil,   -23,
   nil,  -179,   -23,   nil,  -165,  -202,   -43,   -71,   -70,   nil,
   nil,   -58,   -66,   -65,   nil,   -60,    58,    58,  -184 ]

racc_goto_default = [
   nil,   nil,   484,   nil,     4,     5,     6,     7,   143,   142,
   nil,     8,     9,   nil,   nil,   nil,   nil,   nil,   281,    13,
    14,    15,    16,   nil,   nil,   270,   414,    22,    23,    24,
    25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
    35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
    50,   nil,    52,    53,   159,   nil,   nil,   nil,   163,   nil,
   nil,   nil,   nil,   nil,   283,   nil,   nil,   119,   nil,   225,
   227,   226,    59,   nil,   nil,   nil,   125,   nil,   nil,   172,
   nil,   173,   174,   178,   301,   302,   303,   304,   305,   308,
    68,   nil,   nil,   192,   150,   189,   151,    75,    76,    77,
    78,   nil,   nil,   nil,   197,   nil,   nil,   nil,   nil ]

racc_reduce_table = [
  0, 0, :racc_error,
  1, 99, :_reduce_1,
  1, 99, :_reduce_2,
  0, 99, :_reduce_3,
  1, 100, :_reduce_4,
  1, 102, :_reduce_5,
  3, 102, :_reduce_6,
  2, 102, :_reduce_7,
  1, 103, :_reduce_8,
  3, 103, :_reduce_9,
  1, 104, :_reduce_none,
  3, 104, :_reduce_11,
  3, 104, :_reduce_12,
  3, 104, :_reduce_13,
  1, 106, :_reduce_none,
  1, 106, :_reduce_15,
  1, 108, :_reduce_16,
  3, 108, :_reduce_17,
  1, 105, :_reduce_none,
  3, 105, :_reduce_19,
  3, 105, :_reduce_20,
  3, 105, :_reduce_21,
  3, 105, :_reduce_22,
  1, 109, :_reduce_none,
  2, 109, :_reduce_24,
  2, 109, :_reduce_25,
  7, 109, :_reduce_26,
  5, 109, :_reduce_27,
  5, 109, :_reduce_28,
  4, 116, :_reduce_29,
  1, 113, :_reduce_30,
  3, 113, :_reduce_31,
  1, 112, :_reduce_32,
  2, 112, :_reduce_33,
  4, 112, :_reduce_34,
  1, 110, :_reduce_none,
  1, 110, :_reduce_none,
  1, 110, :_reduce_none,
  1, 110, :_reduce_none,
  3, 110, :_reduce_39,
  3, 110, :_reduce_40,
  3, 110, :_reduce_41,
  3, 110, :_reduce_42,
  3, 110, :_reduce_43,
  3, 110, :_reduce_44,
  3, 110, :_reduce_45,
  3, 110, :_reduce_46,
  3, 110, :_reduce_47,
  3, 110, :_reduce_48,
  2, 110, :_reduce_49,
  2, 110, :_reduce_50,
  3, 110, :_reduce_51,
  3, 110, :_reduce_52,
  3, 110, :_reduce_53,
  3, 110, :_reduce_54,
  3, 110, :_reduce_55,
  3, 110, :_reduce_56,
  2, 110, :_reduce_57,
  3, 110, :_reduce_58,
  3, 110, :_reduce_59,
  3, 110, :_reduce_60,
  3, 110, :_reduce_61,
  3, 110, :_reduce_62,
  5, 120, :_reduce_63,
  1, 122, :_reduce_64,
  3, 122, :_reduce_65,
  1, 123, :_reduce_none,
  1, 123, :_reduce_67,
  1, 124, :_reduce_68,
  3, 124, :_reduce_69,
  1, 117, :_reduce_none,
  1, 117, :_reduce_none,
  1, 117, :_reduce_none,
  1, 117, :_reduce_none,
  1, 117, :_reduce_none,
  1, 117, :_reduce_none,
  1, 117, :_reduce_none,
  1, 117, :_reduce_none,
  1, 117, :_reduce_none,
  1, 117, :_reduce_none,
  1, 117, :_reduce_none,
  1, 117, :_reduce_none,
  1, 117, :_reduce_none,
  1, 117, :_reduce_none,
  1, 117, :_reduce_none,
  1, 117, :_reduce_none,
  1, 117, :_reduce_none,
  1, 117, :_reduce_none,
  1, 117, :_reduce_none,
  1, 117, :_reduce_none,
  1, 117, :_reduce_none,
  1, 117, :_reduce_none,
  1, 117, :_reduce_none,
  1, 117, :_reduce_93,
  1, 117, :_reduce_94,
  1, 117, :_reduce_95,
  1, 117, :_reduce_96,
  1, 117, :_reduce_97,
  4, 119, :_reduce_98,
  2, 119, :_reduce_99,
  5, 119, :_reduce_100,
  3, 119, :_reduce_101,
  2, 148, :_reduce_102,
  2, 148, :_reduce_103,
  1, 126, :_reduce_104,
  2, 126, :_reduce_105,
  4, 150, :_reduce_106,
  3, 150, :_reduce_107,
  1, 150, :_reduce_108,
  3, 151, :_reduce_109,
  3, 151, :_reduce_110,
  3, 149, :_reduce_111,
  3, 154, :_reduce_112,
  2, 154, :_reduce_113,
  2, 152, :_reduce_114,
  4, 152, :_reduce_115,
  2, 129, :_reduce_116,
  5, 156, :_reduce_117,
  4, 156, :_reduce_118,
  0, 157, :_reduce_none,
  2, 157, :_reduce_120,
  4, 157, :_reduce_121,
  3, 157, :_reduce_122,
  6, 130, :_reduce_123,
  5, 130, :_reduce_124,
  0, 158, :_reduce_none,
  4, 158, :_reduce_126,
  3, 158, :_reduce_127,
  5, 128, :_reduce_128,
  1, 159, :_reduce_129,
  2, 159, :_reduce_130,
  5, 160, :_reduce_131,
  1, 161, :_reduce_none,
  1, 161, :_reduce_none,
  1, 121, :_reduce_none,
  4, 121, :_reduce_135,
  1, 164, :_reduce_136,
  3, 164, :_reduce_137,
  3, 163, :_reduce_138,
  6, 127, :_reduce_139,
  2, 127, :_reduce_140,
  3, 165, :_reduce_141,
  3, 165, :_reduce_142,
  1, 166, :_reduce_none,
  1, 166, :_reduce_none,
  0, 111, :_reduce_145,
  1, 111, :_reduce_146,
  3, 111, :_reduce_147,
  1, 168, :_reduce_none,
  1, 168, :_reduce_none,
  3, 167, :_reduce_150,
  3, 167, :_reduce_151,
  3, 167, :_reduce_152,
  6, 131, :_reduce_153,
  6, 132, :_reduce_154,
  7, 118, :_reduce_155,
  7, 118, :_reduce_156,
  1, 173, :_reduce_none,
  1, 173, :_reduce_none,
  6, 134, :_reduce_159,
  8, 135, :_reduce_160,
  7, 135, :_reduce_161,
  7, 133, :_reduce_162,
  1, 174, :_reduce_163,
  1, 172, :_reduce_none,
  1, 172, :_reduce_none,
  1, 175, :_reduce_none,
  2, 175, :_reduce_167,
  1, 176, :_reduce_none,
  1, 176, :_reduce_none,
  4, 137, :_reduce_170,
  3, 137, :_reduce_171,
  7, 136, :_reduce_172,
  6, 136, :_reduce_173,
  1, 177, :_reduce_174,
  3, 177, :_reduce_175,
  1, 179, :_reduce_none,
  1, 179, :_reduce_none,
  1, 179, :_reduce_178,
  1, 179, :_reduce_none,
  1, 180, :_reduce_180,
  3, 180, :_reduce_181,
  1, 181, :_reduce_none,
  1, 181, :_reduce_none,
  1, 178, :_reduce_none,
  2, 178, :_reduce_185,
  7, 139, :_reduce_186,
  2, 153, :_reduce_187,
  5, 153, :_reduce_188,
  1, 153, :_reduce_none,
  1, 170, :_reduce_none,
  1, 170, :_reduce_none,
  1, 170, :_reduce_none,
  1, 170, :_reduce_193,
  1, 170, :_reduce_194,
  1, 171, :_reduce_195,
  2, 171, :_reduce_196,
  2, 171, :_reduce_197,
  4, 171, :_reduce_198,
  4, 171, :_reduce_199,
  1, 155, :_reduce_200,
  3, 155, :_reduce_201,
  1, 182, :_reduce_none,
  1, 182, :_reduce_none,
  1, 183, :_reduce_none,
  1, 183, :_reduce_none,
  3, 185, :_reduce_206,
  1, 185, :_reduce_207,
  2, 186, :_reduce_208,
  2, 184, :_reduce_209,
  1, 187, :_reduce_210,
  4, 187, :_reduce_211,
  4, 140, :_reduce_212,
  7, 140, :_reduce_213,
  3, 140, :_reduce_214,
  3, 140, :_reduce_215,
  3, 140, :_reduce_216,
  2, 188, :_reduce_217,
  5, 141, :_reduce_218,
  7, 141, :_reduce_219,
  1, 125, :_reduce_220,
  1, 142, :_reduce_221,
  1, 142, :_reduce_222,
  4, 143, :_reduce_223,
  2, 143, :_reduce_224,
  4, 143, :_reduce_225,
  2, 143, :_reduce_226,
  3, 144, :_reduce_227,
  4, 144, :_reduce_228,
  2, 144, :_reduce_229,
  1, 191, :_reduce_230,
  3, 191, :_reduce_231,
  3, 107, :_reduce_232,
  1, 193, :_reduce_none,
  1, 193, :_reduce_234,
  1, 192, :_reduce_none,
  1, 192, :_reduce_236,
  1, 190, :_reduce_237,
  3, 190, :_reduce_238,
  1, 194, :_reduce_none,
  1, 194, :_reduce_none,
  1, 194, :_reduce_none,
  1, 194, :_reduce_none,
  1, 194, :_reduce_none,
  1, 194, :_reduce_none,
  1, 146, :_reduce_none,
  1, 146, :_reduce_none,
  1, 146, :_reduce_none,
  1, 195, :_reduce_248,
  1, 195, :_reduce_249,
  2, 196, :_reduce_250,
  1, 198, :_reduce_251,
  1, 200, :_reduce_252,
  1, 201, :_reduce_253,
  2, 199, :_reduce_254,
  1, 202, :_reduce_255,
  1, 203, :_reduce_256,
  2, 203, :_reduce_257,
  2, 197, :_reduce_258,
  2, 204, :_reduce_259,
  2, 204, :_reduce_260,
  3, 101, :_reduce_261,
  0, 189, :_reduce_none,
  1, 189, :_reduce_none,
  0, 205, :_reduce_264,
  2, 205, :_reduce_265,
  4, 205, :_reduce_266,
  1, 138, :_reduce_267,
  3, 138, :_reduce_268,
  5, 138, :_reduce_269,
  1, 206, :_reduce_none,
  1, 206, :_reduce_none,
  1, 147, :_reduce_272,
  1, 145, :_reduce_273,
  0, 115, :_reduce_none,
  1, 115, :_reduce_275,
  0, 114, :_reduce_none,
  1, 114, :_reduce_none,
  1, 169, :_reduce_none,
  1, 169, :_reduce_none,
  1, 169, :_reduce_none,
  1, 169, :_reduce_none,
  1, 169, :_reduce_none,
  1, 169, :_reduce_none,
  1, 169, :_reduce_none,
  1, 169, :_reduce_none,
  1, 169, :_reduce_none,
  1, 169, :_reduce_none,
  1, 169, :_reduce_none,
  1, 169, :_reduce_none,
  1, 169, :_reduce_none,
  1, 169, :_reduce_none,
  1, 169, :_reduce_none,
  1, 169, :_reduce_none,
  1, 169, :_reduce_none,
  1, 169, :_reduce_none,
  1, 169, :_reduce_none,
  1, 169, :_reduce_none,
  1, 169, :_reduce_none,
  1, 169, :_reduce_none,
  1, 169, :_reduce_none,
  1, 169, :_reduce_none,
  0, 162, :_reduce_302 ]

racc_reduce_n = 303

racc_shift_n = 550

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,
  :PLAN => 91,
  :APPLY => 92,
  :LOW => 93,
  :HIGH => 94,
  :LISTSTART => 95,
  :SPLAT => 96,
  :MODULO => 97 }

racc_nt_base = 98

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",
  "PLAN",
  "APPLY",
  "LOW",
  "HIGH",
  "LISTSTART",
  "SPLAT",
  "MODULO",
  "$start",
  "program",
  "statements",
  "epp_expression",
  "syntactic_statements",
  "syntactic_statement",
  "assignment",
  "relationship",
  "argument",
  "hashpair",
  "arguments",
  "resource",
  "expression",
  "attribute_operations",
  "additional_resource_bodies",
  "resource_bodies",
  "endsemi",
  "endcomma",
  "resource_body",
  "primary_expression",
  "capability_mapping",
  "call_function_expression",
  "bracketed_expression",
  "selector_entries",
  "access_args",
  "access_arg",
  "expressions",
  "variable",
  "call_method_with_lambda_expression",
  "collection_expression",
  "case_expression",
  "if_expression",
  "unless_expression",
  "definition_expression",
  "application_expression",
  "hostclass_expression",
  "plan_expression",
  "apply_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",
  "hash_entry",
  "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', 68)
  def _reduce_1(val, _values, result)
     result = create_program(Factory.block_or_expression(val[0]))
    result
  end
.,.,

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

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

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

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

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

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

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

module_eval(<<'.,.,', 'egrammar.ra', 91)
  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', 96)
  def _reduce_11(val, _values, result)
     result = val[0].set(val[2])      ; loc result, val[1]
    result
  end
.,.,

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

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

# reduce 14 omitted

module_eval(<<'.,.,', 'egrammar.ra', 103)
  def _reduce_15(val, _values, result)
     result = Factory.HASH_UNFOLDED([val[0]]); loc result, val[0]
    result
  end
.,.,

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

module_eval(<<'.,.,', 'egrammar.ra', 108)
  def _reduce_17(val, _values, result)
     result = Factory.ARGUMENTS(val[0], val[2])
    result
  end
.,.,

# reduce 18 omitted

module_eval(<<'.,.,', 'egrammar.ra', 112)
  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', 113)
  def _reduce_20(val, _values, result)
     result = val[0].relop(val[1][:value], val[2]); loc result, val[1]
    result
  end
.,.,

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

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

# reduce 23 omitted

module_eval(<<'.,.,', 'egrammar.ra', 124)
  def _reduce_24(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', 135)
  def _reduce_25(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', 146)
  def _reduce_26(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', 153)
  def _reduce_27(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', 162)
  def _reduce_28(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', 184)
  def _reduce_29(val, _values, result)
     result = Factory.RESOURCE_BODY(val[0], val[2])
    result
  end
.,.,

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

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

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

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

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

# reduce 35 omitted

# reduce 36 omitted

# reduce 37 omitted

# reduce 38 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

module_eval(<<'.,.,', 'egrammar.ra', 235)
  def _reduce_65(val, _values, result)
     result = Factory.ARGUMENTS(val[0], val[2])
    result
  end
.,.,

# reduce 66 omitted

module_eval(<<'.,.,', 'egrammar.ra', 239)
  def _reduce_67(val, _values, result)
     result = Factory.HASH_UNFOLDED([val[0]]); loc result, val[0]
    result
  end
.,.,

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

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

# 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

# reduce 85 omitted

# reduce 86 omitted

# reduce 87 omitted

# reduce 88 omitted

# reduce 89 omitted

# reduce 90 omitted

# reduce 91 omitted

# reduce 92 omitted

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

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

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

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

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

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

    result
  end
.,.,

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

    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 296)
  def _reduce_100(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', 301)
  def _reduce_101(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', 307)
  def _reduce_102(val, _values, result)
     result = val[0]
    result
  end
.,.,

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

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

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

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

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

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

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

    result
  end
.,.,

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

    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 335)
  def _reduce_111(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', 340)
  def _reduce_112(val, _values, result)
     result = {:end => val[2], :value =>val[1] }
    result
  end
.,.,

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

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

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

module_eval(<<'.,.,', 'egrammar.ra', 354)
  def _reduce_116(val, _values, result)
          result = val[1]
      loc(result, val[0], val[1])

    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 361)
  def _reduce_117(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', 365)
  def _reduce_118(val, _values, result)
            result = Factory.IF(val[0], nil, val[3])
        loc(result, val[0], (val[3] ? val[3] : val[2]))

    result
  end
.,.,

# reduce 119 omitted

module_eval(<<'.,.,', 'egrammar.ra', 373)
  def _reduce_120(val, _values, result)
            result = val[1]
        loc(result, val[0], val[1])

    result
  end
.,.,

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

    result
  end
.,.,

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

    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 387)
  def _reduce_123(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', 391)
  def _reduce_124(val, _values, result)
          result = Factory.UNLESS(val[1], nil, val[4])
      loc result, val[0], val[4]

    result
  end
.,.,

# reduce 125 omitted

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

    result
  end
.,.,

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

    result
  end
.,.,

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

    result
  end
.,.,

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

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

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

    result
  end
.,.,

# reduce 132 omitted

# reduce 133 omitted

# reduce 134 omitted

module_eval(<<'.,.,', 'egrammar.ra', 439)
  def _reduce_135(val, _values, result)
            result = val[1]

    result
  end
.,.,

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

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

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

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

    result
  end
.,.,

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

    result
  end
.,.,

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

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

# reduce 143 omitted

# reduce 144 omitted

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

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

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

# reduce 148 omitted

# reduce 149 omitted

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

    result
  end
.,.,

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

    result
  end
.,.,

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

    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 513)
  def _reduce_153(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', 525)
  def _reduce_154(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', 532)
  def _reduce_155(val, _values, result)
        result = Factory.CAPABILITY_MAPPING(val[1][:value],
                                        Factory.QREF(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', 539)
  def _reduce_156(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 157 omitted

# reduce 158 omitted

module_eval(<<'.,.,', 'egrammar.ra', 553)
  def _reduce_159(val, _values, result)
          # Remove this plan's name from the namestack as all nested plans have been parsed
      namepop
      definition = Factory.PLAN(classname(val[1][:value]), val[2], val[4])
      loc(definition, val[0], val[5])
      result = add_definition(definition)

    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 562)
  def _reduce_160(val, _values, result)
          result = Factory.APPLY(val[2], Factory.APPLY_BLOCK(val[6]))
      loc result, val[0], val[7]

    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 566)
  def _reduce_161(val, _values, result)
          result = Factory.APPLY(val[2], Factory.APPLY_BLOCK([]))
      loc result, val[0], val[6]

    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 576)
  def _reduce_162(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', 587)
  def _reduce_163(val, _values, result)
     namestack(val[0][:value]) ; result = val[0]
    result
  end
.,.,

# reduce 164 omitted

# reduce 165 omitted

# reduce 166 omitted

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

# reduce 168 omitted

# reduce 169 omitted

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

    result
  end
.,.,

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

    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 629)
  def _reduce_172(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', 634)
  def _reduce_173(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', 645)
  def _reduce_174(val, _values, result)
     result = [result]
    result
  end
.,.,

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

# reduce 176 omitted

# reduce 177 omitted

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

# reduce 179 omitted

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

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

# reduce 182 omitted

# reduce 183 omitted

# reduce 184 omitted

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

module_eval(<<'.,.,', 'egrammar.ra', 673)
  def _reduce_186(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', 679)
  def _reduce_187(val, _values, result)
     result = val[1]
    result
  end
.,.,

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

# reduce 189 omitted

# reduce 190 omitted

# reduce 191 omitted

# reduce 192 omitted

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

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

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

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

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

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

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

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

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

# reduce 202 omitted

# reduce 203 omitted

# reduce 204 omitted

# reduce 205 omitted

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

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

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

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

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

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

module_eval(<<'.,.,', 'egrammar.ra', 732)
  def _reduce_212(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', 737)
  def _reduce_213(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', 742)
  def _reduce_214(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', 747)
  def _reduce_215(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', 752)
  def _reduce_216(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', 758)
  def _reduce_217(val, _values, result)
     result = val[1]
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 764)
  def _reduce_218(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', 769)
  def _reduce_219(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', 778)
  def _reduce_220(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', 789)
  def _reduce_221(val, _values, result)
     result = Factory.RESERVED(val[0][:value]) ; loc result, val[0]
    result
  end
.,.,

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

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

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

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

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

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

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

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

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

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

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

# reduce 233 omitted

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

# reduce 235 omitted

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

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

module_eval(<<'.,.,', 'egrammar.ra', 824)
  def _reduce_238(val, _values, result)
     result = Factory.ARGUMENTS(val[0], val[2])
    result
  end
.,.,

# reduce 239 omitted

# reduce 240 omitted

# reduce 241 omitted

# reduce 242 omitted

# reduce 243 omitted

# reduce 244 omitted

# reduce 245 omitted

# reduce 246 omitted

# reduce 247 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 262 omitted

# reduce 263 omitted

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

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

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

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

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

module_eval(<<'.,.,', 'egrammar.ra', 877)
  def _reduce_269(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 270 omitted

# reduce 271 omitted

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

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

# reduce 274 omitted

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

# 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

# reduce 287 omitted

# reduce 288 omitted

# reduce 289 omitted

# reduce 290 omitted

# reduce 291 omitted

# reduce 292 omitted

# reduce 293 omitted

# reduce 294 omitted

# reduce 295 omitted

# reduce 296 omitted

# reduce 297 omitted

# reduce 298 omitted

# reduce 299 omitted

# reduce 300 omitted

# reduce 301 omitted

module_eval(<<'.,.,', 'egrammar.ra', 925)
  def _reduce_302(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

Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]