puppet 4.0.0 → 4.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1327) hide show
  1. data/COMMITTERS.md +2 -2
  2. data/CONTRIBUTING.md +10 -10
  3. data/Gemfile +6 -8
  4. data/LICENSE +3 -3
  5. data/README.md +14 -10
  6. data/Rakefile +20 -0
  7. data/conf/auth.conf +2 -2
  8. data/conf/puppet.conf +1 -1
  9. data/ext/README.environment +1 -1
  10. data/ext/build_defaults.yaml +9 -36
  11. data/ext/debian/README.source +1 -1
  12. data/ext/debian/control +1 -1
  13. data/ext/debian/copyright +4 -4
  14. data/ext/debian/puppet.default +0 -5
  15. data/ext/debian/puppet.init +1 -16
  16. data/ext/debian/puppet.logrotate +14 -5
  17. data/ext/debian/puppetmaster.README.debian +11 -9
  18. data/ext/emacs/puppet-mode.el +1 -1
  19. data/ext/envpuppet +2 -2
  20. data/ext/ips/puppetagent.xml +1 -1
  21. data/ext/ips/puppetmaster.xml +1 -1
  22. data/ext/osx/puppet.plist +30 -0
  23. data/ext/project_data.yaml +11 -1
  24. data/ext/puppet-test +3 -3
  25. data/ext/rack/example-passenger-vhost.conf +1 -1
  26. data/ext/redhat/client.init +67 -17
  27. data/ext/redhat/client.sysconfig +1 -10
  28. data/ext/redhat/logrotate +15 -3
  29. data/ext/redhat/puppet.spec.erb +6 -11
  30. data/ext/redhat/server.init +1 -1
  31. data/ext/regexp_nodes/regexp_nodes.rb +1 -1
  32. data/ext/solaris/pkginfo +1 -1
  33. data/ext/solaris/smf/puppet +44 -0
  34. data/ext/solaris/smf/puppet.xml +44 -0
  35. data/ext/suse/client.init +30 -33
  36. data/ext/suse/puppet.spec +2 -2
  37. data/ext/suse/server.init +2 -2
  38. data/ext/systemd/puppet.service +3 -1
  39. data/ext/upload_facts.rb +1 -1
  40. data/ext/windows/puppet_interactive.bat +6 -0
  41. data/ext/windows/puppet_shell.bat +9 -0
  42. data/ext/windows/run_puppet_interactive.bat +9 -0
  43. data/ext/yaml_nodes.rb +1 -1
  44. data/install.rb +51 -59
  45. data/lib/hiera/puppet_function.rb +18 -7
  46. data/lib/hiera/scope.rb +1 -1
  47. data/lib/hiera_puppet.rb +6 -14
  48. data/lib/puppet/agent/locker.rb +11 -2
  49. data/lib/puppet/agent.rb +9 -24
  50. data/lib/puppet/application/agent.rb +39 -19
  51. data/lib/puppet/application/apply.rb +68 -15
  52. data/lib/puppet/application/ca.rb +1 -0
  53. data/lib/puppet/application/cert.rb +17 -1
  54. data/lib/puppet/application/device.rb +9 -4
  55. data/lib/puppet/application/filebucket.rb +79 -5
  56. data/lib/puppet/application/inspect.rb +2 -2
  57. data/lib/puppet/application/lookup.rb +342 -0
  58. data/lib/puppet/application/master.rb +22 -7
  59. data/lib/puppet/application/resource.rb +1 -5
  60. data/lib/puppet/configurer/plugin_handler.rb +6 -2
  61. data/lib/puppet/configurer.rb +116 -31
  62. data/lib/puppet/context/trusted_information.rb +21 -1
  63. data/lib/puppet/context.rb +16 -1
  64. data/lib/puppet/daemon.rb +17 -13
  65. data/lib/puppet/data_binding.rb +4 -2
  66. data/lib/puppet/data_providers/data_adapter.rb +7 -68
  67. data/lib/puppet/data_providers/data_function_support.rb +5 -26
  68. data/lib/puppet/data_providers/function_env_data_provider.rb +0 -10
  69. data/lib/puppet/data_providers/function_module_data_provider.rb +0 -22
  70. data/lib/puppet/data_providers/hiera_config.rb +129 -0
  71. data/lib/puppet/data_providers/hiera_env_data_provider.rb +18 -0
  72. data/lib/puppet/data_providers/hiera_interpolate.rb +19 -0
  73. data/lib/puppet/data_providers/hiera_module_data_provider.rb +23 -0
  74. data/lib/puppet/data_providers/hiera_support.rb +37 -0
  75. data/lib/puppet/data_providers/json_data_provider_factory.rb +24 -0
  76. data/lib/puppet/data_providers/lookup_adapter.rb +247 -0
  77. data/lib/puppet/data_providers/yaml_data_provider_factory.rb +26 -0
  78. data/lib/puppet/data_providers.rb +12 -13
  79. data/lib/puppet/defaults.rb +202 -47
  80. data/lib/puppet/environments.rb +98 -8
  81. data/lib/puppet/error.rb +31 -1
  82. data/lib/puppet/face/config.rb +1 -1
  83. data/lib/puppet/face/epp.rb +1 -1
  84. data/lib/puppet/face/help/man.erb +1 -1
  85. data/lib/puppet/face/module/changes.rb +2 -1
  86. data/lib/puppet/face/module/install.rb +6 -6
  87. data/lib/puppet/face/parser.rb +12 -9
  88. data/lib/puppet/face/plugin.rb +7 -14
  89. data/lib/puppet/face/status.rb +2 -1
  90. data/lib/puppet/feature/cfacter.rb +1 -0
  91. data/lib/puppet/feature/cfpropertylist.rb +3 -0
  92. data/lib/puppet/feature/telnet.rb +9 -0
  93. data/lib/puppet/file_bucket/dipper.rb +58 -2
  94. data/lib/puppet/file_serving/http_metadata.rb +46 -0
  95. data/lib/puppet/file_serving/metadata.rb +30 -9
  96. data/lib/puppet/file_serving/terminus_helper.rb +7 -8
  97. data/lib/puppet/file_serving/terminus_selector.rb +2 -0
  98. data/lib/puppet/file_system/file_impl.rb +6 -2
  99. data/lib/puppet/file_system/memory_impl.rb +5 -1
  100. data/lib/puppet/file_system/uniquefile.rb +3 -3
  101. data/lib/puppet/file_system/windows.rb +12 -16
  102. data/lib/puppet/file_system.rb +15 -2
  103. data/lib/puppet/forge/repository.rb +1 -32
  104. data/lib/puppet/forge.rb +1 -1
  105. data/lib/puppet/functions/assert_type.rb +57 -21
  106. data/lib/puppet/functions/defined.rb +161 -0
  107. data/lib/puppet/functions/dig.rb +39 -0
  108. data/lib/puppet/functions/each.rb +89 -39
  109. data/lib/puppet/functions/epp.rb +29 -37
  110. data/lib/puppet/functions/filter.rb +64 -38
  111. data/lib/puppet/functions/hiera.rb +76 -3
  112. data/lib/puppet/functions/hiera_array.rb +65 -3
  113. data/lib/puppet/functions/hiera_hash.rb +74 -2
  114. data/lib/puppet/functions/hiera_include.rb +77 -4
  115. data/lib/puppet/functions/inline_epp.rb +44 -71
  116. data/lib/puppet/functions/lest.rb +53 -0
  117. data/lib/puppet/functions/lookup.rb +172 -184
  118. data/lib/puppet/functions/map.rb +60 -33
  119. data/lib/puppet/functions/match.rb +30 -12
  120. data/lib/puppet/functions/new.rb +502 -0
  121. data/lib/puppet/functions/reduce.rb +99 -70
  122. data/lib/puppet/functions/regsubst.rb +12 -11
  123. data/lib/puppet/functions/reverse_each.rb +82 -0
  124. data/lib/puppet/functions/scanf.rb +15 -18
  125. data/lib/puppet/functions/slice.rb +22 -36
  126. data/lib/puppet/functions/split.rb +3 -3
  127. data/lib/puppet/functions/step.rb +88 -0
  128. data/lib/puppet/functions/then.rb +74 -0
  129. data/lib/puppet/functions/type.rb +70 -0
  130. data/lib/puppet/functions/versioncmp.rb +36 -0
  131. data/lib/puppet/functions/with.rb +15 -7
  132. data/lib/puppet/functions.rb +149 -13
  133. data/lib/puppet/graph/rb_tree_map.rb +1 -1
  134. data/lib/puppet/indirector/catalog/compiler.rb +196 -9
  135. data/lib/puppet/indirector/catalog/static_compiler.rb +46 -30
  136. data/lib/puppet/indirector/data_binding/none.rb +4 -1
  137. data/lib/puppet/indirector/facts/facter.rb +8 -0
  138. data/lib/puppet/indirector/file_bucket_file/file.rb +58 -1
  139. data/lib/puppet/indirector/file_content/http.rb +15 -0
  140. data/lib/puppet/indirector/file_metadata/http.rb +27 -0
  141. data/lib/puppet/indirector/generic_http.rb +16 -0
  142. data/lib/puppet/indirector/hiera.rb +7 -1
  143. data/lib/puppet/indirector/indirection.rb +12 -3
  144. data/lib/puppet/indirector/json.rb +3 -3
  145. data/lib/puppet/indirector/msgpack.rb +2 -2
  146. data/lib/puppet/indirector/node/exec.rb +1 -1
  147. data/lib/puppet/indirector/node/ldap.rb +1 -1
  148. data/lib/puppet/indirector/request.rb +7 -8
  149. data/lib/puppet/indirector/resource_type/parser.rb +10 -3
  150. data/lib/puppet/indirector/rest.rb +7 -2
  151. data/lib/puppet/indirector/terminus.rb +4 -4
  152. data/lib/puppet/info_service/class_information_service.rb +112 -0
  153. data/lib/puppet/info_service.rb +7 -0
  154. data/lib/puppet/loaders.rb +4 -0
  155. data/lib/puppet/metatype/manager.rb +19 -2
  156. data/lib/puppet/module.rb +26 -17
  157. data/lib/puppet/module_tool/applications/application.rb +1 -1
  158. data/lib/puppet/module_tool/applications/builder.rb +2 -2
  159. data/lib/puppet/module_tool/applications/unpacker.rb +1 -1
  160. data/lib/puppet/module_tool/metadata.rb +32 -9
  161. data/lib/puppet/module_tool/skeleton/templates/generator/Gemfile +14 -3
  162. data/lib/puppet/module_tool/skeleton/templates/generator/README.md.erb +42 -38
  163. data/lib/puppet/module_tool/skeleton/templates/generator/Rakefile +19 -4
  164. data/lib/puppet/module_tool/skeleton/templates/generator/{tests → examples}/init.pp.erb +2 -2
  165. data/lib/puppet/module_tool/skeleton/templates/generator/manifests/init.pp.erb +25 -18
  166. data/lib/puppet/module_tool/skeleton/templates/generator/spec/classes/init_spec.rb.erb +1 -2
  167. data/lib/puppet/module_tool/tar/mini.rb +3 -3
  168. data/lib/puppet/network/auth_config_parser.rb +1 -1
  169. data/lib/puppet/network/authconfig.rb +21 -1
  170. data/lib/puppet/network/authorization.rb +8 -1
  171. data/lib/puppet/network/http/api/indirected_routes.rb +0 -2
  172. data/lib/puppet/network/http/api/master/v3/environment.rb +63 -0
  173. data/lib/puppet/network/http/api/master/v3.rb +7 -1
  174. data/lib/puppet/network/http/factory.rb +8 -4
  175. data/lib/puppet/network/http/pool.rb +9 -0
  176. data/lib/puppet/network/http/rack/rest.rb +10 -1
  177. data/lib/puppet/node/environment.rb +35 -11
  178. data/lib/puppet/node.rb +39 -8
  179. data/lib/puppet/parser/ast/pops_bridge.rb +85 -24
  180. data/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +64 -0
  181. data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +60 -0
  182. data/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +20 -0
  183. data/lib/puppet/parser/compiler/catalog_validator.rb +33 -0
  184. data/lib/puppet/parser/compiler.rb +305 -15
  185. data/lib/puppet/parser/e4_parser_adapter.rb +13 -12
  186. data/lib/puppet/parser/environment_compiler.rb +164 -0
  187. data/lib/puppet/parser/functions/assert_type.rb +46 -16
  188. data/lib/puppet/parser/functions/defined.rb +105 -44
  189. data/lib/puppet/parser/functions/each.rb +85 -27
  190. data/lib/puppet/parser/functions/epp.rb +29 -37
  191. data/lib/puppet/parser/functions/file.rb +3 -1
  192. data/lib/puppet/parser/functions/filter.rb +59 -23
  193. data/lib/puppet/parser/functions/fqdn_rand.rb +3 -3
  194. data/lib/puppet/parser/functions/hiera.rb +83 -27
  195. data/lib/puppet/parser/functions/hiera_array.rb +71 -28
  196. data/lib/puppet/parser/functions/hiera_hash.rb +81 -30
  197. data/lib/puppet/parser/functions/hiera_include.rb +81 -40
  198. data/lib/puppet/parser/functions/inline_epp.rb +35 -60
  199. data/lib/puppet/parser/functions/inline_template.rb +2 -2
  200. data/lib/puppet/parser/functions/lookup.rb +125 -149
  201. data/lib/puppet/parser/functions/map.rb +55 -20
  202. data/lib/puppet/parser/functions/match.rb +28 -12
  203. data/lib/puppet/parser/functions/reduce.rb +97 -60
  204. data/lib/puppet/parser/functions/scanf.rb +15 -26
  205. data/lib/puppet/parser/functions/slice.rb +17 -24
  206. data/lib/puppet/parser/functions/split.rb +1 -1
  207. data/lib/puppet/parser/functions/with.rb +16 -8
  208. data/lib/puppet/parser/functions.rb +28 -16
  209. data/lib/puppet/parser/resource.rb +119 -26
  210. data/lib/puppet/parser/scope.rb +233 -24
  211. data/lib/puppet/parser/templatewrapper.rb +2 -1
  212. data/lib/puppet/parser.rb +3 -0
  213. data/lib/puppet/plugins/configuration.rb +3 -2
  214. data/lib/puppet/plugins/data_providers/data_provider.rb +336 -0
  215. data/lib/puppet/plugins/data_providers/registry.rb +84 -0
  216. data/lib/puppet/plugins/data_providers.rb +12 -60
  217. data/lib/puppet/pops/adaptable.rb +4 -1
  218. data/lib/puppet/pops/adapters.rb +96 -12
  219. data/lib/puppet/pops/binder/binder.rb +21 -17
  220. data/lib/puppet/pops/binder/binder_issues.rb +8 -6
  221. data/lib/puppet/pops/binder/bindings_checker.rb +12 -8
  222. data/lib/puppet/pops/binder/bindings_composer.rb +16 -12
  223. data/lib/puppet/pops/binder/bindings_factory.rb +108 -104
  224. data/lib/puppet/pops/binder/bindings_label_provider.rb +3 -1
  225. data/lib/puppet/pops/binder/bindings_loader.rb +6 -2
  226. data/lib/puppet/pops/binder/bindings_model.rb +49 -47
  227. data/lib/puppet/pops/binder/bindings_model_meta.rb +2 -2
  228. data/lib/puppet/pops/binder/config/binder_config.rb +1 -1
  229. data/lib/puppet/pops/binder/config/diagnostic_producer.rb +10 -6
  230. data/lib/puppet/pops/binder/injector.rb +55 -50
  231. data/lib/puppet/pops/binder/key_factory.rb +10 -12
  232. data/lib/puppet/pops/binder/producers.rb +67 -62
  233. data/lib/puppet/pops/binder/scheme_handler/module_scheme.rb +68 -9
  234. data/lib/puppet/pops/evaluator/access_operator.rb +189 -138
  235. data/lib/puppet/pops/evaluator/closure.rb +151 -104
  236. data/lib/puppet/pops/evaluator/collector_transformer.rb +35 -25
  237. data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +1 -1
  238. data/lib/puppet/pops/evaluator/collectors/catalog_collector.rb +4 -0
  239. data/lib/puppet/pops/evaluator/collectors/exported_collector.rb +4 -1
  240. data/lib/puppet/pops/evaluator/compare_operator.rb +87 -10
  241. data/lib/puppet/pops/evaluator/epp_evaluator.rb +16 -10
  242. data/lib/puppet/pops/evaluator/evaluator_impl.rb +204 -111
  243. data/lib/puppet/pops/evaluator/json_strict_literal_evaluator.rb +85 -0
  244. data/lib/puppet/pops/evaluator/literal_evaluator.rb +88 -0
  245. data/lib/puppet/pops/evaluator/relationship_operator.rb +19 -11
  246. data/lib/puppet/pops/evaluator/runtime3_converter.rb +19 -2
  247. data/lib/puppet/pops/evaluator/runtime3_support.rb +95 -44
  248. data/lib/puppet/pops/functions/dispatch.rb +6 -1
  249. data/lib/puppet/pops/functions/dispatcher.rb +10 -4
  250. data/lib/puppet/pops/functions/function.rb +6 -2
  251. data/lib/puppet/pops/issue_reporter.rb +48 -20
  252. data/lib/puppet/pops/issues.rb +194 -17
  253. data/lib/puppet/pops/label_provider.rb +1 -1
  254. data/lib/puppet/pops/loader/base_loader.rb +48 -7
  255. data/lib/puppet/pops/loader/dependency_loader.rb +27 -2
  256. data/lib/puppet/pops/loader/loader.rb +23 -0
  257. data/lib/puppet/pops/loader/loader_paths.rb +82 -6
  258. data/lib/puppet/pops/loader/module_loaders.rb +36 -21
  259. data/lib/puppet/pops/loader/predefined_loader.rb +29 -0
  260. data/lib/puppet/pops/loader/puppet_function_instantiator.rb +83 -0
  261. data/lib/puppet/pops/loader/ruby_function_instantiator.rb +16 -3
  262. data/lib/puppet/pops/loader/runtime3_type_loader.rb +57 -0
  263. data/lib/puppet/pops/loader/static_loader.rb +92 -5
  264. data/lib/puppet/pops/loader/type_definition_instantiator.rb +77 -0
  265. data/lib/puppet/pops/loaders.rb +133 -19
  266. data/lib/puppet/pops/lookup/explainer.rb +509 -0
  267. data/lib/puppet/pops/lookup/interpolation.rb +115 -0
  268. data/lib/puppet/pops/lookup/invocation.rb +119 -0
  269. data/lib/puppet/pops/lookup/sub_lookup.rb +86 -0
  270. data/lib/puppet/pops/lookup.rb +35 -52
  271. data/lib/puppet/pops/merge_strategy.rb +85 -30
  272. data/lib/puppet/pops/migration/migration_checker.rb +54 -0
  273. data/lib/puppet/pops/model/ast_transformer.rb +8 -1
  274. data/lib/puppet/pops/model/factory.rb +242 -158
  275. data/lib/puppet/pops/model/model.rb +25 -8
  276. data/lib/puppet/pops/model/model_label_provider.rb +25 -6
  277. data/lib/puppet/pops/model/model_meta.rb +48 -3
  278. data/lib/puppet/pops/model/model_tree_dumper.rb +30 -0
  279. data/lib/puppet/pops/parser/code_merger.rb +13 -1
  280. data/lib/puppet/pops/parser/egrammar.ra +133 -30
  281. data/lib/puppet/pops/parser/eparser.rb +1738 -1254
  282. data/lib/puppet/pops/parser/epp_support.rb +27 -12
  283. data/lib/puppet/pops/parser/evaluating_parser.rb +27 -13
  284. data/lib/puppet/pops/parser/heredoc_support.rb +19 -14
  285. data/lib/puppet/pops/parser/interpolation_support.rb +7 -1
  286. data/lib/puppet/pops/parser/lexer2.rb +452 -379
  287. data/lib/puppet/pops/parser/lexer_support.rb +132 -25
  288. data/lib/puppet/pops/parser/locator.rb +30 -5
  289. data/lib/puppet/pops/parser/parser_support.rb +49 -37
  290. data/lib/puppet/pops/parser/slurp_support.rb +32 -8
  291. data/lib/puppet/pops/patterns.rb +3 -0
  292. data/lib/puppet/pops/pcore.rb +30 -0
  293. data/lib/puppet/pops/types/class_loader.rb +25 -23
  294. data/lib/puppet/pops/types/enumeration.rb +9 -27
  295. data/lib/puppet/pops/types/implementation_registry.rb +146 -0
  296. data/lib/puppet/pops/types/iterable.rb +308 -0
  297. data/lib/puppet/pops/types/p_object_type.rb +846 -0
  298. data/lib/puppet/pops/types/p_runtime_type.rb +102 -0
  299. data/lib/puppet/pops/types/p_sem_ver_range_type.rb +164 -0
  300. data/lib/puppet/pops/types/p_sem_ver_type.rb +113 -0
  301. data/lib/puppet/pops/types/puppet_object.rb +21 -0
  302. data/lib/puppet/pops/types/recursion_guard.rb +92 -0
  303. data/lib/puppet/pops/types/ruby_generator.rb +258 -0
  304. data/lib/puppet/pops/types/string_converter.rb +922 -0
  305. data/lib/puppet/pops/types/type_acceptor.rb +25 -0
  306. data/lib/puppet/pops/types/type_asserter.rb +21 -19
  307. data/lib/puppet/pops/types/type_assertion_error.rb +1 -0
  308. data/lib/puppet/pops/types/type_calculator.rb +213 -1184
  309. data/lib/puppet/pops/types/type_conversion_error.rb +15 -0
  310. data/lib/puppet/pops/types/type_factory.rb +216 -157
  311. data/lib/puppet/pops/types/type_formatter.rb +569 -0
  312. data/lib/puppet/pops/types/type_mismatch_describer.rb +1001 -0
  313. data/lib/puppet/pops/types/type_parser.rb +332 -279
  314. data/lib/puppet/pops/types/types.rb +2770 -288
  315. data/lib/puppet/pops/utils.rb +11 -10
  316. data/lib/puppet/pops/validation/checker4_0.rb +266 -72
  317. data/lib/puppet/pops/validation/validator_factory_4_0.rb +12 -5
  318. data/lib/puppet/pops/validation.rb +43 -13
  319. data/lib/puppet/pops/visitor.rb +3 -1
  320. data/lib/puppet/pops.rb +29 -24
  321. data/lib/puppet/property/ensure.rb +1 -1
  322. data/lib/puppet/property.rb +1 -1
  323. data/lib/puppet/provider/aixobject.rb +1 -1
  324. data/lib/puppet/provider/augeas/augeas.rb +57 -2
  325. data/lib/puppet/provider/cron/crontab.rb +1 -1
  326. data/lib/puppet/provider/exec/windows.rb +1 -1
  327. data/lib/puppet/provider/exec.rb +6 -1
  328. data/lib/puppet/provider/group/directoryservice.rb +10 -0
  329. data/lib/puppet/provider/group/pw.rb +1 -0
  330. data/lib/puppet/provider/group/windows_adsi.rb +19 -6
  331. data/lib/puppet/provider/macauthorization/macauthorization.rb +10 -9
  332. data/lib/puppet/provider/mount/parsed.rb +159 -2
  333. data/lib/puppet/provider/nameservice/directoryservice.rb +35 -50
  334. data/lib/puppet/provider/package/appdmg.rb +3 -2
  335. data/lib/puppet/provider/package/apt.rb +1 -1
  336. data/lib/puppet/provider/package/dnf.rb +41 -0
  337. data/lib/puppet/provider/package/gem.rb +23 -2
  338. data/lib/puppet/provider/package/nim.rb +1 -1
  339. data/lib/puppet/provider/package/openbsd.rb +7 -7
  340. data/lib/puppet/provider/package/pacman.rb +9 -8
  341. data/lib/puppet/provider/package/pip.rb +80 -20
  342. data/lib/puppet/provider/package/pip3.rb +20 -0
  343. data/lib/puppet/provider/package/pkg.rb +1 -1
  344. data/lib/puppet/provider/package/pkgdmg.rb +7 -4
  345. data/lib/puppet/provider/package/pkgin.rb +3 -3
  346. data/lib/puppet/provider/package/pkgng.rb +143 -0
  347. data/lib/puppet/provider/package/portage.rb +1 -1
  348. data/lib/puppet/provider/package/ports.rb +0 -3
  349. data/lib/puppet/provider/package/puppet_gem.rb +0 -0
  350. data/lib/puppet/provider/package/rpm.rb +120 -14
  351. data/lib/puppet/provider/package/windows/exe_package.rb +10 -9
  352. data/lib/puppet/provider/package/windows/msi_package.rb +4 -4
  353. data/lib/puppet/provider/package/windows/package.rb +9 -1
  354. data/lib/puppet/provider/package/windows.rb +1 -1
  355. data/lib/puppet/provider/package/yum.rb +31 -80
  356. data/lib/puppet/provider/package/zypper.rb +69 -15
  357. data/lib/puppet/provider/package.rb +6 -2
  358. data/lib/puppet/provider/scheduled_task/win32_taskscheduler.rb +32 -7
  359. data/lib/puppet/provider/service/base.rb +3 -2
  360. data/lib/puppet/provider/service/bsd.rb +8 -8
  361. data/lib/puppet/provider/service/daemontools.rb +3 -3
  362. data/lib/puppet/provider/service/debian.rb +12 -3
  363. data/lib/puppet/provider/service/freebsd.rb +1 -1
  364. data/lib/puppet/provider/service/init.rb +22 -0
  365. data/lib/puppet/provider/service/launchd.rb +41 -18
  366. data/lib/puppet/provider/service/rcng.rb +51 -0
  367. data/lib/puppet/provider/service/redhat.rb +2 -1
  368. data/lib/puppet/provider/service/runit.rb +3 -3
  369. data/lib/puppet/provider/service/smf.rb +48 -4
  370. data/lib/puppet/provider/service/src.rb +27 -0
  371. data/lib/puppet/provider/service/systemd.rb +104 -22
  372. data/lib/puppet/provider/service/upstart.rb +1 -1
  373. data/lib/puppet/provider/sshkey/parsed.rb +20 -10
  374. data/lib/puppet/provider/user/aix.rb +1 -1
  375. data/lib/puppet/provider/user/directoryservice.rb +33 -58
  376. data/lib/puppet/provider/user/openbsd.rb +1 -0
  377. data/lib/puppet/provider/user/pw.rb +1 -0
  378. data/lib/puppet/provider/user/user_role_add.rb +3 -1
  379. data/lib/puppet/provider/user/windows_adsi.rb +45 -2
  380. data/lib/puppet/provider/yumrepo/inifile.rb +6 -3
  381. data/lib/puppet/provider/zfs/zfs.rb +1 -1
  382. data/lib/puppet/provider/zone/solaris.rb +2 -2
  383. data/lib/puppet/provider/zpool/zpool.rb +1 -1
  384. data/lib/puppet/provider.rb +5 -0
  385. data/lib/puppet/reference/configuration.rb +11 -5
  386. data/lib/puppet/reference/indirection.rb +1 -1
  387. data/lib/puppet/reference/providers.rb +2 -3
  388. data/lib/puppet/reference/report.rb +9 -12
  389. data/lib/puppet/reports.rb +5 -1
  390. data/lib/puppet/resource/capability_finder.rb +102 -0
  391. data/lib/puppet/resource/catalog.rb +133 -36
  392. data/lib/puppet/resource/status.rb +19 -3
  393. data/lib/puppet/resource/type.rb +236 -49
  394. data/lib/puppet/resource/type_collection.rb +83 -10
  395. data/lib/puppet/resource.rb +116 -119
  396. data/lib/puppet/settings/base_setting.rb +9 -3
  397. data/lib/puppet/settings/config_file.rb +1 -1
  398. data/lib/puppet/settings/environment_conf.rb +13 -5
  399. data/lib/puppet/settings/file_setting.rb +10 -9
  400. data/lib/puppet/settings/symbolic_enum_setting.rb +17 -0
  401. data/lib/puppet/settings.rb +68 -20
  402. data/lib/puppet/ssl/certificate_authority/interface.rb +2 -2
  403. data/lib/puppet/ssl/certificate_factory.rb +3 -3
  404. data/lib/puppet/ssl/certificate_request.rb +4 -4
  405. data/lib/puppet/ssl/certificate_signer.rb +1 -1
  406. data/lib/puppet/ssl/oids.rb +33 -3
  407. data/lib/puppet/ssl/validator/default_validator.rb +1 -1
  408. data/lib/puppet/test/test_helper.rb +16 -5
  409. data/lib/puppet/transaction/additional_resource_generator.rb +89 -8
  410. data/lib/puppet/transaction/report.rb +31 -1
  411. data/lib/puppet/transaction/resource_harness.rb +0 -20
  412. data/lib/puppet/transaction.rb +46 -36
  413. data/lib/puppet/type/augeas.rb +10 -1
  414. data/lib/puppet/type/cron.rb +12 -12
  415. data/lib/puppet/type/exec.rb +27 -18
  416. data/lib/puppet/type/file/checksum_value.rb +53 -0
  417. data/lib/puppet/type/file/content.rb +32 -117
  418. data/lib/puppet/type/file/data_sync.rb +84 -0
  419. data/lib/puppet/type/file/ensure.rb +22 -19
  420. data/lib/puppet/type/file/selcontext.rb +1 -1
  421. data/lib/puppet/type/file/source.rb +121 -34
  422. data/lib/puppet/type/file/target.rb +2 -2
  423. data/lib/puppet/type/file.rb +107 -44
  424. data/lib/puppet/type/filebucket.rb +1 -1
  425. data/lib/puppet/type/group.rb +15 -3
  426. data/lib/puppet/type/interface.rb +8 -3
  427. data/lib/puppet/type/macauthorization.rb +1 -1
  428. data/lib/puppet/type/mount.rb +29 -2
  429. data/lib/puppet/type/package.rb +31 -11
  430. data/lib/puppet/type/schedule.rb +5 -5
  431. data/lib/puppet/type/scheduled_task.rb +13 -0
  432. data/lib/puppet/type/service.rb +24 -0
  433. data/lib/puppet/type/sshkey.rb +5 -3
  434. data/lib/puppet/type/stage.rb +1 -1
  435. data/lib/puppet/type/tidy.rb +6 -4
  436. data/lib/puppet/type/user.rb +55 -19
  437. data/lib/puppet/type/yumrepo.rb +25 -5
  438. data/lib/puppet/type/zone.rb +5 -5
  439. data/lib/puppet/type.rb +95 -18
  440. data/lib/puppet/util/autoload.rb +16 -11
  441. data/lib/puppet/util/checksums.rb +74 -31
  442. data/lib/puppet/util/command_line.rb +4 -0
  443. data/lib/puppet/util/execution.rb +21 -5
  444. data/lib/puppet/util/feature.rb +1 -1
  445. data/lib/puppet/util/http_proxy.rb +132 -0
  446. data/lib/puppet/util/log/destinations.rb +23 -2
  447. data/lib/puppet/util/log.rb +53 -9
  448. data/lib/puppet/util/logging.rb +80 -2
  449. data/lib/puppet/util/monkey_patches.rb +20 -7
  450. data/lib/puppet/util/multi_match.rb +51 -0
  451. data/lib/puppet/util/network_device/cisco/device.rb +24 -6
  452. data/lib/puppet/util/network_device/cisco/interface.rb +21 -9
  453. data/lib/puppet/util/network_device/transport/ssh.rb +7 -3
  454. data/lib/puppet/util/network_device/transport/telnet.rb +39 -36
  455. data/lib/puppet/util/plist.rb +130 -0
  456. data/lib/puppet/util/resource_template.rb +1 -1
  457. data/lib/puppet/util/run_mode.rb +3 -16
  458. data/lib/puppet/util/skip_tags.rb +9 -0
  459. data/lib/puppet/util/splayer.rb +18 -0
  460. data/lib/puppet/util/tagging.rb +7 -1
  461. data/lib/puppet/util/windows/access_control_entry.rb +1 -1
  462. data/lib/puppet/util/windows/access_control_list.rb +3 -3
  463. data/lib/puppet/util/windows/adsi.rb +186 -74
  464. data/lib/puppet/util/windows/api_types.rb +24 -18
  465. data/lib/puppet/util/windows/com.rb +3 -3
  466. data/lib/puppet/util/windows/error.rb +1 -1
  467. data/lib/puppet/util/windows/file.rb +48 -18
  468. data/lib/puppet/util/windows/principal.rb +190 -0
  469. data/lib/puppet/util/windows/process.rb +78 -11
  470. data/lib/puppet/util/windows/registry.rb +22 -16
  471. data/lib/puppet/util/windows/root_certs.rb +5 -5
  472. data/lib/puppet/util/windows/security.rb +37 -36
  473. data/lib/puppet/util/windows/security_descriptor.rb +1 -1
  474. data/lib/puppet/util/windows/sid.rb +84 -15
  475. data/lib/puppet/util/windows/taskscheduler.rb +16 -16
  476. data/lib/puppet/util/windows/user.rb +10 -10
  477. data/lib/puppet/util/windows.rb +5 -0
  478. data/lib/puppet/util.rb +123 -23
  479. data/lib/puppet/vendor/deep_merge/deep_merge.gemspec +1 -1
  480. data/lib/puppet/vendor/pathspec/LICENSE +2 -2
  481. data/lib/puppet/vendor/pathspec/README.md +1 -1
  482. data/lib/puppet/vendor/rgen/README.rdoc +1 -1
  483. data/lib/puppet/vendor/semantic/lib/semantic/dependency/module_release.rb +14 -0
  484. data/lib/puppet/version.rb +1 -1
  485. data/lib/puppet.rb +30 -1
  486. data/lib/semver.rb +17 -1
  487. data/man/man5/puppet.conf.5 +60 -18
  488. data/man/man8/extlookup2hiera.8 +2 -2
  489. data/man/man8/puppet-agent.8 +6 -3
  490. data/man/man8/puppet-apply.8 +6 -3
  491. data/man/man8/puppet-ca.8 +3 -3
  492. data/man/man8/puppet-catalog.8 +3 -3
  493. data/man/man8/puppet-cert.8 +3 -3
  494. data/man/man8/puppet-certificate.8 +3 -3
  495. data/man/man8/puppet-certificate_request.8 +3 -3
  496. data/man/man8/puppet-certificate_revocation_list.8 +3 -3
  497. data/man/man8/puppet-config.8 +4 -4
  498. data/man/man8/puppet-describe.8 +2 -2
  499. data/man/man8/puppet-device.8 +7 -4
  500. data/man/man8/puppet-doc.8 +2 -2
  501. data/man/man8/puppet-epp.8 +3 -3
  502. data/man/man8/puppet-facts.8 +3 -3
  503. data/man/man8/puppet-file.8 +3 -3
  504. data/man/man8/puppet-filebucket.8 +3 -3
  505. data/man/man8/puppet-help.8 +3 -3
  506. data/man/man8/puppet-inspect.8 +3 -3
  507. data/man/man8/puppet-key.8 +3 -3
  508. data/man/man8/puppet-man.8 +3 -3
  509. data/man/man8/puppet-master.8 +6 -3
  510. data/man/man8/puppet-module.8 +10 -10
  511. data/man/man8/puppet-node.8 +3 -3
  512. data/man/man8/puppet-parser.8 +3 -3
  513. data/man/man8/puppet-plugin.8 +3 -3
  514. data/man/man8/puppet-report.8 +3 -3
  515. data/man/man8/puppet-resource.8 +3 -3
  516. data/man/man8/puppet-resource_type.8 +3 -3
  517. data/man/man8/puppet-status.8 +4 -4
  518. data/man/man8/puppet.8 +2 -2
  519. data/spec/fixtures/module.tar.gz +0 -0
  520. data/spec/fixtures/unit/application/environments/production/data/common.yaml +20 -0
  521. data/spec/fixtures/unit/application/environments/production/environment.conf +1 -0
  522. data/spec/fixtures/unit/application/environments/production/manifests/site.pp +1 -0
  523. data/spec/fixtures/unit/application/environments/puppet_func_provider/environment.conf +1 -0
  524. data/spec/fixtures/unit/application/environments/puppet_func_provider/functions/data.pp +10 -0
  525. data/spec/fixtures/unit/application/environments/puppet_func_provider/manifests/site.pp +1 -0
  526. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_json/data/bad.json +3 -0
  527. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_json/environment.conf +2 -0
  528. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_json/hiera.yaml +5 -0
  529. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_json/manifests/site.pp +5 -0
  530. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_yaml/data/bad.yaml +3 -0
  531. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_yaml/environment.conf +2 -0
  532. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_yaml/hiera.yaml +5 -0
  533. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_yaml/manifests/site.pp +5 -0
  534. data/spec/fixtures/unit/data_providers/environments/hiera_defaults/data/common.yaml +2 -0
  535. data/spec/fixtures/unit/data_providers/environments/hiera_defaults/environment.conf +2 -0
  536. data/spec/fixtures/unit/data_providers/environments/hiera_defaults/manifests/site.pp +1 -0
  537. data/spec/fixtures/unit/data_providers/environments/hiera_defaults/modules/one/data/common.yaml +2 -0
  538. data/spec/fixtures/unit/data_providers/environments/hiera_defaults/modules/one/manifests/init.pp +5 -0
  539. data/spec/fixtures/unit/data_providers/environments/hiera_defaults/modules/one/metadata.json +9 -0
  540. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/first.json +3 -0
  541. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/name.yaml +2 -0
  542. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/second.json +3 -0
  543. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/single.yaml +2 -0
  544. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/third_utf8.json +3 -0
  545. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/utf8.yaml +3 -0
  546. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data2/single.yaml +2 -0
  547. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/environment.conf +2 -0
  548. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/hiera.yaml +22 -0
  549. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/manifests/site.pp +5 -0
  550. data/spec/fixtures/unit/data_providers/environments/hiera_misc/data/common.yaml +46 -0
  551. data/spec/fixtures/unit/data_providers/environments/hiera_misc/environment.conf +2 -0
  552. data/spec/fixtures/unit/data_providers/environments/hiera_misc/manifests/site.pp +1 -0
  553. data/spec/fixtures/unit/data_providers/environments/hiera_misc/modules/one/data/common.yaml +30 -0
  554. data/spec/fixtures/unit/data_providers/environments/hiera_misc/modules/one/manifests/init.pp +13 -0
  555. data/spec/fixtures/unit/data_providers/environments/hiera_misc/modules/one/metadata.json +9 -0
  556. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/data/common.yaml +4 -0
  557. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/data/specific.yaml +4 -0
  558. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/environment.conf +2 -0
  559. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/hiera.yaml +7 -0
  560. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/manifests/site.pp +1 -0
  561. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data1/first.json +3 -0
  562. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data1/name.yaml +1 -0
  563. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data1/second.json +3 -0
  564. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data1/single.yaml +2 -0
  565. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data2/single.yaml +2 -0
  566. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/hiera.yaml +18 -0
  567. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/manifests/init.pp +5 -0
  568. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/metadata.json +9 -0
  569. data/spec/fixtures/unit/data_providers/environments/hiera_modules/data/common.yaml +4 -0
  570. data/spec/fixtures/unit/data_providers/environments/hiera_modules/data/specific.yaml +4 -0
  571. data/spec/fixtures/unit/data_providers/environments/hiera_modules/environment.conf +2 -0
  572. data/spec/fixtures/unit/data_providers/environments/hiera_modules/hiera.yaml +7 -0
  573. data/spec/fixtures/unit/data_providers/environments/hiera_modules/manifests/site.pp +1 -0
  574. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/one/data/common.yaml +6 -0
  575. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/one/hiera.yaml +5 -0
  576. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/one/manifests/init.pp +2 -0
  577. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/one/metadata.json +9 -0
  578. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/two/data/common.yaml +4 -0
  579. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/two/hiera.yaml +5 -0
  580. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/two/manifests/init.pp +3 -0
  581. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/two/metadata.json +9 -0
  582. data/spec/fixtures/unit/data_providers/environments/production/lib/puppet/functions/environment/data.rb +3 -1
  583. data/spec/fixtures/unit/data_providers/environments/production/modules/abc/lib/puppet/functions/abc/data.rb +2 -1
  584. data/spec/fixtures/unit/data_providers/environments/production/modules/abc/manifests/init.pp +2 -1
  585. data/spec/fixtures/unit/data_providers/environments/production/modules/xyz/functions/data.pp +6 -0
  586. data/spec/fixtures/unit/data_providers/environments/production/modules/xyz/lib/puppet/bindings/xyz/default.rb +9 -0
  587. data/spec/fixtures/unit/data_providers/environments/production/modules/xyz/manifests/init.pp +9 -0
  588. data/spec/fixtures/unit/data_providers/environments/sample/modules/dataprovider/lib/puppet_x/helindbe/sample_env_data.rb +1 -0
  589. data/spec/fixtures/unit/data_providers/environments/sample/modules/dataprovider/lib/puppet_x/helindbe/sample_module_data.rb +1 -0
  590. data/spec/fixtures/unit/functions/lookup/environments/production/modules/bad_data/lib/puppet/functions/bad_data/data.rb +1 -0
  591. data/spec/fixtures/unit/functions/lookup/environments/production/modules/bad_data/manifests/init.pp +0 -1
  592. data/spec/fixtures/unit/functions/lookup/environments/production/modules/empty_json/data/empty.json +0 -0
  593. data/spec/fixtures/unit/functions/lookup/environments/production/modules/empty_json/hiera.yaml +5 -0
  594. data/spec/fixtures/unit/functions/lookup/environments/production/modules/empty_json/manifests/init.pp +2 -0
  595. data/spec/fixtures/unit/functions/lookup/environments/production/modules/empty_json/metadata.json +9 -0
  596. data/spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_json/data/empty_key.json +1 -0
  597. data/spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_json/hiera.yaml +5 -0
  598. data/spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_json/manifests/init.pp +2 -0
  599. data/spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_json/metadata.json +9 -0
  600. data/spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_yaml/data/empty_key.yaml +1 -0
  601. data/spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_yaml/hiera.yaml +5 -0
  602. data/spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_yaml/manifests/init.pp +2 -0
  603. data/spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_yaml/metadata.json +9 -0
  604. data/spec/fixtures/unit/functions/lookup/environments/production/modules/empty_yaml/data/empty.yaml +2 -0
  605. data/spec/fixtures/unit/functions/lookup/environments/production/modules/empty_yaml/hiera.yaml +5 -0
  606. data/spec/fixtures/unit/functions/lookup/environments/production/modules/empty_yaml/manifests/init.pp +2 -0
  607. data/spec/fixtures/unit/functions/lookup/environments/production/modules/empty_yaml/metadata.json +9 -0
  608. data/spec/fixtures/unit/functions/lookup/environments/production/modules/hieraprovider/data/first.json +4 -0
  609. data/spec/fixtures/unit/functions/lookup/environments/production/modules/hieraprovider/hiera.yaml +8 -0
  610. data/spec/fixtures/unit/functions/lookup/environments/production/modules/hieraprovider/manifests/init.pp +5 -0
  611. data/spec/fixtures/unit/functions/lookup/environments/production/modules/hieraprovider/metadata.json +9 -0
  612. data/spec/fixtures/unit/functions/lookup/environments/production/modules/meta/lib/puppet/functions/meta/data.rb +9 -0
  613. data/spec/fixtures/unit/functions/lookup/environments/production/modules/meta/manifests/init.pp +3 -0
  614. data/spec/fixtures/unit/functions/lookup/environments/production/modules/meta/metadata.json +9 -0
  615. data/spec/fixtures/unit/functions/lookup/environments/production/modules/metawcp/lib/puppet/bindings/metawcp/default.rb +10 -0
  616. data/spec/fixtures/unit/functions/lookup/environments/production/modules/metawcp/lib/puppet_x/thallgren/sample_module_data.rb +23 -0
  617. data/spec/fixtures/unit/functions/lookup/environments/production/modules/metawcp/manifests/init.pp +3 -0
  618. data/spec/fixtures/unit/functions/lookup/environments/production/modules/metawcp/metadata.json +9 -0
  619. data/spec/fixtures/unit/module/trailing-comma.json +1 -1
  620. data/spec/fixtures/unit/parser/lexer/subclass_name_duplication.pp +0 -0
  621. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/functions/usee_puppet.pp +3 -0
  622. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/lib/puppet/functions/usee/usee_ruby.rb +6 -0
  623. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/lib/puppet/type/usee_type.rb +5 -0
  624. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/manifests/init.pp +8 -0
  625. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/types/zero.pp +1 -0
  626. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee2/lib/puppet/functions/usee2/callee.rb +5 -0
  627. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/functions/puppet_calling_puppet.pp +5 -0
  628. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/functions/puppet_calling_puppet_init.pp +5 -0
  629. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/functions/puppet_calling_ruby.pp +5 -0
  630. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/lib/puppet/functions/user/caller2.rb +5 -0
  631. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/lib/puppet/functions/user/ruby_calling_puppet.rb +5 -0
  632. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/lib/puppet/functions/user/ruby_calling_puppet_init.rb +5 -0
  633. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/lib/puppet/functions/user/ruby_calling_ruby.rb +5 -0
  634. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/manifests/init.pp +87 -0
  635. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/{user → modules/user}/metadata.json +2 -1
  636. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/types/withuseeone.pp +1 -0
  637. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/types/withuseezero.pp +1 -0
  638. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/functions/puppetcalled.pp +3 -0
  639. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/functions/puppetcaller.pp +3 -0
  640. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/functions/puppetcaller4.pp +3 -0
  641. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/lib/puppet/functions/user/callingpuppet.rb +5 -0
  642. data/spec/fixtures/unit/pops/loaders/loaders/module_no_lib/modules/modulea/functions/hello.pp +3 -0
  643. data/spec/fixtures/unit/pops/loaders/loaders/module_no_lib/modules/modulea/manifests/init.pp +3 -0
  644. data/spec/fixtures/unit/pops/loaders/loaders/module_no_lib/modules/modulea/metadata.json +10 -0
  645. data/spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/functions/hello.pp +3 -0
  646. data/spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/functions/subspace/hello.pp +3 -0
  647. data/spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/metadata.json +1 -10
  648. data/spec/fixtures/unit/pops/parser/lexer/subclass_name_duplication.pp +0 -0
  649. data/spec/fixtures/unit/provider/mount/parsed/aix.filesystems +93 -85
  650. data/spec/fixtures/unit/provider/mount/parsed/aix.mount +11 -7
  651. data/spec/fixtures/unit/provider/package/pkgng/pkg.info +8 -0
  652. data/spec/fixtures/unit/provider/package/pkgng/pkg.query +1 -0
  653. data/spec/fixtures/unit/provider/package/pkgng/pkg.query_absent +1 -0
  654. data/spec/fixtures/unit/provider/package/pkgng/pkg.version +3 -0
  655. data/spec/fixtures/unit/provider/package/yum/yum-check-update-broken-notices.txt +187 -0
  656. data/spec/fixtures/unit/provider/package/yum/yum-check-update-obsoletes.txt +195 -0
  657. data/spec/fixtures/unit/provider/package/yum/yum-check-update-security.txt +184 -0
  658. data/spec/fixtures/unit/provider/package/zypper/zypper-list-updates-empty.out +3 -0
  659. data/spec/fixtures/unit/provider/service/smf/svcs.out +4 -3
  660. data/spec/fixtures/unit/provider/sshkey/parsed/sample_with_blank_lines +8 -0
  661. data/spec/fixtures/vcr/cassettes/Puppet_Network_HTTP_Connection/when_handling_requests/_request_get/should_yield_to_the_block.yml +24 -0
  662. data/spec/fixtures/vcr/cassettes/Puppet_Network_HTTP_Connection/when_handling_requests/_request_head/should_yield_to_the_block.yml +24 -0
  663. data/spec/fixtures/vcr/cassettes/Puppet_Network_HTTP_Connection/when_handling_requests/_request_post/should_yield_to_the_block.yml +24 -0
  664. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_md5/should_fetch_if_not_on_the_local_disk.yml +205 -0
  665. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_md5/should_not_update_if_content_on_disk_is_up-to-date.yml +213 -0
  666. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_md5/should_update_if_content_differs_on_disk.yml +213 -0
  667. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_mtime/should_fetch_if_mtime_is_older_on_disk.yml +205 -0
  668. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_mtime/should_fetch_if_no_header_specified.yml +197 -0
  669. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_mtime/should_fetch_if_not_on_the_local_disk.yml +205 -0
  670. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_mtime/should_not_update_if_mtime_is_newer_on_disk.yml +205 -0
  671. data/spec/integration/agent/logging_spec.rb +0 -0
  672. data/spec/integration/application/apply_spec.rb +121 -30
  673. data/spec/integration/application/doc_spec.rb +0 -0
  674. data/spec/integration/configurer_spec.rb +0 -0
  675. data/spec/integration/data_binding_spec.rb +195 -0
  676. data/spec/integration/defaults_spec.rb +14 -2
  677. data/spec/integration/faces/ca_spec.rb +0 -0
  678. data/spec/integration/faces/documentation_spec.rb +0 -0
  679. data/spec/integration/faces/plugin_spec.rb +0 -4
  680. data/spec/integration/file_bucket/file_spec.rb +2 -2
  681. data/spec/integration/file_serving/fileset_spec.rb +0 -0
  682. data/spec/integration/file_serving/terminus_helper_spec.rb +0 -0
  683. data/spec/integration/file_system/uniquefile_spec.rb +29 -0
  684. data/spec/integration/indirector/catalog/compiler_spec.rb +0 -0
  685. data/spec/integration/indirector/direct_file_server_spec.rb +0 -0
  686. data/spec/integration/indirector/facts/facter_spec.rb +97 -0
  687. data/spec/integration/indirector/file_content/file_server_spec.rb +0 -0
  688. data/spec/integration/indirector/file_metadata/file_server_spec.rb +0 -0
  689. data/spec/integration/indirector/node/ldap_spec.rb +0 -0
  690. data/spec/integration/module_tool/tar/mini_spec.rb +28 -0
  691. data/spec/integration/network/formats_spec.rb +0 -0
  692. data/spec/integration/node/environment_spec.rb +13 -0
  693. data/spec/integration/node/facts_spec.rb +0 -0
  694. data/spec/integration/node_spec.rb +0 -0
  695. data/spec/integration/parser/catalog_spec.rb +14 -2
  696. data/spec/integration/parser/collection_spec.rb +8 -0
  697. data/spec/integration/parser/compiler_spec.rb +949 -2
  698. data/spec/integration/parser/dynamic_scoping_spec.rb +67 -0
  699. data/spec/integration/parser/functions/require_spec.rb +0 -0
  700. data/spec/integration/parser/parameter_defaults_spec.rb +354 -0
  701. data/spec/integration/parser/resource_expressions_spec.rb +8 -5
  702. data/spec/integration/parser/scope_spec.rb +46 -7
  703. data/spec/integration/parser/undef_param_spec.rb +9 -1
  704. data/spec/integration/provider/mailalias/aliases_spec.rb +0 -0
  705. data/spec/integration/provider/mount_spec.rb +23 -36
  706. data/spec/integration/provider/service/init_spec.rb +0 -0
  707. data/spec/integration/provider/ssh_authorized_key_spec.rb +0 -0
  708. data/spec/integration/provider/yumrepo_spec.rb +1 -1
  709. data/spec/integration/reference/providers_spec.rb +0 -0
  710. data/spec/integration/reports_spec.rb +0 -0
  711. data/spec/integration/resource/catalog_spec.rb +1 -1
  712. data/spec/integration/resource/type_collection_spec.rb +8 -0
  713. data/spec/integration/ssl/certificate_authority_spec.rb +0 -1
  714. data/spec/integration/ssl/certificate_request_spec.rb +0 -1
  715. data/spec/integration/ssl/certificate_revocation_list_spec.rb +0 -1
  716. data/spec/integration/ssl/host_spec.rb +0 -1
  717. data/spec/integration/test/test_helper_spec.rb +28 -0
  718. data/spec/integration/transaction/report_spec.rb +16 -0
  719. data/spec/integration/transaction_spec.rb +52 -2
  720. data/spec/integration/type/exec_spec.rb +0 -0
  721. data/spec/integration/type/file_spec.rb +548 -45
  722. data/spec/integration/type/package_spec.rb +72 -1
  723. data/spec/integration/type/tidy_spec.rb +21 -9
  724. data/spec/integration/type_spec.rb +0 -0
  725. data/spec/integration/util/autoload_spec.rb +0 -0
  726. data/spec/integration/util/execution_spec.rb +22 -0
  727. data/spec/integration/util/rdoc/parser_spec.rb +1 -1
  728. data/spec/integration/util/settings_spec.rb +26 -0
  729. data/spec/integration/util/windows/principal_spec.rb +201 -0
  730. data/spec/integration/util/windows/process_spec.rb +31 -0
  731. data/spec/{unit → integration}/util/windows/registry_spec.rb +91 -1
  732. data/spec/integration/util/windows/security_spec.rb +40 -13
  733. data/spec/integration/util/windows/user_spec.rb +1 -1
  734. data/spec/integration/util_spec.rb +49 -27
  735. data/spec/lib/matchers/include_in_order.rb +2 -3
  736. data/spec/lib/matchers/resource.rb +22 -1
  737. data/spec/lib/puppet/face/1.0.0/huzzah.rb +0 -0
  738. data/spec/lib/puppet/face/basetest.rb +0 -0
  739. data/spec/lib/puppet/face/huzzah.rb +0 -0
  740. data/spec/lib/puppet_spec/compiler.rb +27 -3
  741. data/spec/lib/puppet_spec/files.rb +16 -2
  742. data/spec/lib/puppet_spec/fixtures.rb +0 -0
  743. data/spec/lib/puppet_spec/matchers.rb +6 -4
  744. data/spec/lib/puppet_spec/pops.rb +13 -0
  745. data/spec/lib/puppet_spec/verbose.rb +0 -0
  746. data/spec/shared_behaviours/all_parsedfile_providers.rb +0 -0
  747. data/spec/shared_behaviours/file_server_terminus.rb +0 -0
  748. data/spec/shared_behaviours/file_serving.rb +0 -0
  749. data/spec/shared_behaviours/iterative_functions.rb +9 -9
  750. data/spec/shared_behaviours/memory_terminus.rb +0 -0
  751. data/spec/shared_behaviours/path_parameters.rb +0 -0
  752. data/spec/shared_behaviours/things_that_declare_options.rb +0 -0
  753. data/spec/shared_contexts/types_setup.rb +100 -0
  754. data/spec/spec_helper.rb +7 -0
  755. data/spec/unit/agent/locker_spec.rb +4 -4
  756. data/spec/unit/agent_spec.rb +1 -46
  757. data/spec/unit/application/agent_spec.rb +15 -0
  758. data/spec/unit/application/apply_spec.rb +31 -1
  759. data/spec/unit/application/cert_spec.rb +0 -0
  760. data/spec/unit/application/certificate_spec.rb +0 -0
  761. data/spec/unit/application/config_spec.rb +0 -0
  762. data/spec/unit/application/describe_spec.rb +0 -0
  763. data/spec/unit/application/device_spec.rb +0 -0
  764. data/spec/unit/application/doc_spec.rb +0 -0
  765. data/spec/unit/application/face_base_spec.rb +0 -0
  766. data/spec/unit/application/facts_spec.rb +0 -0
  767. data/spec/unit/application/filebucket_spec.rb +88 -2
  768. data/spec/unit/application/indirection_base_spec.rb +0 -0
  769. data/spec/unit/application/inspect_spec.rb +19 -8
  770. data/spec/unit/application/lookup_spec.rb +387 -0
  771. data/spec/unit/application/master_spec.rb +33 -7
  772. data/spec/unit/application/resource_spec.rb +0 -0
  773. data/spec/unit/application_spec.rb +3 -3
  774. data/spec/unit/appmgmt_spec.rb +666 -0
  775. data/spec/unit/capability_spec.rb +394 -0
  776. data/spec/unit/configurer/downloader_factory_spec.rb +0 -0
  777. data/spec/unit/configurer/downloader_spec.rb +5 -5
  778. data/spec/unit/configurer/fact_handler_spec.rb +0 -0
  779. data/spec/unit/configurer/plugin_handler_spec.rb +42 -13
  780. data/spec/unit/configurer_spec.rb +282 -39
  781. data/spec/unit/confine/exists_spec.rb +0 -0
  782. data/spec/unit/confine/false_spec.rb +0 -0
  783. data/spec/unit/confine/feature_spec.rb +0 -0
  784. data/spec/unit/confine/true_spec.rb +0 -0
  785. data/spec/unit/confine/variable_spec.rb +0 -0
  786. data/spec/unit/confine_collection_spec.rb +0 -0
  787. data/spec/unit/confine_spec.rb +0 -0
  788. data/spec/unit/confiner_spec.rb +0 -0
  789. data/spec/unit/context/trusted_information_spec.rb +24 -1
  790. data/spec/unit/daemon_spec.rb +18 -8
  791. data/spec/unit/data_providers/function_data_provider_spec.rb +28 -1
  792. data/spec/unit/data_providers/hiera_data_provider_spec.rb +378 -0
  793. data/spec/unit/defaults_spec.rb +33 -0
  794. data/spec/unit/environments_spec.rb +26 -4
  795. data/spec/unit/external/pson_spec.rb +0 -0
  796. data/spec/unit/face/catalog_spec.rb +0 -0
  797. data/spec/unit/face/certificate_spec.rb +0 -0
  798. data/spec/unit/face/config_spec.rb +0 -0
  799. data/spec/unit/face/epp_face_spec.rb +2 -2
  800. data/spec/unit/face/facts_spec.rb +0 -0
  801. data/spec/unit/face/file_spec.rb +0 -0
  802. data/spec/unit/face/help_spec.rb +0 -0
  803. data/spec/unit/face/node_spec.rb +1 -1
  804. data/spec/unit/face/parser_spec.rb +43 -2
  805. data/spec/unit/face/plugin_spec.rb +33 -4
  806. data/spec/unit/face_spec.rb +0 -0
  807. data/spec/unit/file_bucket/dipper_spec.rb +210 -1
  808. data/spec/unit/file_bucket/file_spec.rb +0 -0
  809. data/spec/unit/file_serving/base_spec.rb +0 -0
  810. data/spec/unit/file_serving/configuration/parser_spec.rb +25 -30
  811. data/spec/unit/file_serving/configuration_spec.rb +1 -1
  812. data/spec/unit/file_serving/content_spec.rb +0 -0
  813. data/spec/unit/file_serving/fileset_spec.rb +0 -0
  814. data/spec/unit/file_serving/http_metadata_spec.rb +85 -0
  815. data/spec/unit/file_serving/metadata_spec.rb +51 -1
  816. data/spec/unit/file_serving/mount/file_spec.rb +0 -0
  817. data/spec/unit/file_serving/mount/modules_spec.rb +0 -0
  818. data/spec/unit/file_serving/mount/pluginfacts_spec.rb +0 -0
  819. data/spec/unit/file_serving/mount/plugins_spec.rb +0 -0
  820. data/spec/unit/file_serving/mount_spec.rb +0 -0
  821. data/spec/unit/file_serving/terminus_helper_spec.rb +2 -3
  822. data/spec/unit/file_serving/terminus_selector_spec.rb +12 -2
  823. data/spec/unit/file_system/uniquefile_spec.rb +20 -0
  824. data/spec/unit/file_system_spec.rb +145 -0
  825. data/spec/unit/functions/assert_type_spec.rb +48 -8
  826. data/spec/unit/functions/defined_spec.rb +289 -0
  827. data/spec/unit/functions/dig_spec.rb +58 -0
  828. data/spec/unit/functions/epp_spec.rb +17 -9
  829. data/spec/unit/functions/filter_spec.rb +18 -0
  830. data/spec/unit/functions/hiera_spec.rb +10 -8
  831. data/spec/unit/functions/inline_epp_spec.rb +4 -4
  832. data/spec/unit/functions/lest_spec.rb +34 -0
  833. data/spec/unit/functions/lookup_spec.rb +391 -22
  834. data/spec/unit/functions/new_spec.rb +543 -0
  835. data/spec/unit/functions/regsubst_spec.rb +29 -8
  836. data/spec/unit/functions/reverse_each_spec.rb +108 -0
  837. data/spec/unit/functions/scanf_spec.rb +1 -1
  838. data/spec/unit/functions/split_spec.rb +10 -2
  839. data/spec/unit/functions/step_spec.rb +113 -0
  840. data/spec/unit/functions/then_spec.rb +40 -0
  841. data/spec/unit/functions/type_spec.rb +35 -0
  842. data/spec/unit/functions/versioncmp_spec.rb +36 -0
  843. data/spec/unit/functions4_spec.rb +275 -70
  844. data/spec/unit/graph/relationship_graph_spec.rb +0 -0
  845. data/spec/unit/graph/sequential_prioritizer_spec.rb +1 -1
  846. data/spec/unit/graph/simple_graph_spec.rb +0 -0
  847. data/spec/unit/hiera/scope_spec.rb +5 -2
  848. data/spec/unit/hiera_puppet_spec.rb +49 -8
  849. data/spec/unit/indirector/catalog/compiler_spec.rb +752 -8
  850. data/spec/unit/indirector/catalog/json_spec.rb +0 -0
  851. data/spec/unit/indirector/catalog/msgpack_spec.rb +0 -0
  852. data/spec/unit/indirector/catalog/rest_spec.rb +0 -0
  853. data/spec/unit/indirector/catalog/static_compiler_spec.rb +38 -20
  854. data/spec/unit/indirector/catalog/store_configs_spec.rb +0 -0
  855. data/spec/unit/indirector/catalog/yaml_spec.rb +0 -0
  856. data/spec/unit/indirector/certificate/ca_spec.rb +0 -0
  857. data/spec/unit/indirector/certificate/disabled_ca_spec.rb +0 -0
  858. data/spec/unit/indirector/certificate/file_spec.rb +0 -0
  859. data/spec/unit/indirector/certificate/rest_spec.rb +0 -0
  860. data/spec/unit/indirector/certificate_request/ca_spec.rb +0 -0
  861. data/spec/unit/indirector/certificate_request/disabled_ca_spec.rb +0 -0
  862. data/spec/unit/indirector/certificate_request/file_spec.rb +0 -0
  863. data/spec/unit/indirector/certificate_request/rest_spec.rb +0 -0
  864. data/spec/unit/indirector/certificate_revocation_list/ca_spec.rb +0 -0
  865. data/spec/unit/indirector/certificate_revocation_list/disabled_ca_spec.rb +0 -0
  866. data/spec/unit/indirector/certificate_revocation_list/file_spec.rb +0 -0
  867. data/spec/unit/indirector/certificate_revocation_list/rest_spec.rb +0 -0
  868. data/spec/unit/indirector/certificate_status/file_spec.rb +0 -0
  869. data/spec/unit/indirector/certificate_status/rest_spec.rb +0 -0
  870. data/spec/unit/indirector/code_spec.rb +0 -0
  871. data/spec/unit/indirector/data_binding/none_spec.rb +2 -2
  872. data/spec/unit/indirector/direct_file_server_spec.rb +0 -0
  873. data/spec/unit/indirector/envelope_spec.rb +0 -0
  874. data/spec/unit/indirector/exec_spec.rb +0 -0
  875. data/spec/unit/indirector/face_spec.rb +0 -0
  876. data/spec/unit/indirector/facts/facter_spec.rb +8 -0
  877. data/spec/unit/indirector/facts/network_device_spec.rb +0 -0
  878. data/spec/unit/indirector/facts/store_configs_spec.rb +0 -0
  879. data/spec/unit/indirector/facts/yaml_spec.rb +0 -0
  880. data/spec/unit/indirector/file_bucket_file/file_spec.rb +53 -2
  881. data/spec/unit/indirector/file_bucket_file/rest_spec.rb +0 -0
  882. data/spec/unit/indirector/file_content/file_server_spec.rb +0 -0
  883. data/spec/unit/indirector/file_content/file_spec.rb +0 -0
  884. data/spec/unit/indirector/file_content/rest_spec.rb +0 -0
  885. data/spec/unit/indirector/file_metadata/file_server_spec.rb +0 -0
  886. data/spec/unit/indirector/file_metadata/file_spec.rb +0 -0
  887. data/spec/unit/indirector/file_metadata/rest_spec.rb +0 -0
  888. data/spec/unit/indirector/file_server_spec.rb +0 -0
  889. data/spec/unit/indirector/indirection_spec.rb +13 -2
  890. data/spec/unit/indirector/json_spec.rb +1 -1
  891. data/spec/unit/indirector/key/ca_spec.rb +0 -0
  892. data/spec/unit/indirector/key/disabled_ca_spec.rb +0 -0
  893. data/spec/unit/indirector/key/file_spec.rb +0 -0
  894. data/spec/unit/indirector/ldap_spec.rb +0 -0
  895. data/spec/unit/indirector/memory_spec.rb +0 -0
  896. data/spec/unit/indirector/msgpack_spec.rb +11 -1
  897. data/spec/unit/indirector/node/exec_spec.rb +0 -0
  898. data/spec/unit/indirector/node/ldap_spec.rb +0 -0
  899. data/spec/unit/indirector/node/memory_spec.rb +0 -0
  900. data/spec/unit/indirector/node/msgpack_spec.rb +0 -0
  901. data/spec/unit/indirector/node/plain_spec.rb +0 -0
  902. data/spec/unit/indirector/node/rest_spec.rb +0 -0
  903. data/spec/unit/indirector/node/store_configs_spec.rb +0 -0
  904. data/spec/unit/indirector/node/yaml_spec.rb +0 -0
  905. data/spec/unit/indirector/plain_spec.rb +0 -0
  906. data/spec/unit/indirector/report/msgpack_spec.rb +0 -0
  907. data/spec/unit/indirector/report/processor_spec.rb +0 -0
  908. data/spec/unit/indirector/report/rest_spec.rb +0 -0
  909. data/spec/unit/indirector/report/yaml_spec.rb +0 -0
  910. data/spec/unit/indirector/request_spec.rb +8 -8
  911. data/spec/unit/indirector/resource/ral_spec.rb +0 -0
  912. data/spec/unit/indirector/resource/store_configs_spec.rb +0 -0
  913. data/spec/unit/indirector/resource_type/parser_spec.rb +5 -0
  914. data/spec/unit/indirector/resource_type/rest_spec.rb +0 -0
  915. data/spec/unit/indirector/rest_spec.rb +12 -0
  916. data/spec/unit/indirector/ssl_file_spec.rb +1 -1
  917. data/spec/unit/indirector/status/rest_spec.rb +0 -0
  918. data/spec/unit/indirector/store_configs_spec.rb +0 -0
  919. data/spec/unit/indirector/terminus_spec.rb +0 -0
  920. data/spec/unit/indirector/yaml_spec.rb +1 -1
  921. data/spec/unit/indirector_spec.rb +0 -0
  922. data/spec/unit/info_service_spec.rb +298 -0
  923. data/spec/unit/interface/action_builder_spec.rb +0 -0
  924. data/spec/unit/interface/action_manager_spec.rb +0 -0
  925. data/spec/unit/interface/action_spec.rb +0 -0
  926. data/spec/unit/interface/documentation_spec.rb +0 -0
  927. data/spec/unit/interface/face_collection_spec.rb +0 -0
  928. data/spec/unit/interface/option_builder_spec.rb +0 -0
  929. data/spec/unit/interface/option_spec.rb +0 -0
  930. data/spec/unit/interface_spec.rb +0 -0
  931. data/spec/unit/man_spec.rb +0 -0
  932. data/spec/unit/module_spec.rb +42 -27
  933. data/spec/unit/module_tool/application_spec.rb +1 -1
  934. data/spec/unit/module_tool/applications/builder_spec.rb +28 -8
  935. data/spec/unit/module_tool/metadata_spec.rb +31 -2
  936. data/spec/unit/module_tool_spec.rb +0 -0
  937. data/spec/unit/network/auth_config_parser_spec.rb +16 -0
  938. data/spec/unit/network/authconfig_spec.rb +62 -32
  939. data/spec/unit/network/authorization_spec.rb +30 -2
  940. data/spec/unit/network/authstore_spec.rb +2 -2
  941. data/spec/unit/network/format_handler_spec.rb +0 -0
  942. data/spec/unit/network/format_spec.rb +0 -0
  943. data/spec/unit/network/formats_spec.rb +0 -0
  944. data/spec/unit/network/http/api/indirected_routes_spec.rb +21 -13
  945. data/spec/unit/network/http/api/master/v3/environment_spec.rb +60 -0
  946. data/spec/unit/network/http/api/master/v3_spec.rb +0 -0
  947. data/spec/unit/network/http/compression_spec.rb +1 -1
  948. data/spec/unit/network/http/connection_spec.rb +15 -19
  949. data/spec/unit/network/http/factory_spec.rb +14 -0
  950. data/spec/unit/network/http/handler_spec.rb +0 -5
  951. data/spec/unit/network/http/nocache_pool_spec.rb +0 -0
  952. data/spec/unit/network/http/pool_spec.rb +30 -0
  953. data/spec/unit/network/http/rack/rest_spec.rb +7 -0
  954. data/spec/unit/network/http/rack_spec.rb +0 -0
  955. data/spec/unit/network/http/session_spec.rb +0 -0
  956. data/spec/unit/network/http/site_spec.rb +0 -0
  957. data/spec/unit/network/http/webrick/rest_spec.rb +0 -0
  958. data/spec/unit/network/http/webrick_spec.rb +0 -0
  959. data/spec/unit/network/http_pool_spec.rb +0 -0
  960. data/spec/unit/network/http_spec.rb +0 -0
  961. data/spec/unit/network/resolver_spec.rb +0 -0
  962. data/spec/unit/network/rights_spec.rb +3 -3
  963. data/spec/unit/network/server_spec.rb +0 -0
  964. data/spec/unit/node/environment_spec.rb +10 -0
  965. data/spec/unit/node/facts_spec.rb +0 -0
  966. data/spec/unit/node_spec.rb +41 -0
  967. data/spec/unit/other/selinux_spec.rb +0 -0
  968. data/spec/unit/parameter/path_spec.rb +0 -0
  969. data/spec/unit/parameter/value_collection_spec.rb +0 -0
  970. data/spec/unit/parameter/value_spec.rb +0 -0
  971. data/spec/unit/parameter_spec.rb +0 -0
  972. data/spec/unit/parser/ast/leaf_spec.rb +1 -1
  973. data/spec/unit/parser/compiler_spec.rb +103 -2
  974. data/spec/unit/parser/files_spec.rb +0 -0
  975. data/spec/unit/parser/functions/create_resources_spec.rb +2 -2
  976. data/spec/unit/parser/functions/defined_spec.rb +0 -0
  977. data/spec/unit/parser/functions/digest_spec.rb +0 -0
  978. data/spec/unit/parser/functions/fail_spec.rb +0 -0
  979. data/spec/unit/parser/functions/file_spec.rb +7 -1
  980. data/spec/unit/parser/functions/fqdn_rand_spec.rb +6 -2
  981. data/spec/unit/parser/functions/generate_spec.rb +3 -12
  982. data/spec/unit/parser/functions/hiera_spec.rb +0 -0
  983. data/spec/unit/parser/functions/include_spec.rb +0 -0
  984. data/spec/unit/parser/functions/inline_template_spec.rb +0 -0
  985. data/spec/unit/parser/functions/realize_spec.rb +0 -0
  986. data/spec/unit/parser/functions/regsubst_spec.rb +0 -0
  987. data/spec/unit/parser/functions/require_spec.rb +0 -0
  988. data/spec/unit/parser/functions/scanf_spec.rb +0 -0
  989. data/spec/unit/parser/functions/shared.rb +1 -1
  990. data/spec/unit/parser/functions/shellquote_spec.rb +0 -0
  991. data/spec/unit/parser/functions/split_spec.rb +0 -0
  992. data/spec/unit/parser/functions/sprintf_spec.rb +0 -0
  993. data/spec/unit/parser/functions/tag_spec.rb +0 -0
  994. data/spec/unit/parser/functions/template_spec.rb +1 -1
  995. data/spec/unit/parser/functions/versioncmp_spec.rb +0 -0
  996. data/spec/unit/parser/functions_spec.rb +0 -0
  997. data/spec/unit/parser/relationship_spec.rb +0 -0
  998. data/spec/unit/parser/resource/param_spec.rb +0 -0
  999. data/spec/unit/parser/resource_spec.rb +10 -21
  1000. data/spec/unit/parser/scope_spec.rb +84 -13
  1001. data/spec/unit/parser/templatewrapper_spec.rb +1 -1
  1002. data/spec/unit/parser/type_loader_spec.rb +0 -0
  1003. data/spec/unit/pops/binder/config/binder_config_spec.rb +1 -1
  1004. data/spec/unit/pops/binder/injector_spec.rb +3 -3
  1005. data/spec/unit/pops/evaluator/access_ops_spec.rb +52 -17
  1006. data/spec/unit/pops/evaluator/basic_expressions_spec.rb +1 -2
  1007. data/spec/unit/pops/evaluator/comparison_ops_spec.rb +3 -0
  1008. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +125 -36
  1009. data/spec/unit/pops/evaluator/evaluator_rspec_helper.rb +4 -4
  1010. data/spec/unit/pops/evaluator/json_strict_literal_evaluator_spec.rb +63 -0
  1011. data/spec/unit/pops/evaluator/literal_evaluator_spec.rb +43 -0
  1012. data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +25 -0
  1013. data/spec/unit/pops/evaluator/variables_spec.rb +2 -2
  1014. data/spec/unit/pops/issues_spec.rb +16 -16
  1015. data/spec/unit/pops/label_provider_spec.rb +5 -1
  1016. data/spec/unit/pops/loaders/dependency_loader_spec.rb +53 -0
  1017. data/spec/unit/pops/loaders/loaders_spec.rb +230 -47
  1018. data/spec/unit/pops/loaders/static_loader_spec.rb +92 -1
  1019. data/spec/unit/pops/lookup/interpolation_spec.rb +313 -0
  1020. data/spec/unit/pops/migration_spec.rb +53 -0
  1021. data/spec/unit/pops/parser/lexer2_spec.rb +326 -6
  1022. data/spec/unit/pops/parser/parse_application_spec.rb +35 -0
  1023. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +23 -0
  1024. data/spec/unit/pops/parser/parse_calls_spec.rb +8 -0
  1025. data/spec/unit/pops/parser/parse_capabilities_spec.rb +40 -0
  1026. data/spec/unit/pops/parser/parse_heredoc_spec.rb +26 -0
  1027. data/spec/unit/pops/parser/parse_site_spec.rb +47 -0
  1028. data/spec/unit/pops/parser/parser_rspec_helper.rb +6 -0
  1029. data/spec/unit/pops/parser/parser_spec.rb +28 -0
  1030. data/spec/unit/pops/parser/source_pos_adapter_spec.rb +26 -0
  1031. data/spec/unit/pops/types/enumeration_spec.rb +13 -12
  1032. data/spec/unit/pops/types/iterable_spec.rb +262 -0
  1033. data/spec/unit/pops/types/p_object_type_spec.rb +1060 -0
  1034. data/spec/unit/pops/types/p_sem_ver_type_spec.rb +285 -0
  1035. data/spec/unit/pops/types/recursion_guard_spec.rb +93 -0
  1036. data/spec/unit/pops/types/ruby_generator_spec.rb +261 -0
  1037. data/spec/unit/pops/types/string_converter_spec.rb +904 -0
  1038. data/spec/unit/pops/types/type_acceptor_spec.rb +105 -0
  1039. data/spec/unit/pops/types/type_asserter_spec.rb +43 -0
  1040. data/spec/unit/pops/types/type_calculator_spec.rb +960 -849
  1041. data/spec/unit/pops/types/type_factory_spec.rb +132 -91
  1042. data/spec/unit/pops/types/type_formatter_spec.rb +352 -0
  1043. data/spec/unit/pops/types/type_mismatch_describer_spec.rb +177 -0
  1044. data/spec/unit/pops/types/type_parser_spec.rb +119 -32
  1045. data/spec/unit/pops/types/types_spec.rb +561 -0
  1046. data/spec/unit/pops/validation_spec.rb +66 -0
  1047. data/spec/unit/pops/validator/validator_spec.rb +303 -17
  1048. data/spec/unit/property/ensure_spec.rb +0 -0
  1049. data/spec/unit/property/keyvalue_spec.rb +0 -0
  1050. data/spec/unit/property/list_spec.rb +0 -0
  1051. data/spec/unit/property/ordered_list_spec.rb +0 -0
  1052. data/spec/unit/property_spec.rb +1 -1
  1053. data/spec/unit/provider/augeas/augeas_spec.rb +59 -0
  1054. data/spec/unit/provider/cisco_spec.rb +0 -0
  1055. data/spec/unit/provider/command_spec.rb +0 -0
  1056. data/spec/unit/provider/cron/crontab_spec.rb +0 -0
  1057. data/spec/unit/provider/cron/parsed_spec.rb +1 -0
  1058. data/spec/unit/provider/exec/posix_spec.rb +0 -0
  1059. data/spec/unit/provider/exec/shell_spec.rb +0 -0
  1060. data/spec/unit/provider/exec/windows_spec.rb +0 -0
  1061. data/spec/unit/provider/exec_spec.rb +0 -0
  1062. data/spec/unit/provider/file/posix_spec.rb +0 -0
  1063. data/spec/unit/provider/file/windows_spec.rb +0 -0
  1064. data/spec/unit/provider/group/directoryservice_spec.rb +33 -0
  1065. data/spec/unit/provider/group/groupadd_spec.rb +0 -0
  1066. data/spec/unit/provider/group/ldap_spec.rb +0 -0
  1067. data/spec/unit/provider/group/pw_spec.rb +0 -0
  1068. data/spec/unit/provider/group/windows_adsi_spec.rb +73 -17
  1069. data/spec/unit/provider/host/parsed_spec.rb +0 -0
  1070. data/spec/unit/provider/interface/cisco_spec.rb +0 -0
  1071. data/spec/unit/provider/ldap_spec.rb +0 -0
  1072. data/spec/unit/provider/macauthorization_spec.rb +5 -2
  1073. data/spec/unit/provider/mcx/mcxcontent_spec.rb +0 -0
  1074. data/spec/unit/provider/mount/parsed_spec.rb +31 -5
  1075. data/spec/unit/provider/mount_spec.rb +0 -0
  1076. data/spec/unit/provider/naginator_spec.rb +0 -0
  1077. data/spec/unit/provider/nameservice/directoryservice_spec.rb +14 -19
  1078. data/spec/unit/provider/nameservice_spec.rb +0 -0
  1079. data/spec/unit/provider/network_device_spec.rb +0 -0
  1080. data/spec/unit/provider/package/aix_spec.rb +0 -0
  1081. data/spec/unit/provider/package/appdmg_spec.rb +3 -3
  1082. data/spec/unit/provider/package/apt_spec.rb +5 -0
  1083. data/spec/unit/provider/package/aptitude_spec.rb +0 -0
  1084. data/spec/unit/provider/package/aptrpm_spec.rb +2 -2
  1085. data/spec/unit/provider/package/base_spec.rb +18 -0
  1086. data/spec/unit/provider/package/dnf_spec.rb +108 -0
  1087. data/spec/unit/provider/package/dpkg_spec.rb +0 -0
  1088. data/spec/unit/provider/package/freebsd_spec.rb +0 -0
  1089. data/spec/unit/provider/package/gem_spec.rb +77 -0
  1090. data/spec/unit/provider/package/hpux_spec.rb +0 -0
  1091. data/spec/unit/provider/package/macports_spec.rb +0 -0
  1092. data/spec/unit/provider/package/nim_spec.rb +6 -6
  1093. data/spec/unit/provider/package/openbsd_spec.rb +0 -0
  1094. data/spec/unit/provider/package/opkg_spec.rb +0 -0
  1095. data/spec/unit/provider/package/pacman_spec.rb +55 -0
  1096. data/spec/unit/provider/package/pip3_spec.rb +22 -0
  1097. data/spec/unit/provider/package/pip_spec.rb +159 -46
  1098. data/spec/unit/provider/package/pkg_spec.rb +0 -0
  1099. data/spec/unit/provider/package/pkgdmg_spec.rb +35 -8
  1100. data/spec/unit/provider/package/pkgin_spec.rb +23 -13
  1101. data/spec/unit/provider/package/pkgng_spec.rb +174 -0
  1102. data/spec/unit/provider/package/pkgutil_spec.rb +0 -0
  1103. data/spec/unit/provider/package/puppet_gem_spec.rb +0 -0
  1104. data/spec/unit/provider/package/rpm_spec.rb +160 -3
  1105. data/spec/unit/provider/package/sun_spec.rb +0 -0
  1106. data/spec/unit/provider/package/windows/exe_package_spec.rb +0 -1
  1107. data/spec/unit/provider/package/windows/msi_package_spec.rb +0 -1
  1108. data/spec/unit/provider/package/windows/package_spec.rb +41 -0
  1109. data/spec/unit/provider/package/windows_spec.rb +0 -0
  1110. data/spec/unit/provider/package/yum_spec.rb +81 -147
  1111. data/spec/unit/provider/package/zypper_spec.rb +64 -19
  1112. data/spec/unit/provider/parsedfile_spec.rb +0 -0
  1113. data/spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb +322 -70
  1114. data/spec/unit/provider/selboolean_spec.rb +0 -0
  1115. data/spec/unit/provider/selmodule_spec.rb +0 -0
  1116. data/spec/unit/provider/service/base_spec.rb +38 -27
  1117. data/spec/unit/provider/service/bsd_spec.rb +130 -0
  1118. data/spec/unit/provider/service/daemontools_spec.rb +0 -0
  1119. data/spec/unit/provider/service/debian_spec.rb +29 -0
  1120. data/spec/unit/provider/service/freebsd_spec.rb +17 -0
  1121. data/spec/unit/provider/service/gentoo_spec.rb +2 -0
  1122. data/spec/unit/provider/service/init_spec.rb +35 -1
  1123. data/spec/unit/provider/service/launchd_spec.rb +89 -21
  1124. data/spec/unit/provider/service/openbsd_spec.rb +1 -0
  1125. data/spec/unit/provider/service/openrc_spec.rb +1 -0
  1126. data/spec/unit/provider/service/openwrt_spec.rb +0 -0
  1127. data/spec/unit/provider/service/rcng_spec.rb +41 -0
  1128. data/spec/unit/provider/service/redhat_spec.rb +9 -1
  1129. data/spec/unit/provider/service/runit_spec.rb +0 -0
  1130. data/spec/unit/provider/service/smf_spec.rb +43 -6
  1131. data/spec/unit/provider/service/src_spec.rb +20 -4
  1132. data/spec/unit/provider/service/systemd_spec.rb +169 -37
  1133. data/spec/unit/provider/service/upstart_spec.rb +58 -0
  1134. data/spec/unit/provider/service/windows_spec.rb +0 -0
  1135. data/spec/unit/provider/ssh_authorized_key/parsed_spec.rb +1 -1
  1136. data/spec/unit/provider/sshkey/parsed_spec.rb +42 -18
  1137. data/spec/unit/provider/user/directoryservice_spec.rb +40 -59
  1138. data/spec/unit/provider/user/hpux_spec.rb +0 -0
  1139. data/spec/unit/provider/user/ldap_spec.rb +0 -0
  1140. data/spec/unit/provider/user/openbsd_spec.rb +0 -0
  1141. data/spec/unit/provider/user/pw_spec.rb +0 -0
  1142. data/spec/unit/provider/user/user_role_add_spec.rb +0 -0
  1143. data/spec/unit/provider/user/useradd_spec.rb +0 -0
  1144. data/spec/unit/provider/user/windows_adsi_spec.rb +137 -7
  1145. data/spec/unit/provider/vlan/cisco_spec.rb +0 -0
  1146. data/spec/unit/provider/yumrepo/inifile_spec.rb +16 -0
  1147. data/spec/unit/provider/zfs/zfs_spec.rb +0 -0
  1148. data/spec/unit/provider/zone/solaris_spec.rb +64 -12
  1149. data/spec/unit/provider/zpool/zpool_spec.rb +0 -0
  1150. data/spec/unit/provider_spec.rb +0 -0
  1151. data/spec/unit/puppet_spec.rb +1 -1
  1152. data/spec/unit/relationship_spec.rb +0 -0
  1153. data/spec/unit/reports/http_spec.rb +0 -0
  1154. data/spec/unit/reports/store_spec.rb +0 -0
  1155. data/spec/unit/reports_spec.rb +10 -0
  1156. data/spec/unit/resource/capability_finder_spec.rb +77 -0
  1157. data/spec/unit/resource/catalog_spec.rb +95 -8
  1158. data/spec/unit/resource/status_spec.rb +0 -0
  1159. data/spec/unit/resource/type_collection_helper_spec.rb +0 -0
  1160. data/spec/unit/resource/type_collection_spec.rb +23 -2
  1161. data/spec/unit/resource/type_spec.rb +150 -8
  1162. data/spec/unit/resource_spec.rb +115 -48
  1163. data/spec/unit/settings/directory_setting_spec.rb +0 -0
  1164. data/spec/unit/settings/duration_setting_spec.rb +0 -0
  1165. data/spec/unit/settings/environment_conf_spec.rb +18 -1
  1166. data/spec/unit/settings/file_setting_spec.rb +37 -0
  1167. data/spec/unit/settings/path_setting_spec.rb +0 -0
  1168. data/spec/unit/settings/priority_setting_spec.rb +0 -0
  1169. data/spec/unit/settings_spec.rb +103 -3
  1170. data/spec/unit/ssl/base_spec.rb +0 -0
  1171. data/spec/unit/ssl/certificate_authority/interface_spec.rb +4 -3
  1172. data/spec/unit/ssl/certificate_authority_spec.rb +5 -3
  1173. data/spec/unit/ssl/certificate_factory_spec.rb +0 -0
  1174. data/spec/unit/ssl/certificate_request_spec.rb +0 -0
  1175. data/spec/unit/ssl/certificate_revocation_list_spec.rb +3 -3
  1176. data/spec/unit/ssl/certificate_spec.rb +0 -0
  1177. data/spec/unit/ssl/configuration_spec.rb +0 -0
  1178. data/spec/unit/ssl/host_spec.rb +2 -2
  1179. data/spec/unit/ssl/inventory_spec.rb +0 -0
  1180. data/spec/unit/ssl/key_spec.rb +0 -0
  1181. data/spec/unit/ssl/oids_spec.rb +8 -0
  1182. data/spec/unit/status_spec.rb +0 -0
  1183. data/spec/unit/transaction/additional_resource_generator_spec.rb +120 -32
  1184. data/spec/unit/transaction/event_manager_spec.rb +0 -0
  1185. data/spec/unit/transaction/event_spec.rb +0 -0
  1186. data/spec/unit/transaction/report_spec.rb +51 -1
  1187. data/spec/unit/transaction/resource_harness_spec.rb +0 -47
  1188. data/spec/unit/transaction_spec.rb +12 -0
  1189. data/spec/unit/type/augeas_spec.rb +0 -0
  1190. data/spec/unit/type/component_spec.rb +0 -0
  1191. data/spec/unit/type/computer_spec.rb +0 -0
  1192. data/spec/unit/type/cron_spec.rb +0 -0
  1193. data/spec/unit/type/exec_spec.rb +16 -8
  1194. data/spec/unit/type/file/checksum_spec.rb +6 -0
  1195. data/spec/unit/type/file/checksum_value_spec.rb +286 -0
  1196. data/spec/unit/type/file/content_spec.rb +12 -193
  1197. data/spec/unit/type/file/ctime_spec.rb +0 -0
  1198. data/spec/unit/type/file/ensure_spec.rb +0 -0
  1199. data/spec/unit/type/file/group_spec.rb +0 -0
  1200. data/spec/unit/type/file/mode_spec.rb +0 -0
  1201. data/spec/unit/type/file/mtime_spec.rb +0 -0
  1202. data/spec/unit/type/file/owner_spec.rb +0 -0
  1203. data/spec/unit/type/file/selinux_spec.rb +0 -0
  1204. data/spec/unit/type/file/source_spec.rb +211 -119
  1205. data/spec/unit/type/file/type_spec.rb +0 -0
  1206. data/spec/unit/type/file_spec.rb +133 -34
  1207. data/spec/unit/type/filebucket_spec.rb +0 -0
  1208. data/spec/unit/type/group_spec.rb +0 -0
  1209. data/spec/unit/type/host_spec.rb +4 -4
  1210. data/spec/unit/type/interface_spec.rb +32 -0
  1211. data/spec/unit/type/k5login_spec.rb +0 -0
  1212. data/spec/unit/type/macauthorization_spec.rb +4 -1
  1213. data/spec/unit/type/mailalias_spec.rb +0 -0
  1214. data/spec/unit/type/maillist_spec.rb +0 -0
  1215. data/spec/unit/type/mcx_spec.rb +0 -0
  1216. data/spec/unit/type/mount_spec.rb +59 -10
  1217. data/spec/unit/type/nagios_spec.rb +0 -0
  1218. data/spec/unit/type/noop_metaparam_spec.rb +0 -0
  1219. data/spec/unit/type/package/package_settings_spec.rb +0 -0
  1220. data/spec/unit/type/package_spec.rb +1 -0
  1221. data/spec/unit/type/resources_spec.rb +0 -0
  1222. data/spec/unit/type/schedule_spec.rb +0 -0
  1223. data/spec/unit/type/selboolean_spec.rb +0 -0
  1224. data/spec/unit/type/selmodule_spec.rb +0 -0
  1225. data/spec/unit/type/service_spec.rb +21 -0
  1226. data/spec/unit/type/ssh_authorized_key_spec.rb +0 -0
  1227. data/spec/unit/type/sshkey_spec.rb +0 -0
  1228. data/spec/unit/type/stage_spec.rb +0 -0
  1229. data/spec/unit/type/tidy_spec.rb +4 -4
  1230. data/spec/unit/type/user_spec.rb +14 -7
  1231. data/spec/unit/type/vlan_spec.rb +1 -1
  1232. data/spec/unit/type/whit_spec.rb +0 -0
  1233. data/spec/unit/type/yumrepo_spec.rb +2 -2
  1234. data/spec/unit/type/zfs_spec.rb +0 -0
  1235. data/spec/unit/type/zone_spec.rb +0 -0
  1236. data/spec/unit/type/zpool_spec.rb +0 -0
  1237. data/spec/unit/type_spec.rb +15 -1
  1238. data/spec/unit/util/autoload_spec.rb +0 -0
  1239. data/spec/unit/util/backups_spec.rb +0 -0
  1240. data/spec/unit/util/checksums_spec.rb +0 -0
  1241. data/spec/unit/util/colors_spec.rb +0 -0
  1242. data/spec/unit/util/command_line_spec.rb +0 -0
  1243. data/spec/unit/util/constant_inflector_spec.rb +0 -0
  1244. data/spec/unit/util/diff_spec.rb +0 -0
  1245. data/spec/unit/util/errors_spec.rb +0 -0
  1246. data/spec/unit/util/execution_spec.rb +0 -0
  1247. data/spec/unit/util/execution_stub_spec.rb +0 -0
  1248. data/spec/unit/util/feature_spec.rb +1 -1
  1249. data/spec/unit/util/filetype_spec.rb +1 -1
  1250. data/spec/unit/util/http_proxy_spec.rb +87 -0
  1251. data/spec/unit/util/ldap/connection_spec.rb +0 -0
  1252. data/spec/unit/util/ldap/generator_spec.rb +1 -1
  1253. data/spec/unit/util/ldap/manager_spec.rb +0 -0
  1254. data/spec/unit/util/log/destinations_spec.rb +0 -2
  1255. data/spec/unit/util/log_spec.rb +125 -1
  1256. data/spec/unit/util/logging_spec.rb +69 -0
  1257. data/spec/unit/util/metric_spec.rb +0 -0
  1258. data/spec/unit/util/monkey_patches_spec.rb +79 -3
  1259. data/spec/unit/util/multi_match_spec.rb +39 -0
  1260. data/spec/unit/util/nagios_maker_spec.rb +0 -0
  1261. data/spec/unit/util/network_device/cisco/device_spec.rb +253 -216
  1262. data/spec/unit/util/network_device/cisco/facts_spec.rb +0 -0
  1263. data/spec/unit/util/network_device/cisco/interface_spec.rb +0 -0
  1264. data/spec/unit/util/network_device/config_spec.rb +0 -0
  1265. data/spec/unit/util/network_device/ipcalc_spec.rb +0 -0
  1266. data/spec/unit/util/network_device/transport/base_spec.rb +0 -0
  1267. data/spec/unit/util/network_device/transport/ssh_spec.rb +1 -1
  1268. data/spec/unit/util/network_device/transport/telnet_spec.rb +60 -58
  1269. data/spec/unit/util/network_device_spec.rb +1 -1
  1270. data/spec/unit/util/package_spec.rb +0 -0
  1271. data/spec/unit/util/plist_spec.rb +110 -0
  1272. data/spec/unit/util/posix_spec.rb +0 -0
  1273. data/spec/unit/util/rdoc_spec.rb +0 -0
  1274. data/spec/unit/util/resource_template_spec.rb +2 -2
  1275. data/spec/unit/util/retry_action_spec.rb +0 -0
  1276. data/spec/unit/util/run_mode_spec.rb +27 -3
  1277. data/spec/unit/util/selinux_spec.rb +0 -0
  1278. data/spec/unit/util/splayer_spec.rb +45 -0
  1279. data/spec/unit/util/storage_spec.rb +5 -1
  1280. data/spec/unit/util/suidmanager_spec.rb +0 -0
  1281. data/spec/unit/util/symbolic_file_mode_spec.rb +0 -0
  1282. data/spec/unit/util/tagging_spec.rb +0 -0
  1283. data/spec/unit/util/user_attr_spec.rb +0 -0
  1284. data/spec/unit/util/warnings_spec.rb +0 -0
  1285. data/spec/unit/util/windows/adsi_spec.rb +175 -60
  1286. data/spec/unit/util/windows/api_types_spec.rb +42 -0
  1287. data/spec/unit/util/windows/file_spec.rb +34 -0
  1288. data/spec/unit/util/windows/root_certs_spec.rb +0 -0
  1289. data/spec/unit/util/windows/security_descriptor_spec.rb +3 -3
  1290. data/spec/unit/util/windows/sid_spec.rb +48 -21
  1291. data/spec/unit/util_spec.rb +144 -15
  1292. data/spec/watchr.rb +0 -0
  1293. data/tasks/cfpropertylist.rake +15 -0
  1294. metadata +3427 -2981
  1295. checksums.yaml +0 -7
  1296. data/ext/puppet-nm-dispatcher +0 -13
  1297. data/ext/systemd/puppetmaster.service +0 -11
  1298. data/lib/puppet/pops/evaluator/callable_mismatch_describer.rb +0 -175
  1299. data/lib/puppet/pops/types/types_meta.rb +0 -223
  1300. data/lib/puppet/vendor/load_plist.rb +0 -1
  1301. data/lib/puppet/vendor/plist/CHANGELOG +0 -82
  1302. data/lib/puppet/vendor/plist/MIT-LICENSE +0 -21
  1303. data/lib/puppet/vendor/plist/PUPPET_README.md +0 -6
  1304. data/lib/puppet/vendor/plist/README +0 -36
  1305. data/lib/puppet/vendor/plist/Rakefile +0 -144
  1306. data/lib/puppet/vendor/plist/docs/USAGE +0 -104
  1307. data/lib/puppet/vendor/plist/docs/jamis-template.rb +0 -591
  1308. data/lib/puppet/vendor/plist/lib/plist/generator.rb +0 -224
  1309. data/lib/puppet/vendor/plist/lib/plist/parser.rb +0 -225
  1310. data/lib/puppet/vendor/plist/lib/plist.rb +0 -22
  1311. data/lib/puppet/vendor/plist/test/assets/AlbumData.xml +0 -203
  1312. data/lib/puppet/vendor/plist/test/assets/Cookies.plist +0 -104
  1313. data/lib/puppet/vendor/plist/test/assets/commented.plist +0 -9
  1314. data/lib/puppet/vendor/plist/test/assets/example_data.bin +0 -0
  1315. data/lib/puppet/vendor/plist/test/assets/example_data.jpg +0 -0
  1316. data/lib/puppet/vendor/plist/test/assets/example_data.plist +0 -259
  1317. data/lib/puppet/vendor/plist/test/assets/test_data_elements.plist +0 -24
  1318. data/lib/puppet/vendor/plist/test/assets/test_empty_key.plist +0 -13
  1319. data/lib/puppet/vendor/plist/test/test_data_elements.rb +0 -115
  1320. data/lib/puppet/vendor/plist/test/test_generator.rb +0 -59
  1321. data/lib/puppet/vendor/plist/test/test_generator_basic_types.rb +0 -58
  1322. data/lib/puppet/vendor/plist/test/test_generator_collections.rb +0 -82
  1323. data/lib/puppet/vendor/plist/test/test_parser.rb +0 -90
  1324. data/spec/integration/data_binding.rb +0 -104
  1325. data/spec/integration/provider/package_spec.rb +0 -33
  1326. /data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/{usee → modules/usee}/lib/puppet/functions/usee/callee.rb +0 -0
  1327. /data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/{user → modules/user}/lib/puppet/functions/user/caller.rb +0 -0
@@ -20,7 +20,7 @@ module Puppet
20
20
  module Parser
21
21
  class Parser < Racc::Parser
22
22
 
23
- module_eval(<<'...end egrammar.ra/module_eval...', 'egrammar.ra', 755)
23
+ module_eval(<<'...end egrammar.ra/module_eval...', 'egrammar.ra', 858)
24
24
 
25
25
  # Make emacs happy
26
26
  # Local Variables:
@@ -30,220 +30,310 @@ module_eval(<<'...end egrammar.ra/module_eval...', 'egrammar.ra', 755)
30
30
  ##### State transition tables begin ###
31
31
 
32
32
  clist = [
33
- '58,61,319,-238,59,53,155,54,238,80,-239,-227,335,280,-129,111,320,277',
34
- '371,336,370,-241,375,101,18,104,394,99,100,239,42,280,45,135,47,12,-240',
35
- '46,36,39,251,44,37,10,11,-238,113,66,17,103,110,38,-239,-227,15,16,-129',
36
- '301,112,278,58,61,67,-241,59,53,136,54,43,111,275,81,35,62,111,64,65',
37
- '63,-240,314,48,49,51,50,18,256,52,-236,111,342,42,107,45,254,47,115',
38
- '255,46,36,39,113,44,37,79,110,113,344,66,17,110,79,38,112,279,15,16',
39
- '79,112,280,113,58,61,67,110,59,53,238,54,43,-236,79,112,35,62,111,64',
40
- '65,269,270,66,48,49,51,50,18,71,52,239,331,371,42,370,45,328,47,12,352',
41
- '46,36,39,69,44,37,10,11,113,353,66,17,110,275,38,58,61,15,16,59,112',
42
- '258,257,58,61,67,276,59,53,355,54,43,72,73,74,35,62,111,64,65,256,302',
43
- '358,48,49,51,50,18,251,52,314,363,364,42,304,45,251,47,12,250,46,36',
44
- '39,249,44,37,10,11,113,368,66,17,110,308,38,361,372,15,16,374,112,75',
45
- '77,76,78,67,318,227,230,238,381,43,228,383,238,35,62,275,64,65,238,227',
46
- '66,48,49,51,50,58,61,52,239,59,53,66,54,324,79,79,217,216,387,239,71',
47
- '121,231,390,275,121,393,152,315,18,58,61,309,267,59,42,314,45,150,47',
48
- '12,238,46,36,39,397,44,37,10,11,374,399,66,17,66,400,38,401,122,15,16',
49
- '404,239,405,406,121,79,67,71,135,414,68,132,43,416,417,418,35,62,304',
50
- '64,65,,,,48,49,51,50,58,61,52,67,59,53,,54,410,80,,,,136,62,,,,,,,,',
51
- '101,18,104,,99,100,,42,,45,,47,12,,46,36,39,,44,37,10,11,,,66,17,103',
52
- ',38,,,15,16,,,,,58,61,67,,59,53,,54,43,,,81,35,62,,64,65,,,,48,49,51',
53
- '50,18,,52,,,,42,,45,,47,115,,46,36,39,,44,37,,,,,66,17,,,38,,,15,16',
54
- ',,,,58,61,67,,59,53,,54,43,,,,35,62,,64,65,,,,48,49,51,50,18,,52,,,',
55
- '42,,45,,47,12,,46,36,39,,44,37,10,11,,,66,17,,,38,,,15,16,,,,,58,61',
56
- '67,,59,53,,54,43,,,,35,62,,64,65,,,,48,49,51,50,18,,52,,,,42,,45,,47',
57
- '12,,46,36,39,,44,37,10,11,,,66,17,,,38,,,15,16,,,,,58,61,67,,59,53,',
58
- '54,43,,,,35,62,,64,65,,,,48,49,51,50,18,,52,,,,42,,45,,47,12,,46,36',
59
- '39,,44,37,10,11,,,66,17,,,38,,,15,16,,,,,58,61,67,,59,53,,54,43,,,,35',
60
- '62,,64,65,,,,48,49,51,50,18,,52,,,,42,,45,,47,115,,46,36,39,,44,37,',
61
- ',,,66,17,,,38,,,15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62,,64,65,,,',
62
- '48,49,51,50,18,,52,,,,42,,45,,47,115,,46,36,39,,44,37,,,,,66,17,,,38',
63
- ',,15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62,,64,65,,,,48,49,51,50,18',
64
- ',52,,,,42,,45,,47,115,,46,36,39,,44,37,,,,,66,17,,,38,,,15,16,,,,,58',
65
- '61,67,,59,53,,54,43,,,,35,62,,64,65,,,,48,49,51,50,18,,52,,,,42,,45',
66
- ',47,12,,46,36,39,,44,37,10,11,,,66,17,,,38,,,15,16,,,,,,,67,,,,,,43',
67
- ',,,35,62,,64,65,,,,48,49,51,50,58,61,52,,59,53,,54,408,,,,,,,,,,,,,',
68
- ',,18,58,61,,,59,42,,45,,47,12,,46,36,39,,44,37,10,11,,,66,17,,,38,,',
69
- '15,16,,,,,,,67,,135,,,132,43,,,,35,62,,64,65,,,,48,49,51,50,58,61,52',
70
- '67,59,53,,54,403,80,,,,136,62,,,,,,,,,101,18,104,,99,100,,42,,45,,47',
71
- '12,,46,36,39,,44,37,10,11,,,66,17,103,,38,,,15,16,,,,,58,61,67,,59,53',
72
- ',54,43,,,,35,62,,64,65,,,,48,49,51,50,18,,52,,,,42,,45,,47,115,,46,36',
73
- '39,,44,37,,,,,66,17,,,38,,,15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62',
74
- ',64,65,,,,48,49,51,50,18,,52,,,,42,,45,,47,115,,46,36,39,,44,37,,,,',
75
- '66,17,,,38,,,15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62,,64,65,,,,48',
76
- '49,51,50,18,,52,,,,42,,45,,47,115,,46,36,39,,44,37,,,,,66,17,,,38,,',
77
- '15,16,,,,,,,67,,,,,,43,,,,35,62,,64,65,,,,48,49,51,50,58,61,52,,59,53',
78
- ',54,337,80,,,,,,,,,,,,,,101,18,104,,99,100,,42,,45,,47,12,,46,36,39',
79
- ',44,37,10,11,,,66,17,103,,38,,,15,16,,,,,58,61,67,,59,53,,54,43,,,,35',
80
- '62,,64,65,,,,48,49,51,50,18,,52,,,,42,,45,,47,115,,46,36,39,,44,37,',
81
- ',,,66,17,,,38,,,15,16,,,,,58,61,67,,59,53,139,54,43,,,,35,62,,64,65',
82
- ',,,48,49,51,50,18,,52,,,,42,,45,,47,12,,46,36,39,,44,37,10,11,,,66,17',
83
- ',,38,,,15,16,,,,,58,61,67,,59,53,141,54,43,,,,35,62,,64,65,,,,48,49',
84
- '51,50,18,,52,,,,42,,45,,47,12,,46,36,39,,44,37,10,11,,,66,17,,,38,,',
85
- '15,16,,,,,,,67,,,,,,43,,,,35,62,,64,65,,,,48,49,51,50,58,61,52,,59,53',
86
- ',54,143,80,,,,,,,,,,,,,,101,18,104,,99,100,,42,,45,,47,12,,46,36,39',
87
- ',44,37,10,11,,,66,17,103,,38,,,15,16,,,,,58,61,67,,59,53,,54,43,,,,35',
88
- '62,,64,65,,,,48,49,51,50,18,,52,,,,42,,45,,47,12,,46,36,39,,44,37,10',
89
- '11,,,66,17,,,38,,,15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62,,64,65,',
90
- ',,48,49,51,50,18,,52,,,,42,,45,,47,115,,46,36,39,,44,37,,,,,66,17,,',
91
- '38,,,15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62,,64,65,,,,48,49,51,50',
92
- '18,,52,,,,42,,45,,47,12,,46,36,39,,44,37,10,11,,,66,17,,,38,,,15,16',
93
- ',,,,58,61,67,,59,53,,154,43,,,,35,62,,64,65,,,,48,49,51,50,18,,52,,',
94
- ',42,,45,,47,115,,46,36,39,,44,37,,,,,66,17,,,38,,,15,16,,,,,58,61,67',
95
- ',59,53,,54,43,,,,35,62,,64,65,,,,48,49,51,50,18,,52,,,,42,,45,,47,12',
96
- ',46,36,39,,44,37,10,11,,,66,17,,,38,,,15,16,,,,,58,61,67,,59,53,,54',
97
- '43,,,,35,62,,64,65,,,,48,49,51,50,18,,52,,,,42,,45,,47,12,,46,36,39',
98
- ',44,37,10,11,,,66,17,,,38,,,15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62',
99
- ',64,65,,,,48,49,51,50,18,,52,,,,42,,45,,47,115,,46,36,39,,44,37,,,,',
100
- '66,17,,,38,,,15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62,,64,65,,,,48',
101
- '49,51,50,18,,52,,,,42,,45,,47,12,,46,36,39,,44,37,10,11,,,66,17,,,38',
102
- ',,15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62,,64,65,,,,48,49,51,50,18',
103
- ',52,,,,42,,45,,47,12,,46,36,39,,44,37,10,11,,,66,17,,,38,,,15,16,,,',
104
- ',58,61,67,,59,53,,54,43,,,,35,62,,64,65,,,,48,49,51,50,18,,52,,,,42',
105
- ',45,,47,12,,46,36,39,,44,37,10,11,,,66,17,,,38,,,15,16,,,,,58,61,67',
106
- ',59,53,,54,43,,,,35,62,,64,65,,,,48,49,51,50,18,,52,,,,42,,45,,47,12',
107
- ',46,36,39,,44,37,10,11,,,66,17,,,38,,,15,16,,,,,58,61,67,,59,53,,54',
108
- '43,,,,35,62,,64,65,,,,48,49,51,50,18,,52,,,,42,,45,,47,12,,46,36,39',
109
- ',44,37,10,11,,,66,17,,,38,,,15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62',
110
- ',64,65,,,,48,49,51,50,18,,52,,,,42,,45,,47,12,,46,36,39,,44,37,10,11',
111
- ',,66,17,,,38,,,15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62,,64,65,,,,48',
112
- '49,51,50,18,,52,,,,42,,45,,47,12,,46,36,39,,44,37,10,11,,,66,17,,,38',
113
- ',,15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62,,64,65,,,,48,49,51,50,18',
114
- ',52,,,,42,,45,,47,12,,46,36,39,,44,37,10,11,,,66,17,,,38,,,15,16,,,',
115
- ',58,61,67,,59,53,,54,43,,,,35,62,,64,65,,,,48,49,51,50,18,,52,,,,171',
116
- '185,177,186,47,178,188,179,36,170,,173,168,,,,,66,17,189,184,169,,,15',
117
- '167,,,,,,,67,,,,,187,172,,,,35,62,,64,65,,,,180,181,183,182,58,61,52',
118
- '80,59,53,,54,,,,,,,,,,101,,104,,99,100,,18,,,,,,42,,45,,47,115,,46,36',
119
- '39,,44,37,103,,,,66,17,,,38,,,15,16,,,,,58,61,67,,59,53,,54,43,,,,35',
120
- '62,,64,65,,,,48,49,51,50,18,,52,,,,42,,45,,47,115,,46,36,39,,44,37,',
121
- ',,,66,17,,,38,,,15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62,,64,65,,,',
122
- '48,49,51,50,18,,52,,,,42,,45,,47,115,,46,36,39,,44,37,,,,,66,17,,,38',
123
- ',,15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62,,64,65,,,,48,49,51,50,18',
124
- ',52,,,,42,,45,,47,115,,46,36,39,,44,37,,,,,66,17,,,38,,,15,16,,,,,58',
125
- '61,67,,59,53,,54,43,,,,35,62,,64,65,,,,48,49,51,50,18,,52,,,,42,,45',
126
- ',47,115,,46,36,39,,44,37,,,,,66,17,,,38,,,15,16,,,,,58,61,67,,59,53',
127
- ',54,43,,,,35,62,,64,65,,,,48,49,51,50,18,,52,,,,42,,45,,47,115,,46,36',
128
- '39,,44,37,,,,,66,17,,,38,,,15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62',
129
- ',64,65,,,,48,49,51,50,18,,52,,,,42,,45,,47,115,,46,36,39,,44,37,,,,',
130
- '66,17,,,38,,,15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62,,64,65,,,,48',
131
- '49,51,50,18,,52,,,,42,,45,,47,115,,46,36,39,,44,37,,,,,66,17,,,38,,',
132
- '15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62,,64,65,,,,48,49,51,50,18,',
133
- '52,,,,42,,45,,47,115,,46,36,39,,44,37,,,,,66,17,,,38,,,15,16,,,,,58',
134
- '61,67,,59,53,,54,43,,,,35,62,,64,65,,,,48,49,51,50,18,,52,,,,42,,45',
135
- ',47,115,,46,36,39,,44,37,,,,,66,17,,,38,,,15,16,,,,,58,61,67,,59,53',
136
- ',54,43,,,,35,62,,64,65,,,,48,49,51,50,18,,52,,,,42,,45,,47,115,,46,36',
137
- '39,,44,37,,,,,66,17,,,38,,,15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62',
138
- ',64,65,,,,48,49,51,50,18,,52,,,,42,,45,,47,115,,46,36,39,,44,37,,,,',
139
- '66,17,,,38,,,15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62,,64,65,,,,48',
140
- '49,51,50,18,,52,,,,42,,45,,47,115,,46,36,39,,44,37,,,,,66,17,,,38,,',
141
- '15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62,,64,65,,,,48,49,51,50,18,',
142
- '52,,,,42,,45,,47,115,,46,36,39,,44,37,,,,,66,17,,,38,,,15,16,,,,,58',
143
- '61,67,,59,53,,54,43,,,,35,62,,64,65,,,,48,49,51,50,18,,52,,,,42,,45',
144
- ',47,115,,46,36,39,,44,37,,,,,66,17,,,38,,,15,16,,,,,58,61,67,,59,53',
145
- ',54,43,,,,35,62,,64,65,,,,48,49,51,50,18,,52,,,,42,,45,,47,115,,46,36',
146
- '39,,44,37,,,,,66,17,,,38,,,15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62',
147
- ',64,65,,,,48,49,51,50,18,,52,,,,42,,45,,47,115,,46,36,39,,44,37,,,,',
148
- '66,17,,,38,,,15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62,,64,65,,,,48',
149
- '49,51,50,18,,52,,,,42,,45,,47,115,,46,36,39,,44,37,,,,,66,17,,,38,,',
150
- '15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62,,64,65,,,,48,49,51,50,18,',
151
- '52,,,,42,,45,,47,115,,46,36,39,,44,37,,,,,66,17,,,38,,,15,16,,,,,58',
152
- '61,67,,59,53,,54,43,,,,35,62,,64,65,,,,48,49,51,50,18,,52,,,,42,,45',
153
- ',47,115,,46,36,39,,44,37,,,,,66,17,,,38,,,15,16,,,,,58,61,67,,59,53',
154
- ',54,43,,,213,35,62,,64,65,,,,48,49,51,50,18,215,52,,,,42,,45,,47,12',
155
- ',46,36,39,,44,37,10,11,,,66,17,,,38,,,15,16,,,,,58,61,67,,59,53,,54',
156
- '43,,,,35,62,,64,65,,,,48,49,51,50,18,,52,,,,42,,45,,47,115,,46,36,39',
157
- ',44,37,,,,,66,17,,,38,,,15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62,,64',
158
- '65,,,,48,49,51,50,18,,52,,,,42,,45,,47,115,,46,36,39,,44,37,,,,,66,17',
159
- ',,38,,,15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62,,64,65,,,,48,49,51',
160
- '50,18,,52,,,,42,,45,,47,115,,46,36,39,,44,37,,,,,66,17,,,38,,,15,16',
161
- ',,,,58,61,67,,59,53,,54,43,,,,35,62,,64,65,,,,48,49,51,50,18,,52,,,',
162
- '42,,45,,47,115,,46,36,39,,44,37,,,,,66,17,,,38,,,15,16,,,,,58,61,67',
163
- ',59,53,,54,43,,,,35,62,,64,65,,,,48,49,51,50,18,,52,,,,42,,45,,47,115',
164
- ',46,36,39,,44,37,,,,,66,17,,,38,,,15,16,,,,,58,61,67,,59,53,,54,43,',
165
- '276,,35,62,,64,65,,,,48,49,51,50,18,,52,,,,42,,45,,47,115,,46,36,39',
166
- ',44,37,,,,,66,17,,,38,,,15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62,,64',
167
- '65,,,,48,49,51,50,18,,52,,,,42,,45,,47,115,,46,36,39,,44,37,,,,,66,17',
168
- ',,38,,,15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62,,64,65,,,,48,49,51',
169
- '50,18,,52,,,,42,,45,,47,12,,46,36,39,,44,37,10,11,,,66,17,,,38,,,15',
170
- '16,,,,,58,61,67,,59,53,,54,43,,,,35,62,,64,65,,,,48,49,51,50,18,,52',
171
- ',,,42,,45,,47,115,,46,36,39,,44,37,,,,,66,17,,,38,,,15,16,,,,,58,61',
172
- '67,,59,53,,54,43,,,,35,62,,64,65,,,,48,49,51,50,18,,52,,,,42,,45,,47',
173
- '115,,46,36,39,,44,37,,,,,66,17,,,38,,,15,16,,,,,58,61,67,,59,53,,54',
174
- '43,,,,35,62,,64,65,,,,48,49,51,50,18,,52,,,,42,,45,,47,115,,46,36,39',
175
- ',44,37,,,,,66,17,,,38,,,15,16,,,,,,,67,,,,,,43,,,,35,62,,64,65,,,,48',
176
- '49,51,50,58,61,52,,59,53,,54,143,,,,,,,,,,,,,,,,18,,,,,,42,,45,,47,12',
177
- ',46,36,39,,44,37,10,11,,,66,17,,,38,,,15,16,,,,,58,61,67,,59,53,,54',
178
- '43,,,,35,62,,64,65,,,,48,49,51,50,18,,52,,,,42,,45,,47,115,,46,36,39',
179
- ',44,37,,,,,66,17,,,38,,,15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62,,64',
180
- '65,,,,48,49,51,50,18,,52,,,,42,,45,,47,12,,46,36,39,,44,37,10,11,,,66',
181
- '17,,,38,,,15,16,,,,,,,67,,,,,,43,,,,35,62,,64,65,,,,48,49,51,50,58,61',
182
- '52,,59,53,,54,312,,,,,,,,,,,,,,,,18,,,,,,42,,45,,47,12,,46,36,39,,44',
183
- '37,10,11,,,66,17,,,38,,,15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62,,64',
184
- '65,,,,48,49,51,50,18,243,52,,,,42,,45,,47,12,,46,36,39,,44,37,10,11',
185
- ',,66,17,,,38,,,15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62,,64,65,,,,48',
186
- '49,51,50,18,,52,,,,42,,45,,47,12,,46,36,39,,44,37,10,11,,,66,17,,,38',
187
- ',,15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62,,64,65,,,,48,49,51,50,18',
188
- ',52,,,,42,,45,,47,115,,46,36,39,,44,37,,,,,66,17,,,38,,,15,16,,,,,58',
189
- '61,67,,59,53,,54,43,,,,35,62,,64,65,,,,48,49,51,50,18,,52,,,,42,,45',
190
- ',47,115,,46,36,39,,44,37,,,,,66,17,,,38,,,15,16,,,,,,,67,,,,,,43,,,',
191
- '35,62,,64,65,,,,48,49,51,50,58,61,52,,59,53,,54,376,,,,,,,,,,,,,,,,18',
192
- ',,,,,42,,45,,47,115,,46,36,39,,44,37,,,,,66,17,,,38,,,15,16,,,,,58,61',
193
- '67,,59,53,,54,43,,,,35,62,,64,65,,,,48,49,51,50,18,,52,,,,42,,45,,47',
194
- '12,,46,36,39,,44,37,10,11,,,66,17,,,38,,,15,16,,,,,58,61,67,,59,53,',
195
- '54,43,,,,35,62,,64,65,,,,48,49,51,50,18,,52,,,,42,,45,,47,115,,46,36',
196
- '39,,44,37,,,,,66,17,,,38,,,15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62',
197
- ',64,65,,,,48,49,51,50,18,,52,,,,42,,45,,47,115,,46,36,39,,44,37,,,,',
198
- '66,17,,,38,,,15,16,,,,,,,67,,,,,,43,,,,35,62,,64,65,,,,48,49,51,50,58',
199
- '61,52,,59,53,,54,322,,,,,,,,,,,,,,,,18,,,,,,42,,45,,47,12,,46,36,39',
200
- ',44,37,10,11,80,,66,17,,,38,,,15,16,,,91,101,,104,67,99,100,,92,,43',
201
- ',,,35,62,,64,65,,,,48,49,51,50,,103,52,,,,80,,,84,85,87,86,89,90,,82',
202
- '83,96,91,101,305,104,81,99,100,,92,94,93,95,,58,61,,,59,,,,,,,,88,,103',
203
- ',,,98,97,,,84,85,87,86,89,90,,82,83,80,,246,,,81,,,135,,,132,96,91,101',
204
- ',104,,99,100,,92,94,93,95,,88,,,,,67,,,,,,,,,103,136,62,,98,97,,,84',
205
- '85,87,86,89,90,,82,83,80,,245,,,81,,,,,,,96,91,101,,104,,99,100,,92',
206
- '94,93,95,,88,,,,,,,,,,,,,,103,,,,98,97,,,84,85,87,86,89,90,,82,83,80',
207
- ',244,,,81,,,,,,,96,91,101,,104,80,99,100,,92,94,93,95,,88,,,,,101,,104',
208
- ',99,100,,,,103,,,,98,97,,80,84,85,87,86,89,90,,82,83,103,,96,91,101',
209
- '81,104,,99,100,,92,94,93,95,82,83,,,,,,81,,,,88,,,,103,,,,98,97,,80',
210
- '84,85,87,86,89,90,,82,83,,,96,91,101,81,104,,99,100,,92,94,93,95,,,',
211
- ',,,,,,,,88,,,,103,,,,98,97,,80,84,85,87,86,89,90,,82,83,,,96,91,101',
212
- '81,104,,99,100,,92,94,93,95,,269,270,,,,,,,,,88,,,,103,,58,61,98,97',
213
- '59,80,84,85,87,86,89,90,,82,83,,,96,91,101,81,104,,99,100,,92,94,93',
214
- '95,,,,,,,,,,135,,88,132,,,103,,,,98,97,,80,84,85,87,86,89,90,,82,83',
215
- '67,,,,101,81,104,,99,100,136,62,,,,80,,,,,281,,,,,,88,96,91,101,103',
216
- '104,,99,100,,92,94,93,95,87,86,,,,82,83,,,,,,81,,,103,,,,98,97,,80,84',
217
- '85,87,86,89,90,,82,83,,88,96,91,101,81,104,,99,100,,92,94,93,95,,,,',
218
- ',,,,,,,88,,,,103,,,,,97,,80,84,85,87,86,89,90,,82,83,,,96,91,101,81',
219
- '104,,99,100,,92,94,93,95,80,,,,,,,,,,,88,,,101,103,104,,99,100,80,,',
220
- '84,85,87,86,89,90,,82,83,96,91,101,273,104,81,99,100,103,92,94,93,95',
221
- ',,,,,,,,,,82,83,,88,,103,,81,,98,97,,80,84,85,87,86,89,90,,82,83,,,96',
222
- '91,101,81,104,,99,100,,92,94,93,95,,,,,,,,,,,,88,,,,103,,,,98,97,,80',
223
- '84,85,87,86,89,90,,82,83,,,,,101,81,104,,99,100,,,,,,80,,,,,,,,,,,88',
224
- ',91,101,103,104,,99,100,80,92,,84,85,87,86,,,,82,83,,91,101,,104,81',
225
- '99,100,103,92,,,,80,,,84,85,87,86,89,90,,82,83,,88,101,103,104,81,99',
226
- '100,,,,84,85,87,86,89,90,80,82,83,,,,,,81,88,,103,96,91,101,,104,,99',
227
- '100,,92,94,93,95,,82,83,,88,,,,81,,,,,,,103,,,,98,97,,80,84,85,87,86',
228
- '89,90,,82,83,,,96,91,101,81,104,,99,100,,92,94,93,95,,,,,,,,,,,,88,',
229
- ',,103,,,,98,97,,80,84,85,87,86,89,90,,82,83,,,96,91,101,81,104,,99,100',
230
- ',92,94,93,95,,,,,,,,,,,,88,,,,103,,,,98,97,,80,84,85,87,86,89,90,,82',
231
- '83,,,96,91,101,81,104,,99,100,,92,94,93,95,,,,,,,,,,,,88,,,,103,,,,98',
232
- '97,,80,84,85,87,86,89,90,,82,83,,,,91,101,81,104,,99,100,,92,,80,,,',
233
- ',,,,,,,,,88,101,,104,103,99,100,,,,,,84,85,87,86,89,90,,82,83,,,,,,81',
234
- '103,,,,,80,,,84,85,87,86,89,90,,82,83,,,101,88,104,81,99,100,,,,80,',
235
- ',,,,,,,,,,,,101,88,104,103,99,100,,,,,,84,85,87,86,89,90,,82,83,,,,',
236
- ',81,103,,,,,80,,,,,87,86,,,,82,83,,,101,88,104,81,99,100,,,,80,,,,,',
237
- ',,,,,,96,91,101,88,104,103,99,100,,92,94,93,95,84,85,87,86,,,,82,83',
238
- ',,,,,81,103,,,,98,97,,,84,85,87,86,89,90,,82,83,,,,88,,81,,,293,185',
239
- '292,186,,290,188,294,,287,,289,291,,,,,,88,189,184,295,,,,288,,,,,,',
240
- ',,,,,187,296,,,,,,,,,,,,299,300,298,297,293,185,292,186,,290,188,294',
241
- ',287,,289,291,,,,,,,189,184,295,,,,288,,,,,,,,,,,,187,296,,,,,,,,,,',
242
- ',299,300,298,297,293,185,292,186,,290,188,294,,287,,289,291,,,,,,,189',
243
- '184,295,,,,288,,,,,,,,,,,,187,296,,,,,,,,,,,,299,300,298,297,293,185',
244
- '292,186,,290,188,294,,287,,289,291,,,,,,,189,184,295,,,,288,,,,,,,,',
245
- ',,,187,296,,,,,,,,,,,,299,300,298,297' ]
246
- racc_action_table = arr = ::Array.new(6785, nil)
33
+ '75,77,281,-281,60,70,144,71,-267,114,-141,-279,292,167,448,438,447,144',
34
+ '463,336,437,-276,387,116,20,119,398,113,115,147,51,282,54,293,66,12',
35
+ '388,58,43,46,147,53,44,10,11,-281,168,61,19,118,-267,45,-141,-279,17',
36
+ '18,-142,98,99,101,100,337,82,-276,96,97,75,77,52,437,169,95,42,78,399',
37
+ '80,81,79,452,-143,59,48,67,68,62,63,64,65,55,-182,-182,57,75,77,69,144',
38
+ '60,70,-142,71,102,114,-140,313,402,448,314,447,-178,-178,317,316,134',
39
+ '135,396,116,20,119,147,113,115,-143,51,371,54,292,66,137,405,58,43,46',
40
+ '292,53,44,-183,-183,-179,-179,61,19,118,406,45,-140,295,17,18,292,98',
41
+ '99,101,100,293,82,384,96,97,-184,-184,52,295,408,95,42,78,383,80,81',
42
+ '293,273,-138,59,48,67,68,62,63,64,65,55,-181,-181,57,75,77,69,94,60',
43
+ '70,383,71,102,114,-184,-184,134,135,-183,-183,328,329,-182,-182,-181',
44
+ '-181,-221,116,20,119,126,113,115,-138,51,414,54,275,66,12,416,58,43',
45
+ '46,84,53,44,10,11,-180,-180,61,19,118,379,45,94,263,17,18,262,132,86',
46
+ '101,100,125,82,423,96,97,-178,-178,52,127,126,95,42,78,424,80,81,292',
47
+ '197,334,59,48,67,68,62,63,64,65,55,335,295,57,75,77,69,427,60,70,293',
48
+ '71,102,132,292,194,276,125,128,129,130,131,430,150,285,127,126,295,20',
49
+ '122,383,279,150,375,51,293,54,192,66,12,439,58,43,46,440,53,44,10,11',
50
+ '326,441,61,19,442,280,45,373,132,17,18,370,125,128,129,130,131,82,445',
51
+ '366,127,449,451,52,364,363,284,42,78,342,80,81,273,460,273,59,48,67',
52
+ '68,62,63,64,65,55,307,397,57,75,77,69,308,60,70,334,71,495,273,128,129',
53
+ '130,131,159,159,311,467,311,315,469,334,126,151,20,472,334,150,126,94',
54
+ '51,86,54,334,66,12,94,58,43,46,477,53,44,10,11,451,479,61,19,480,481',
55
+ '45,482,132,17,18,334,125,94,132,486,487,82,125,488,127,433,489,52,490',
56
+ '491,127,42,78,94,80,81,94,86,499,59,48,67,68,62,63,64,65,55,500,83,57',
57
+ '75,77,69,502,60,70,503,71,493,114,128,129,130,131,504,366,128,129,130',
58
+ '131,,,,116,20,119,126,113,115,,51,,54,,66,12,,58,43,46,,53,44,10,11',
59
+ ',,61,19,118,,45,,,17,18,,132,,101,100,125,82,,96,97,,,52,127,,95,42',
60
+ '78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57,75,77,69,,60,70,,71,102',
61
+ ',335,,,,128,129,130,131,,,,126,,,20,,,-266,126,,51,,54,,66,137,,58,43',
62
+ '46,,53,44,,,,,61,19,,,45,132,,17,18,125,,,132,,,82,125,127,,,,52,-266',
63
+ ',127,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57,75,77,69,,60,70',
64
+ ',71,,128,129,130,131,,,,128,129,130,131,,126,,,20,,126,,,,51,,54,,66',
65
+ '12,,58,43,46,,53,44,10,11,,,61,19,,,45,132,,17,18,125,132,,,,125,82',
66
+ ',127,,,,52,127,,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57,75',
67
+ '77,69,,60,70,,71,,128,129,130,131,,128,129,130,131,,,,126,,,20,,126',
68
+ ',,,51,,54,,66,12,,58,43,46,,53,44,10,11,,,61,19,,,45,132,,17,18,125',
69
+ '132,,,,125,82,,127,,,,52,127,,,42,78,,80,81,,,,59,48,67,68,62,63,64',
70
+ '65,55,,,57,75,77,69,,60,70,,71,485,128,129,130,131,,128,129,130,131',
71
+ ',,,126,,,20,,126,,,,51,,54,,66,12,,58,43,46,,53,44,10,11,,,61,19,,,45',
72
+ '132,,17,18,125,132,,,,125,82,,127,,,,52,127,,,42,78,,80,81,,,,59,48',
73
+ '67,68,62,63,64,65,55,,,57,75,77,69,,60,70,,71,,128,129,130,131,,128',
74
+ '129,130,131,,,,,,,20,,,,,,51,,54,,66,137,,58,43,46,,53,44,,,,,61,19',
75
+ ',,45,,,17,18,,,,,,,82,75,77,,,169,52,,,,42,78,,80,81,,,,59,48,67,68',
76
+ '62,63,64,65,55,,,57,75,77,69,,60,70,,71,,114,167,,,164,,,,75,77,,,169',
77
+ ',116,20,119,,113,115,,51,,54,82,66,137,,58,43,46,,53,44,168,78,,,61',
78
+ '19,118,,45,,,17,18,167,,,164,,,82,75,77,,,169,52,,,95,42,78,,80,81,',
79
+ ',82,59,48,67,68,62,63,64,65,55,168,78,57,75,77,69,,60,70,,71,,114,167',
80
+ ',,164,,,,75,77,,,169,,116,20,119,,113,115,,51,,54,82,66,137,,58,43,46',
81
+ ',53,44,168,78,,,61,19,118,,45,,,17,18,167,,,164,,,82,,96,97,,,52,,,95',
82
+ '42,78,,80,81,,,82,59,48,67,68,62,63,64,65,55,168,78,57,75,77,69,114',
83
+ '60,70,,71,,114,,,,,,,,116,,119,,113,115,116,20,119,,113,115,,51,,54',
84
+ ',66,137,,58,43,46,,53,44,118,,,,61,19,118,,45,,,17,18,,,96,97,,,82,',
85
+ ',95,,,52,,,95,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57,75,77',
86
+ '69,,60,70,,71,,114,,,,,,,,,,,,,,116,20,119,,113,115,,51,,54,,66,12,',
87
+ '58,43,46,,53,44,10,11,,,61,19,118,,45,,,17,18,87,88,89,,,,82,,96,97',
88
+ ',,52,,,95,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57,75,77,69,',
89
+ '60,70,,71,185,114,,,,90,92,91,93,,,,,,,116,20,119,,113,115,,51,,54,',
90
+ '66,12,,58,43,46,,53,44,10,11,,,61,19,118,,45,,,17,18,,,,,,,82,,,,,,52',
91
+ ',,,42,78,,80,81,,,,174,171,67,68,62,63,64,65,172,181,180,173,75,77,69',
92
+ ',60,70,,71,,,,,,,,,,,,,,,,,20,143,,,,,51,,54,,66,12,,58,43,46,,53,44',
93
+ '10,11,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48',
94
+ '67,68,62,63,64,65,55,,,57,75,77,69,,60,70,,71,,114,,,,,,,,,,,,,,116',
95
+ '20,119,,113,115,,51,,54,,66,12,,58,43,46,,53,44,10,11,,,61,19,118,,45',
96
+ ',,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64,65',
97
+ '55,,,57,75,77,69,114,60,70,,71,,114,,,,,,,,116,,119,,113,115,116,20',
98
+ '119,,113,115,,51,,54,,66,137,,58,43,46,,53,44,118,,,,61,19,118,,45,',
99
+ ',17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55',
100
+ ',,57,75,77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,12,,58,43',
101
+ '46,,53,44,10,11,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81',
102
+ ',,,59,48,67,68,62,63,64,65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,,,,',
103
+ ',,,20,,,,,,51,,54,,66,137,,58,43,46,,53,44,,,,,61,19,,,45,,,17,18,,',
104
+ ',,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57,75',
105
+ '77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,137,,58,43,46,,53',
106
+ '44,,,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48',
107
+ '67,68,62,63,64,65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,',
108
+ ',,51,,54,,66,137,,58,43,46,,53,44,,,,,61,19,,,45,,,17,18,,,,,,,82,,',
109
+ ',,,52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57,75,77,69,,60',
110
+ '70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,137,,58,43,46,,53,44,,,,,61',
111
+ '19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67,68,62,63',
112
+ '64,65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66',
113
+ '137,,58,43,46,,53,44,,,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78',
114
+ ',80,81,,,,59,48,67,68,62,63,64,65,55,,,57,75,77,69,,60,70,,71,,,,,,',
115
+ ',,,,,,,,,,20,,,,,,51,,54,,66,12,,58,43,46,,53,44,10,11,,,61,19,,,45',
116
+ ',,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64,65',
117
+ '55,,,57,75,77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,137,',
118
+ '58,43,46,,53,44,,,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80',
119
+ '81,,,,59,48,67,68,62,63,64,65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,',
120
+ ',,,,,,20,,,,,,51,,54,,66,137,,58,43,46,,53,44,,,,,61,19,,,45,,,17,18',
121
+ ',,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57',
122
+ '75,77,69,,60,70,,71,305,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,12,,58,43',
123
+ '46,,53,44,10,11,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81',
124
+ ',,,59,48,67,68,62,63,64,65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,,,,',
125
+ ',,,20,,,,,,51,,54,,66,12,,58,43,46,,53,44,10,11,,,61,19,,,45,,,17,18',
126
+ ',,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57',
127
+ '75,77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,12,,58,43,46',
128
+ ',53,44,10,11,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,',
129
+ ',,59,48,67,68,62,63,64,65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,,,,,',
130
+ ',,20,,,,,,51,,54,,66,12,,58,43,46,,53,44,10,11,,,61,19,,,45,,,17,18',
131
+ ',,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57',
132
+ '75,77,69,,60,70,,71,453,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,137,,58,43',
133
+ '46,,53,44,,,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,',
134
+ ',59,48,67,68,62,63,64,65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,,,,,,',
135
+ ',20,,,,,,51,,54,,66,12,,58,43,46,,53,44,10,11,,,61,19,,,45,,,17,18,',
136
+ ',,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57,75',
137
+ '77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,137,,58,43,46,,53',
138
+ '44,,,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48',
139
+ '67,68,62,63,64,65,55,,,57,75,77,69,,60,70,176,71,,,,,,,,,,,,,,,,,20',
140
+ ',,,,,51,,54,,66,12,,58,43,46,,53,44,10,11,,,61,19,,,45,,,17,18,,,,,',
141
+ ',82,,,,,,52,,,,42,78,,80,81,,,,174,171,67,68,62,63,64,65,172,181,180',
142
+ '173,75,77,69,,60,70,183,71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,12,,58',
143
+ '43,46,,53,44,10,11,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80',
144
+ '81,,,,174,171,67,68,62,63,64,65,172,181,180,173,75,77,69,,60,70,,71',
145
+ '185,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,12,,58,43,46,,53,44,10,11,,,61',
146
+ '19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,174,171,67,68,62',
147
+ '63,64,65,172,181,180,173,75,77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,',
148
+ ',51,,54,,66,12,,58,43,46,,53,44,10,11,,,61,19,,,45,,,17,18,,,,,,,82',
149
+ ',,,,,52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57,75,77,69',
150
+ ',60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,137,,58,43,46,,53,44,',
151
+ ',,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67,68',
152
+ '62,63,64,65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,',
153
+ '54,,66,137,,58,43,46,,53,44,,,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52',
154
+ ',,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57,75,77,69,,60,70,',
155
+ '196,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,137,,58,43,46,,53,44,,,,,61,19',
156
+ ',,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64',
157
+ '65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,137',
158
+ ',58,43,46,,53,44,,,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80',
159
+ '81,,,,59,48,67,68,62,63,64,65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,',
160
+ ',,,,,,20,,,,,,51,,54,,66,12,,58,43,46,,53,44,10,11,,,61,19,,,45,,,17',
161
+ '18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,',
162
+ '57,75,77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,137,,58,43',
163
+ '46,,53,44,,,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,',
164
+ ',59,48,67,68,62,63,64,65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,,,,,,',
165
+ ',20,,,,,,51,,54,,66,12,,58,43,46,,53,44,10,11,,,61,19,,,45,,,17,18,',
166
+ ',,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57,75',
167
+ '77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,12,,58,43,46,,53',
168
+ '44,10,11,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59',
169
+ '48,67,68,62,63,64,65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,,,,,,,,20',
170
+ ',,,,,51,,54,,66,12,,58,43,46,,53,44,10,11,,,61,19,,,45,,,17,18,,,,,',
171
+ ',82,,,,,,52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57,75,77',
172
+ '69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,12,,58,43,46,,53,44',
173
+ '10,11,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48',
174
+ '67,68,62,63,64,65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,',
175
+ ',,51,,54,,66,12,,58,43,46,,53,44,10,11,,,61,19,,,45,,,17,18,,,,,,,82',
176
+ ',,,,,52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57,75,77,69',
177
+ ',60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,12,,58,43,46,,53,44,10',
178
+ '11,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67',
179
+ '68,62,63,64,65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51',
180
+ ',54,,66,12,,58,43,46,,53,44,10,11,,,61,19,,,45,,,17,18,,,,,,,82,,,,',
181
+ ',52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57,75,77,69,,60',
182
+ '70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,12,,58,43,46,,53,44,10,11',
183
+ ',,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67,68',
184
+ '62,63,64,65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,214',
185
+ '232,224,233,66,226,235,227,43,212,,216,210,,,,,61,19,236,231,211,,,17',
186
+ '209,,,,,,,82,,,,,234,215,,,,42,78,,80,81,,,,228,213,229,230,219,220',
187
+ '221,222,225,237,,57,75,77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,',
188
+ '54,,66,137,,58,43,46,,53,44,,,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52',
189
+ ',,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57,75,77,69,,60,70,',
190
+ '71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,137,,58,43,46,,53,44,,,,,61,19',
191
+ ',,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64',
192
+ '65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,137',
193
+ ',58,43,46,,53,44,,,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80',
194
+ '81,,,,59,48,67,68,62,63,64,65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,',
195
+ ',,,,,,20,,,,,,51,,54,,66,137,,58,43,46,,53,44,,,,,61,19,,,45,,,17,18',
196
+ ',,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57',
197
+ '75,77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,137,,58,43,46',
198
+ ',53,44,,,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59',
199
+ '48,67,68,62,63,64,65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,,,,,,,,20',
200
+ ',,,,,51,,54,,66,137,,58,43,46,,53,44,,,,,61,19,,,45,,,17,18,,,,,,,82',
201
+ ',,,,,52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57,75,77,69',
202
+ ',60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,137,,58,43,46,,53,44,',
203
+ ',,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67,68',
204
+ '62,63,64,65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,',
205
+ '54,,66,137,,58,43,46,,53,44,,,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52',
206
+ ',,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57,75,77,69,,60,70,',
207
+ '71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,137,,58,43,46,,53,44,,,,,61,19',
208
+ ',,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64',
209
+ '65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,137',
210
+ ',58,43,46,,53,44,,,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80',
211
+ '81,,,,59,48,67,68,62,63,64,65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,',
212
+ ',,,,,,20,,,,,,51,,54,,66,137,,58,43,46,,53,44,,,,,61,19,,,45,,,17,18',
213
+ ',,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57',
214
+ '75,77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,137,,58,43,46',
215
+ ',53,44,,,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59',
216
+ '48,67,68,62,63,64,65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,,,,,,,,20',
217
+ ',,,,,51,,54,,66,137,,58,43,46,,53,44,,,,,61,19,,,45,,,17,18,,,,,,,82',
218
+ ',,,,,52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57,75,77,69',
219
+ ',60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,137,,58,43,46,,53,44,',
220
+ ',,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67,68',
221
+ '62,63,64,65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,',
222
+ '54,,66,137,,58,43,46,,53,44,,,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52',
223
+ ',,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57,75,77,69,,60,70,',
224
+ '71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,137,,58,43,46,,53,44,,,,,61,19',
225
+ ',,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64',
226
+ '65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,137',
227
+ ',58,43,46,,53,44,,,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80',
228
+ '81,,,,59,48,67,68,62,63,64,65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,',
229
+ ',,,,,,20,,,,,,51,,54,,66,137,,58,43,46,,53,44,,,,,61,19,,,45,,,17,18',
230
+ ',,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57',
231
+ '75,77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,137,,58,43,46',
232
+ ',53,44,,,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,259,42,78,,80,81,,',
233
+ ',59,48,67,68,62,63,64,65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,,,,,,',
234
+ ',20,,,,,,51,,54,,66,137,,58,43,46,,53,44,,,,,61,19,,,45,,,17,18,,,,',
235
+ ',,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57,75,77',
236
+ '69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,137,,58,43,46,,53,44',
237
+ ',,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67',
238
+ '68,62,63,64,65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51',
239
+ ',54,,66,137,,58,43,46,,53,44,,,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52',
240
+ ',,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57,75,77,69,,60,70,',
241
+ '71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,137,,58,43,46,,53,44,,,,,61,19',
242
+ ',,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64',
243
+ '65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,137',
244
+ ',58,43,46,,53,44,,,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80',
245
+ '81,,,,59,48,67,68,62,63,64,65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,',
246
+ ',,,,,,20,,,,,,51,,54,,66,137,,58,43,46,,53,44,,,,,61,19,,,45,,,17,18',
247
+ ',,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57',
248
+ '75,77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,12,,58,43,46',
249
+ ',53,44,10,11,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,',
250
+ ',,59,48,67,68,62,63,64,65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,,,,,',
251
+ ',,20,,,,,,51,,54,,66,137,,58,43,46,,53,44,,,,,61,19,,,45,,,17,18,,,',
252
+ ',,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57,75',
253
+ '77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,12,,58,43,46,,53',
254
+ '44,10,11,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,174',
255
+ '171,67,68,62,63,64,65,172,181,180,173,75,77,69,,60,70,,71,409,,,,,,',
256
+ ',,,,,,,,,20,,,,,,51,,54,,66,12,,58,43,46,,53,44,10,11,,,61,19,,,45,',
257
+ ',17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,174,171,67,68,62,63,64,65',
258
+ '172,181,180,173,75,77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,',
259
+ '66,12,,58,43,46,,53,44,10,11,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,',
260
+ ',,42,78,,80,81,,,,174,171,67,68,62,63,64,65,172,181,180,173,75,77,69',
261
+ ',60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,137,,58,43,46,,53,44,',
262
+ ',,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67,68',
263
+ '62,63,64,65,55,,,57,75,77,69,,60,70,,71,392,,,,,,,,,,,,,,,,20,,,,,,51',
264
+ ',54,,66,12,,58,43,46,,53,44,10,11,,,61,19,,,45,,,17,18,,,,,,,82,,,,',
265
+ ',52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57,75,77,69,,60',
266
+ '70,,71,390,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,12,,58,43,46,,53,44,10',
267
+ '11,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67',
268
+ '68,62,63,64,65,55,,,57,75,77,69,,60,70,,71,381,,,,,,,,,,,,,,,,20,,,',
269
+ ',,51,,54,,66,12,,58,43,46,,53,44,10,11,,,61,19,,,45,,,17,18,,,,,,,82',
270
+ ',,,,,52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57,75,77,69',
271
+ ',60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,12,,58,43,46,,53,44,10',
272
+ '11,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67',
273
+ '68,62,63,64,65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51',
274
+ ',54,,66,137,,58,43,46,,53,44,,,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52',
275
+ ',,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57,75,77,69,,60,70,',
276
+ '71,,,,,,,,,,,,,,,,,20,297,,,,,51,,54,,66,12,,58,43,46,,53,44,10,11,',
277
+ ',61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67,68',
278
+ '62,63,64,65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,',
279
+ '54,,66,12,,58,43,46,,53,44,10,11,,,61,19,,,45,,,17,18,,,,,,,82,,,,,',
280
+ '52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57,75,77,69,,60,70',
281
+ ',71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,137,,58,43,46,,53,44,,,,,61,19',
282
+ ',,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64',
283
+ '65,55,114,,57,,,69,,,,,,,110,105,116,,119,,113,115,,106,108,107,109',
284
+ ',,,,,,,,,,,,,,,118,,,,112,111,,,98,99,101,100,103,104,114,96,97,,,,',
285
+ ',95,,,,110,105,116,,119,,113,115,,106,108,107,109,,,,,,,,,,,,,102,,',
286
+ '118,,,,112,111,,,98,99,101,100,103,104,114,96,97,,,,,,95,,,,110,105',
287
+ '116,367,119,,113,115,,106,108,107,109,,,,,,,,,,,,,102,,,118,,,,112,111',
288
+ ',,98,99,101,100,103,104,,96,97,114,,298,,,95,,,,,,,110,105,116,,119',
289
+ ',113,115,,106,108,107,109,,,,,,,,,,102,,,,,,118,,,,112,111,,,98,99,101',
290
+ '100,103,104,,96,97,114,,299,,,95,,,,,,,110,105,116,,119,,113,115,,106',
291
+ '108,107,109,,,,,,,,,,102,,,,,,118,,,,112,111,,,98,99,101,100,103,104',
292
+ ',96,97,114,,300,,,95,,,,,,,110,105,116,,119,,113,115,,106,108,107,109',
293
+ ',,,,,,,,,102,,,,,,118,,,,112,111,,,98,99,101,100,103,104,114,96,97,',
294
+ ',,,,95,,,,110,105,116,,119,,113,115,,106,108,107,109,,,,,,,,,,,,,102',
295
+ ',,118,,,,112,111,,,98,99,101,100,103,104,114,96,97,,,338,,,95,,,,110',
296
+ '105,116,,119,,113,115,,106,108,107,109,,,,,,,,,,,,,102,,,118,,,,112',
297
+ '111,,114,98,99,101,100,103,104,,96,97,,,110,105,116,95,119,,113,115',
298
+ ',106,108,107,109,,,,,,,,,,,,,,,,118,,,,102,111,,,98,99,101,100,103,104',
299
+ '114,96,97,,,,,,95,,,,110,105,116,,119,,113,115,,106,108,107,109,,,,',
300
+ ',,,,,,,,102,,,118,,,,112,111,,114,98,99,101,100,103,104,,96,97,,,110',
301
+ '105,116,95,119,114,113,115,,106,108,107,109,,,,,,105,116,,119,,113,115',
302
+ ',106,,118,,,,102,,,,98,99,101,100,103,104,,96,97,118,,,,,95,,114,98',
303
+ '99,101,100,103,104,,96,97,,,,105,116,95,119,114,113,115,,106,,,,,,102',
304
+ ',,105,116,,119,,113,115,,106,,118,,,,102,,,,98,99,101,100,103,104,,96',
305
+ '97,118,,,,,95,,114,98,99,101,100,103,104,,96,97,,,,105,116,95,119,114',
306
+ '113,115,,106,,,,,,102,,,,116,,119,,113,115,,,,118,,,,102,114,,,98,99',
307
+ '101,100,103,104,,96,97,118,,116,,119,95,113,115,98,99,101,100,103,104',
308
+ ',96,97,,,,,,95,,,,,,118,,,,,,102,,98,99,101,100,103,104,114,96,97,,',
309
+ ',,,95,102,,,110,105,116,332,119,,113,115,,106,108,107,109,,,,,,,,,,',
310
+ ',,102,,,118,,,,112,111,,,98,99,101,100,103,104,114,96,97,,,,,,95,,,',
311
+ '110,105,116,,119,,113,115,,106,108,107,109,,,,,,,,,,,,,102,,,118,,,',
312
+ '112,111,,,98,99,101,100,103,104,114,96,97,,,,,,95,,,,110,105,116,,119',
313
+ ',113,115,,106,108,107,109,,,,,,,,,,,,,102,,,118,,,,112,111,,,98,99,101',
314
+ '100,103,104,114,96,97,,,,,,95,,,,110,105,116,,119,,113,115,,106,108',
315
+ '107,109,,,,,,,,,,,,,102,,,118,,,,112,111,,,98,99,101,100,103,104,114',
316
+ '96,97,,,,,,95,,,,110,105,116,,119,,113,115,,106,108,107,109,,,,,,,,',
317
+ ',,,,102,,,118,,,,112,111,,,98,99,101,100,103,104,,96,97,,,,,,95,114',
318
+ ',,,,,,,,,328,329,110,105,116,,119,,113,115,,106,108,107,109,,,,102,',
319
+ ',,,,,,,,,,118,,,,112,111,,,98,99,101,100,103,104,114,96,97,,,,,,95,',
320
+ ',,110,105,116,,119,,113,115,,106,108,107,109,,,,,,,,,,,,,102,,,118,',
321
+ ',,112,111,,,98,99,101,100,103,104,114,96,97,,,,,,95,,,,110,105,116,',
322
+ '119,,113,115,,106,108,107,109,,,,,,,,,,,,,102,,,118,,,,112,111,,,98',
323
+ '99,101,100,103,104,,96,97,,354,232,353,233,95,351,235,355,,344,,350',
324
+ '352,,,,,,,236,231,356,,,,349,,,,,,,,102,,,,234,357,,,,,,,,,,,,360,358',
325
+ '361,359,345,346,347,348,362,237,354,232,353,233,,351,235,355,,344,,350',
326
+ '352,,,,,,,236,231,356,,,,349,,,,,,,,,,,,234,357,,,,,,,,,,,,360,358,361',
327
+ '359,345,346,347,348,362,237,354,232,353,233,,351,235,355,,344,,350,352',
328
+ ',,,,,,236,231,356,,,,349,,,,,,,,,,,,234,357,,,,,,,,,,,,360,358,361,359',
329
+ '345,346,347,348,362,237,354,232,353,233,,351,235,355,,344,,350,352,',
330
+ ',,,,,236,231,356,,,,349,,,,,,,,,,,,234,357,,,,,,,,,,,,360,358,361,359',
331
+ '345,346,347,348,362,237,354,232,353,233,,351,235,355,,344,,350,352,',
332
+ ',,,,,236,231,356,,,,349,,,,,,,,,,,,234,357,,,,,,,,,,,,360,358,361,359',
333
+ '345,346,347,348,362,237,354,232,353,233,,351,235,355,,344,,350,352,',
334
+ ',,,,,236,231,356,,,,349,,,,,,,,,,,,234,357,,,,,,,,,,,,360,358,361,359',
335
+ '345,346,347,348,362,237' ]
336
+ racc_action_table = arr = ::Array.new(10120, nil)
247
337
  idx = 0
248
338
  clist.each do |str|
249
339
  str.split(',', -1).each do |i|
@@ -253,241 +343,339 @@ clist = [
253
343
  end
254
344
 
255
345
  clist = [
256
- '0,0,242,182,0,0,68,0,240,193,183,168,252,325,170,45,242,176,368,253',
257
- '368,181,325,193,0,193,367,193,193,240,0,367,0,250,0,0,180,0,0,0,214',
258
- '0,0,0,0,182,45,0,0,193,45,0,183,168,0,0,170,219,45,176,405,405,0,181',
259
- '405,405,250,405,0,178,166,193,0,0,115,0,0,0,180,266,0,0,0,0,405,271',
260
- '0,169,12,272,405,12,405,142,405,405,142,405,405,405,178,405,405,164',
261
- '178,115,274,405,405,115,163,405,178,191,405,405,162,115,191,12,4,4,405',
262
- '12,4,4,314,4,405,169,161,12,405,405,177,405,405,342,342,314,405,405',
263
- '405,405,4,156,405,314,248,322,4,322,4,247,4,4,282,4,4,4,4,4,4,4,4,177',
264
- '284,4,4,177,286,4,150,150,4,4,150,177,147,147,400,400,4,288,400,400',
265
- '303,400,4,7,7,7,4,4,308,4,4,145,221,306,4,4,4,4,400,140,4,310,311,313',
266
- '400,222,400,138,400,400,130,400,400,400,128,400,400,400,400,308,321',
267
- '400,400,308,225,400,308,323,400,400,324,308,7,7,7,7,400,241,127,120',
268
- '121,329,400,118,341,239,400,400,343,400,400,152,108,121,400,400,400',
269
- '400,245,245,400,121,245,245,152,245,245,106,105,102,101,351,152,70,353',
270
- '121,354,357,215,362,63,238,245,179,179,227,152,179,245,232,245,62,245',
271
- '245,227,245,245,245,371,245,245,245,245,372,374,245,245,227,375,245',
272
- '378,41,245,245,385,227,386,392,40,8,245,5,179,402,1,179,245,407,409',
273
- '411,245,245,415,245,245,,,,245,245,245,245,399,399,245,179,399,399,',
274
- '399,399,194,,,,179,179,,,,,,,,,194,399,194,,194,194,,399,,399,,399,399',
275
- ',399,399,399,,399,399,399,399,,,399,399,194,,399,,,399,399,,,,,246,246',
276
- '399,,246,246,,246,399,,,194,399,399,,399,399,,,,399,399,399,399,246',
277
- ',399,,,,246,,246,,246,246,,246,246,246,,246,246,,,,,246,246,,,246,,',
278
- '246,246,,,,,10,10,246,,10,10,,10,246,,,,246,246,,246,246,,,,246,246',
279
- '246,246,10,,246,,,,10,,10,,10,10,,10,10,10,,10,10,10,10,,,10,10,,,10',
280
- ',,10,10,,,,,11,11,10,,11,11,,11,10,,,,10,10,,10,10,,,,10,10,10,10,11',
281
- ',10,,,,11,,11,,11,11,,11,11,11,,11,11,11,11,,,11,11,,,11,,,11,11,,,',
282
- ',251,251,11,,251,251,,251,11,,,,11,11,,11,11,,,,11,11,11,11,251,,11',
283
- ',,,251,,251,,251,251,,251,251,251,,251,251,251,251,,,251,251,,,251,',
284
- ',251,251,,,,,15,15,251,,15,15,,15,251,,,,251,251,,251,251,,,,251,251',
285
- '251,251,15,,251,,,,15,,15,,15,15,,15,15,15,,15,15,,,,,15,15,,,15,,,15',
286
- '15,,,,,16,16,15,,16,16,,16,15,,,,15,15,,15,15,,,,15,15,15,15,16,,15',
287
- ',,,16,,16,,16,16,,16,16,16,,16,16,,,,,16,16,,,16,,,16,16,,,,,17,17,16',
288
- ',17,17,,17,16,,,,16,16,,16,16,,,,16,16,16,16,17,,16,,,,17,,17,,17,17',
289
- ',17,17,17,,17,17,,,,,17,17,,,17,,,17,17,,,,,18,18,17,,18,18,,18,17,',
290
- ',,17,17,,17,17,,,,17,17,17,17,18,,17,,,,18,,18,,18,18,,18,18,18,,18',
291
- '18,18,18,,,18,18,,,18,,,18,18,,,,,,,18,,,,,,18,,,,18,18,,18,18,,,,18',
292
- '18,18,18,397,397,18,,397,397,,397,397,,,,,,,,,,,,,,,,397,46,46,,,46',
293
- '397,,397,,397,397,,397,397,397,,397,397,397,397,,,397,397,,,397,,,397',
294
- '397,,,,,,,397,,46,,,46,397,,,,397,397,,397,397,,,,397,397,397,397,381',
295
- '381,397,46,381,381,,381,381,117,,,,46,46,,,,,,,,,117,381,117,,117,117',
296
- ',381,,381,,381,381,,381,381,381,,381,381,381,381,,,381,381,117,,381',
297
- ',,381,381,,,,,42,42,381,,42,42,,42,381,,,,381,381,,381,381,,,,381,381',
298
- '381,381,42,,381,,,,42,,42,,42,42,,42,42,42,,42,42,,,,,42,42,,,42,,,42',
299
- '42,,,,,43,43,42,,43,43,,43,42,,,,42,42,,42,42,,,,42,42,42,42,43,,42',
300
- ',,,43,,43,,43,43,,43,43,43,,43,43,,,,,43,43,,,43,,,43,43,,,,,44,44,43',
301
- ',44,44,,44,43,,,,43,43,,43,43,,,,43,43,43,43,44,,43,,,,44,,44,,44,44',
302
- ',44,44,44,,44,44,,,,,44,44,,,44,,,44,44,,,,,,,44,,,,,,44,,,,44,44,,44',
303
- '44,,,,44,44,44,44,255,255,44,,255,255,,255,255,192,,,,,,,,,,,,,,192',
304
- '255,192,,192,192,,255,,255,,255,255,,255,255,255,,255,255,255,255,,',
305
- '255,255,192,,255,,,255,255,,,,,213,213,255,,213,213,,213,255,,,,255',
306
- '255,,255,255,,,,255,255,255,255,213,,255,,,,213,,213,,213,213,,213,213',
307
- '213,,213,213,,,,,213,213,,,213,,,213,213,,,,,52,52,213,,52,52,52,52',
308
- '213,,,,213,213,,213,213,,,,213,213,213,213,52,,213,,,,52,,52,,52,52',
309
- ',52,52,52,,52,52,52,52,,,52,52,,,52,,,52,52,,,,,53,53,52,,53,53,53,53',
310
- '52,,,,52,52,,52,52,,,,52,52,52,52,53,,52,,,,53,,53,,53,53,,53,53,53',
311
- ',53,53,53,53,,,53,53,,,53,,,53,53,,,,,,,53,,,,,,53,,,,53,53,,53,53,',
312
- ',,53,53,53,53,54,54,53,,54,54,,54,54,114,,,,,,,,,,,,,,114,54,114,,114',
313
- '114,,54,,54,,54,54,,54,54,54,,54,54,54,54,,,54,54,114,,54,,,54,54,,',
314
- ',,60,60,54,,60,60,,60,54,,,,54,54,,54,54,,,,54,54,54,54,60,,54,,,,60',
315
- ',60,,60,60,,60,60,60,,60,60,60,60,,,60,60,,,60,,,60,60,,,,,370,370,60',
316
- ',370,370,,370,60,,,,60,60,,60,60,,,,60,60,60,60,370,,60,,,,370,,370',
317
- ',370,370,,370,370,370,,370,370,,,,,370,370,,,370,,,370,370,,,,,256,256',
318
- '370,,256,256,,256,370,,,,370,370,,370,370,,,,370,370,370,370,256,,370',
319
- ',,,256,,256,,256,256,,256,256,256,,256,256,256,256,,,256,256,,,256,',
320
- ',256,256,,,,,65,65,256,,65,65,,65,256,,,,256,256,,256,256,,,,256,256',
321
- '256,256,65,,256,,,,65,,65,,65,65,,65,65,65,,65,65,,,,,65,65,,,65,,,65',
322
- '65,,,,,358,358,65,,358,358,,358,65,,,,65,65,,65,65,,,,65,65,65,65,358',
323
- ',65,,,,358,,358,,358,358,,358,358,358,,358,358,358,358,,,358,358,,,358',
324
- ',,358,358,,,,,69,69,358,,69,69,,69,358,,,,358,358,,358,358,,,,358,358',
325
- '358,358,69,,358,,,,69,,69,,69,69,,69,69,69,,69,69,69,69,,,69,69,,,69',
326
- ',,69,69,,,,,352,352,69,,352,352,,352,69,,,,69,69,,69,69,,,,69,69,69',
327
- '69,352,,69,,,,352,,352,,352,352,,352,352,352,,352,352,,,,,352,352,,',
328
- '352,,,352,352,,,,,71,71,352,,71,71,,71,352,,,,352,352,,352,352,,,,352',
329
- '352,352,352,71,,352,,,,71,,71,,71,71,,71,71,71,,71,71,71,71,,,71,71',
330
- ',,71,,,71,71,,,,,72,72,71,,72,72,,72,71,,,,71,71,,71,71,,,,71,71,71',
331
- '71,72,,71,,,,72,,72,,72,72,,72,72,72,,72,72,72,72,,,72,72,,,72,,,72',
332
- '72,,,,,73,73,72,,73,73,,73,72,,,,72,72,,72,72,,,,72,72,72,72,73,,72',
333
- ',,,73,,73,,73,73,,73,73,73,,73,73,73,73,,,73,73,,,73,,,73,73,,,,,74',
334
- '74,73,,74,74,,74,73,,,,73,73,,73,73,,,,73,73,73,73,74,,73,,,,74,,74',
335
- ',74,74,,74,74,74,,74,74,74,74,,,74,74,,,74,,,74,74,,,,,75,75,74,,75',
336
- '75,,75,74,,,,74,74,,74,74,,,,74,74,74,74,75,,74,,,,75,,75,,75,75,,75',
337
- '75,75,,75,75,75,75,,,75,75,,,75,,,75,75,,,,,76,76,75,,76,76,,76,75,',
338
- ',,75,75,,75,75,,,,75,75,75,75,76,,75,,,,76,,76,,76,76,,76,76,76,,76',
339
- '76,76,76,,,76,76,,,76,,,76,76,,,,,77,77,76,,77,77,,77,76,,,,76,76,,76',
340
- '76,,,,76,76,76,76,77,,76,,,,77,,77,,77,77,,77,77,77,,77,77,77,77,,,77',
341
- '77,,,77,,,77,77,,,,,78,78,77,,78,78,,78,77,,,,77,77,,77,77,,,,77,77',
342
- '77,77,78,,77,,,,78,,78,,78,78,,78,78,78,,78,78,78,78,,,78,78,,,78,,',
343
- '78,78,,,,,79,79,78,,79,79,,79,78,,,,78,78,,78,78,,,,78,78,78,78,79,',
344
- '78,,,,79,79,79,79,79,79,79,79,79,79,,79,79,,,,,79,79,79,79,79,,,79,79',
345
- ',,,,,,79,,,,,79,79,,,,79,79,,79,79,,,,79,79,79,79,80,80,79,116,80,80',
346
- ',80,,,,,,,,,,116,,116,,116,116,,80,,,,,,80,,80,,80,80,,80,80,80,,80',
347
- '80,116,,,,80,80,,,80,,,80,80,,,,,81,81,80,,81,81,,81,80,,,,80,80,,80',
348
- '80,,,,80,80,80,80,81,,80,,,,81,,81,,81,81,,81,81,81,,81,81,,,,,81,81',
349
- ',,81,,,81,81,,,,,82,82,81,,82,82,,82,81,,,,81,81,,81,81,,,,81,81,81',
350
- '81,82,,81,,,,82,,82,,82,82,,82,82,82,,82,82,,,,,82,82,,,82,,,82,82,',
351
- ',,,83,83,82,,83,83,,83,82,,,,82,82,,82,82,,,,82,82,82,82,83,,82,,,,83',
352
- ',83,,83,83,,83,83,83,,83,83,,,,,83,83,,,83,,,83,83,,,,,84,84,83,,84',
353
- '84,,84,83,,,,83,83,,83,83,,,,83,83,83,83,84,,83,,,,84,,84,,84,84,,84',
354
- '84,84,,84,84,,,,,84,84,,,84,,,84,84,,,,,85,85,84,,85,85,,85,84,,,,84',
355
- '84,,84,84,,,,84,84,84,84,85,,84,,,,85,,85,,85,85,,85,85,85,,85,85,,',
356
- ',,85,85,,,85,,,85,85,,,,,86,86,85,,86,86,,86,85,,,,85,85,,85,85,,,,85',
357
- '85,85,85,86,,85,,,,86,,86,,86,86,,86,86,86,,86,86,,,,,86,86,,,86,,,86',
358
- '86,,,,,87,87,86,,87,87,,87,86,,,,86,86,,86,86,,,,86,86,86,86,87,,86',
359
- ',,,87,,87,,87,87,,87,87,87,,87,87,,,,,87,87,,,87,,,87,87,,,,,88,88,87',
360
- ',88,88,,88,87,,,,87,87,,87,87,,,,87,87,87,87,88,,87,,,,88,,88,,88,88',
361
- ',88,88,88,,88,88,,,,,88,88,,,88,,,88,88,,,,,89,89,88,,89,89,,89,88,',
362
- ',,88,88,,88,88,,,,88,88,88,88,89,,88,,,,89,,89,,89,89,,89,89,89,,89',
363
- '89,,,,,89,89,,,89,,,89,89,,,,,90,90,89,,90,90,,90,89,,,,89,89,,89,89',
364
- ',,,89,89,89,89,90,,89,,,,90,,90,,90,90,,90,90,90,,90,90,,,,,90,90,,',
365
- '90,,,90,90,,,,,91,91,90,,91,91,,91,90,,,,90,90,,90,90,,,,90,90,90,90',
366
- '91,,90,,,,91,,91,,91,91,,91,91,91,,91,91,,,,,91,91,,,91,,,91,91,,,,',
367
- '92,92,91,,92,92,,92,91,,,,91,91,,91,91,,,,91,91,91,91,92,,91,,,,92,',
368
- '92,,92,92,,92,92,92,,92,92,,,,,92,92,,,92,,,92,92,,,,,93,93,92,,93,93',
369
- ',93,92,,,,92,92,,92,92,,,,92,92,92,92,93,,92,,,,93,,93,,93,93,,93,93',
370
- '93,,93,93,,,,,93,93,,,93,,,93,93,,,,,94,94,93,,94,94,,94,93,,,,93,93',
371
- ',93,93,,,,93,93,93,93,94,,93,,,,94,,94,,94,94,,94,94,94,,94,94,,,,,94',
372
- '94,,,94,,,94,94,,,,,95,95,94,,95,95,,95,94,,,,94,94,,94,94,,,,94,94',
373
- '94,94,95,,94,,,,95,,95,,95,95,,95,95,95,,95,95,,,,,95,95,,,95,,,95,95',
374
- ',,,,96,96,95,,96,96,,96,95,,,,95,95,,95,95,,,,95,95,95,95,96,,95,,,',
375
- '96,,96,,96,96,,96,96,96,,96,96,,,,,96,96,,,96,,,96,96,,,,,97,97,96,',
376
- '97,97,,97,96,,,,96,96,,96,96,,,,96,96,96,96,97,,96,,,,97,,97,,97,97',
377
- ',97,97,97,,97,97,,,,,97,97,,,97,,,97,97,,,,,98,98,97,,98,98,,98,97,',
378
- ',,97,97,,97,97,,,,97,97,97,97,98,,97,,,,98,,98,,98,98,,98,98,98,,98',
379
- '98,,,,,98,98,,,98,,,98,98,,,,,99,99,98,,99,99,,99,98,,,,98,98,,98,98',
380
- ',,,98,98,98,98,99,,98,,,,99,,99,,99,99,,99,99,99,,99,99,,,,,99,99,,',
381
- '99,,,99,99,,,,,100,100,99,,100,100,,100,99,,,99,99,99,,99,99,,,,99,99',
382
- '99,99,100,100,99,,,,100,,100,,100,100,,100,100,100,,100,100,100,100',
383
- ',,100,100,,,100,,,100,100,,,,,173,173,100,,173,173,,173,100,,,,100,100',
384
- ',100,100,,,,100,100,100,100,173,,100,,,,173,,173,,173,173,,173,173,173',
385
- ',173,173,,,,,173,173,,,173,,,173,173,,,,,172,172,173,,172,172,,172,173',
386
- ',,,173,173,,173,173,,,,173,173,173,173,172,,173,,,,172,,172,,172,172',
387
- ',172,172,172,,172,172,,,,,172,172,,,172,,,172,172,,,,,103,103,172,,103',
388
- '103,,103,172,,,,172,172,,172,172,,,,172,172,172,172,103,,172,,,,103',
389
- ',103,,103,103,,103,103,103,,103,103,,,,,103,103,,,103,,,103,103,,,,',
390
- '104,104,103,,104,104,,104,103,,,,103,103,,103,103,,,,103,103,103,103',
391
- '104,,103,,,,104,,104,,104,104,,104,104,104,,104,104,,,,,104,104,,,104',
392
- ',,104,104,,,,,171,171,104,,171,171,,171,104,,,,104,104,,104,104,,,,104',
393
- '104,104,104,171,,104,,,,171,,171,,171,171,,171,171,171,,171,171,,,,',
394
- '171,171,,,171,,,171,171,,,,,167,167,171,,167,167,,167,171,,167,,171',
395
- '171,,171,171,,,,171,171,171,171,167,,171,,,,167,,167,,167,167,,167,167',
396
- '167,,167,167,,,,,167,167,,,167,,,167,167,,,,,107,107,167,,107,107,,107',
397
- '167,,,,167,167,,167,167,,,,167,167,167,167,107,,167,,,,107,,107,,107',
398
- '107,,107,107,107,,107,107,,,,,107,107,,,107,,,107,107,,,,,261,261,107',
399
- ',261,261,,261,107,,,,107,107,,107,107,,,,107,107,107,107,261,,107,,',
400
- ',261,,261,,261,261,,261,261,261,,261,261,261,261,,,261,261,,,261,,,261',
401
- '261,,,,,276,276,261,,276,276,,276,261,,,,261,261,,261,261,,,,261,261',
402
- '261,261,276,,261,,,,276,,276,,276,276,,276,276,276,,276,276,,,,,276',
403
- '276,,,276,,,276,276,,,,,277,277,276,,277,277,,277,276,,,,276,276,,276',
404
- '276,,,,276,276,276,276,277,,276,,,,277,,277,,277,277,,277,277,277,,277',
405
- '277,,,,,277,277,,,277,,,277,277,,,,,278,278,277,,278,278,,278,277,,',
406
- ',277,277,,277,277,,,,277,277,277,277,278,,277,,,,278,,278,,278,278,',
407
- '278,278,278,,278,278,,,,,278,278,,,278,,,278,278,,,,,,,278,,,,,,278',
408
- ',,,278,278,,278,278,,,,278,278,278,278,154,154,278,,154,154,,154,154',
409
- ',,,,,,,,,,,,,,,154,,,,,,154,,154,,154,154,,154,154,154,,154,154,154',
410
- '154,,,154,154,,,154,,,154,154,,,,,304,304,154,,304,304,,304,154,,,,154',
411
- '154,,154,154,,,,154,154,154,154,304,,154,,,,304,,304,,304,304,,304,304',
412
- '304,,304,304,,,,,304,304,,,304,,,304,304,,,,,328,328,304,,328,328,,328',
413
- '304,,,,304,304,,304,304,,,,304,304,304,304,328,,304,,,,328,,328,,328',
414
- '328,,328,328,328,,328,328,328,328,,,328,328,,,328,,,328,328,,,,,,,328',
415
- ',,,,,328,,,,328,328,,328,328,,,,328,328,328,328,230,230,328,,230,230',
416
- ',230,230,,,,,,,,,,,,,,,,230,,,,,,230,,230,,230,230,,230,230,230,,230',
417
- '230,230,230,,,230,230,,,230,,,230,230,,,,,122,122,230,,122,122,,122',
418
- '230,,,,230,230,,230,230,,,,230,230,230,230,122,122,230,,,,122,,122,',
419
- '122,122,,122,122,122,,122,122,122,122,,,122,122,,,122,,,122,122,,,,',
420
- '151,151,122,,151,151,,151,122,,,,122,122,,122,122,,,,122,122,122,122',
421
- '151,,122,,,,151,,151,,151,151,,151,151,151,,151,151,151,151,,,151,151',
422
- ',,151,,,151,151,,,,,280,280,151,,280,280,,280,151,,,,151,151,,151,151',
423
- ',,,151,151,151,151,280,,151,,,,280,,280,,280,280,,280,280,280,,280,280',
424
- ',,,,280,280,,,280,,,280,280,,,,,281,281,280,,281,281,,281,280,,,,280',
425
- '280,,280,280,,,,280,280,280,280,281,,280,,,,281,,281,,281,281,,281,281',
426
- '281,,281,281,,,,,281,281,,,281,,,281,281,,,,,,,281,,,,,,281,,,,281,281',
427
- ',281,281,,,,281,281,281,281,326,326,281,,326,326,,326,326,,,,,,,,,,',
428
- ',,,,,326,,,,,,326,,326,,326,326,,326,326,326,,326,326,,,,,326,326,,',
429
- '326,,,326,326,,,,,319,319,326,,319,319,,319,326,,,,326,326,,326,326',
430
- ',,,326,326,326,326,319,,326,,,,319,,319,,319,319,,319,319,319,,319,319',
431
- '319,319,,,319,319,,,319,,,319,319,,,,,318,318,319,,318,318,,318,319',
432
- ',,,319,319,,319,319,,,,319,319,319,319,318,,319,,,,318,,318,,318,318',
433
- ',318,318,318,,318,318,,,,,318,318,,,318,,,318,318,,,,,315,315,318,,315',
434
- '315,,315,318,,,,318,318,,318,318,,,,318,318,318,318,315,,318,,,,315',
435
- ',315,,315,315,,315,315,315,,315,315,,,,,315,315,,,315,,,315,315,,,,',
436
- ',,315,,,,,,315,,,,315,315,,315,315,,,,315,315,315,315,244,244,315,,244',
437
- '244,,244,244,,,,,,,,,,,,,,,,244,,,,,,244,,244,,244,244,,244,244,244',
438
- ',244,244,244,244,205,,244,244,,,244,,,244,244,,,205,205,,205,244,205',
439
- '205,,205,,244,,,,244,244,,244,244,,,,244,244,244,244,,205,244,,,,223',
440
- ',,205,205,205,205,205,205,,205,205,223,223,223,223,223,205,223,223,',
441
- '223,223,223,223,,249,249,,,249,,,,,,,,205,,223,,,,223,223,,,223,223',
442
- '223,223,223,223,,223,223,126,,126,,,223,,,249,,,249,126,126,126,,126',
443
- ',126,126,,126,126,126,126,,223,,,,,249,,,,,,,,,126,249,249,,126,126',
444
- ',,126,126,126,126,126,126,,126,126,125,,125,,,126,,,,,,,125,125,125',
445
- ',125,,125,125,,125,125,125,125,,126,,,,,,,,,,,,,,125,,,,125,125,,,125',
446
- '125,125,125,125,125,,125,125,123,,123,,,125,,,,,,,123,123,123,,123,199',
447
- '123,123,,123,123,123,123,,125,,,,,199,,199,,199,199,,,,123,,,,123,123',
448
- ',9,123,123,123,123,123,123,,123,123,199,,9,9,9,123,9,,9,9,,9,9,9,9,199',
449
- '199,,,,,,199,,,,123,,,,9,,,,9,9,,153,9,9,9,9,9,9,,9,9,,,153,153,153',
450
- '9,153,,153,153,,153,153,153,153,,,,,,,,,,,,9,,,,153,,,,153,153,,190',
451
- '153,153,153,153,153,153,,153,153,,,190,190,190,153,190,,190,190,,190',
452
- '190,190,190,,153,153,,,,,,,,,153,,,,190,,331,331,190,190,331,218,190',
453
- '190,190,190,190,190,,190,190,,,218,218,218,190,218,,218,218,,218,218',
454
- '218,218,,,,,,,,,,331,,190,331,,,218,,,,218,218,,195,218,218,218,218',
455
- '218,218,,218,218,331,,,,195,218,195,,195,195,331,331,,,,210,,,,,210',
456
- ',,,,,218,210,210,210,195,210,,210,210,,210,210,210,210,195,195,,,,195',
457
- '195,,,,,,195,,,210,,,,210,210,,209,210,210,210,210,210,210,,210,210',
458
- ',195,209,209,209,210,209,,209,209,,209,209,209,209,,,,,,,,,,,,210,,',
459
- ',209,,,,,209,,208,209,209,209,209,209,209,,209,209,,,208,208,208,209',
460
- '208,,208,208,,208,208,208,208,198,,,,,,,,,,,209,,,198,208,198,,198,198',
461
- '165,,,208,208,208,208,208,208,,208,208,165,165,165,165,165,208,165,165',
462
- '198,165,165,165,165,,,,,,,,,,,198,198,,208,,165,,198,,165,165,,346,165',
463
- '165,165,165,165,165,,165,165,,,346,346,346,165,346,,346,346,,346,346',
464
- '346,346,,,,,,,,,,,,165,,,,346,,,,346,346,,200,346,346,346,346,346,346',
465
- ',346,346,,,,,200,346,200,,200,200,,,,,,207,,,,,,,,,,,346,,207,207,200',
466
- '207,,207,207,206,207,,200,200,200,200,,,,200,200,,206,206,,206,200,206',
467
- '206,207,206,,,,197,,,207,207,207,207,207,207,,207,207,,200,197,206,197',
468
- '207,197,197,,,,206,206,206,206,206,206,366,206,206,,,,,,206,207,,197',
469
- '366,366,366,,366,,366,366,,366,366,366,366,,197,197,,206,,,,197,,,,',
470
- ',,366,,,,366,366,,348,366,366,366,366,366,366,,366,366,,,348,348,348',
471
- '366,348,,348,348,,348,348,348,348,,,,,,,,,,,,366,,,,348,,,,348,348,',
472
- '349,348,348,348,348,348,348,,348,348,,,349,349,349,348,349,,349,349',
473
- ',349,349,349,349,,,,,,,,,,,,348,,,,349,,,,349,349,,350,349,349,349,349',
474
- '349,349,,349,349,,,350,350,350,349,350,,350,350,,350,350,350,350,,,',
475
- ',,,,,,,,349,,,,350,,,,350,350,,204,350,350,350,350,350,350,,350,350',
476
- ',,,204,204,350,204,,204,204,,204,,203,,,,,,,,,,,,,350,203,,203,204,203',
477
- '203,,,,,,204,204,204,204,204,204,,204,204,,,,,,204,203,,,,,202,,,203',
478
- '203,203,203,203,203,,203,203,,,202,204,202,203,202,202,,,,196,,,,,,',
479
- ',,,,,,,196,203,196,202,196,196,,,,,,202,202,202,202,202,202,,202,202',
480
- ',,,,,202,196,,,,,201,,,,,196,196,,,,196,196,,,201,202,201,196,201,201',
481
- ',,,347,,,,,,,,,,,,347,347,347,196,347,201,347,347,,347,347,347,347,201',
482
- '201,201,201,,,,201,201,,,,,,201,347,,,,347,347,,,347,347,347,347,347',
483
- '347,,347,347,,,,201,,347,,,273,273,273,273,,273,273,273,,273,,273,273',
484
- ',,,,,347,273,273,273,,,,273,,,,,,,,,,,,273,273,,,,,,,,,,,,273,273,273',
485
- '273,275,275,275,275,,275,275,275,,275,,275,275,,,,,,,275,275,275,,,',
486
- '275,,,,,,,,,,,,275,275,,,,,,,,,,,,275,275,275,275,305,305,305,305,,305',
487
- '305,305,,305,,305,305,,,,,,,305,305,305,,,,305,,,,,,,,,,,,305,305,,',
488
- ',,,,,,,,,305,305,305,305,217,217,217,217,,217,217,217,,217,,217,217',
489
- ',,,,,,217,217,217,,,,217,,,,,,,,,,,,217,217,,,,,,,,,,,,217,217,217,217' ]
490
- racc_action_check = arr = ::Array.new(6785, nil)
346
+ '0,0,147,229,0,0,213,0,210,247,220,230,294,308,390,376,390,48,413,223',
347
+ '376,211,296,247,0,247,303,247,247,213,0,147,0,294,0,0,296,0,0,0,48,0',
348
+ '0,0,0,229,308,0,0,247,210,0,220,230,0,0,221,247,247,247,247,223,0,211',
349
+ '247,247,192,192,0,393,192,247,0,0,304,0,0,0,393,222,0,0,0,0,0,0,0,0',
350
+ '0,220,220,0,488,488,0,171,488,488,221,488,247,246,219,184,306,445,184',
351
+ '445,46,46,189,189,16,16,301,246,488,246,171,246,246,222,488,273,488',
352
+ '293,488,488,309,488,488,488,273,488,488,221,221,60,60,488,488,246,310',
353
+ '488,219,273,488,488,383,246,246,246,246,273,488,292,246,246,222,222',
354
+ '488,383,312,246,488,488,286,488,488,383,123,212,488,488,488,488,488',
355
+ '488,488,488,488,219,219,488,4,4,488,121,4,4,325,4,246,242,65,65,56,56',
356
+ '64,64,414,414,63,63,62,62,330,242,4,242,174,242,242,212,4,331,4,140',
357
+ '4,4,333,4,4,4,4,4,4,4,4,61,61,4,4,242,282,4,120,117,4,4,116,174,85,242',
358
+ '242,174,4,339,242,242,212,212,4,174,137,242,4,4,341,4,4,150,83,343,4',
359
+ '4,4,4,4,4,4,4,4,349,150,4,480,480,4,365,480,480,150,480,242,137,194',
360
+ '79,142,137,174,174,174,174,368,143,150,137,12,194,480,12,372,145,375',
361
+ '277,480,194,480,78,480,480,378,480,480,480,379,480,480,480,480,194,380',
362
+ '480,480,382,146,480,274,12,480,480,271,12,137,137,137,137,480,389,268',
363
+ '12,391,392,480,267,265,149,480,480,261,480,480,156,400,157,480,480,480',
364
+ '480,480,480,480,480,480,160,302,480,479,479,480,162,479,479,415,479',
365
+ '479,170,12,12,12,12,173,57,175,422,182,187,426,429,133,50,479,434,435',
366
+ '49,370,204,479,198,479,208,479,479,203,479,479,479,448,479,479,479,479',
367
+ '449,451,479,479,452,455,479,458,133,479,479,459,133,206,370,462,465',
368
+ '479,370,466,133,370,471,479,473,474,370,479,479,8,479,479,205,5,483',
369
+ '479,479,479,479,479,479,479,479,479,484,1,479,477,477,479,492,477,477',
370
+ '494,477,477,241,133,133,133,133,496,501,370,370,370,370,,,,241,477,241',
371
+ '158,241,241,,477,,477,,477,477,,477,477,477,,477,477,477,477,,,477,477',
372
+ '241,,477,,,477,477,,158,,241,241,158,477,,241,241,,,477,158,,241,477',
373
+ '477,,477,477,,,,477,477,477,477,477,477,477,477,477,,,477,209,209,477',
374
+ ',209,209,,209,241,,209,,,,158,158,158,158,,,,226,,,209,,,226,59,,209',
375
+ ',209,,209,209,,209,209,209,,209,209,,,,,209,209,,,209,226,,209,209,226',
376
+ ',,59,,,209,59,226,,,,209,226,,59,209,209,,209,209,,,,209,209,209,209',
377
+ '209,209,209,209,209,,,209,10,10,209,,10,10,,10,,226,226,226,226,,,,59',
378
+ '59,59,59,,224,,,10,,54,,,,10,,10,,10,10,,10,10,10,,10,10,10,10,,,10',
379
+ '10,,,10,224,,10,10,224,54,,,,54,10,,224,,,,10,54,,,10,10,,10,10,,,,10',
380
+ '10,10,10,10,10,10,10,10,,,10,11,11,10,,11,11,,11,,224,224,224,224,,54',
381
+ '54,54,54,,,,228,,,11,,225,,,,11,,11,,11,11,,11,11,11,,11,11,11,11,,',
382
+ '11,11,,,11,228,,11,11,228,225,,,,225,11,,228,,,,11,225,,,11,11,,11,11',
383
+ ',,,11,11,11,11,11,11,11,11,11,,,11,460,460,11,,460,460,,460,460,228',
384
+ '228,228,228,,225,225,225,225,,,,55,,,460,,172,,,,460,,460,,460,460,',
385
+ '460,460,460,,460,460,460,460,,,460,460,,,460,55,,460,460,55,172,,,,172',
386
+ '460,,55,,,,460,172,,,460,460,,460,460,,,,460,460,460,460,460,460,460',
387
+ '460,460,,,460,447,447,460,,447,447,,447,,55,55,55,55,,172,172,172,172',
388
+ ',,,,,,447,,,,,,447,,447,,447,447,,447,447,447,,447,447,,,,,447,447,',
389
+ ',447,,,447,447,,,,,,,447,307,307,,,307,447,,,,447,447,,447,447,,,,447',
390
+ '447,447,447,447,447,447,447,447,,,447,17,17,447,,17,17,,17,,239,307',
391
+ ',,307,,,,402,402,,,402,,239,17,239,,239,239,,17,,17,307,17,17,,17,17',
392
+ '17,,17,17,307,307,,,17,17,239,,17,,,17,17,402,,,402,,,17,227,227,,,227',
393
+ '17,,,239,17,17,,17,17,,,402,17,17,17,17,17,17,17,17,17,402,402,17,18',
394
+ '18,17,,18,18,,18,,245,227,,,227,,,,58,58,,,58,,245,18,245,,245,245,',
395
+ '18,,18,227,18,18,,18,18,18,,18,18,227,227,,,18,18,245,,18,,,18,18,58',
396
+ ',,58,,,18,,245,245,,,18,,,245,18,18,,18,18,,,58,18,18,18,18,18,18,18',
397
+ '18,18,58,58,18,19,19,18,244,19,19,,19,,240,,,,,,,,244,,244,,244,244',
398
+ '240,19,240,,240,240,,19,,19,,19,19,,19,19,19,,19,19,244,,,,19,19,240',
399
+ ',19,,,19,19,,,244,244,,,19,,,244,,,19,,,240,19,19,,19,19,,,,19,19,19',
400
+ '19,19,19,19,19,19,,,19,20,20,19,,20,20,,20,,243,,,,,,,,,,,,,,243,20',
401
+ '243,,243,243,,20,,20,,20,20,,20,20,20,,20,20,20,20,,,20,20,243,,20,',
402
+ ',20,20,7,7,7,,,,20,,243,243,,,20,,,243,20,20,,20,20,,,,20,20,20,20,20',
403
+ '20,20,20,20,,,20,196,196,20,,196,196,,196,196,138,,,,7,7,7,7,,,,,,,138',
404
+ '196,138,,138,138,,196,,196,,196,196,,196,196,196,,196,196,196,196,,',
405
+ '196,196,138,,196,,,196,196,,,,,,,196,,,,,,196,,,,196,196,,196,196,,',
406
+ ',196,196,196,196,196,196,196,196,196,196,196,196,47,47,196,,47,47,,47',
407
+ ',,,,,,,,,,,,,,,,47,47,,,,,47,,47,,47,47,,47,47,47,,47,47,47,47,,,47',
408
+ '47,,,47,,,47,47,,,,,,,47,,,,,,47,,,,47,47,,47,47,,,,47,47,47,47,47,47',
409
+ '47,47,47,,,47,440,440,47,,440,440,,440,,136,,,,,,,,,,,,,,136,440,136',
410
+ ',136,136,,440,,440,,440,440,,440,440,440,,440,440,440,440,,,440,440',
411
+ '136,,440,,,440,440,,,,,,,440,,,,,,440,,,,440,440,,440,440,,,,440,440',
412
+ '440,440,440,440,440,440,440,,,440,437,437,440,238,437,437,,437,,139',
413
+ ',,,,,,,238,,238,,238,238,139,437,139,,139,139,,437,,437,,437,437,,437',
414
+ '437,437,,437,437,238,,,,437,437,139,,437,,,437,437,,,,,,,437,,,,,,437',
415
+ ',,,437,437,,437,437,,,,437,437,437,437,437,437,437,437,437,,,437,430',
416
+ '430,437,,430,430,,430,,,,,,,,,,,,,,,,,430,,,,,,430,,430,,430,430,,430',
417
+ '430,430,,430,430,430,430,,,430,430,,,430,,,430,430,,,,,,,430,,,,,,430',
418
+ ',,,430,430,,430,430,,,,430,430,430,430,430,430,430,430,430,,,430,51',
419
+ '51,430,,51,51,,51,,,,,,,,,,,,,,,,,51,,,,,,51,,51,,51,51,,51,51,51,,51',
420
+ '51,,,,,51,51,,,51,,,51,51,,,,,,,51,,,,,,51,,,,51,51,,51,51,,,,51,51',
421
+ '51,51,51,51,51,51,51,,,51,52,52,51,,52,52,,52,,,,,,,,,,,,,,,,,52,,,',
422
+ ',,52,,52,,52,52,,52,52,52,,52,52,,,,,52,52,,,52,,,52,52,,,,,,,52,,,',
423
+ ',,52,,,,52,52,,52,52,,,,52,52,52,52,52,52,52,52,52,,,52,53,53,52,,53',
424
+ '53,,53,,,,,,,,,,,,,,,,,53,,,,,,53,,53,,53,53,,53,53,53,,53,53,,,,,53',
425
+ '53,,,53,,,53,53,,,,,,,53,,,,,,53,,,,53,53,,53,53,,,,53,53,53,53,53,53',
426
+ '53,53,53,,,53,214,214,53,,214,214,,214,,,,,,,,,,,,,,,,,214,,,,,,214',
427
+ ',214,,214,214,,214,214,214,,214,214,,,,,214,214,,,214,,,214,214,,,,',
428
+ ',,214,,,,,,214,,,,214,214,,214,214,,,,214,214,214,214,214,214,214,214',
429
+ '214,,,214,423,423,214,,423,423,,423,,,,,,,,,,,,,,,,,423,,,,,,423,,423',
430
+ ',423,423,,423,423,423,,423,423,,,,,423,423,,,423,,,423,423,,,,,,,423',
431
+ ',,,,,423,,,,423,423,,423,423,,,,423,423,423,423,423,423,423,423,423',
432
+ ',,423,193,193,423,,193,193,,193,,,,,,,,,,,,,,,,,193,,,,,,193,,193,,193',
433
+ '193,,193,193,193,,193,193,193,193,,,193,193,,,193,,,193,193,,,,,,,193',
434
+ ',,,,,193,,,,193,193,,193,193,,,,193,193,193,193,193,193,193,193,193',
435
+ ',,193,215,215,193,,215,215,,215,,,,,,,,,,,,,,,,,215,,,,,,215,,215,,215',
436
+ '215,,215,215,215,,215,215,,,,,215,215,,,215,,,215,215,,,,,,,215,,,,',
437
+ ',215,,,,215,215,,215,215,,,,215,215,215,215,215,215,215,215,215,,,215',
438
+ '216,216,215,,216,216,,216,,,,,,,,,,,,,,,,,216,,,,,,216,,216,,216,216',
439
+ ',216,216,216,,216,216,,,,,216,216,,,216,,,216,216,,,,,,,216,,,,,,216',
440
+ ',,,216,216,,216,216,,,,216,216,216,216,216,216,216,216,216,,,216,159',
441
+ '159,216,,159,159,,159,159,,,,,,,,,,,,,,,,159,,,,,,159,,159,,159,159',
442
+ ',159,159,159,,159,159,159,159,,,159,159,,,159,,,159,159,,,,,,,159,,',
443
+ ',,,159,,,,159,159,,159,159,,,,159,159,159,159,159,159,159,159,159,,',
444
+ '159,405,405,159,,405,405,,405,,,,,,,,,,,,,,,,,405,,,,,,405,,405,,405',
445
+ '405,,405,405,405,,405,405,405,405,,,405,405,,,405,,,405,405,,,,,,,405',
446
+ ',,,,,405,,,,405,405,,405,405,,,,405,405,405,405,405,405,405,405,405',
447
+ ',,405,397,397,405,,397,397,,397,,,,,,,,,,,,,,,,,397,,,,,,397,,397,,397',
448
+ '397,,397,397,397,,397,397,397,397,,,397,397,,,397,,,397,397,,,,,,,397',
449
+ ',,,,,397,,,,397,397,,397,397,,,,397,397,397,397,397,397,397,397,397',
450
+ ',,397,396,396,397,,396,396,,396,,,,,,,,,,,,,,,,,396,,,,,,396,,396,,396',
451
+ '396,,396,396,396,,396,396,396,396,,,396,396,,,396,,,396,396,,,,,,,396',
452
+ ',,,,,396,,,,396,396,,396,396,,,,396,396,396,396,396,396,396,396,396',
453
+ ',,396,394,394,396,,394,394,,394,394,,,,,,,,,,,,,,,,394,,,,,,394,,394',
454
+ ',394,394,,394,394,394,,394,394,,,,,394,394,,,394,,,394,394,,,,,,,394',
455
+ ',,,,,394,,,,394,394,,394,394,,,,394,394,394,394,394,394,394,394,394',
456
+ ',,394,387,387,394,,387,387,,387,,,,,,,,,,,,,,,,,387,,,,,,387,,387,,387',
457
+ '387,,387,387,387,,387,387,387,387,,,387,387,,,387,,,387,387,,,,,,,387',
458
+ ',,,,,387,,,,387,387,,387,387,,,,387,387,387,387,387,387,387,387,387',
459
+ ',,387,384,384,387,,384,384,,384,,,,,,,,,,,,,,,,,384,,,,,,384,,384,,384',
460
+ '384,,384,384,384,,384,384,,,,,384,384,,,384,,,384,384,,,,,,,384,,,,',
461
+ ',384,,,,384,384,,384,384,,,,384,384,384,384,384,384,384,384,384,,,384',
462
+ '69,69,384,,69,69,69,69,,,,,,,,,,,,,,,,,69,,,,,,69,,69,,69,69,,69,69',
463
+ '69,,69,69,69,69,,,69,69,,,69,,,69,69,,,,,,,69,,,,,,69,,,,69,69,,69,69',
464
+ ',,,69,69,69,69,69,69,69,69,69,69,69,69,70,70,69,,70,70,70,70,,,,,,,',
465
+ ',,,,,,,,,70,,,,,,70,,70,,70,70,,70,70,70,,70,70,70,70,,,70,70,,,70,',
466
+ ',70,70,,,,,,,70,,,,,,70,,,,70,70,,70,70,,,,70,70,70,70,70,70,70,70,70',
467
+ '70,70,70,71,71,70,,71,71,,71,71,,,,,,,,,,,,,,,,71,,,,,,71,,71,,71,71',
468
+ ',71,71,71,,71,71,71,71,,,71,71,,,71,,,71,71,,,,,,,71,,,,,,71,,,,71,71',
469
+ ',71,71,,,,71,71,71,71,71,71,71,71,71,71,71,71,76,76,71,,76,76,,76,,',
470
+ ',,,,,,,,,,,,,,76,,,,,,76,,76,,76,76,,76,76,76,,76,76,76,76,,,76,76,',
471
+ ',76,,,76,76,,,,,,,76,,,,,,76,,,,76,76,,76,76,,,,76,76,76,76,76,76,76',
472
+ '76,76,,,76,259,259,76,,259,259,,259,,,,,,,,,,,,,,,,,259,,,,,,259,,259',
473
+ ',259,259,,259,259,259,,259,259,,,,,259,259,,,259,,,259,259,,,,,,,259',
474
+ ',,,,,259,,,,259,259,,259,259,,,,259,259,259,259,259,259,259,259,259',
475
+ ',,259,366,366,259,,366,366,,366,,,,,,,,,,,,,,,,,366,,,,,,366,,366,,366',
476
+ '366,,366,366,366,,366,366,,,,,366,366,,,366,,,366,366,,,,,,,366,,,,',
477
+ ',366,,,,366,366,,366,366,,,,366,366,366,366,366,366,366,366,366,,,366',
478
+ '81,81,366,,81,81,,81,,,,,,,,,,,,,,,,,81,,,,,,81,,81,,81,81,,81,81,81',
479
+ ',81,81,,,,,81,81,,,81,,,81,81,,,,,,,81,,,,,,81,,,,81,81,,81,81,,,,81',
480
+ '81,81,81,81,81,81,81,81,,,81,342,342,81,,342,342,,342,,,,,,,,,,,,,,',
481
+ ',,342,,,,,,342,,342,,342,342,,342,342,342,,342,342,,,,,342,342,,,342',
482
+ ',,342,342,,,,,,,342,,,,,,342,,,,342,342,,342,342,,,,342,342,342,342',
483
+ '342,342,342,342,342,,,342,84,84,342,,84,84,,84,,,,,,,,,,,,,,,,,84,,',
484
+ ',,,84,,84,,84,84,,84,84,84,,84,84,84,84,,,84,84,,,84,,,84,84,,,,,,,84',
485
+ ',,,,,84,,,,84,84,,84,84,,,,84,84,84,84,84,84,84,84,84,,,84,338,338,84',
486
+ ',338,338,,338,,,,,,,,,,,,,,,,,338,,,,,,338,,338,,338,338,,338,338,338',
487
+ ',338,338,,,,,338,338,,,338,,,338,338,,,,,,,338,,,,,,338,,,,338,338,',
488
+ '338,338,,,,338,338,338,338,338,338,338,338,338,,,338,86,86,338,,86,86',
489
+ ',86,,,,,,,,,,,,,,,,,86,,,,,,86,,86,,86,86,,86,86,86,,86,86,86,86,,,86',
490
+ '86,,,86,,,86,86,,,,,,,86,,,,,,86,,,,86,86,,86,86,,,,86,86,86,86,86,86',
491
+ '86,86,86,,,86,87,87,86,,87,87,,87,,,,,,,,,,,,,,,,,87,,,,,,87,,87,,87',
492
+ '87,,87,87,87,,87,87,87,87,,,87,87,,,87,,,87,87,,,,,,,87,,,,,,87,,,,87',
493
+ '87,,87,87,,,,87,87,87,87,87,87,87,87,87,,,87,88,88,87,,88,88,,88,,,',
494
+ ',,,,,,,,,,,,,88,,,,,,88,,88,,88,88,,88,88,88,,88,88,88,88,,,88,88,,',
495
+ '88,,,88,88,,,,,,,88,,,,,,88,,,,88,88,,88,88,,,,88,88,88,88,88,88,88',
496
+ '88,88,,,88,89,89,88,,89,89,,89,,,,,,,,,,,,,,,,,89,,,,,,89,,89,,89,89',
497
+ ',89,89,89,,89,89,89,89,,,89,89,,,89,,,89,89,,,,,,,89,,,,,,89,,,,89,89',
498
+ ',89,89,,,,89,89,89,89,89,89,89,89,89,,,89,90,90,89,,90,90,,90,,,,,,',
499
+ ',,,,,,,,,,90,,,,,,90,,90,,90,90,,90,90,90,,90,90,90,90,,,90,90,,,90',
500
+ ',,90,90,,,,,,,90,,,,,,90,,,,90,90,,90,90,,,,90,90,90,90,90,90,90,90',
501
+ '90,,,90,91,91,90,,91,91,,91,,,,,,,,,,,,,,,,,91,,,,,,91,,91,,91,91,,91',
502
+ '91,91,,91,91,91,91,,,91,91,,,91,,,91,91,,,,,,,91,,,,,,91,,,,91,91,,91',
503
+ '91,,,,91,91,91,91,91,91,91,91,91,,,91,92,92,91,,92,92,,92,,,,,,,,,,',
504
+ ',,,,,,92,,,,,,92,,92,,92,92,,92,92,92,,92,92,92,92,,,92,92,,,92,,,92',
505
+ '92,,,,,,,92,,,,,,92,,,,92,92,,92,92,,,,92,92,92,92,92,92,92,92,92,,',
506
+ '92,93,93,92,,93,93,,93,,,,,,,,,,,,,,,,,93,,,,,,93,,93,,93,93,,93,93',
507
+ '93,,93,93,93,93,,,93,93,,,93,,,93,93,,,,,,,93,,,,,,93,,,,93,93,,93,93',
508
+ ',,,93,93,93,93,93,93,93,93,93,,,93,94,94,93,,94,94,,94,,,,,,,,,,,,,',
509
+ ',,,94,,,,,,94,94,94,94,94,94,94,94,94,94,,94,94,,,,,94,94,94,94,94,',
510
+ ',94,94,,,,,,,94,,,,,94,94,,,,94,94,,94,94,,,,94,94,94,94,94,94,94,94',
511
+ '94,94,,94,95,95,94,,95,95,,95,,,,,,,,,,,,,,,,,95,,,,,,95,,95,,95,95',
512
+ ',95,95,95,,95,95,,,,,95,95,,,95,,,95,95,,,,,,,95,,,,,,95,,,,95,95,,95',
513
+ '95,,,,95,95,95,95,95,95,95,95,95,,,95,96,96,95,,96,96,,96,,,,,,,,,,',
514
+ ',,,,,,96,,,,,,96,,96,,96,96,,96,96,96,,96,96,,,,,96,96,,,96,,,96,96',
515
+ ',,,,,,96,,,,,,96,,,,96,96,,96,96,,,,96,96,96,96,96,96,96,96,96,,,96',
516
+ '97,97,96,,97,97,,97,,,,,,,,,,,,,,,,,97,,,,,,97,,97,,97,97,,97,97,97',
517
+ ',97,97,,,,,97,97,,,97,,,97,97,,,,,,,97,,,,,,97,,,,97,97,,97,97,,,,97',
518
+ '97,97,97,97,97,97,97,97,,,97,98,98,97,,98,98,,98,,,,,,,,,,,,,,,,,98',
519
+ ',,,,,98,,98,,98,98,,98,98,98,,98,98,,,,,98,98,,,98,,,98,98,,,,,,,98',
520
+ ',,,,,98,,,,98,98,,98,98,,,,98,98,98,98,98,98,98,98,98,,,98,99,99,98',
521
+ ',99,99,,99,,,,,,,,,,,,,,,,,99,,,,,,99,,99,,99,99,,99,99,99,,99,99,,',
522
+ ',,99,99,,,99,,,99,99,,,,,,,99,,,,,,99,,,,99,99,,99,99,,,,99,99,99,99',
523
+ '99,99,99,99,99,,,99,100,100,99,,100,100,,100,,,,,,,,,,,,,,,,,100,,,',
524
+ ',,100,,100,,100,100,,100,100,100,,100,100,,,,,100,100,,,100,,,100,100',
525
+ ',,,,,,100,,,,,,100,,,,100,100,,100,100,,,,100,100,100,100,100,100,100',
526
+ '100,100,,,100,101,101,100,,101,101,,101,,,,,,,,,,,,,,,,,101,,,,,,101',
527
+ ',101,,101,101,,101,101,101,,101,101,,,,,101,101,,,101,,,101,101,,,,',
528
+ ',,101,,,,,,101,,,,101,101,,101,101,,,,101,101,101,101,101,101,101,101',
529
+ '101,,,101,102,102,101,,102,102,,102,,,,,,,,,,,,,,,,,102,,,,,,102,,102',
530
+ ',102,102,,102,102,102,,102,102,,,,,102,102,,,102,,,102,102,,,,,,,102',
531
+ ',,,,,102,,,,102,102,,102,102,,,,102,102,102,102,102,102,102,102,102',
532
+ ',,102,103,103,102,,103,103,,103,,,,,,,,,,,,,,,,,103,,,,,,103,,103,,103',
533
+ '103,,103,103,103,,103,103,,,,,103,103,,,103,,,103,103,,,,,,,103,,,,',
534
+ ',103,,,,103,103,,103,103,,,,103,103,103,103,103,103,103,103,103,,,103',
535
+ '104,104,103,,104,104,,104,,,,,,,,,,,,,,,,,104,,,,,,104,,104,,104,104',
536
+ ',104,104,104,,104,104,,,,,104,104,,,104,,,104,104,,,,,,,104,,,,,,104',
537
+ ',,,104,104,,104,104,,,,104,104,104,104,104,104,104,104,104,,,104,105',
538
+ '105,104,,105,105,,105,,,,,,,,,,,,,,,,,105,,,,,,105,,105,,105,105,,105',
539
+ '105,105,,105,105,,,,,105,105,,,105,,,105,105,,,,,,,105,,,,,,105,,,,105',
540
+ '105,,105,105,,,,105,105,105,105,105,105,105,105,105,,,105,106,106,105',
541
+ ',106,106,,106,,,,,,,,,,,,,,,,,106,,,,,,106,,106,,106,106,,106,106,106',
542
+ ',106,106,,,,,106,106,,,106,,,106,106,,,,,,,106,,,,,,106,,,,106,106,',
543
+ '106,106,,,,106,106,106,106,106,106,106,106,106,,,106,107,107,106,,107',
544
+ '107,,107,,,,,,,,,,,,,,,,,107,,,,,,107,,107,,107,107,,107,107,107,,107',
545
+ '107,,,,,107,107,,,107,,,107,107,,,,,,,107,,,,,,107,,,,107,107,,107,107',
546
+ ',,,107,107,107,107,107,107,107,107,107,,,107,108,108,107,,108,108,,108',
547
+ ',,,,,,,,,,,,,,,,108,,,,,,108,,108,,108,108,,108,108,108,,108,108,,,',
548
+ ',108,108,,,108,,,108,108,,,,,,,108,,,,,,108,,,,108,108,,108,108,,,,108',
549
+ '108,108,108,108,108,108,108,108,,,108,109,109,108,,109,109,,109,,,,',
550
+ ',,,,,,,,,,,,109,,,,,,109,,109,,109,109,,109,109,109,,109,109,,,,,109',
551
+ '109,,,109,,,109,109,,,,,,,109,,,,,,109,,,,109,109,,109,109,,,,109,109',
552
+ '109,109,109,109,109,109,109,,,109,110,110,109,,110,110,,110,,,,,,,,',
553
+ ',,,,,,,,110,,,,,,110,,110,,110,110,,110,110,110,,110,110,,,,,110,110',
554
+ ',,110,,,110,110,,,,,,,110,,,,,,110,,,,110,110,,110,110,,,,110,110,110',
555
+ '110,110,110,110,110,110,,,110,111,111,110,,111,111,,111,,,,,,,,,,,,',
556
+ ',,,,111,,,,,,111,,111,,111,111,,111,111,111,,111,111,,,,,111,111,,,111',
557
+ ',,111,111,,,,,,,111,,,,,,111,,,,111,111,,111,111,,,,111,111,111,111',
558
+ '111,111,111,111,111,,,111,112,112,111,,112,112,,112,,,,,,,,,,,,,,,,',
559
+ '112,,,,,,112,,112,,112,112,,112,112,112,,112,112,,,,,112,112,,,112,',
560
+ ',112,112,,,,,,,112,,,,,,112,,,,112,112,,112,112,,,,112,112,112,112,112',
561
+ '112,112,112,112,,,112,113,113,112,,113,113,,113,,,,,,,,,,,,,,,,,113',
562
+ ',,,,,113,,113,,113,113,,113,113,113,,113,113,,,,,113,113,,,113,,,113',
563
+ '113,,,,,,,113,,,,,,113,,,113,113,113,,113,113,,,,113,113,113,113,113',
564
+ '113,113,113,113,,,113,114,114,113,,114,114,,114,,,,,,,,,,,,,,,,,114',
565
+ ',,,,,114,,114,,114,114,,114,114,114,,114,114,,,,,114,114,,,114,,,114',
566
+ '114,,,,,,,114,,,,,,114,,,,114,114,,114,114,,,,114,114,114,114,114,114',
567
+ '114,114,114,,,114,337,337,114,,337,337,,337,,,,,,,,,,,,,,,,,337,,,,',
568
+ ',337,,337,,337,337,,337,337,337,,337,337,,,,,337,337,,,337,,,337,337',
569
+ ',,,,,,337,,,,,,337,,,,337,337,,337,337,,,,337,337,337,337,337,337,337',
570
+ '337,337,,,337,336,336,337,,336,336,,336,,,,,,,,,,,,,,,,,336,,,,,,336',
571
+ ',336,,336,336,,336,336,336,,336,336,,,,,336,336,,,336,,,336,336,,,,',
572
+ ',,336,,,,,,336,,,,336,336,,336,336,,,,336,336,336,336,336,336,336,336',
573
+ '336,,,336,118,118,336,,118,118,,118,,,,,,,,,,,,,,,,,118,,,,,,118,,118',
574
+ ',118,118,,118,118,118,,118,118,,,,,118,118,,,118,,,118,118,,,,,,,118',
575
+ ',,,,,118,,,,118,118,,118,118,,,,118,118,118,118,118,118,118,118,118',
576
+ ',,118,119,119,118,,119,119,,119,,,,,,,,,,,,,,,,,119,,,,,,119,,119,,119',
577
+ '119,,119,119,119,,119,119,,,,,119,119,,,119,,,119,119,,,,,,,119,,,,',
578
+ ',119,,,,119,119,,119,119,,,,119,119,119,119,119,119,119,119,119,,,119',
579
+ '335,335,119,,335,335,,335,,,,,,,,,,,,,,,,,335,,,,,,335,,335,,335,335',
580
+ ',335,335,335,,335,335,,,,,335,335,,,335,,,335,335,,,,,,,335,,,,,,335',
581
+ ',,,335,335,,335,335,,,,335,335,335,335,335,335,335,335,335,,,335,320',
582
+ '320,335,,320,320,,320,,,,,,,,,,,,,,,,,320,,,,,,320,,320,,320,320,,320',
583
+ '320,320,,320,320,320,320,,,320,320,,,320,,,320,320,,,,,,,320,,,,,,320',
584
+ ',,,320,320,,320,320,,,,320,320,320,320,320,320,320,320,320,,,320,122',
585
+ '122,320,,122,122,,122,,,,,,,,,,,,,,,,,122,,,,,,122,,122,,122,122,,122',
586
+ '122,122,,122,122,,,,,122,122,,,122,,,122,122,,,,,,,122,,,,,,122,,,,122',
587
+ '122,,122,122,,,,122,122,122,122,122,122,122,122,122,,,122,315,315,122',
588
+ ',315,315,,315,,,,,,,,,,,,,,,,,315,,,,,,315,,315,,315,315,,315,315,315',
589
+ ',315,315,315,315,,,315,315,,,315,,,315,315,,,,,,,315,,,,,,315,,,,315',
590
+ '315,,315,315,,,,315,315,315,315,315,315,315,315,315,315,315,315,314',
591
+ '314,315,,314,314,,314,314,,,,,,,,,,,,,,,,314,,,,,,314,,314,,314,314',
592
+ ',314,314,314,,314,314,314,314,,,314,314,,,314,,,314,314,,,,,,,314,,',
593
+ ',,,314,,,,314,314,,314,314,,,,314,314,314,314,314,314,314,314,314,314',
594
+ '314,314,311,311,314,,311,311,,311,,,,,,,,,,,,,,,,,311,,,,,,311,,311',
595
+ ',311,311,,311,311,311,,311,311,311,311,,,311,311,,,311,,,311,311,,,',
596
+ ',,,311,,,,,,311,,,,311,311,,311,311,,,,311,311,311,311,311,311,311,311',
597
+ '311,311,311,311,300,300,311,,300,300,,300,,,,,,,,,,,,,,,,,300,,,,,,300',
598
+ ',300,,300,300,,300,300,300,,300,300,,,,,300,300,,,300,,,300,300,,,,',
599
+ ',,300,,,,,,300,,,,300,300,,300,300,,,,300,300,300,300,300,300,300,300',
600
+ '300,,,300,299,299,300,,299,299,,299,299,,,,,,,,,,,,,,,,299,,,,,,299',
601
+ ',299,,299,299,,299,299,299,,299,299,299,299,,,299,299,,,299,,,299,299',
602
+ ',,,,,,299,,,,,,299,,,,299,299,,299,299,,,,299,299,299,299,299,299,299',
603
+ '299,299,,,299,298,298,299,,298,298,,298,298,,,,,,,,,,,,,,,,298,,,,,',
604
+ '298,,298,,298,298,,298,298,298,,298,298,298,298,,,298,298,,,298,,,298',
605
+ '298,,,,,,,298,,,,,,298,,,,298,298,,298,298,,,,298,298,298,298,298,298',
606
+ '298,298,298,,,298,284,284,298,,284,284,,284,284,,,,,,,,,,,,,,,,284,',
607
+ ',,,,284,,284,,284,284,,284,284,284,,284,284,284,284,,,284,284,,,284',
608
+ ',,284,284,,,,,,,284,,,,,,284,,,,284,284,,284,284,,,,284,284,284,284',
609
+ '284,284,284,284,284,,,284,281,281,284,,281,281,,281,,,,,,,,,,,,,,,,',
610
+ '281,,,,,,281,,281,,281,281,,281,281,281,,281,281,281,281,,,281,281,',
611
+ ',281,,,281,281,,,,,,,281,,,,,,281,,,,281,281,,281,281,,,,281,281,281',
612
+ '281,281,281,281,281,281,,,281,280,280,281,,280,280,,280,,,,,,,,,,,,',
613
+ ',,,,280,,,,,,280,,280,,280,280,,280,280,280,,280,280,,,,,280,280,,,280',
614
+ ',,280,280,,,,,,,280,,,,,,280,,,,280,280,,280,280,,,,280,280,280,280',
615
+ '280,280,280,280,280,,,280,151,151,280,,151,151,,151,,,,,,,,,,,,,,,,',
616
+ '151,151,,,,,151,,151,,151,151,,151,151,151,,151,151,151,151,,,151,151',
617
+ ',,151,,,151,151,,,,,,,151,,,,,,151,,,,151,151,,151,151,,,,151,151,151',
618
+ '151,151,151,151,151,151,,,151,276,276,151,,276,276,,276,,,,,,,,,,,,',
619
+ ',,,,276,,,,,,276,,276,,276,276,,276,276,276,,276,276,276,276,,,276,276',
620
+ ',,276,,,276,276,,,,,,,276,,,,,,276,,,,276,276,,276,276,,,,276,276,276',
621
+ '276,276,276,276,276,276,,,276,279,279,276,,279,279,,279,,,,,,,,,,,,',
622
+ ',,,,279,,,,,,279,,279,,279,279,,279,279,279,,279,279,,,,,279,279,,,279',
623
+ ',,279,279,,,,,,,279,,,,,,279,,,,279,279,,279,279,,,,279,279,279,279',
624
+ '279,279,279,279,279,264,,279,,,279,,,,,,,264,264,264,,264,,264,264,',
625
+ '264,264,264,264,,,,,,,,,,,,,,,,264,,,,264,264,,,264,264,264,264,264',
626
+ '264,260,264,264,,,,,,264,,,,260,260,260,,260,,260,260,,260,260,260,260',
627
+ ',,,,,,,,,,,,264,,,260,,,,260,260,,,260,260,260,260,260,260,269,260,260',
628
+ ',,,,,260,,,,269,269,269,269,269,,269,269,,269,269,269,269,,,,,,,,,,',
629
+ ',,260,,,269,,,,269,269,,,269,269,269,269,269,269,,269,269,152,,152,',
630
+ ',269,,,,,,,152,152,152,,152,,152,152,,152,152,152,152,,,,,,,,,,269,',
631
+ ',,,,152,,,,152,152,,,152,152,152,152,152,152,,152,152,154,,154,,,152',
632
+ ',,,,,,154,154,154,,154,,154,154,,154,154,154,154,,,,,,,,,,152,,,,,,154',
633
+ ',,,154,154,,,154,154,154,154,154,154,,154,154,155,,155,,,154,,,,,,,155',
634
+ '155,155,,155,,155,155,,155,155,155,155,,,,,,,,,,154,,,,,,155,,,,155',
635
+ '155,,,155,155,155,155,155,155,377,155,155,,,,,,155,,,,377,377,377,,377',
636
+ ',377,377,,377,377,377,377,,,,,,,,,,,,,155,,,377,,,,377,377,,,377,377',
637
+ '377,377,377,377,256,377,377,,,256,,,377,,,,256,256,256,,256,,256,256',
638
+ ',256,256,256,256,,,,,,,,,,,,,377,,,256,,,,256,256,,255,256,256,256,256',
639
+ '256,256,,256,256,,,255,255,255,256,255,,255,255,,255,255,255,255,,,',
640
+ ',,,,,,,,,,,,255,,,,256,255,,,255,255,255,255,255,255,418,255,255,,,',
641
+ ',,255,,,,418,418,418,,418,,418,418,,418,418,418,418,,,,,,,,,,,,,255',
642
+ ',,418,,,,418,418,,254,418,418,418,418,418,418,,418,418,,,254,254,254',
643
+ '418,254,253,254,254,,254,254,254,254,,,,,,253,253,,253,,253,253,,253',
644
+ ',254,,,,418,,,,254,254,254,254,254,254,,254,254,253,,,,,254,,252,253',
645
+ '253,253,253,253,253,,253,253,,,,252,252,253,252,251,252,252,,252,,,',
646
+ ',,254,,,251,251,,251,,251,251,,251,,252,,,,253,,,,252,252,252,252,252',
647
+ '252,,252,252,251,,,,,252,,250,251,251,251,251,251,251,,251,251,,,,250',
648
+ '250,251,250,249,250,250,,250,,,,,,252,,,,249,,249,,249,249,,,,250,,',
649
+ ',251,248,,,250,250,250,250,250,250,,250,250,249,,248,,248,250,248,248',
650
+ '249,249,249,249,249,249,,249,249,,,,,,249,,,,,,248,,,,,,250,,248,248',
651
+ '248,248,248,248,207,248,248,,,,,,248,249,,,207,207,207,207,207,,207',
652
+ '207,,207,207,207,207,,,,,,,,,,,,,248,,,207,,,,207,207,,,207,207,207',
653
+ '207,207,207,420,207,207,,,,,,207,,,,420,420,420,,420,,420,420,,420,420',
654
+ '420,420,,,,,,,,,,,,,207,,,420,,,,420,420,,,420,420,420,420,420,420,421',
655
+ '420,420,,,,,,420,,,,421,421,421,,421,,421,421,,421,421,421,421,,,,,',
656
+ ',,,,,,,420,,,421,,,,421,421,,,421,421,421,421,421,421,425,421,421,,',
657
+ ',,,421,,,,425,425,425,,425,,425,425,,425,425,425,425,,,,,,,,,,,,,421',
658
+ ',,425,,,,425,425,,,425,425,425,425,425,425,195,425,425,,,,,,425,,,,195',
659
+ '195,195,,195,,195,195,,195,195,195,195,,,,,,,,,,,,,425,,,195,,,,195',
660
+ '195,,,195,195,195,195,195,195,,195,195,,,,,,195,444,,,,,,,,,,195,195',
661
+ '444,444,444,,444,,444,444,,444,444,444,444,,,,195,,,,,,,,,,,,444,,,',
662
+ '444,444,,,444,444,444,444,444,444,9,444,444,,,,,,444,,,,9,9,9,,9,,9',
663
+ '9,,9,9,9,9,,,,,,,,,,,,,444,,,9,,,,9,9,,,9,9,9,9,9,9,419,9,9,,,,,,9,',
664
+ ',,419,419,419,,419,,419,419,,419,419,419,419,,,,,,,,,,,,,9,,,419,,,',
665
+ '419,419,,,419,419,419,419,419,419,,419,419,,334,334,334,334,419,334',
666
+ '334,334,,334,,334,334,,,,,,,334,334,334,,,,334,,,,,,,,419,,,,334,334',
667
+ ',,,,,,,,,,,334,334,334,334,334,334,334,334,334,334,373,373,373,373,',
668
+ '373,373,373,,373,,373,373,,,,,,,373,373,373,,,,373,,,,,,,,,,,,373,373',
669
+ ',,,,,,,,,,,373,373,373,373,373,373,373,373,373,373,332,332,332,332,',
670
+ '332,332,332,,332,,332,332,,,,,,,332,332,332,,,,332,,,,,,,,,,,,332,332',
671
+ ',,,,,,,,,,,332,332,332,332,332,332,332,332,332,332,398,398,398,398,',
672
+ '398,398,398,,398,,398,398,,,,,,,398,398,398,,,,398,,,,,,,,,,,,398,398',
673
+ ',,,,,,,,,,,398,398,398,398,398,398,398,398,398,398,263,263,263,263,',
674
+ '263,263,263,,263,,263,263,,,,,,,263,263,263,,,,263,,,,,,,,,,,,263,263',
675
+ ',,,,,,,,,,,263,263,263,263,263,263,263,263,263,263,367,367,367,367,',
676
+ '367,367,367,,367,,367,367,,,,,,,367,367,367,,,,367,,,,,,,,,,,,367,367',
677
+ ',,,,,,,,,,,367,367,367,367,367,367,367,367,367,367' ]
678
+ racc_action_check = arr = ::Array.new(10120, nil)
491
679
  idx = 0
492
680
  clist.each do |str|
493
681
  str.split(',', -1).each do |i|
@@ -497,449 +685,529 @@ clist = [
497
685
  end
498
686
 
499
687
  racc_action_pointer = [
500
- -2, 330, nil, nil, 118, 314, nil, 173, 316, 5605,
501
- 466, 526, 82, nil, nil, 646, 706, 766, 826, nil,
688
+ -2, 458, nil, nil, 182, 433, nil, 1328, 433, 9641,
689
+ 642, 734, 292, nil, nil, nil, 21, 1010, 1102, 1194,
690
+ 1286, nil, nil, nil, nil, nil, nil, nil, nil, nil,
502
691
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
692
+ nil, nil, nil, nil, nil, nil, 17, 1470, -9, 324,
693
+ 365, 1838, 1930, 2022, 664, 843, 105, 374, 1119, 574,
694
+ 46, 138, 113, 111, 107, 103, nil, nil, nil, 3218,
695
+ 3310, 3402, nil, nil, nil, nil, 3494, nil, 233, 216,
696
+ nil, 3770, nil, 262, 3954, 229, 4138, 4230, 4322, 4414,
697
+ 4506, 4598, 4690, 4782, 4874, 4966, 5058, 5150, 5242, 5334,
698
+ 5426, 5518, 5610, 5702, 5794, 5886, 5978, 6070, 6162, 6254,
699
+ 6346, 6438, 6530, 6622, 6714, nil, 199, 228, 6990, 7082,
700
+ 227, 178, 7358, 144, nil, nil, nil, nil, nil, nil,
701
+ nil, nil, nil, 384, nil, nil, 1566, 248, 1382, 1658,
702
+ 190, nil, 275, 224, nil, 296, 310, -7, nil, 338,
703
+ 225, 8278, 8711, nil, 8768, 8825, 327, 329, 480, 2574,
704
+ 352, nil, 350, nil, nil, nil, nil, nil, nil, nil,
705
+ 351, 69, 848, 373, 204, 371, nil, nil, nil, nil,
706
+ nil, nil, 373, nil, 93, nil, nil, 375, nil, 106,
707
+ nil, nil, 64, 2298, 250, 9524, 1378, nil, 386, nil,
708
+ nil, nil, nil, 395, 388, 436, 417, 9308, 388, 550,
709
+ -4, 9, 159, -20, 2114, 2390, 2482, nil, nil, 90,
710
+ -2, 44, 67, 7, 659, 756, 567, 1073, 751, -9,
711
+ -1, nil, nil, nil, nil, nil, nil, nil, 1652, 1014,
712
+ 1198, 462, 186, 1290, 1192, 1106, 94, 2, 9254, 9226,
713
+ 9209, 9162, 9145, 9098, 9081, 8980, 8933, nil, nil, 3586,
714
+ 8600, 337, nil, 9968, 8546, 298, nil, 321, 298, 8654,
715
+ nil, 294, nil, 96, 319, nil, 8370, 278, nil, 8462,
716
+ 8186, 8094, 185, nil, 8002, nil, 153, nil, nil, nil,
717
+ nil, nil, 139, 89, -24, nil, 9, nil, 7910, 7818,
718
+ 7726, 105, 357, 17, 64, nil, 66, 981, -28, 119,
719
+ 134, 7634, 154, nil, 7542, 7450, nil, nil, nil, nil,
720
+ 7266, nil, nil, nil, nil, 177, nil, nil, nil, nil,
721
+ 194, 205, 9848, 210, 9728, 7174, 6898, 6806, 4046, 234,
722
+ nil, 250, 3862, 250, nil, nil, nil, nil, nil, 261,
503
723
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
504
- 253, 291, 1054, 1114, 1174, 9, 935, nil, nil, nil,
505
- nil, nil, 1378, 1438, 1522, nil, nil, nil, nil, nil,
506
- 1582, nil, 221, 215, nil, 1762, nil, nil, 6, 1882,
507
- 266, 2002, 2062, 2122, 2182, 2242, 2302, 2362, 2422, 2482,
508
- 2566, 2626, 2686, 2746, 2806, 2866, 2926, 2986, 3046, 3106,
509
- 3166, 3226, 3286, 3346, 3406, 3466, 3526, 3586, 3646, 3706,
510
- 3766, 235, 266, 3946, 4006, 265, 264, 4186, 232, nil,
511
- nil, nil, nil, nil, 1526, 68, 2564, 998, 222, nil,
512
- 236, 210, 4774, 5558, nil, 5501, 5444, 218, 207, nil,
513
- 195, nil, nil, nil, nil, nil, nil, nil, 200, nil,
514
- 192, nil, 83, nil, nil, 185, nil, 174, nil, nil,
515
- 170, 4834, 221, 5652, 4510, nil, 132, nil, nil, nil,
516
- nil, 121, 107, 101, 94, 5957, 57, 4126, -1, 75,
517
- 2, 4066, 3886, 3826, nil, nil, 5, 128, 63, 287,
518
- 24, 9, -9, -2, nil, nil, nil, nil, nil, nil,
519
- 5699, 105, 1262, 2, 350, 5793, 6429, 6121, 5937, 5575,
520
- 6051, 6474, 6406, 6361, 6338, 5342, 6096, 6076, 5912, 5865,
521
- 5818, nil, nil, 1318, 27, 213, nil, 6699, 5746, 9,
522
- nil, 174, 169, 5387, nil, 192, nil, 264, nil, nil,
523
- 4714, nil, 282, nil, nil, nil, nil, nil, 271, 215,
524
- -28, 236, -11, nil, 5302, 262, 406, 144, 110, 5418,
525
- -8, 586, 4, 11, nil, 1258, 1702, nil, nil, nil,
526
- nil, 4246, nil, nil, nil, nil, 66, nil, nil, nil,
527
- nil, 73, 79, 6537, 96, 6591, 4306, 4366, 4426, nil,
528
- 4894, 4954, 143, nil, 139, nil, 157, nil, 171, nil,
529
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
530
- nil, nil, nil, 176, 4570, 6645, 190, nil, 188, nil,
531
- 194, 198, nil, 138, 90, 5218, nil, nil, 5158, 5098,
532
- nil, 216, 116, 223, 203, 0, 5038, nil, 4630, 238,
533
- nil, 5746, nil, nil, nil, nil, nil, nil, nil, nil,
534
- nil, 179, 57, 241, nil, nil, 6004, 6497, 6197, 6244,
535
- 6291, 267, 1942, 209, 272, nil, nil, 270, 1822, nil,
536
- nil, nil, 258, nil, nil, nil, 6150, 18, -15, nil,
537
- 1642, 295, 276, nil, 301, 305, nil, nil, 306, nil,
538
- nil, 994, nil, nil, nil, 310, 280, nil, nil, nil,
539
- nil, nil, 313, nil, nil, nil, nil, 910, nil, 346,
540
- 178, nil, 319, nil, nil, 58, nil, 323, nil, 324,
541
- nil, 325, nil, nil, nil, 296, nil, nil, nil, nil ]
724
+ nil, nil, nil, nil, nil, 269, 3678, 10028, 285, nil,
725
+ 390, nil, 289, 9788, nil, 233, 7, 8879, 302, 307,
726
+ 312, nil, 254, 112, 3126, nil, nil, 3034, nil, 329,
727
+ -19, 332, 310, 56, 2942, nil, 2850, 2758, 9908, nil,
728
+ 345, nil, 1027, nil, nil, 2666, nil, nil, nil, nil,
729
+ nil, nil, nil, -53, 120, 361, nil, nil, 9034, 9695,
730
+ 9362, 9416, 375, 2206, nil, 9470, 378, nil, nil, 376,
731
+ 1746, nil, nil, nil, 366, 381, nil, 1654, nil, nil,
732
+ 1562, nil, nil, nil, 9587, 72, nil, 918, 399, 380,
733
+ nil, 405, 408, nil, nil, 408, nil, nil, 410, 411,
734
+ 826, nil, 418, nil, nil, 419, 390, nil, nil, nil,
735
+ nil, 425, nil, 427, 428, nil, nil, 458, nil, 366,
736
+ 274, nil, nil, 437, 447, nil, nil, nil, 90, nil,
737
+ nil, nil, 453, nil, 456, nil, 464, nil, nil, nil,
738
+ nil, 433, nil, nil, nil, nil ]
542
739
 
543
740
  racc_action_default = [
544
- -3, -243, -1, -2, -4, -5, -8, -10, -16, -21,
545
- -243, -243, -243, -33, -34, -243, -243, -243, -243, -61,
546
- -62, -63, -64, -65, -66, -67, -68, -69, -70, -71,
741
+ -3, -285, -1, -2, -4, -5, -8, -10, -16, -21,
742
+ -285, -285, -185, -33, -34, -35, -36, -285, -285, -285,
743
+ -285, -63, -64, -65, -66, -67, -68, -69, -70, -71,
547
744
  -72, -73, -74, -75, -76, -77, -78, -79, -80, -81,
548
- -86, -90, -243, -243, -243, -243, -243, -176, -177, -178,
549
- -179, -180, -243, -243, -243, -191, -192, -193, -194, -195,
550
- -243, -197, -243, -210, -213, -243, -218, -219, -243, -243,
551
- -7, -243, -243, -243, -243, -243, -243, -243, -243, -126,
552
- -243, -243, -243, -243, -243, -243, -243, -243, -243, -243,
553
- -243, -243, -243, -243, -243, -243, -243, -243, -243, -243,
554
- -243, -243, -121, -242, -242, -22, -23, -243, -242, -136,
555
- -157, -158, -159, -160, -46, -243, -47, -54, -243, -87,
556
- -243, -243, -243, -243, -97, -243, -243, -242, -220, -145,
557
- -147, -148, -149, -150, -151, -153, -154, -14, -220, -182,
558
- -220, -184, -243, -187, -188, -243, -196, -243, -201, -204,
559
- -243, -208, -243, -243, -243, 420, -6, -9, -11, -12,
560
- -13, -17, -18, -19, -20, -243, -220, -243, -79, -80,
561
- -81, -231, -237, -225, -127, -130, -243, -228, -226, -234,
562
- -177, -178, -179, -180, -224, -229, -230, -232, -233, -235,
563
- -59, -243, -36, -37, -38, -39, -40, -41, -42, -43,
564
- -44, -45, -48, -49, -50, -51, -52, -53, -55, -56,
565
- -243, -57, -115, -243, -220, -83, -91, -126, -125, -243,
566
- -124, -243, -222, -243, -28, -242, -161, -243, -58, -92,
567
- -243, -95, -220, -164, -166, -167, -168, -169, -171, -243,
568
- -243, -174, -243, -89, -243, -243, -243, -243, -242, -221,
569
- -243, -221, -243, -243, -185, -243, -243, -198, -199, -200,
570
- -202, -243, -205, -206, -207, -209, -220, -211, -214, -216,
571
- -217, -8, -243, -126, -243, -221, -243, -243, -243, -35,
572
- -243, -243, -220, -117, -243, -85, -220, -129, -243, -225,
573
- -226, -227, -228, -231, -234, -236, -237, -238, -239, -240,
574
- -241, -122, -123, -243, -223, -126, -243, -139, -243, -162,
575
- -220, -243, -94, -243, -221, -243, -172, -173, -243, -243,
576
- -88, -243, -100, -243, -106, -243, -243, -110, -242, -243,
577
- -155, -243, -146, -152, -15, -181, -183, -186, -189, -190,
578
- -203, -243, -243, -220, -26, -128, -133, -131, -132, -60,
579
- -119, -243, -221, -82, -243, -25, -29, -220, -242, -140,
580
- -141, -142, -243, -93, -96, -165, -170, -243, -100, -99,
581
- -243, -243, -106, -105, -243, -243, -109, -111, -243, -137,
582
- -138, -243, -156, -212, -215, -243, -30, -116, -118, -84,
583
- -120, -27, -243, -163, -175, -98, -101, -243, -104, -243,
584
- -242, -134, -243, -144, -24, -31, -135, -243, -103, -243,
585
- -108, -243, -113, -114, -143, -222, -102, -107, -112, -32 ]
745
+ -82, -83, -84, -85, -86, -87, -88, -285, -285, -95,
746
+ -99, -285, -285, -285, -285, -285, -285, -285, -285, -285,
747
+ -235, -258, -207, -208, -209, -210, -204, -205, -206, -285,
748
+ -285, -285, -231, -232, -233, -234, -285, -237, -285, -250,
749
+ -253, -285, -259, -285, -285, -7, -285, -285, -285, -285,
750
+ -285, -285, -285, -285, -135, -285, -285, -285, -285, -285,
751
+ -285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
752
+ -285, -285, -285, -285, -285, -93, -285, -130, -284, -284,
753
+ -22, -23, -285, -284, -154, -178, -179, -180, -181, -182,
754
+ -183, -184, -185, -285, -151, -152, -47, -185, -48, -55,
755
+ -285, -14, -260, -90, -94, -199, -285, -258, -96, -285,
756
+ -285, -285, -285, -106, -285, -285, -284, -284, -285, -285,
757
+ -260, -165, -167, -168, -169, -170, -171, -173, -174, -235,
758
+ -284, -225, -227, -230, -226, -260, -212, -221, -222, -223,
759
+ -228, -229, -260, -214, -285, -217, -218, -285, -236, -285,
760
+ -241, -244, -285, -248, -285, -285, -285, 506, -6, -9,
761
+ -11, -12, -13, -17, -18, -19, -20, -285, -260, -285,
762
+ -86, -87, -88, -278, -271, -277, -265, -136, -139, -207,
763
+ -208, -209, -210, -285, -268, -282, -185, -274, -280, -205,
764
+ -206, -264, -269, -270, -272, -273, -275, -283, -37, -38,
765
+ -39, -40, -41, -42, -43, -44, -45, -46, -49, -50,
766
+ -51, -52, -53, -54, -56, -57, -285, -58, -124, -285,
767
+ -61, -260, -100, -135, -134, -285, -133, -285, -262, -285,
768
+ -28, -284, -186, -285, -285, -59, -261, -285, -92, -285,
769
+ -285, -248, -285, -101, -285, -104, -260, -189, -191, -192,
770
+ -193, -194, -196, -285, -285, -258, -285, -98, -285, -285,
771
+ -285, -285, -285, -285, -285, -162, -284, -261, -285, -285,
772
+ -285, -261, -285, -215, -285, -285, -238, -239, -240, -242,
773
+ -285, -245, -246, -247, -249, -260, -251, -254, -256, -257,
774
+ -8, -285, -135, -285, -261, -285, -285, -285, -285, -260,
775
+ -126, -285, -261, -260, -138, -140, -141, -142, -143, -285,
776
+ -265, -266, -267, -268, -271, -274, -276, -277, -278, -279,
777
+ -280, -281, -282, -131, -132, -285, -263, -135, -285, -157,
778
+ -285, -187, -260, -135, -15, -89, -285, -201, -285, -285,
779
+ -285, -103, -285, -261, -285, -197, -198, -285, -97, -285,
780
+ -109, -285, -115, -285, -285, -119, -284, -284, -135, -161,
781
+ -285, -175, -285, -166, -172, -284, -211, -224, -213, -216,
782
+ -219, -220, -243, -285, -285, -260, -26, -137, -146, -144,
783
+ -145, -128, -285, -261, -60, -62, -285, -25, -29, -260,
784
+ -284, -158, -159, -160, -285, -260, -91, -285, -200, -202,
785
+ -248, -102, -105, -190, -195, -109, -108, -285, -285, -115,
786
+ -114, -285, -285, -118, -120, -285, -155, -156, -285, -260,
787
+ -285, -176, -285, -252, -255, -285, -30, -125, -127, -129,
788
+ -27, -285, -188, -285, -285, -107, -110, -285, -113, -285,
789
+ -284, -147, -148, -285, -285, -164, -177, -24, -31, -153,
790
+ -150, -203, -285, -112, -285, -117, -285, -122, -123, -149,
791
+ -163, -262, -111, -116, -121, -32 ]
586
792
 
587
793
  racc_goto_table = [
588
- 2, 114, 116, 117, 119, 118, 226, 222, 127, 131,
589
- 133, 191, 212, 146, 166, 268, 303, 332, 241, 232,
590
- 327, 70, 378, 411, 248, 226, 225, 326, 123, 125,
591
- 126, 219, 221, 282, 252, 396, 253, 105, 106, 137,
592
- 137, 145, 369, 138, 140, 247, 373, 148, 345, 241,
593
- 266, 153, 392, 229, 211, 356, 306, 359, 157, 158,
594
- 159, 160, 274, 329, 385, 165, 190, 192, 193, 194,
595
- 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
596
- 205, 206, 207, 208, 209, 210, 156, 137, 395, 218,
597
- 218, 214, 333, 223, 398, 365, 317, 316, 338, 382,
598
- 377, 262, 161, 162, 163, 164, 263, 3, 260, 137,
599
- 284, 261, 259, 242, 149, 151, 264, 1, nil, nil,
600
- nil, nil, nil, 307, 241, 310, 283, nil, 313, nil,
601
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
602
- 127, 271, 131, 133, nil, nil, 330, nil, nil, nil,
603
- nil, 265, 286, 116, 272, nil, nil, 123, 125, 126,
604
- nil, nil, 341, nil, nil, nil, nil, nil, nil, nil,
605
- nil, nil, nil, nil, nil, nil, nil, nil, 351, 285,
606
- nil, nil, 354, nil, nil, nil, nil, nil, nil, nil,
607
- nil, nil, nil, nil, nil, nil, nil, nil, nil, 210,
608
- nil, nil, nil, nil, 384, nil, 362, nil, 343, 419,
609
- nil, 241, 131, 133, 340, nil, nil, nil, nil, nil,
610
- nil, nil, nil, nil, nil, nil, 380, nil, nil, nil,
611
- 311, nil, 190, nil, nil, nil, nil, nil, 334, 386,
612
- 357, nil, 145, 339, 321, 323, nil, nil, 148, 367,
613
- nil, nil, nil, 391, nil, nil, 380, nil, nil, nil,
614
- nil, nil, 346, 347, 348, 388, 349, 350, nil, nil,
615
- nil, 360, nil, nil, nil, nil, nil, nil, nil, nil,
616
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
617
- 223, nil, nil, nil, 131, 133, nil, nil, 412, nil,
618
- nil, 366, nil, nil, 190, 415, 334, nil, nil, nil,
619
- nil, nil, 190, nil, nil, nil, nil, 389, nil, nil,
620
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
621
- nil, nil, nil, nil, nil, nil, nil, nil, 210, nil,
794
+ 2, 140, 136, 138, 139, 268, 124, 145, 148, 258,
795
+ 165, 163, 179, 179, 365, 327, 261, 188, 142, 146,
796
+ 286, 403, 323, 395, 431, 266, 266, 271, 141, 208,
797
+ 339, 120, 121, 133, 465, 85, 152, 154, 155, 265,
798
+ 267, 175, 182, 450, 428, 368, 446, 417, 156, 157,
799
+ 177, 177, 177, 170, 400, 496, 404, 190, 443, 386,
800
+ 301, 302, 385, 394, 325, 476, 195, 199, 200, 201,
801
+ 202, 283, 410, 158, 309, 257, 321, 322, 3, 207,
802
+ 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
803
+ 248, 249, 250, 251, 252, 253, 254, 255, 256, 260,
804
+ 478, 475, 278, 264, 264, 319, 320, 269, 277, 145,
805
+ 378, 203, 204, 205, 206, 198, 461, 454, 318, 191,
806
+ 455, 458, 296, 193, 1, nil, 306, 274, nil, 462,
807
+ 145, 124, 141, nil, nil, nil, nil, nil, nil, nil,
808
+ nil, 310, 146, 372, nil, nil, nil, nil, 312, nil,
809
+ nil, nil, 303, 145, 471, 340, nil, nil, nil, 304,
810
+ nil, nil, nil, nil, nil, nil, 157, nil, 170, nil,
811
+ nil, nil, 145, nil, 333, nil, nil, 330, 369, 165,
812
+ 163, 376, nil, nil, 146, nil, nil, nil, nil, nil,
813
+ nil, nil, nil, 324, 138, nil, 331, nil, 343, 152,
814
+ 154, 155, nil, nil, nil, nil, nil, nil, nil, nil,
815
+ nil, nil, nil, 401, nil, nil, nil, nil, 156, 157,
816
+ 124, nil, 170, nil, nil, nil, nil, 341, nil, nil,
817
+ nil, nil, 145, nil, 464, nil, nil, nil, nil, nil,
818
+ nil, nil, nil, nil, 256, nil, nil, 505, nil, nil,
819
+ nil, nil, 382, nil, 407, nil, nil, 374, 411, 165,
820
+ 163, 412, nil, nil, 260, 377, nil, 415, nil, 474,
622
821
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
623
- nil, nil, nil, nil, nil, nil, 123, nil, nil, nil,
822
+ nil, 324, nil, nil, 380, 260, nil, nil, nil, nil,
823
+ nil, 413, 177, nil, nil, 177, 177, nil, 389, 391,
824
+ nil, 190, 429, 457, 457, 422, nil, nil, 435, 426,
825
+ nil, nil, 457, nil, nil, nil, nil, nil, nil, 468,
826
+ 418, 419, 420, 421, nil, nil, nil, 425, nil, nil,
827
+ nil, nil, nil, 459, 436, nil, nil, 457, 434, nil,
828
+ nil, nil, 145, nil, nil, nil, nil, nil, nil, nil,
829
+ nil, 269, nil, nil, 165, 163, nil, nil, nil, nil,
830
+ nil, nil, nil, nil, 432, nil, nil, nil, 374, 444,
831
+ nil, 501, nil, nil, nil, nil, nil, nil, nil, 260,
832
+ nil, 466, nil, nil, nil, nil, nil, 497, nil, nil,
833
+ nil, nil, nil, nil, nil, 470, nil, nil, nil, nil,
834
+ nil, 473, nil, nil, nil, nil, nil, nil, 256, nil,
624
835
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
836
+ nil, nil, 425, nil, nil, 483, nil, nil, nil, nil,
837
+ nil, nil, 152, nil, nil, nil, nil, nil, nil, nil,
838
+ 324, nil, nil, nil, nil, nil, nil, nil, nil, nil,
625
839
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
626
- nil, 402, nil, nil, nil, nil, nil, nil, nil, nil,
627
- nil, 223, nil, nil, nil, nil, nil, 407, nil, 409,
628
- 413 ]
840
+ 484, nil, nil, nil, nil, nil, nil, nil, nil, nil,
841
+ nil, nil, nil, 269, nil, nil, nil, 492, nil, 494,
842
+ 498 ]
629
843
 
630
844
  racc_goto_check = [
631
- 2, 10, 10, 10, 37, 6, 49, 13, 57, 35,
632
- 34, 19, 50, 80, 11, 88, 14, 65, 36, 42,
633
- 47, 5, 59, 48, 15, 49, 58, 46, 10, 10,
634
- 10, 53, 53, 51, 15, 43, 15, 9, 9, 6,
635
- 6, 6, 44, 8, 8, 58, 45, 6, 54, 36,
636
- 42, 10, 59, 41, 20, 16, 61, 62, 6, 6,
637
- 6, 6, 15, 64, 12, 10, 10, 10, 10, 10,
845
+ 2, 6, 10, 10, 10, 13, 65, 43, 45, 58,
846
+ 41, 42, 87, 87, 14, 100, 22, 93, 8, 82,
847
+ 50, 74, 83, 55, 71, 57, 57, 66, 6, 11,
848
+ 59, 9, 9, 68, 12, 5, 10, 10, 10, 61,
849
+ 61, 84, 84, 53, 16, 70, 52, 62, 65, 65,
850
+ 6, 6, 6, 65, 73, 56, 76, 6, 77, 78,
851
+ 66, 66, 80, 54, 50, 51, 10, 6, 6, 6,
852
+ 6, 49, 86, 68, 66, 21, 89, 90, 3, 10,
638
853
  10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
639
- 10, 10, 10, 10, 10, 10, 5, 6, 44, 10,
640
- 10, 8, 67, 10, 45, 68, 69, 71, 75, 65,
641
- 47, 76, 9, 9, 9, 9, 77, 3, 81, 6,
642
- 15, 82, 84, 8, 85, 86, 87, 1, nil, nil,
643
- nil, nil, nil, 49, 36, 42, 50, nil, 15, nil,
644
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
645
- 57, 6, 35, 34, nil, nil, 49, nil, nil, nil,
646
- nil, 2, 11, 10, 2, nil, nil, 10, 10, 10,
647
- nil, nil, 15, nil, nil, nil, nil, nil, nil, nil,
648
- nil, nil, nil, nil, nil, nil, nil, nil, 15, 37,
649
- nil, nil, 15, nil, nil, nil, nil, nil, nil, nil,
650
- nil, nil, nil, nil, nil, nil, nil, nil, nil, 10,
651
- nil, nil, nil, nil, 88, nil, 15, nil, 11, 14,
652
- nil, 36, 35, 34, 80, nil, nil, nil, nil, nil,
653
- nil, nil, nil, nil, nil, nil, 49, nil, nil, nil,
654
- 2, nil, 10, nil, nil, nil, nil, nil, 6, 15,
655
- 11, nil, 6, 6, 2, 2, nil, nil, 6, 19,
656
- nil, nil, nil, 15, nil, nil, 49, nil, nil, nil,
657
- nil, nil, 10, 10, 10, 50, 10, 10, nil, nil,
658
- nil, 57, nil, nil, nil, nil, nil, nil, nil, nil,
659
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
660
- 10, nil, nil, nil, 35, 34, nil, nil, 49, nil,
661
- nil, 10, nil, nil, 10, 13, 6, nil, nil, nil,
662
- nil, nil, 10, nil, nil, nil, nil, 37, nil, nil,
663
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
664
- nil, nil, nil, nil, nil, nil, nil, nil, 10, nil,
854
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
855
+ 53, 52, 45, 10, 10, 94, 95, 10, 15, 43,
856
+ 83, 9, 9, 9, 9, 5, 74, 55, 97, 98,
857
+ 67, 67, 8, 99, 1, nil, 15, 65, nil, 67,
858
+ 43, 65, 6, nil, nil, nil, nil, nil, nil, nil,
859
+ nil, 15, 82, 50, nil, nil, nil, nil, 15, nil,
860
+ nil, nil, 65, 43, 67, 58, nil, nil, nil, 2,
861
+ nil, nil, nil, nil, nil, nil, 65, nil, 65, nil,
862
+ nil, nil, 43, nil, 15, nil, nil, 6, 57, 41,
863
+ 42, 22, nil, nil, 82, nil, nil, nil, nil, nil,
864
+ nil, nil, nil, 2, 10, nil, 2, nil, 11, 10,
865
+ 10, 10, nil, nil, nil, nil, nil, nil, nil, nil,
866
+ nil, nil, nil, 57, nil, nil, nil, nil, 65, 65,
867
+ 65, nil, 65, nil, nil, nil, nil, 15, nil, nil,
868
+ nil, nil, 43, nil, 100, nil, nil, nil, nil, nil,
869
+ nil, nil, nil, nil, 10, nil, nil, 14, nil, nil,
870
+ nil, nil, 15, nil, 87, nil, nil, 6, 87, 41,
871
+ 42, 93, nil, nil, 10, 10, nil, 11, nil, 83,
665
872
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
666
- nil, nil, nil, nil, nil, nil, 10, nil, nil, nil,
873
+ nil, 2, nil, nil, 2, 10, nil, nil, nil, nil,
874
+ nil, 15, 6, nil, nil, 6, 6, nil, 2, 2,
875
+ nil, 6, 11, 57, 57, 15, nil, nil, 11, 15,
876
+ nil, nil, 57, nil, nil, nil, nil, nil, nil, 58,
877
+ 10, 10, 10, 10, nil, nil, nil, 10, nil, nil,
878
+ nil, nil, nil, 11, 45, nil, nil, 57, 15, nil,
879
+ nil, nil, 43, nil, nil, nil, nil, nil, nil, nil,
880
+ nil, 10, nil, nil, 41, 42, nil, nil, nil, nil,
881
+ nil, nil, nil, nil, 65, nil, nil, nil, 6, 10,
882
+ nil, 13, nil, nil, nil, nil, nil, nil, nil, 10,
883
+ nil, 15, nil, nil, nil, nil, nil, 57, nil, nil,
884
+ nil, nil, nil, nil, nil, 15, nil, nil, nil, nil,
885
+ nil, 15, nil, nil, nil, nil, nil, nil, 10, nil,
667
886
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
887
+ nil, nil, 10, nil, nil, 15, nil, nil, nil, nil,
888
+ nil, nil, 10, nil, nil, nil, nil, nil, nil, nil,
889
+ 2, nil, nil, nil, nil, nil, nil, nil, nil, nil,
668
890
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
669
- nil, 2, nil, nil, nil, nil, nil, nil, nil, nil,
670
- nil, 10, nil, nil, nil, nil, nil, 2, nil, 2,
891
+ 2, nil, nil, nil, nil, nil, nil, nil, nil, nil,
892
+ nil, nil, nil, 10, nil, nil, nil, 2, nil, 2,
671
893
  2 ]
672
894
 
673
895
  racc_goto_pointer = [
674
- nil, 117, 0, 107, nil, 17, -13, nil, -9, 27,
675
- -14, -65, -279, -100, -206, -104, -249, nil, nil, -69,
676
- -45, nil, nil, nil, nil, nil, nil, nil, nil, nil,
677
- nil, nil, nil, nil, -36, -37, -103, -36, nil, nil,
678
- nil, -67, -102, -335, -280, -278, -219, -226, -377, -102,
679
- -87, -180, nil, -72, -227, nil, nil, -37, -82, -306,
680
- nil, -169, -251, nil, -185, -232, nil, -158, -219, -144,
681
- nil, -142, nil, nil, nil, -157, -49, -44, nil, nil,
682
- -47, -39, -36, nil, -35, 52, 52, -35, -138 ]
896
+ nil, 124, 0, 78, nil, 31, -19, nil, -29, 21,
897
+ -15, -65, -381, -117, -254, -34, -322, nil, nil, nil,
898
+ nil, -38, -98, nil, nil, nil, nil, nil, nil, nil,
899
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
900
+ nil, -48, -47, -41, nil, -41, nil, nil, nil, -78,
901
+ -130, -382, -344, -349, -237, -277, -425, -93, -104, -229,
902
+ nil, -79, -287, nil, nil, -6, -96, -276, 17, nil,
903
+ -226, -346, nil, -252, -286, nil, -252, -325, -235, nil,
904
+ -231, nil, -29, -171, -28, nil, -242, -57, nil, -116,
905
+ -115, nil, nil, -59, -84, -83, nil, -71, 41, 44,
906
+ -180 ]
683
907
 
684
908
  racc_goto_default = [
685
- nil, nil, 379, nil, 4, 5, 6, 7, nil, 8,
686
- 9, nil, nil, nil, nil, nil, 224, 13, 14, 325,
687
- nil, 19, 20, 21, 22, 23, 24, 25, 26, 27,
688
- 28, 29, 30, 31, 32, 33, 34, nil, 40, 41,
689
- 120, nil, nil, 124, nil, nil, nil, nil, nil, 220,
690
- nil, nil, 102, nil, 174, 176, 175, 109, nil, nil,
691
- 108, nil, nil, 128, nil, 129, 130, 134, 233, 234,
692
- 235, 236, 237, 240, 142, 144, 55, 56, 57, 60,
693
- nil, nil, nil, 147, nil, nil, nil, nil, nil ]
909
+ nil, nil, 456, nil, 4, 5, 6, 7, nil, 8,
910
+ 9, nil, nil, nil, nil, nil, 270, 13, 14, 15,
911
+ 16, nil, 393, 21, 22, 23, 24, 25, 26, 27,
912
+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
913
+ 38, 39, 40, 41, 47, nil, 49, 50, 149, nil,
914
+ nil, 153, nil, nil, nil, nil, nil, 272, nil, nil,
915
+ 117, nil, 217, 223, 218, 56, nil, nil, nil, 123,
916
+ nil, nil, 160, nil, 161, 162, 166, 287, 288, 289,
917
+ 290, 291, 294, nil, nil, 184, 186, 187, 178, 72,
918
+ 73, 74, 76, nil, nil, nil, 189, nil, nil, nil,
919
+ nil ]
694
920
 
695
921
  racc_reduce_table = [
696
922
  0, 0, :racc_error,
697
- 1, 92, :_reduce_1,
698
- 1, 92, :_reduce_2,
699
- 0, 92, :_reduce_3,
700
- 1, 93, :_reduce_4,
701
- 1, 95, :_reduce_5,
702
- 3, 95, :_reduce_6,
703
- 2, 95, :_reduce_7,
704
- 1, 96, :_reduce_8,
705
- 3, 96, :_reduce_9,
706
- 1, 97, :_reduce_none,
707
- 3, 97, :_reduce_11,
708
- 3, 97, :_reduce_12,
709
- 3, 97, :_reduce_13,
710
- 1, 99, :_reduce_14,
711
- 3, 99, :_reduce_15,
712
- 1, 98, :_reduce_none,
713
- 3, 98, :_reduce_17,
714
- 3, 98, :_reduce_18,
715
- 3, 98, :_reduce_19,
716
- 3, 98, :_reduce_20,
717
- 1, 100, :_reduce_none,
718
- 2, 100, :_reduce_22,
719
- 2, 100, :_reduce_23,
720
- 7, 100, :_reduce_24,
721
- 5, 100, :_reduce_25,
722
- 5, 100, :_reduce_26,
723
- 4, 107, :_reduce_27,
724
- 1, 104, :_reduce_28,
725
- 3, 104, :_reduce_29,
726
- 1, 103, :_reduce_30,
727
- 2, 103, :_reduce_31,
728
- 4, 103, :_reduce_32,
729
- 1, 101, :_reduce_none,
730
- 1, 101, :_reduce_none,
731
- 4, 101, :_reduce_35,
732
- 3, 101, :_reduce_36,
733
- 3, 101, :_reduce_37,
734
- 3, 101, :_reduce_38,
735
- 3, 101, :_reduce_39,
736
- 3, 101, :_reduce_40,
737
- 3, 101, :_reduce_41,
738
- 3, 101, :_reduce_42,
739
- 3, 101, :_reduce_43,
740
- 3, 101, :_reduce_44,
741
- 3, 101, :_reduce_45,
742
- 2, 101, :_reduce_46,
743
- 2, 101, :_reduce_47,
744
- 3, 101, :_reduce_48,
745
- 3, 101, :_reduce_49,
746
- 3, 101, :_reduce_50,
747
- 3, 101, :_reduce_51,
748
- 3, 101, :_reduce_52,
749
- 3, 101, :_reduce_53,
750
- 2, 101, :_reduce_54,
751
- 3, 101, :_reduce_55,
752
- 3, 101, :_reduce_56,
753
- 3, 101, :_reduce_57,
754
- 3, 101, :_reduce_58,
755
- 1, 110, :_reduce_59,
756
- 3, 110, :_reduce_60,
757
- 1, 108, :_reduce_none,
758
- 1, 108, :_reduce_none,
759
- 1, 108, :_reduce_none,
760
- 1, 108, :_reduce_none,
761
- 1, 108, :_reduce_none,
762
- 1, 108, :_reduce_none,
763
- 1, 108, :_reduce_none,
764
- 1, 108, :_reduce_none,
765
- 1, 108, :_reduce_none,
766
- 1, 108, :_reduce_none,
767
- 1, 108, :_reduce_none,
768
- 1, 108, :_reduce_none,
769
- 1, 108, :_reduce_none,
770
- 1, 108, :_reduce_none,
771
- 1, 108, :_reduce_none,
923
+ 1, 100, :_reduce_1,
924
+ 1, 100, :_reduce_2,
925
+ 0, 100, :_reduce_3,
926
+ 1, 101, :_reduce_4,
927
+ 1, 103, :_reduce_5,
928
+ 3, 103, :_reduce_6,
929
+ 2, 103, :_reduce_7,
930
+ 1, 104, :_reduce_8,
931
+ 3, 104, :_reduce_9,
932
+ 1, 105, :_reduce_none,
933
+ 3, 105, :_reduce_11,
934
+ 3, 105, :_reduce_12,
935
+ 3, 105, :_reduce_13,
936
+ 1, 107, :_reduce_14,
937
+ 3, 107, :_reduce_15,
938
+ 1, 106, :_reduce_none,
939
+ 3, 106, :_reduce_17,
940
+ 3, 106, :_reduce_18,
941
+ 3, 106, :_reduce_19,
942
+ 3, 106, :_reduce_20,
772
943
  1, 108, :_reduce_none,
773
- 1, 108, :_reduce_77,
774
- 1, 108, :_reduce_78,
775
- 1, 108, :_reduce_79,
776
- 1, 108, :_reduce_80,
777
- 1, 108, :_reduce_81,
778
- 5, 109, :_reduce_82,
779
- 3, 109, :_reduce_83,
780
- 6, 109, :_reduce_84,
781
- 4, 109, :_reduce_85,
782
- 1, 113, :_reduce_86,
783
- 2, 113, :_reduce_87,
784
- 4, 129, :_reduce_88,
785
- 3, 129, :_reduce_89,
786
- 1, 129, :_reduce_90,
787
- 3, 130, :_reduce_91,
788
- 2, 128, :_reduce_92,
789
- 3, 132, :_reduce_93,
790
- 2, 132, :_reduce_94,
791
- 2, 131, :_reduce_95,
792
- 4, 131, :_reduce_96,
793
- 2, 116, :_reduce_97,
794
- 5, 134, :_reduce_98,
795
- 4, 134, :_reduce_99,
796
- 0, 135, :_reduce_none,
797
- 2, 135, :_reduce_101,
798
- 4, 135, :_reduce_102,
799
- 3, 135, :_reduce_103,
800
- 6, 117, :_reduce_104,
801
- 5, 117, :_reduce_105,
802
- 0, 136, :_reduce_none,
803
- 4, 136, :_reduce_107,
804
- 3, 136, :_reduce_108,
805
- 5, 115, :_reduce_109,
806
- 1, 137, :_reduce_110,
807
- 2, 137, :_reduce_111,
808
- 5, 138, :_reduce_112,
809
- 1, 139, :_reduce_none,
810
- 1, 139, :_reduce_none,
811
- 1, 111, :_reduce_none,
812
- 4, 111, :_reduce_116,
813
- 1, 142, :_reduce_117,
814
- 3, 142, :_reduce_118,
815
- 3, 141, :_reduce_119,
816
- 6, 114, :_reduce_120,
817
- 2, 114, :_reduce_121,
818
- 3, 143, :_reduce_122,
819
- 3, 143, :_reduce_123,
820
- 1, 144, :_reduce_none,
821
- 1, 144, :_reduce_none,
822
- 0, 102, :_reduce_126,
823
- 1, 102, :_reduce_127,
824
- 3, 102, :_reduce_128,
825
- 1, 146, :_reduce_none,
826
- 1, 146, :_reduce_none,
827
- 3, 145, :_reduce_131,
828
- 3, 145, :_reduce_132,
829
- 3, 145, :_reduce_133,
830
- 6, 118, :_reduce_134,
831
- 7, 119, :_reduce_135,
832
- 1, 151, :_reduce_136,
833
- 1, 150, :_reduce_none,
834
- 1, 150, :_reduce_none,
835
- 1, 152, :_reduce_none,
836
- 2, 152, :_reduce_140,
837
- 1, 153, :_reduce_none,
838
- 1, 153, :_reduce_none,
839
- 7, 120, :_reduce_143,
840
- 6, 120, :_reduce_144,
841
- 1, 154, :_reduce_145,
842
- 3, 154, :_reduce_146,
843
- 1, 156, :_reduce_none,
844
- 1, 156, :_reduce_none,
845
- 1, 156, :_reduce_149,
846
- 1, 156, :_reduce_none,
847
- 1, 157, :_reduce_151,
848
- 3, 157, :_reduce_152,
849
- 1, 158, :_reduce_none,
850
- 1, 158, :_reduce_none,
944
+ 2, 108, :_reduce_22,
945
+ 2, 108, :_reduce_23,
946
+ 7, 108, :_reduce_24,
947
+ 5, 108, :_reduce_25,
948
+ 5, 108, :_reduce_26,
949
+ 4, 115, :_reduce_27,
950
+ 1, 112, :_reduce_28,
951
+ 3, 112, :_reduce_29,
952
+ 1, 111, :_reduce_30,
953
+ 2, 111, :_reduce_31,
954
+ 4, 111, :_reduce_32,
955
+ 1, 109, :_reduce_none,
956
+ 1, 109, :_reduce_none,
957
+ 1, 109, :_reduce_none,
958
+ 1, 109, :_reduce_none,
959
+ 3, 109, :_reduce_37,
960
+ 3, 109, :_reduce_38,
961
+ 3, 109, :_reduce_39,
962
+ 3, 109, :_reduce_40,
963
+ 3, 109, :_reduce_41,
964
+ 3, 109, :_reduce_42,
965
+ 3, 109, :_reduce_43,
966
+ 3, 109, :_reduce_44,
967
+ 3, 109, :_reduce_45,
968
+ 3, 109, :_reduce_46,
969
+ 2, 109, :_reduce_47,
970
+ 2, 109, :_reduce_48,
971
+ 3, 109, :_reduce_49,
972
+ 3, 109, :_reduce_50,
973
+ 3, 109, :_reduce_51,
974
+ 3, 109, :_reduce_52,
975
+ 3, 109, :_reduce_53,
976
+ 3, 109, :_reduce_54,
977
+ 2, 109, :_reduce_55,
978
+ 3, 109, :_reduce_56,
979
+ 3, 109, :_reduce_57,
980
+ 3, 109, :_reduce_58,
981
+ 3, 109, :_reduce_59,
982
+ 5, 119, :_reduce_60,
983
+ 1, 121, :_reduce_61,
984
+ 3, 121, :_reduce_62,
985
+ 1, 116, :_reduce_none,
986
+ 1, 116, :_reduce_none,
987
+ 1, 116, :_reduce_none,
988
+ 1, 116, :_reduce_none,
989
+ 1, 116, :_reduce_none,
990
+ 1, 116, :_reduce_none,
991
+ 1, 116, :_reduce_none,
992
+ 1, 116, :_reduce_none,
993
+ 1, 116, :_reduce_none,
994
+ 1, 116, :_reduce_none,
995
+ 1, 116, :_reduce_none,
996
+ 1, 116, :_reduce_none,
997
+ 1, 116, :_reduce_none,
998
+ 1, 116, :_reduce_none,
999
+ 1, 116, :_reduce_none,
1000
+ 1, 116, :_reduce_none,
1001
+ 1, 116, :_reduce_none,
1002
+ 1, 116, :_reduce_none,
1003
+ 1, 116, :_reduce_none,
1004
+ 1, 116, :_reduce_none,
1005
+ 1, 116, :_reduce_none,
1006
+ 1, 116, :_reduce_84,
1007
+ 1, 116, :_reduce_85,
1008
+ 1, 116, :_reduce_86,
1009
+ 1, 116, :_reduce_87,
1010
+ 1, 116, :_reduce_88,
1011
+ 4, 118, :_reduce_89,
1012
+ 2, 118, :_reduce_90,
1013
+ 5, 118, :_reduce_91,
1014
+ 3, 118, :_reduce_92,
1015
+ 2, 143, :_reduce_93,
1016
+ 2, 143, :_reduce_94,
1017
+ 1, 123, :_reduce_95,
1018
+ 2, 123, :_reduce_96,
1019
+ 4, 145, :_reduce_97,
1020
+ 3, 145, :_reduce_98,
1021
+ 1, 145, :_reduce_99,
1022
+ 3, 146, :_reduce_100,
1023
+ 2, 144, :_reduce_101,
1024
+ 3, 148, :_reduce_102,
1025
+ 2, 148, :_reduce_103,
1026
+ 2, 147, :_reduce_104,
1027
+ 4, 147, :_reduce_105,
1028
+ 2, 126, :_reduce_106,
1029
+ 5, 150, :_reduce_107,
1030
+ 4, 150, :_reduce_108,
1031
+ 0, 151, :_reduce_none,
1032
+ 2, 151, :_reduce_110,
1033
+ 4, 151, :_reduce_111,
1034
+ 3, 151, :_reduce_112,
1035
+ 6, 127, :_reduce_113,
1036
+ 5, 127, :_reduce_114,
1037
+ 0, 152, :_reduce_none,
1038
+ 4, 152, :_reduce_116,
1039
+ 3, 152, :_reduce_117,
1040
+ 5, 125, :_reduce_118,
1041
+ 1, 153, :_reduce_119,
1042
+ 2, 153, :_reduce_120,
1043
+ 5, 154, :_reduce_121,
1044
+ 1, 155, :_reduce_none,
851
1045
  1, 155, :_reduce_none,
852
- 2, 155, :_reduce_156,
853
- 1, 148, :_reduce_none,
854
- 1, 148, :_reduce_none,
855
- 1, 148, :_reduce_none,
856
- 1, 148, :_reduce_160,
857
- 1, 149, :_reduce_161,
858
- 2, 149, :_reduce_162,
859
- 4, 149, :_reduce_163,
860
- 1, 133, :_reduce_164,
861
- 3, 133, :_reduce_165,
862
- 1, 159, :_reduce_none,
863
- 1, 159, :_reduce_none,
1046
+ 1, 120, :_reduce_none,
1047
+ 4, 120, :_reduce_125,
1048
+ 1, 158, :_reduce_126,
1049
+ 3, 158, :_reduce_127,
1050
+ 3, 157, :_reduce_128,
1051
+ 6, 124, :_reduce_129,
1052
+ 2, 124, :_reduce_130,
1053
+ 3, 159, :_reduce_131,
1054
+ 3, 159, :_reduce_132,
864
1055
  1, 160, :_reduce_none,
865
1056
  1, 160, :_reduce_none,
866
- 3, 162, :_reduce_170,
867
- 1, 162, :_reduce_171,
868
- 2, 163, :_reduce_172,
869
- 2, 161, :_reduce_173,
870
- 1, 164, :_reduce_174,
871
- 4, 164, :_reduce_175,
872
- 1, 112, :_reduce_176,
873
- 1, 122, :_reduce_177,
874
- 1, 122, :_reduce_178,
875
- 1, 122, :_reduce_179,
876
- 1, 122, :_reduce_180,
877
- 4, 123, :_reduce_181,
878
- 2, 123, :_reduce_182,
879
- 4, 123, :_reduce_183,
880
- 2, 123, :_reduce_184,
881
- 3, 124, :_reduce_185,
882
- 4, 124, :_reduce_186,
883
- 2, 124, :_reduce_187,
884
- 1, 165, :_reduce_188,
885
- 3, 165, :_reduce_189,
886
- 3, 166, :_reduce_190,
887
- 1, 126, :_reduce_none,
888
- 1, 126, :_reduce_none,
889
- 1, 126, :_reduce_none,
890
- 1, 167, :_reduce_194,
891
- 1, 167, :_reduce_195,
892
- 2, 168, :_reduce_196,
893
- 1, 170, :_reduce_197,
894
- 1, 172, :_reduce_198,
895
- 1, 173, :_reduce_199,
896
- 2, 171, :_reduce_200,
897
- 1, 174, :_reduce_201,
898
- 1, 175, :_reduce_202,
899
- 2, 175, :_reduce_203,
900
- 2, 169, :_reduce_204,
901
- 2, 176, :_reduce_205,
902
- 2, 176, :_reduce_206,
903
- 3, 94, :_reduce_207,
904
- 0, 178, :_reduce_none,
905
- 1, 178, :_reduce_none,
906
- 0, 177, :_reduce_210,
907
- 2, 177, :_reduce_211,
908
- 4, 177, :_reduce_212,
909
- 1, 121, :_reduce_213,
910
- 3, 121, :_reduce_214,
911
- 5, 121, :_reduce_215,
912
- 1, 179, :_reduce_none,
913
- 1, 179, :_reduce_none,
914
- 1, 127, :_reduce_218,
915
- 1, 125, :_reduce_219,
916
- 0, 106, :_reduce_none,
917
- 1, 106, :_reduce_221,
918
- 0, 105, :_reduce_none,
919
- 1, 105, :_reduce_none,
920
- 1, 147, :_reduce_none,
921
- 1, 147, :_reduce_none,
922
- 1, 147, :_reduce_none,
923
- 1, 147, :_reduce_none,
924
- 1, 147, :_reduce_none,
925
- 1, 147, :_reduce_none,
926
- 1, 147, :_reduce_none,
927
- 1, 147, :_reduce_none,
928
- 1, 147, :_reduce_none,
929
- 1, 147, :_reduce_none,
930
- 1, 147, :_reduce_none,
931
- 1, 147, :_reduce_none,
932
- 1, 147, :_reduce_none,
933
- 1, 147, :_reduce_none,
934
- 1, 147, :_reduce_none,
935
- 1, 147, :_reduce_none,
936
- 1, 147, :_reduce_none,
937
- 1, 147, :_reduce_none,
938
- 0, 140, :_reduce_242 ]
939
-
940
- racc_reduce_n = 243
941
-
942
- racc_shift_n = 420
1057
+ 0, 110, :_reduce_135,
1058
+ 1, 110, :_reduce_136,
1059
+ 3, 110, :_reduce_137,
1060
+ 1, 162, :_reduce_none,
1061
+ 1, 162, :_reduce_none,
1062
+ 1, 162, :_reduce_none,
1063
+ 1, 162, :_reduce_none,
1064
+ 1, 162, :_reduce_none,
1065
+ 1, 162, :_reduce_none,
1066
+ 3, 161, :_reduce_144,
1067
+ 3, 161, :_reduce_145,
1068
+ 3, 161, :_reduce_146,
1069
+ 6, 128, :_reduce_147,
1070
+ 6, 129, :_reduce_148,
1071
+ 7, 117, :_reduce_149,
1072
+ 7, 117, :_reduce_150,
1073
+ 1, 167, :_reduce_none,
1074
+ 1, 167, :_reduce_none,
1075
+ 7, 130, :_reduce_153,
1076
+ 1, 168, :_reduce_154,
1077
+ 1, 166, :_reduce_none,
1078
+ 1, 166, :_reduce_none,
1079
+ 1, 169, :_reduce_none,
1080
+ 2, 169, :_reduce_158,
1081
+ 1, 170, :_reduce_none,
1082
+ 1, 170, :_reduce_none,
1083
+ 4, 132, :_reduce_161,
1084
+ 3, 132, :_reduce_162,
1085
+ 7, 131, :_reduce_163,
1086
+ 6, 131, :_reduce_164,
1087
+ 1, 171, :_reduce_165,
1088
+ 3, 171, :_reduce_166,
1089
+ 1, 173, :_reduce_none,
1090
+ 1, 173, :_reduce_none,
1091
+ 1, 173, :_reduce_169,
1092
+ 1, 173, :_reduce_none,
1093
+ 1, 174, :_reduce_171,
1094
+ 3, 174, :_reduce_172,
1095
+ 1, 175, :_reduce_none,
1096
+ 1, 175, :_reduce_none,
1097
+ 1, 172, :_reduce_none,
1098
+ 2, 172, :_reduce_176,
1099
+ 6, 134, :_reduce_177,
1100
+ 1, 164, :_reduce_none,
1101
+ 1, 164, :_reduce_none,
1102
+ 1, 164, :_reduce_none,
1103
+ 1, 164, :_reduce_none,
1104
+ 1, 164, :_reduce_none,
1105
+ 1, 164, :_reduce_none,
1106
+ 1, 164, :_reduce_none,
1107
+ 1, 164, :_reduce_185,
1108
+ 1, 165, :_reduce_186,
1109
+ 2, 165, :_reduce_187,
1110
+ 4, 165, :_reduce_188,
1111
+ 1, 149, :_reduce_189,
1112
+ 3, 149, :_reduce_190,
1113
+ 1, 176, :_reduce_none,
1114
+ 1, 176, :_reduce_none,
1115
+ 1, 177, :_reduce_none,
1116
+ 1, 177, :_reduce_none,
1117
+ 3, 179, :_reduce_195,
1118
+ 1, 179, :_reduce_196,
1119
+ 2, 180, :_reduce_197,
1120
+ 2, 178, :_reduce_198,
1121
+ 1, 181, :_reduce_199,
1122
+ 4, 181, :_reduce_200,
1123
+ 4, 135, :_reduce_201,
1124
+ 5, 136, :_reduce_202,
1125
+ 7, 136, :_reduce_203,
1126
+ 1, 122, :_reduce_204,
1127
+ 1, 137, :_reduce_205,
1128
+ 1, 137, :_reduce_206,
1129
+ 1, 137, :_reduce_207,
1130
+ 1, 137, :_reduce_208,
1131
+ 1, 137, :_reduce_209,
1132
+ 1, 137, :_reduce_210,
1133
+ 4, 138, :_reduce_211,
1134
+ 2, 138, :_reduce_212,
1135
+ 4, 138, :_reduce_213,
1136
+ 2, 138, :_reduce_214,
1137
+ 3, 139, :_reduce_215,
1138
+ 4, 139, :_reduce_216,
1139
+ 2, 139, :_reduce_217,
1140
+ 1, 184, :_reduce_218,
1141
+ 3, 184, :_reduce_219,
1142
+ 3, 185, :_reduce_220,
1143
+ 1, 186, :_reduce_none,
1144
+ 1, 186, :_reduce_222,
1145
+ 1, 183, :_reduce_223,
1146
+ 3, 183, :_reduce_224,
1147
+ 1, 187, :_reduce_none,
1148
+ 1, 187, :_reduce_none,
1149
+ 1, 187, :_reduce_none,
1150
+ 1, 187, :_reduce_none,
1151
+ 1, 187, :_reduce_none,
1152
+ 1, 187, :_reduce_none,
1153
+ 1, 141, :_reduce_none,
1154
+ 1, 141, :_reduce_none,
1155
+ 1, 141, :_reduce_none,
1156
+ 1, 188, :_reduce_234,
1157
+ 1, 188, :_reduce_235,
1158
+ 2, 189, :_reduce_236,
1159
+ 1, 191, :_reduce_237,
1160
+ 1, 193, :_reduce_238,
1161
+ 1, 194, :_reduce_239,
1162
+ 2, 192, :_reduce_240,
1163
+ 1, 195, :_reduce_241,
1164
+ 1, 196, :_reduce_242,
1165
+ 2, 196, :_reduce_243,
1166
+ 2, 190, :_reduce_244,
1167
+ 2, 197, :_reduce_245,
1168
+ 2, 197, :_reduce_246,
1169
+ 3, 102, :_reduce_247,
1170
+ 0, 182, :_reduce_none,
1171
+ 1, 182, :_reduce_none,
1172
+ 0, 198, :_reduce_250,
1173
+ 2, 198, :_reduce_251,
1174
+ 4, 198, :_reduce_252,
1175
+ 1, 133, :_reduce_253,
1176
+ 3, 133, :_reduce_254,
1177
+ 5, 133, :_reduce_255,
1178
+ 1, 199, :_reduce_none,
1179
+ 1, 199, :_reduce_none,
1180
+ 1, 142, :_reduce_258,
1181
+ 1, 140, :_reduce_259,
1182
+ 0, 114, :_reduce_none,
1183
+ 1, 114, :_reduce_261,
1184
+ 0, 113, :_reduce_none,
1185
+ 1, 113, :_reduce_none,
1186
+ 1, 163, :_reduce_none,
1187
+ 1, 163, :_reduce_none,
1188
+ 1, 163, :_reduce_none,
1189
+ 1, 163, :_reduce_none,
1190
+ 1, 163, :_reduce_none,
1191
+ 1, 163, :_reduce_none,
1192
+ 1, 163, :_reduce_none,
1193
+ 1, 163, :_reduce_none,
1194
+ 1, 163, :_reduce_none,
1195
+ 1, 163, :_reduce_none,
1196
+ 1, 163, :_reduce_none,
1197
+ 1, 163, :_reduce_none,
1198
+ 1, 163, :_reduce_none,
1199
+ 1, 163, :_reduce_none,
1200
+ 1, 163, :_reduce_none,
1201
+ 1, 163, :_reduce_none,
1202
+ 1, 163, :_reduce_none,
1203
+ 1, 163, :_reduce_none,
1204
+ 1, 163, :_reduce_none,
1205
+ 1, 163, :_reduce_none,
1206
+ 0, 156, :_reduce_284 ]
1207
+
1208
+ racc_reduce_n = 285
1209
+
1210
+ racc_shift_n = 506
943
1211
 
944
1212
  racc_token_table = {
945
1213
  false => 0,
@@ -1025,16 +1293,24 @@ racc_token_table = {
1025
1293
  :EPP_END => 80,
1026
1294
  :EPP_END_TRIM => 81,
1027
1295
  :FUNCTION => 82,
1028
- :PRIVATE => 83,
1029
- :ATTR => 84,
1030
- :TYPE => 85,
1031
- :LOW => 86,
1032
- :HIGH => 87,
1033
- :LISTSTART => 88,
1034
- :SPLAT => 89,
1035
- :MODULO => 90 }
1036
-
1037
- racc_nt_base = 91
1296
+ :TYPE => 83,
1297
+ :PRIVATE => 84,
1298
+ :ATTR => 85,
1299
+ :APPLICATION_R => 86,
1300
+ :CONSUMES_R => 87,
1301
+ :PRODUCES_R => 88,
1302
+ :SITE_R => 89,
1303
+ :APPLICATION => 90,
1304
+ :PRODUCES => 91,
1305
+ :CONSUMES => 92,
1306
+ :SITE => 93,
1307
+ :LOW => 94,
1308
+ :HIGH => 95,
1309
+ :LISTSTART => 96,
1310
+ :SPLAT => 97,
1311
+ :MODULO => 98 }
1312
+
1313
+ racc_nt_base = 99
1038
1314
 
1039
1315
  racc_use_result_var = true
1040
1316
 
@@ -1138,9 +1414,17 @@ Racc_token_to_s_table = [
1138
1414
  "EPP_END",
1139
1415
  "EPP_END_TRIM",
1140
1416
  "FUNCTION",
1417
+ "TYPE",
1141
1418
  "PRIVATE",
1142
1419
  "ATTR",
1143
- "TYPE",
1420
+ "APPLICATION_R",
1421
+ "CONSUMES_R",
1422
+ "PRODUCES_R",
1423
+ "SITE_R",
1424
+ "APPLICATION",
1425
+ "PRODUCES",
1426
+ "CONSUMES",
1427
+ "SITE",
1144
1428
  "LOW",
1145
1429
  "HIGH",
1146
1430
  "LISTSTART",
@@ -1164,9 +1448,11 @@ Racc_token_to_s_table = [
1164
1448
  "endcomma",
1165
1449
  "resource_body",
1166
1450
  "primary_expression",
1451
+ "capability_mapping",
1167
1452
  "call_function_expression",
1168
- "expressions",
1453
+ "bracketed_expression",
1169
1454
  "selector_entries",
1455
+ "expressions",
1170
1456
  "variable",
1171
1457
  "call_method_with_lambda_expression",
1172
1458
  "collection_expression",
@@ -1174,15 +1460,21 @@ Racc_token_to_s_table = [
1174
1460
  "if_expression",
1175
1461
  "unless_expression",
1176
1462
  "definition_expression",
1463
+ "application_expression",
1177
1464
  "hostclass_expression",
1178
1465
  "node_definition_expression",
1466
+ "site_definition_expression",
1179
1467
  "epp_render_expression",
1468
+ "function_definition",
1469
+ "type_alias",
1470
+ "type_definition",
1180
1471
  "reserved_word",
1181
1472
  "array",
1182
1473
  "hash",
1183
1474
  "regex",
1184
1475
  "quotedtext",
1185
1476
  "type",
1477
+ "call_function_start",
1186
1478
  "lambda",
1187
1479
  "call_method_expression",
1188
1480
  "named_access",
@@ -1206,6 +1498,7 @@ Racc_token_to_s_table = [
1206
1498
  "classname",
1207
1499
  "parameter_list",
1208
1500
  "opt_statements",
1501
+ "capability_kw",
1209
1502
  "stacked_classname",
1210
1503
  "classparent",
1211
1504
  "classnameordefault",
@@ -1220,8 +1513,12 @@ Racc_token_to_s_table = [
1220
1513
  "regular_parameter",
1221
1514
  "splat_parameter",
1222
1515
  "parameter_type",
1516
+ "optional_statements",
1517
+ "collection_entries",
1223
1518
  "hashpairs",
1224
1519
  "hashpair",
1520
+ "collection_entry",
1521
+ "collection_entry_keyword",
1225
1522
  "string",
1226
1523
  "dq_string",
1227
1524
  "heredoc",
@@ -1233,7 +1530,6 @@ Racc_token_to_s_table = [
1233
1530
  "dqtail",
1234
1531
  "sublocated_text",
1235
1532
  "epp_parameters_list",
1236
- "optional_statements",
1237
1533
  "epp_end" ]
1238
1534
 
1239
1535
  Racc_debug_parser = false
@@ -1242,63 +1538,63 @@ Racc_debug_parser = false
1242
1538
 
1243
1539
  # reduce 0 omitted
1244
1540
 
1245
- module_eval(<<'.,.,', 'egrammar.ra', 65)
1541
+ module_eval(<<'.,.,', 'egrammar.ra', 68)
1246
1542
  def _reduce_1(val, _values, result)
1247
1543
  result = create_program(Factory.block_or_expression(*val[0]))
1248
1544
  result
1249
1545
  end
1250
1546
  .,.,
1251
1547
 
1252
- module_eval(<<'.,.,', 'egrammar.ra', 66)
1548
+ module_eval(<<'.,.,', 'egrammar.ra', 69)
1253
1549
  def _reduce_2(val, _values, result)
1254
1550
  result = create_program(Factory.block_or_expression(*val[0]))
1255
1551
  result
1256
1552
  end
1257
1553
  .,.,
1258
1554
 
1259
- module_eval(<<'.,.,', 'egrammar.ra', 67)
1555
+ module_eval(<<'.,.,', 'egrammar.ra', 70)
1260
1556
  def _reduce_3(val, _values, result)
1261
1557
  result = create_empty_program()
1262
1558
  result
1263
1559
  end
1264
1560
  .,.,
1265
1561
 
1266
- module_eval(<<'.,.,', 'egrammar.ra', 71)
1562
+ module_eval(<<'.,.,', 'egrammar.ra', 74)
1267
1563
  def _reduce_4(val, _values, result)
1268
1564
  result = transform_calls(val[0])
1269
1565
  result
1270
1566
  end
1271
1567
  .,.,
1272
1568
 
1273
- module_eval(<<'.,.,', 'egrammar.ra', 78)
1569
+ module_eval(<<'.,.,', 'egrammar.ra', 81)
1274
1570
  def _reduce_5(val, _values, result)
1275
1571
  result = [val[0]]
1276
1572
  result
1277
1573
  end
1278
1574
  .,.,
1279
1575
 
1280
- module_eval(<<'.,.,', 'egrammar.ra', 79)
1576
+ module_eval(<<'.,.,', 'egrammar.ra', 82)
1281
1577
  def _reduce_6(val, _values, result)
1282
1578
  result = val[0].push val[2]
1283
1579
  result
1284
1580
  end
1285
1581
  .,.,
1286
1582
 
1287
- module_eval(<<'.,.,', 'egrammar.ra', 80)
1583
+ module_eval(<<'.,.,', 'egrammar.ra', 83)
1288
1584
  def _reduce_7(val, _values, result)
1289
1585
  result = val[0].push val[1]
1290
1586
  result
1291
1587
  end
1292
1588
  .,.,
1293
1589
 
1294
- module_eval(<<'.,.,', 'egrammar.ra', 87)
1590
+ module_eval(<<'.,.,', 'egrammar.ra', 90)
1295
1591
  def _reduce_8(val, _values, result)
1296
1592
  result = val[0]
1297
1593
  result
1298
1594
  end
1299
1595
  .,.,
1300
1596
 
1301
- module_eval(<<'.,.,', 'egrammar.ra', 88)
1597
+ module_eval(<<'.,.,', 'egrammar.ra', 91)
1302
1598
  def _reduce_9(val, _values, result)
1303
1599
  result = aryfy(val[0]).push(val[1]).push(val[2])
1304
1600
  result
@@ -1307,35 +1603,35 @@ module_eval(<<'.,.,', 'egrammar.ra', 88)
1307
1603
 
1308
1604
  # reduce 10 omitted
1309
1605
 
1310
- module_eval(<<'.,.,', 'egrammar.ra', 93)
1606
+ module_eval(<<'.,.,', 'egrammar.ra', 96)
1311
1607
  def _reduce_11(val, _values, result)
1312
1608
  result = val[0].set(val[2]) ; loc result, val[1]
1313
1609
  result
1314
1610
  end
1315
1611
  .,.,
1316
1612
 
1317
- module_eval(<<'.,.,', 'egrammar.ra', 94)
1613
+ module_eval(<<'.,.,', 'egrammar.ra', 97)
1318
1614
  def _reduce_12(val, _values, result)
1319
1615
  result = val[0].plus_set(val[2]) ; loc result, val[1]
1320
1616
  result
1321
1617
  end
1322
1618
  .,.,
1323
1619
 
1324
- module_eval(<<'.,.,', 'egrammar.ra', 95)
1620
+ module_eval(<<'.,.,', 'egrammar.ra', 98)
1325
1621
  def _reduce_13(val, _values, result)
1326
1622
  result = val[0].minus_set(val[2]); loc result, val[1]
1327
1623
  result
1328
1624
  end
1329
1625
  .,.,
1330
1626
 
1331
- module_eval(<<'.,.,', 'egrammar.ra', 98)
1627
+ module_eval(<<'.,.,', 'egrammar.ra', 101)
1332
1628
  def _reduce_14(val, _values, result)
1333
1629
  result = [val[0]]
1334
1630
  result
1335
1631
  end
1336
1632
  .,.,
1337
1633
 
1338
- module_eval(<<'.,.,', 'egrammar.ra', 99)
1634
+ module_eval(<<'.,.,', 'egrammar.ra', 102)
1339
1635
  def _reduce_15(val, _values, result)
1340
1636
  result = val[0].push(val[2])
1341
1637
  result
@@ -1344,28 +1640,28 @@ module_eval(<<'.,.,', 'egrammar.ra', 99)
1344
1640
 
1345
1641
  # reduce 16 omitted
1346
1642
 
1347
- module_eval(<<'.,.,', 'egrammar.ra', 103)
1643
+ module_eval(<<'.,.,', 'egrammar.ra', 106)
1348
1644
  def _reduce_17(val, _values, result)
1349
1645
  result = val[0].relop(val[1][:value], val[2]); loc result, val[1]
1350
1646
  result
1351
1647
  end
1352
1648
  .,.,
1353
1649
 
1354
- module_eval(<<'.,.,', 'egrammar.ra', 104)
1650
+ module_eval(<<'.,.,', 'egrammar.ra', 107)
1355
1651
  def _reduce_18(val, _values, result)
1356
1652
  result = val[0].relop(val[1][:value], val[2]); loc result, val[1]
1357
1653
  result
1358
1654
  end
1359
1655
  .,.,
1360
1656
 
1361
- module_eval(<<'.,.,', 'egrammar.ra', 105)
1657
+ module_eval(<<'.,.,', 'egrammar.ra', 108)
1362
1658
  def _reduce_19(val, _values, result)
1363
1659
  result = val[0].relop(val[1][:value], val[2]); loc result, val[1]
1364
1660
  result
1365
1661
  end
1366
1662
  .,.,
1367
1663
 
1368
- module_eval(<<'.,.,', 'egrammar.ra', 106)
1664
+ module_eval(<<'.,.,', 'egrammar.ra', 109)
1369
1665
  def _reduce_20(val, _values, result)
1370
1666
  result = val[0].relop(val[1][:value], val[2]); loc result, val[1]
1371
1667
  result
@@ -1374,7 +1670,7 @@ module_eval(<<'.,.,', 'egrammar.ra', 106)
1374
1670
 
1375
1671
  # reduce 21 omitted
1376
1672
 
1377
- module_eval(<<'.,.,', 'egrammar.ra', 115)
1673
+ module_eval(<<'.,.,', 'egrammar.ra', 118)
1378
1674
  def _reduce_22(val, _values, result)
1379
1675
  result = val[1]
1380
1676
  unless Factory.set_resource_form(result, :virtual)
@@ -1388,7 +1684,7 @@ module_eval(<<'.,.,', 'egrammar.ra', 115)
1388
1684
  end
1389
1685
  .,.,
1390
1686
 
1391
- module_eval(<<'.,.,', 'egrammar.ra', 126)
1687
+ module_eval(<<'.,.,', 'egrammar.ra', 129)
1392
1688
  def _reduce_23(val, _values, result)
1393
1689
  result = val[1]
1394
1690
  unless Factory.set_resource_form(result, :exported)
@@ -1402,7 +1698,7 @@ module_eval(<<'.,.,', 'egrammar.ra', 126)
1402
1698
  end
1403
1699
  .,.,
1404
1700
 
1405
- module_eval(<<'.,.,', 'egrammar.ra', 137)
1701
+ module_eval(<<'.,.,', 'egrammar.ra', 140)
1406
1702
  def _reduce_24(val, _values, result)
1407
1703
  bodies = [Factory.RESOURCE_BODY(val[2], val[4])] + val[5]
1408
1704
  result = Factory.RESOURCE(val[0], bodies)
@@ -1412,7 +1708,7 @@ module_eval(<<'.,.,', 'egrammar.ra', 137)
1412
1708
  end
1413
1709
  .,.,
1414
1710
 
1415
- module_eval(<<'.,.,', 'egrammar.ra', 144)
1711
+ module_eval(<<'.,.,', 'egrammar.ra', 147)
1416
1712
  def _reduce_25(val, _values, result)
1417
1713
  result = Factory.RESOURCE(Factory.fqn(token_text(val[0])), val[2])
1418
1714
  loc result, val[0], val[4]
@@ -1421,7 +1717,7 @@ module_eval(<<'.,.,', 'egrammar.ra', 144)
1421
1717
  end
1422
1718
  .,.,
1423
1719
 
1424
- module_eval(<<'.,.,', 'egrammar.ra', 153)
1720
+ module_eval(<<'.,.,', 'egrammar.ra', 156)
1425
1721
  def _reduce_26(val, _values, result)
1426
1722
  result = case Factory.resource_shape(val[0])
1427
1723
  when :resource, :class
@@ -1429,7 +1725,7 @@ module_eval(<<'.,.,', 'egrammar.ra', 153)
1429
1725
  # If the attribute operations does not include +>, then the found expression
1430
1726
  # is actually a LEFT followed by LITERAL_HASH
1431
1727
  #
1432
- unless tmp = transform_resource_wo_title(val[0], val[2])
1728
+ unless tmp = transform_resource_wo_title(val[0], val[2], val[1], val[4])
1433
1729
  error val[1], "Syntax error resource body without title or hash with +>"
1434
1730
  end
1435
1731
  tmp
@@ -1447,42 +1743,42 @@ module_eval(<<'.,.,', 'egrammar.ra', 153)
1447
1743
  end
1448
1744
  .,.,
1449
1745
 
1450
- module_eval(<<'.,.,', 'egrammar.ra', 175)
1746
+ module_eval(<<'.,.,', 'egrammar.ra', 178)
1451
1747
  def _reduce_27(val, _values, result)
1452
1748
  result = Factory.RESOURCE_BODY(val[0], val[2])
1453
1749
  result
1454
1750
  end
1455
1751
  .,.,
1456
1752
 
1457
- module_eval(<<'.,.,', 'egrammar.ra', 178)
1753
+ module_eval(<<'.,.,', 'egrammar.ra', 181)
1458
1754
  def _reduce_28(val, _values, result)
1459
1755
  result = [val[0]]
1460
1756
  result
1461
1757
  end
1462
1758
  .,.,
1463
1759
 
1464
- module_eval(<<'.,.,', 'egrammar.ra', 179)
1760
+ module_eval(<<'.,.,', 'egrammar.ra', 182)
1465
1761
  def _reduce_29(val, _values, result)
1466
1762
  result = val[0].push val[2]
1467
1763
  result
1468
1764
  end
1469
1765
  .,.,
1470
1766
 
1471
- module_eval(<<'.,.,', 'egrammar.ra', 185)
1767
+ module_eval(<<'.,.,', 'egrammar.ra', 188)
1472
1768
  def _reduce_30(val, _values, result)
1473
1769
  result = []
1474
1770
  result
1475
1771
  end
1476
1772
  .,.,
1477
1773
 
1478
- module_eval(<<'.,.,', 'egrammar.ra', 186)
1774
+ module_eval(<<'.,.,', 'egrammar.ra', 189)
1479
1775
  def _reduce_31(val, _values, result)
1480
1776
  result = []
1481
1777
  result
1482
1778
  end
1483
1779
  .,.,
1484
1780
 
1485
- module_eval(<<'.,.,', 'egrammar.ra', 187)
1781
+ module_eval(<<'.,.,', 'egrammar.ra', 190)
1486
1782
  def _reduce_32(val, _values, result)
1487
1783
  result = val[2]
1488
1784
  result
@@ -1493,192 +1789,192 @@ module_eval(<<'.,.,', 'egrammar.ra', 187)
1493
1789
 
1494
1790
  # reduce 34 omitted
1495
1791
 
1496
- module_eval(<<'.,.,', 'egrammar.ra', 194)
1497
- def _reduce_35(val, _values, result)
1498
- result = val[0][*val[2]] ; loc result, val[0], val[3]
1499
- result
1500
- end
1501
- .,.,
1792
+ # reduce 35 omitted
1502
1793
 
1503
- module_eval(<<'.,.,', 'egrammar.ra', 195)
1504
- def _reduce_36(val, _values, result)
1794
+ # reduce 36 omitted
1795
+
1796
+ module_eval(<<'.,.,', 'egrammar.ra', 199)
1797
+ def _reduce_37(val, _values, result)
1505
1798
  result = val[0].in val[2] ; loc result, val[1]
1506
1799
  result
1507
1800
  end
1508
1801
  .,.,
1509
1802
 
1510
- module_eval(<<'.,.,', 'egrammar.ra', 196)
1511
- def _reduce_37(val, _values, result)
1803
+ module_eval(<<'.,.,', 'egrammar.ra', 200)
1804
+ def _reduce_38(val, _values, result)
1512
1805
  result = val[0] =~ val[2] ; loc result, val[1]
1513
1806
  result
1514
1807
  end
1515
1808
  .,.,
1516
1809
 
1517
- module_eval(<<'.,.,', 'egrammar.ra', 197)
1518
- def _reduce_38(val, _values, result)
1810
+ module_eval(<<'.,.,', 'egrammar.ra', 201)
1811
+ def _reduce_39(val, _values, result)
1519
1812
  result = val[0].mne val[2] ; loc result, val[1]
1520
1813
  result
1521
1814
  end
1522
1815
  .,.,
1523
1816
 
1524
- module_eval(<<'.,.,', 'egrammar.ra', 198)
1525
- def _reduce_39(val, _values, result)
1817
+ module_eval(<<'.,.,', 'egrammar.ra', 202)
1818
+ def _reduce_40(val, _values, result)
1526
1819
  result = val[0] + val[2] ; loc result, val[1]
1527
1820
  result
1528
1821
  end
1529
1822
  .,.,
1530
1823
 
1531
- module_eval(<<'.,.,', 'egrammar.ra', 199)
1532
- def _reduce_40(val, _values, result)
1824
+ module_eval(<<'.,.,', 'egrammar.ra', 203)
1825
+ def _reduce_41(val, _values, result)
1533
1826
  result = val[0] - val[2] ; loc result, val[1]
1534
1827
  result
1535
1828
  end
1536
1829
  .,.,
1537
1830
 
1538
- module_eval(<<'.,.,', 'egrammar.ra', 200)
1539
- def _reduce_41(val, _values, result)
1831
+ module_eval(<<'.,.,', 'egrammar.ra', 204)
1832
+ def _reduce_42(val, _values, result)
1540
1833
  result = val[0] / val[2] ; loc result, val[1]
1541
1834
  result
1542
1835
  end
1543
1836
  .,.,
1544
1837
 
1545
- module_eval(<<'.,.,', 'egrammar.ra', 201)
1546
- def _reduce_42(val, _values, result)
1838
+ module_eval(<<'.,.,', 'egrammar.ra', 205)
1839
+ def _reduce_43(val, _values, result)
1547
1840
  result = val[0] * val[2] ; loc result, val[1]
1548
1841
  result
1549
1842
  end
1550
1843
  .,.,
1551
1844
 
1552
- module_eval(<<'.,.,', 'egrammar.ra', 202)
1553
- def _reduce_43(val, _values, result)
1845
+ module_eval(<<'.,.,', 'egrammar.ra', 206)
1846
+ def _reduce_44(val, _values, result)
1554
1847
  result = val[0] % val[2] ; loc result, val[1]
1555
1848
  result
1556
1849
  end
1557
1850
  .,.,
1558
1851
 
1559
- module_eval(<<'.,.,', 'egrammar.ra', 203)
1560
- def _reduce_44(val, _values, result)
1852
+ module_eval(<<'.,.,', 'egrammar.ra', 207)
1853
+ def _reduce_45(val, _values, result)
1561
1854
  result = val[0] << val[2] ; loc result, val[1]
1562
1855
  result
1563
1856
  end
1564
1857
  .,.,
1565
1858
 
1566
- module_eval(<<'.,.,', 'egrammar.ra', 204)
1567
- def _reduce_45(val, _values, result)
1859
+ module_eval(<<'.,.,', 'egrammar.ra', 208)
1860
+ def _reduce_46(val, _values, result)
1568
1861
  result = val[0] >> val[2] ; loc result, val[1]
1569
1862
  result
1570
1863
  end
1571
1864
  .,.,
1572
1865
 
1573
- module_eval(<<'.,.,', 'egrammar.ra', 205)
1574
- def _reduce_46(val, _values, result)
1866
+ module_eval(<<'.,.,', 'egrammar.ra', 209)
1867
+ def _reduce_47(val, _values, result)
1575
1868
  result = val[1].minus() ; loc result, val[0]
1576
1869
  result
1577
1870
  end
1578
1871
  .,.,
1579
1872
 
1580
- module_eval(<<'.,.,', 'egrammar.ra', 206)
1581
- def _reduce_47(val, _values, result)
1873
+ module_eval(<<'.,.,', 'egrammar.ra', 210)
1874
+ def _reduce_48(val, _values, result)
1582
1875
  result = val[1].unfold() ; loc result, val[0]
1583
1876
  result
1584
1877
  end
1585
1878
  .,.,
1586
1879
 
1587
- module_eval(<<'.,.,', 'egrammar.ra', 207)
1588
- def _reduce_48(val, _values, result)
1880
+ module_eval(<<'.,.,', 'egrammar.ra', 211)
1881
+ def _reduce_49(val, _values, result)
1589
1882
  result = val[0].ne val[2] ; loc result, val[1]
1590
1883
  result
1591
1884
  end
1592
1885
  .,.,
1593
1886
 
1594
- module_eval(<<'.,.,', 'egrammar.ra', 208)
1595
- def _reduce_49(val, _values, result)
1887
+ module_eval(<<'.,.,', 'egrammar.ra', 212)
1888
+ def _reduce_50(val, _values, result)
1596
1889
  result = val[0] == val[2] ; loc result, val[1]
1597
1890
  result
1598
1891
  end
1599
1892
  .,.,
1600
1893
 
1601
- module_eval(<<'.,.,', 'egrammar.ra', 209)
1602
- def _reduce_50(val, _values, result)
1894
+ module_eval(<<'.,.,', 'egrammar.ra', 213)
1895
+ def _reduce_51(val, _values, result)
1603
1896
  result = val[0] > val[2] ; loc result, val[1]
1604
1897
  result
1605
1898
  end
1606
1899
  .,.,
1607
1900
 
1608
- module_eval(<<'.,.,', 'egrammar.ra', 210)
1609
- def _reduce_51(val, _values, result)
1901
+ module_eval(<<'.,.,', 'egrammar.ra', 214)
1902
+ def _reduce_52(val, _values, result)
1610
1903
  result = val[0] >= val[2] ; loc result, val[1]
1611
1904
  result
1612
1905
  end
1613
1906
  .,.,
1614
1907
 
1615
- module_eval(<<'.,.,', 'egrammar.ra', 211)
1616
- def _reduce_52(val, _values, result)
1908
+ module_eval(<<'.,.,', 'egrammar.ra', 215)
1909
+ def _reduce_53(val, _values, result)
1617
1910
  result = val[0] < val[2] ; loc result, val[1]
1618
1911
  result
1619
1912
  end
1620
1913
  .,.,
1621
1914
 
1622
- module_eval(<<'.,.,', 'egrammar.ra', 212)
1623
- def _reduce_53(val, _values, result)
1915
+ module_eval(<<'.,.,', 'egrammar.ra', 216)
1916
+ def _reduce_54(val, _values, result)
1624
1917
  result = val[0] <= val[2] ; loc result, val[1]
1625
1918
  result
1626
1919
  end
1627
1920
  .,.,
1628
1921
 
1629
- module_eval(<<'.,.,', 'egrammar.ra', 213)
1630
- def _reduce_54(val, _values, result)
1922
+ module_eval(<<'.,.,', 'egrammar.ra', 217)
1923
+ def _reduce_55(val, _values, result)
1631
1924
  result = val[1].not ; loc result, val[0]
1632
1925
  result
1633
1926
  end
1634
1927
  .,.,
1635
1928
 
1636
- module_eval(<<'.,.,', 'egrammar.ra', 214)
1637
- def _reduce_55(val, _values, result)
1929
+ module_eval(<<'.,.,', 'egrammar.ra', 218)
1930
+ def _reduce_56(val, _values, result)
1638
1931
  result = val[0].and val[2] ; loc result, val[1]
1639
1932
  result
1640
1933
  end
1641
1934
  .,.,
1642
1935
 
1643
- module_eval(<<'.,.,', 'egrammar.ra', 215)
1644
- def _reduce_56(val, _values, result)
1936
+ module_eval(<<'.,.,', 'egrammar.ra', 219)
1937
+ def _reduce_57(val, _values, result)
1645
1938
  result = val[0].or val[2] ; loc result, val[1]
1646
1939
  result
1647
1940
  end
1648
1941
  .,.,
1649
1942
 
1650
- module_eval(<<'.,.,', 'egrammar.ra', 216)
1651
- def _reduce_57(val, _values, result)
1943
+ module_eval(<<'.,.,', 'egrammar.ra', 220)
1944
+ def _reduce_58(val, _values, result)
1652
1945
  result = val[0].select(*val[2]) ; loc result, val[0]
1653
1946
  result
1654
1947
  end
1655
1948
  .,.,
1656
1949
 
1657
- module_eval(<<'.,.,', 'egrammar.ra', 217)
1658
- def _reduce_58(val, _values, result)
1950
+ module_eval(<<'.,.,', 'egrammar.ra', 221)
1951
+ def _reduce_59(val, _values, result)
1659
1952
  result = val[1].paren() ; loc result, val[0]
1660
1953
  result
1661
1954
  end
1662
1955
  .,.,
1663
1956
 
1664
- module_eval(<<'.,.,', 'egrammar.ra', 227)
1665
- def _reduce_59(val, _values, result)
1957
+ module_eval(<<'.,.,', 'egrammar.ra', 224)
1958
+ def _reduce_60(val, _values, result)
1959
+ result = val[0][*val[2]] ; loc result, val[0], val[4]
1960
+ result
1961
+ end
1962
+ .,.,
1963
+
1964
+ module_eval(<<'.,.,', 'egrammar.ra', 233)
1965
+ def _reduce_61(val, _values, result)
1666
1966
  result = [val[0]]
1667
1967
  result
1668
1968
  end
1669
1969
  .,.,
1670
1970
 
1671
- module_eval(<<'.,.,', 'egrammar.ra', 228)
1672
- def _reduce_60(val, _values, result)
1971
+ module_eval(<<'.,.,', 'egrammar.ra', 234)
1972
+ def _reduce_62(val, _values, result)
1673
1973
  result = val[0].push(val[2])
1674
1974
  result
1675
1975
  end
1676
1976
  .,.,
1677
1977
 
1678
- # reduce 61 omitted
1679
-
1680
- # reduce 62 omitted
1681
-
1682
1978
  # reduce 63 omitted
1683
1979
 
1684
1980
  # reduce 64 omitted
@@ -1707,116 +2003,144 @@ module_eval(<<'.,.,', 'egrammar.ra', 228)
1707
2003
 
1708
2004
  # reduce 76 omitted
1709
2005
 
1710
- module_eval(<<'.,.,', 'egrammar.ra', 247)
1711
- def _reduce_77(val, _values, result)
2006
+ # reduce 77 omitted
2007
+
2008
+ # reduce 78 omitted
2009
+
2010
+ # reduce 79 omitted
2011
+
2012
+ # reduce 80 omitted
2013
+
2014
+ # reduce 81 omitted
2015
+
2016
+ # reduce 82 omitted
2017
+
2018
+ # reduce 83 omitted
2019
+
2020
+ module_eval(<<'.,.,', 'egrammar.ra', 260)
2021
+ def _reduce_84(val, _values, result)
1712
2022
  result = Factory.NUMBER(val[0][:value]) ; loc result, val[0]
1713
2023
  result
1714
2024
  end
1715
2025
  .,.,
1716
2026
 
1717
- module_eval(<<'.,.,', 'egrammar.ra', 248)
1718
- def _reduce_78(val, _values, result)
2027
+ module_eval(<<'.,.,', 'egrammar.ra', 261)
2028
+ def _reduce_85(val, _values, result)
1719
2029
  result = Factory.literal(val[0][:value]) ; loc result, val[0]
1720
2030
  result
1721
2031
  end
1722
2032
  .,.,
1723
2033
 
1724
- module_eval(<<'.,.,', 'egrammar.ra', 249)
1725
- def _reduce_79(val, _values, result)
2034
+ module_eval(<<'.,.,', 'egrammar.ra', 262)
2035
+ def _reduce_86(val, _values, result)
1726
2036
  result = Factory.literal(:default) ; loc result, val[0]
1727
2037
  result
1728
2038
  end
1729
2039
  .,.,
1730
2040
 
1731
- module_eval(<<'.,.,', 'egrammar.ra', 250)
1732
- def _reduce_80(val, _values, result)
2041
+ module_eval(<<'.,.,', 'egrammar.ra', 263)
2042
+ def _reduce_87(val, _values, result)
1733
2043
  result = Factory.literal(:undef) ; loc result, val[0]
1734
2044
  result
1735
2045
  end
1736
2046
  .,.,
1737
2047
 
1738
- module_eval(<<'.,.,', 'egrammar.ra', 251)
1739
- def _reduce_81(val, _values, result)
2048
+ module_eval(<<'.,.,', 'egrammar.ra', 264)
2049
+ def _reduce_88(val, _values, result)
1740
2050
  result = Factory.QNAME_OR_NUMBER(val[0][:value]) ; loc result, val[0]
1741
2051
  result
1742
2052
  end
1743
2053
  .,.,
1744
2054
 
1745
- module_eval(<<'.,.,', 'egrammar.ra', 260)
1746
- def _reduce_82(val, _values, result)
1747
- result = Factory.CALL_NAMED(val[0], true, val[2])
1748
- loc result, val[0], val[4]
2055
+ module_eval(<<'.,.,', 'egrammar.ra', 273)
2056
+ def _reduce_89(val, _values, result)
2057
+ result = Factory.CALL_NAMED(val[0], true, val[1])
2058
+ loc result, val[0], val[3]
1749
2059
 
1750
2060
  result
1751
2061
  end
1752
2062
  .,.,
1753
2063
 
1754
- module_eval(<<'.,.,', 'egrammar.ra', 264)
1755
- def _reduce_83(val, _values, result)
2064
+ module_eval(<<'.,.,', 'egrammar.ra', 277)
2065
+ def _reduce_90(val, _values, result)
1756
2066
  result = Factory.CALL_NAMED(val[0], true, [])
1757
- loc result, val[0], val[2]
2067
+ loc result, val[0], val[1]
1758
2068
 
1759
2069
  result
1760
2070
  end
1761
2071
  .,.,
1762
2072
 
1763
- module_eval(<<'.,.,', 'egrammar.ra', 268)
1764
- def _reduce_84(val, _values, result)
1765
- result = Factory.CALL_NAMED(val[0], true, val[2])
2073
+ module_eval(<<'.,.,', 'egrammar.ra', 281)
2074
+ def _reduce_91(val, _values, result)
2075
+ result = Factory.CALL_NAMED(val[0], true, val[1])
1766
2076
  loc result, val[0], val[4]
1767
- result.lambda = val[5]
2077
+ result.lambda = val[4]
1768
2078
 
1769
2079
  result
1770
2080
  end
1771
2081
  .,.,
1772
2082
 
1773
- module_eval(<<'.,.,', 'egrammar.ra', 273)
1774
- def _reduce_85(val, _values, result)
2083
+ module_eval(<<'.,.,', 'egrammar.ra', 286)
2084
+ def _reduce_92(val, _values, result)
1775
2085
  result = Factory.CALL_NAMED(val[0], true, [])
1776
2086
  loc result, val[0], val[2]
1777
- result.lambda = val[3]
2087
+ result.lambda = val[2]
1778
2088
 
1779
2089
  result
1780
2090
  end
1781
2091
  .,.,
1782
2092
 
1783
- module_eval(<<'.,.,', 'egrammar.ra', 281)
1784
- def _reduce_86(val, _values, result)
2093
+ module_eval(<<'.,.,', 'egrammar.ra', 292)
2094
+ def _reduce_93(val, _values, result)
1785
2095
  result = val[0]
1786
2096
  result
1787
2097
  end
1788
2098
  .,.,
1789
2099
 
1790
- module_eval(<<'.,.,', 'egrammar.ra', 282)
1791
- def _reduce_87(val, _values, result)
2100
+ module_eval(<<'.,.,', 'egrammar.ra', 293)
2101
+ def _reduce_94(val, _values, result)
2102
+ result = Factory.QNAME(val[0][:value]); loc result, val[0]
2103
+ result
2104
+ end
2105
+ .,.,
2106
+
2107
+ module_eval(<<'.,.,', 'egrammar.ra', 298)
2108
+ def _reduce_95(val, _values, result)
2109
+ result = val[0]
2110
+ result
2111
+ end
2112
+ .,.,
2113
+
2114
+ module_eval(<<'.,.,', 'egrammar.ra', 299)
2115
+ def _reduce_96(val, _values, result)
1792
2116
  result = val[0]; val[0].lambda = val[1]
1793
2117
  result
1794
2118
  end
1795
2119
  .,.,
1796
2120
 
1797
- module_eval(<<'.,.,', 'egrammar.ra', 285)
1798
- def _reduce_88(val, _values, result)
2121
+ module_eval(<<'.,.,', 'egrammar.ra', 302)
2122
+ def _reduce_97(val, _values, result)
1799
2123
  result = Factory.CALL_METHOD(val[0], val[2]); loc result, val[1], val[3]
1800
2124
  result
1801
2125
  end
1802
2126
  .,.,
1803
2127
 
1804
- module_eval(<<'.,.,', 'egrammar.ra', 286)
1805
- def _reduce_89(val, _values, result)
2128
+ module_eval(<<'.,.,', 'egrammar.ra', 303)
2129
+ def _reduce_98(val, _values, result)
1806
2130
  result = Factory.CALL_METHOD(val[0], []); loc result, val[1], val[3]
1807
2131
  result
1808
2132
  end
1809
2133
  .,.,
1810
2134
 
1811
- module_eval(<<'.,.,', 'egrammar.ra', 287)
1812
- def _reduce_90(val, _values, result)
2135
+ module_eval(<<'.,.,', 'egrammar.ra', 304)
2136
+ def _reduce_99(val, _values, result)
1813
2137
  result = Factory.CALL_METHOD(val[0], []); loc result, val[0]
1814
2138
  result
1815
2139
  end
1816
2140
  .,.,
1817
2141
 
1818
- module_eval(<<'.,.,', 'egrammar.ra', 291)
1819
- def _reduce_91(val, _values, result)
2142
+ module_eval(<<'.,.,', 'egrammar.ra', 308)
2143
+ def _reduce_100(val, _values, result)
1820
2144
  result = val[0].dot(Factory.fqn(val[2][:value]))
1821
2145
  loc result, val[1], val[2]
1822
2146
 
@@ -1824,8 +2148,8 @@ module_eval(<<'.,.,', 'egrammar.ra', 291)
1824
2148
  end
1825
2149
  .,.,
1826
2150
 
1827
- module_eval(<<'.,.,', 'egrammar.ra', 299)
1828
- def _reduce_92(val, _values, result)
2151
+ module_eval(<<'.,.,', 'egrammar.ra', 316)
2152
+ def _reduce_101(val, _values, result)
1829
2153
  result = Factory.LAMBDA(val[0][:value], val[1][:value])
1830
2154
  loc result, val[0][:start], val[1][:end]
1831
2155
 
@@ -1833,36 +2157,36 @@ module_eval(<<'.,.,', 'egrammar.ra', 299)
1833
2157
  end
1834
2158
  .,.,
1835
2159
 
1836
- module_eval(<<'.,.,', 'egrammar.ra', 304)
1837
- def _reduce_93(val, _values, result)
2160
+ module_eval(<<'.,.,', 'egrammar.ra', 321)
2161
+ def _reduce_102(val, _values, result)
1838
2162
  result = {:end => val[2], :value =>val[1] }
1839
2163
  result
1840
2164
  end
1841
2165
  .,.,
1842
2166
 
1843
- module_eval(<<'.,.,', 'egrammar.ra', 305)
1844
- def _reduce_94(val, _values, result)
2167
+ module_eval(<<'.,.,', 'egrammar.ra', 322)
2168
+ def _reduce_103(val, _values, result)
1845
2169
  result = {:end => val[1], :value => nil }
1846
2170
  result
1847
2171
  end
1848
2172
  .,.,
1849
2173
 
1850
- module_eval(<<'.,.,', 'egrammar.ra', 309)
1851
- def _reduce_95(val, _values, result)
2174
+ module_eval(<<'.,.,', 'egrammar.ra', 326)
2175
+ def _reduce_104(val, _values, result)
1852
2176
  result = {:start => val[0], :value => [] }
1853
2177
  result
1854
2178
  end
1855
2179
  .,.,
1856
2180
 
1857
- module_eval(<<'.,.,', 'egrammar.ra', 310)
1858
- def _reduce_96(val, _values, result)
2181
+ module_eval(<<'.,.,', 'egrammar.ra', 327)
2182
+ def _reduce_105(val, _values, result)
1859
2183
  result = {:start => val[0], :value => val[1] }
1860
2184
  result
1861
2185
  end
1862
2186
  .,.,
1863
2187
 
1864
- module_eval(<<'.,.,', 'egrammar.ra', 318)
1865
- def _reduce_97(val, _values, result)
2188
+ module_eval(<<'.,.,', 'egrammar.ra', 335)
2189
+ def _reduce_106(val, _values, result)
1866
2190
  result = val[1]
1867
2191
  loc(result, val[0], val[1])
1868
2192
 
@@ -1870,8 +2194,8 @@ module_eval(<<'.,.,', 'egrammar.ra', 318)
1870
2194
  end
1871
2195
  .,.,
1872
2196
 
1873
- module_eval(<<'.,.,', 'egrammar.ra', 325)
1874
- def _reduce_98(val, _values, result)
2197
+ module_eval(<<'.,.,', 'egrammar.ra', 342)
2198
+ def _reduce_107(val, _values, result)
1875
2199
  result = Factory.IF(val[0], Factory.block_or_expression(*val[2]), val[4])
1876
2200
  loc(result, val[0], (val[4] ? val[4] : val[3]))
1877
2201
 
@@ -1879,8 +2203,8 @@ module_eval(<<'.,.,', 'egrammar.ra', 325)
1879
2203
  end
1880
2204
  .,.,
1881
2205
 
1882
- module_eval(<<'.,.,', 'egrammar.ra', 329)
1883
- def _reduce_99(val, _values, result)
2206
+ module_eval(<<'.,.,', 'egrammar.ra', 346)
2207
+ def _reduce_108(val, _values, result)
1884
2208
  result = Factory.IF(val[0], nil, val[3])
1885
2209
  loc(result, val[0], (val[3] ? val[3] : val[2]))
1886
2210
 
@@ -1888,10 +2212,10 @@ module_eval(<<'.,.,', 'egrammar.ra', 329)
1888
2212
  end
1889
2213
  .,.,
1890
2214
 
1891
- # reduce 100 omitted
2215
+ # reduce 109 omitted
1892
2216
 
1893
- module_eval(<<'.,.,', 'egrammar.ra', 337)
1894
- def _reduce_101(val, _values, result)
2217
+ module_eval(<<'.,.,', 'egrammar.ra', 354)
2218
+ def _reduce_110(val, _values, result)
1895
2219
  result = val[1]
1896
2220
  loc(result, val[0], val[1])
1897
2221
 
@@ -1899,8 +2223,8 @@ module_eval(<<'.,.,', 'egrammar.ra', 337)
1899
2223
  end
1900
2224
  .,.,
1901
2225
 
1902
- module_eval(<<'.,.,', 'egrammar.ra', 341)
1903
- def _reduce_102(val, _values, result)
2226
+ module_eval(<<'.,.,', 'egrammar.ra', 358)
2227
+ def _reduce_111(val, _values, result)
1904
2228
  result = Factory.block_or_expression(*val[2])
1905
2229
  loc result, val[0], val[3]
1906
2230
 
@@ -1908,16 +2232,16 @@ module_eval(<<'.,.,', 'egrammar.ra', 341)
1908
2232
  end
1909
2233
  .,.,
1910
2234
 
1911
- module_eval(<<'.,.,', 'egrammar.ra', 345)
1912
- def _reduce_103(val, _values, result)
2235
+ module_eval(<<'.,.,', 'egrammar.ra', 362)
2236
+ def _reduce_112(val, _values, result)
1913
2237
  result = nil # don't think a nop is needed here either
1914
2238
 
1915
2239
  result
1916
2240
  end
1917
2241
  .,.,
1918
2242
 
1919
- module_eval(<<'.,.,', 'egrammar.ra', 352)
1920
- def _reduce_104(val, _values, result)
2243
+ module_eval(<<'.,.,', 'egrammar.ra', 369)
2244
+ def _reduce_113(val, _values, result)
1921
2245
  result = Factory.UNLESS(val[1], Factory.block_or_expression(*val[3]), val[5])
1922
2246
  loc result, val[0], val[4]
1923
2247
 
@@ -1925,19 +2249,19 @@ module_eval(<<'.,.,', 'egrammar.ra', 352)
1925
2249
  end
1926
2250
  .,.,
1927
2251
 
1928
- module_eval(<<'.,.,', 'egrammar.ra', 356)
1929
- def _reduce_105(val, _values, result)
1930
- result = Factory.UNLESS(val[1], nil, nil)
2252
+ module_eval(<<'.,.,', 'egrammar.ra', 373)
2253
+ def _reduce_114(val, _values, result)
2254
+ result = Factory.UNLESS(val[1], nil, val[4])
1931
2255
  loc result, val[0], val[4]
1932
2256
 
1933
2257
  result
1934
2258
  end
1935
2259
  .,.,
1936
2260
 
1937
- # reduce 106 omitted
2261
+ # reduce 115 omitted
1938
2262
 
1939
- module_eval(<<'.,.,', 'egrammar.ra', 366)
1940
- def _reduce_107(val, _values, result)
2263
+ module_eval(<<'.,.,', 'egrammar.ra', 383)
2264
+ def _reduce_116(val, _values, result)
1941
2265
  result = Factory.block_or_expression(*val[2])
1942
2266
  loc result, val[0], val[3]
1943
2267
 
@@ -1945,16 +2269,16 @@ module_eval(<<'.,.,', 'egrammar.ra', 366)
1945
2269
  end
1946
2270
  .,.,
1947
2271
 
1948
- module_eval(<<'.,.,', 'egrammar.ra', 370)
1949
- def _reduce_108(val, _values, result)
2272
+ module_eval(<<'.,.,', 'egrammar.ra', 387)
2273
+ def _reduce_117(val, _values, result)
1950
2274
  result = nil # don't think a nop is needed here either
1951
2275
 
1952
2276
  result
1953
2277
  end
1954
2278
  .,.,
1955
2279
 
1956
- module_eval(<<'.,.,', 'egrammar.ra', 377)
1957
- def _reduce_109(val, _values, result)
2280
+ module_eval(<<'.,.,', 'egrammar.ra', 394)
2281
+ def _reduce_118(val, _values, result)
1958
2282
  result = Factory.CASE(val[1], *val[3])
1959
2283
  loc result, val[0], val[4]
1960
2284
 
@@ -1962,65 +2286,65 @@ module_eval(<<'.,.,', 'egrammar.ra', 377)
1962
2286
  end
1963
2287
  .,.,
1964
2288
 
1965
- module_eval(<<'.,.,', 'egrammar.ra', 383)
1966
- def _reduce_110(val, _values, result)
2289
+ module_eval(<<'.,.,', 'egrammar.ra', 400)
2290
+ def _reduce_119(val, _values, result)
1967
2291
  result = [val[0]]
1968
2292
  result
1969
2293
  end
1970
2294
  .,.,
1971
2295
 
1972
- module_eval(<<'.,.,', 'egrammar.ra', 384)
1973
- def _reduce_111(val, _values, result)
2296
+ module_eval(<<'.,.,', 'egrammar.ra', 401)
2297
+ def _reduce_120(val, _values, result)
1974
2298
  result = val[0].push val[1]
1975
2299
  result
1976
2300
  end
1977
2301
  .,.,
1978
2302
 
1979
- module_eval(<<'.,.,', 'egrammar.ra', 389)
1980
- def _reduce_112(val, _values, result)
2303
+ module_eval(<<'.,.,', 'egrammar.ra', 406)
2304
+ def _reduce_121(val, _values, result)
1981
2305
  result = Factory.WHEN(val[0], val[3]); loc result, val[1], val[4]
1982
2306
 
1983
2307
  result
1984
2308
  end
1985
2309
  .,.,
1986
2310
 
1987
- # reduce 113 omitted
2311
+ # reduce 122 omitted
1988
2312
 
1989
- # reduce 114 omitted
2313
+ # reduce 123 omitted
1990
2314
 
1991
- # reduce 115 omitted
2315
+ # reduce 124 omitted
1992
2316
 
1993
- module_eval(<<'.,.,', 'egrammar.ra', 405)
1994
- def _reduce_116(val, _values, result)
2317
+ module_eval(<<'.,.,', 'egrammar.ra', 422)
2318
+ def _reduce_125(val, _values, result)
1995
2319
  result = val[1]
1996
2320
 
1997
2321
  result
1998
2322
  end
1999
2323
  .,.,
2000
2324
 
2001
- module_eval(<<'.,.,', 'egrammar.ra', 410)
2002
- def _reduce_117(val, _values, result)
2325
+ module_eval(<<'.,.,', 'egrammar.ra', 427)
2326
+ def _reduce_126(val, _values, result)
2003
2327
  result = [val[0]]
2004
2328
  result
2005
2329
  end
2006
2330
  .,.,
2007
2331
 
2008
- module_eval(<<'.,.,', 'egrammar.ra', 411)
2009
- def _reduce_118(val, _values, result)
2332
+ module_eval(<<'.,.,', 'egrammar.ra', 428)
2333
+ def _reduce_127(val, _values, result)
2010
2334
  result = val[0].push val[2]
2011
2335
  result
2012
2336
  end
2013
2337
  .,.,
2014
2338
 
2015
- module_eval(<<'.,.,', 'egrammar.ra', 416)
2016
- def _reduce_119(val, _values, result)
2339
+ module_eval(<<'.,.,', 'egrammar.ra', 433)
2340
+ def _reduce_128(val, _values, result)
2017
2341
  result = Factory.MAP(val[0], val[2]) ; loc result, val[1]
2018
2342
  result
2019
2343
  end
2020
2344
  .,.,
2021
2345
 
2022
- module_eval(<<'.,.,', 'egrammar.ra', 426)
2023
- def _reduce_120(val, _values, result)
2346
+ module_eval(<<'.,.,', 'egrammar.ra', 443)
2347
+ def _reduce_129(val, _values, result)
2024
2348
  result = Factory.COLLECT(val[0], val[1], val[3])
2025
2349
  loc result, val[0], val[5]
2026
2350
 
@@ -2028,8 +2352,8 @@ module_eval(<<'.,.,', 'egrammar.ra', 426)
2028
2352
  end
2029
2353
  .,.,
2030
2354
 
2031
- module_eval(<<'.,.,', 'egrammar.ra', 430)
2032
- def _reduce_121(val, _values, result)
2355
+ module_eval(<<'.,.,', 'egrammar.ra', 447)
2356
+ def _reduce_130(val, _values, result)
2033
2357
  result = Factory.COLLECT(val[0], val[1], [])
2034
2358
  loc result, val[0], val[1]
2035
2359
 
@@ -2037,51 +2361,59 @@ module_eval(<<'.,.,', 'egrammar.ra', 430)
2037
2361
  end
2038
2362
  .,.,
2039
2363
 
2040
- module_eval(<<'.,.,', 'egrammar.ra', 435)
2041
- def _reduce_122(val, _values, result)
2364
+ module_eval(<<'.,.,', 'egrammar.ra', 452)
2365
+ def _reduce_131(val, _values, result)
2042
2366
  result = Factory.VIRTUAL_QUERY(val[1]) ; loc result, val[0], val[2]
2043
2367
  result
2044
2368
  end
2045
2369
  .,.,
2046
2370
 
2047
- module_eval(<<'.,.,', 'egrammar.ra', 436)
2048
- def _reduce_123(val, _values, result)
2371
+ module_eval(<<'.,.,', 'egrammar.ra', 453)
2372
+ def _reduce_132(val, _values, result)
2049
2373
  result = Factory.EXPORTED_QUERY(val[1]) ; loc result, val[0], val[2]
2050
2374
  result
2051
2375
  end
2052
2376
  .,.,
2053
2377
 
2054
- # reduce 124 omitted
2378
+ # reduce 133 omitted
2055
2379
 
2056
- # reduce 125 omitted
2380
+ # reduce 134 omitted
2057
2381
 
2058
- module_eval(<<'.,.,', 'egrammar.ra', 445)
2059
- def _reduce_126(val, _values, result)
2382
+ module_eval(<<'.,.,', 'egrammar.ra', 462)
2383
+ def _reduce_135(val, _values, result)
2060
2384
  result = []
2061
2385
  result
2062
2386
  end
2063
2387
  .,.,
2064
2388
 
2065
- module_eval(<<'.,.,', 'egrammar.ra', 446)
2066
- def _reduce_127(val, _values, result)
2389
+ module_eval(<<'.,.,', 'egrammar.ra', 463)
2390
+ def _reduce_136(val, _values, result)
2067
2391
  result = [val[0]]
2068
2392
  result
2069
2393
  end
2070
2394
  .,.,
2071
2395
 
2072
- module_eval(<<'.,.,', 'egrammar.ra', 447)
2073
- def _reduce_128(val, _values, result)
2396
+ module_eval(<<'.,.,', 'egrammar.ra', 464)
2397
+ def _reduce_137(val, _values, result)
2074
2398
  result = val[0].push(val[2])
2075
2399
  result
2076
2400
  end
2077
2401
  .,.,
2078
2402
 
2079
- # reduce 129 omitted
2403
+ # reduce 138 omitted
2404
+
2405
+ # reduce 139 omitted
2080
2406
 
2081
- # reduce 130 omitted
2407
+ # reduce 140 omitted
2082
2408
 
2083
- module_eval(<<'.,.,', 'egrammar.ra', 463)
2084
- def _reduce_131(val, _values, result)
2409
+ # reduce 141 omitted
2410
+
2411
+ # reduce 142 omitted
2412
+
2413
+ # reduce 143 omitted
2414
+
2415
+ module_eval(<<'.,.,', 'egrammar.ra', 483)
2416
+ def _reduce_144(val, _values, result)
2085
2417
  result = Factory.ATTRIBUTE_OP(val[0][:value], :'=>', val[2])
2086
2418
  loc result, val[0], val[2]
2087
2419
 
@@ -2089,8 +2421,8 @@ module_eval(<<'.,.,', 'egrammar.ra', 463)
2089
2421
  end
2090
2422
  .,.,
2091
2423
 
2092
- module_eval(<<'.,.,', 'egrammar.ra', 467)
2093
- def _reduce_132(val, _values, result)
2424
+ module_eval(<<'.,.,', 'egrammar.ra', 487)
2425
+ def _reduce_145(val, _values, result)
2094
2426
  result = Factory.ATTRIBUTE_OP(val[0][:value], :'+>', val[2])
2095
2427
  loc result, val[0], val[2]
2096
2428
 
@@ -2098,16 +2430,16 @@ module_eval(<<'.,.,', 'egrammar.ra', 467)
2098
2430
  end
2099
2431
  .,.,
2100
2432
 
2101
- module_eval(<<'.,.,', 'egrammar.ra', 471)
2102
- def _reduce_133(val, _values, result)
2433
+ module_eval(<<'.,.,', 'egrammar.ra', 491)
2434
+ def _reduce_146(val, _values, result)
2103
2435
  result = Factory.ATTRIBUTES_OP(val[2]) ; loc result, val[0], val[2]
2104
2436
 
2105
2437
  result
2106
2438
  end
2107
2439
  .,.,
2108
2440
 
2109
- module_eval(<<'.,.,', 'egrammar.ra', 480)
2110
- def _reduce_134(val, _values, result)
2441
+ module_eval(<<'.,.,', 'egrammar.ra', 500)
2442
+ def _reduce_147(val, _values, result)
2111
2443
  result = add_definition(Factory.DEFINITION(classname(val[1][:value]), val[2], val[4]))
2112
2444
  loc result, val[0], val[5]
2113
2445
  # New lexer does not keep track of this, this is done in validation
@@ -2119,8 +2451,45 @@ module_eval(<<'.,.,', 'egrammar.ra', 480)
2119
2451
  end
2120
2452
  .,.,
2121
2453
 
2122
- module_eval(<<'.,.,', 'egrammar.ra', 494)
2123
- def _reduce_135(val, _values, result)
2454
+ module_eval(<<'.,.,', 'egrammar.ra', 511)
2455
+ def _reduce_148(val, _values, result)
2456
+ result = add_definition(Factory.APPLICATION(classname(val[1][:value]), val[2], val[4]))
2457
+ loc result, val[0], val[5]
2458
+
2459
+ result
2460
+ end
2461
+ .,.,
2462
+
2463
+ module_eval(<<'.,.,', 'egrammar.ra', 517)
2464
+ def _reduce_149(val, _values, result)
2465
+ result = Factory.CAPABILITY_MAPPING(val[1][:value],
2466
+ Factory.QNAME(classname(val[0][:value])),
2467
+ classname(val[2][:value]), val[4])
2468
+ loc result, val[0], val[6]
2469
+ add_mapping(result)
2470
+
2471
+ result
2472
+ end
2473
+ .,.,
2474
+
2475
+ module_eval(<<'.,.,', 'egrammar.ra', 524)
2476
+ def _reduce_150(val, _values, result)
2477
+ result = Factory.CAPABILITY_MAPPING(val[1][:value],
2478
+ val[0],
2479
+ classname(val[2][:value]), val[4])
2480
+ loc result, val[0], val[6]
2481
+ add_mapping(result)
2482
+
2483
+ result
2484
+ end
2485
+ .,.,
2486
+
2487
+ # reduce 151 omitted
2488
+
2489
+ # reduce 152 omitted
2490
+
2491
+ module_eval(<<'.,.,', 'egrammar.ra', 541)
2492
+ def _reduce_153(val, _values, result)
2124
2493
  # Remove this class' name from the namestack as all nested classes have been parsed
2125
2494
  namepop
2126
2495
  result = add_definition(Factory.HOSTCLASS(classname(val[1][:value]), val[2], token_text(val[3]), val[5]))
@@ -2130,32 +2499,50 @@ module_eval(<<'.,.,', 'egrammar.ra', 494)
2130
2499
  end
2131
2500
  .,.,
2132
2501
 
2133
- module_eval(<<'.,.,', 'egrammar.ra', 504)
2134
- def _reduce_136(val, _values, result)
2502
+ module_eval(<<'.,.,', 'egrammar.ra', 551)
2503
+ def _reduce_154(val, _values, result)
2135
2504
  namestack(val[0][:value]) ; result = val[0]
2136
2505
  result
2137
2506
  end
2138
2507
  .,.,
2139
2508
 
2140
- # reduce 137 omitted
2509
+ # reduce 155 omitted
2141
2510
 
2142
- # reduce 138 omitted
2511
+ # reduce 156 omitted
2143
2512
 
2144
- # reduce 139 omitted
2513
+ # reduce 157 omitted
2145
2514
 
2146
- module_eval(<<'.,.,', 'egrammar.ra', 513)
2147
- def _reduce_140(val, _values, result)
2515
+ module_eval(<<'.,.,', 'egrammar.ra', 560)
2516
+ def _reduce_158(val, _values, result)
2148
2517
  result = val[1]
2149
2518
  result
2150
2519
  end
2151
2520
  .,.,
2152
2521
 
2153
- # reduce 141 omitted
2522
+ # reduce 159 omitted
2154
2523
 
2155
- # reduce 142 omitted
2524
+ # reduce 160 omitted
2525
+
2526
+ module_eval(<<'.,.,', 'egrammar.ra', 577)
2527
+ def _reduce_161(val, _values, result)
2528
+ result = add_definition(Factory.SITE(val[2]))
2529
+ loc result, val[0], val[3]
2530
+
2531
+ result
2532
+ end
2533
+ .,.,
2156
2534
 
2157
- module_eval(<<'.,.,', 'egrammar.ra', 530)
2158
- def _reduce_143(val, _values, result)
2535
+ module_eval(<<'.,.,', 'egrammar.ra', 581)
2536
+ def _reduce_162(val, _values, result)
2537
+ result = add_definition(Factory.SITE(nil))
2538
+ loc result, val[0], val[2]
2539
+
2540
+ result
2541
+ end
2542
+ .,.,
2543
+
2544
+ module_eval(<<'.,.,', 'egrammar.ra', 591)
2545
+ def _reduce_163(val, _values, result)
2159
2546
  result = add_definition(Factory.NODE(val[1], val[3], val[5]))
2160
2547
  loc result, val[0], val[6]
2161
2548
 
@@ -2163,8 +2550,8 @@ module_eval(<<'.,.,', 'egrammar.ra', 530)
2163
2550
  end
2164
2551
  .,.,
2165
2552
 
2166
- module_eval(<<'.,.,', 'egrammar.ra', 534)
2167
- def _reduce_144(val, _values, result)
2553
+ module_eval(<<'.,.,', 'egrammar.ra', 595)
2554
+ def _reduce_164(val, _values, result)
2168
2555
  result = add_definition(Factory.NODE(val[1], val[3], nil))
2169
2556
  loc result, val[0], val[5]
2170
2557
 
@@ -2172,482 +2559,579 @@ module_eval(<<'.,.,', 'egrammar.ra', 534)
2172
2559
  end
2173
2560
  .,.,
2174
2561
 
2175
- module_eval(<<'.,.,', 'egrammar.ra', 544)
2176
- def _reduce_145(val, _values, result)
2562
+ module_eval(<<'.,.,', 'egrammar.ra', 605)
2563
+ def _reduce_165(val, _values, result)
2177
2564
  result = [result]
2178
2565
  result
2179
2566
  end
2180
2567
  .,.,
2181
2568
 
2182
- module_eval(<<'.,.,', 'egrammar.ra', 545)
2183
- def _reduce_146(val, _values, result)
2569
+ module_eval(<<'.,.,', 'egrammar.ra', 606)
2570
+ def _reduce_166(val, _values, result)
2184
2571
  result = val[0].push(val[2])
2185
2572
  result
2186
2573
  end
2187
2574
  .,.,
2188
2575
 
2189
- # reduce 147 omitted
2576
+ # reduce 167 omitted
2190
2577
 
2191
- # reduce 148 omitted
2578
+ # reduce 168 omitted
2192
2579
 
2193
- module_eval(<<'.,.,', 'egrammar.ra', 552)
2194
- def _reduce_149(val, _values, result)
2580
+ module_eval(<<'.,.,', 'egrammar.ra', 613)
2581
+ def _reduce_169(val, _values, result)
2195
2582
  result = Factory.literal(:default); loc result, val[0]
2196
2583
  result
2197
2584
  end
2198
2585
  .,.,
2199
2586
 
2200
- # reduce 150 omitted
2587
+ # reduce 170 omitted
2201
2588
 
2202
- module_eval(<<'.,.,', 'egrammar.ra', 556)
2203
- def _reduce_151(val, _values, result)
2589
+ module_eval(<<'.,.,', 'egrammar.ra', 617)
2590
+ def _reduce_171(val, _values, result)
2204
2591
  result = Factory.literal(val[0][:value]); loc result, val[0]
2205
2592
  result
2206
2593
  end
2207
2594
  .,.,
2208
2595
 
2209
- module_eval(<<'.,.,', 'egrammar.ra', 557)
2210
- def _reduce_152(val, _values, result)
2596
+ module_eval(<<'.,.,', 'egrammar.ra', 618)
2597
+ def _reduce_172(val, _values, result)
2211
2598
  result = Factory.concat(val[0], '.', val[2][:value]); loc result, val[0], val[2]
2212
2599
  result
2213
2600
  end
2214
2601
  .,.,
2215
2602
 
2216
- # reduce 153 omitted
2603
+ # reduce 173 omitted
2217
2604
 
2218
- # reduce 154 omitted
2605
+ # reduce 174 omitted
2219
2606
 
2220
- # reduce 155 omitted
2607
+ # reduce 175 omitted
2221
2608
 
2222
- module_eval(<<'.,.,', 'egrammar.ra', 566)
2223
- def _reduce_156(val, _values, result)
2609
+ module_eval(<<'.,.,', 'egrammar.ra', 627)
2610
+ def _reduce_176(val, _values, result)
2224
2611
  result = val[1]
2225
2612
  result
2226
2613
  end
2227
2614
  .,.,
2228
2615
 
2229
- # reduce 157 omitted
2616
+ module_eval(<<'.,.,', 'egrammar.ra', 633)
2617
+ def _reduce_177(val, _values, result)
2618
+ result = add_definition(Factory.FUNCTION(val[1][:value], val[2], val[4]))
2619
+ loc result, val[0], val[5]
2620
+
2621
+ result
2622
+ end
2623
+ .,.,
2230
2624
 
2231
- # reduce 158 omitted
2625
+ # reduce 178 omitted
2232
2626
 
2233
- # reduce 159 omitted
2627
+ # reduce 179 omitted
2234
2628
 
2235
- module_eval(<<'.,.,', 'egrammar.ra', 585)
2236
- def _reduce_160(val, _values, result)
2629
+ # reduce 180 omitted
2630
+
2631
+ # reduce 181 omitted
2632
+
2633
+ # reduce 182 omitted
2634
+
2635
+ # reduce 183 omitted
2636
+
2637
+ # reduce 184 omitted
2638
+
2639
+ module_eval(<<'.,.,', 'egrammar.ra', 648)
2640
+ def _reduce_185(val, _values, result)
2237
2641
  error val[0], "'class' is not a valid classname"
2238
2642
  result
2239
2643
  end
2240
2644
  .,.,
2241
2645
 
2242
- module_eval(<<'.,.,', 'egrammar.ra', 589)
2243
- def _reduce_161(val, _values, result)
2646
+ module_eval(<<'.,.,', 'egrammar.ra', 652)
2647
+ def _reduce_186(val, _values, result)
2244
2648
  result = []
2245
2649
  result
2246
2650
  end
2247
2651
  .,.,
2248
2652
 
2249
- module_eval(<<'.,.,', 'egrammar.ra', 590)
2250
- def _reduce_162(val, _values, result)
2653
+ module_eval(<<'.,.,', 'egrammar.ra', 653)
2654
+ def _reduce_187(val, _values, result)
2251
2655
  result = []
2252
2656
  result
2253
2657
  end
2254
2658
  .,.,
2255
2659
 
2256
- module_eval(<<'.,.,', 'egrammar.ra', 591)
2257
- def _reduce_163(val, _values, result)
2660
+ module_eval(<<'.,.,', 'egrammar.ra', 654)
2661
+ def _reduce_188(val, _values, result)
2258
2662
  result = val[1]
2259
2663
  result
2260
2664
  end
2261
2665
  .,.,
2262
2666
 
2263
- module_eval(<<'.,.,', 'egrammar.ra', 595)
2264
- def _reduce_164(val, _values, result)
2667
+ module_eval(<<'.,.,', 'egrammar.ra', 658)
2668
+ def _reduce_189(val, _values, result)
2265
2669
  result = [val[0]]
2266
2670
  result
2267
2671
  end
2268
2672
  .,.,
2269
2673
 
2270
- module_eval(<<'.,.,', 'egrammar.ra', 596)
2271
- def _reduce_165(val, _values, result)
2674
+ module_eval(<<'.,.,', 'egrammar.ra', 659)
2675
+ def _reduce_190(val, _values, result)
2272
2676
  result = val[0].push(val[2])
2273
2677
  result
2274
2678
  end
2275
2679
  .,.,
2276
2680
 
2277
- # reduce 166 omitted
2681
+ # reduce 191 omitted
2278
2682
 
2279
- # reduce 167 omitted
2683
+ # reduce 192 omitted
2280
2684
 
2281
- # reduce 168 omitted
2685
+ # reduce 193 omitted
2282
2686
 
2283
- # reduce 169 omitted
2687
+ # reduce 194 omitted
2284
2688
 
2285
- module_eval(<<'.,.,', 'egrammar.ra', 608)
2286
- def _reduce_170(val, _values, result)
2689
+ module_eval(<<'.,.,', 'egrammar.ra', 671)
2690
+ def _reduce_195(val, _values, result)
2287
2691
  result = Factory.PARAM(val[0][:value], val[2]) ; loc result, val[0]
2288
2692
  result
2289
2693
  end
2290
2694
  .,.,
2291
2695
 
2292
- module_eval(<<'.,.,', 'egrammar.ra', 609)
2293
- def _reduce_171(val, _values, result)
2696
+ module_eval(<<'.,.,', 'egrammar.ra', 672)
2697
+ def _reduce_196(val, _values, result)
2294
2698
  result = Factory.PARAM(val[0][:value]); loc result, val[0]
2295
2699
  result
2296
2700
  end
2297
2701
  .,.,
2298
2702
 
2299
- module_eval(<<'.,.,', 'egrammar.ra', 612)
2300
- def _reduce_172(val, _values, result)
2703
+ module_eval(<<'.,.,', 'egrammar.ra', 675)
2704
+ def _reduce_197(val, _values, result)
2301
2705
  result = val[1]; val[1].captures_rest()
2302
2706
  result
2303
2707
  end
2304
2708
  .,.,
2305
2709
 
2306
- module_eval(<<'.,.,', 'egrammar.ra', 615)
2307
- def _reduce_173(val, _values, result)
2710
+ module_eval(<<'.,.,', 'egrammar.ra', 678)
2711
+ def _reduce_198(val, _values, result)
2308
2712
  val[1].type_expr(val[0]) ; result = val[1]
2309
2713
  result
2310
2714
  end
2311
2715
  .,.,
2312
2716
 
2313
- module_eval(<<'.,.,', 'egrammar.ra', 618)
2314
- def _reduce_174(val, _values, result)
2717
+ module_eval(<<'.,.,', 'egrammar.ra', 681)
2718
+ def _reduce_199(val, _values, result)
2315
2719
  result = val[0]
2316
2720
  result
2317
2721
  end
2318
2722
  .,.,
2319
2723
 
2320
- module_eval(<<'.,.,', 'egrammar.ra', 619)
2321
- def _reduce_175(val, _values, result)
2724
+ module_eval(<<'.,.,', 'egrammar.ra', 682)
2725
+ def _reduce_200(val, _values, result)
2322
2726
  result = val[0][*val[2]] ; loc result, val[0], val[3]
2323
2727
  result
2324
2728
  end
2325
2729
  .,.,
2326
2730
 
2327
- module_eval(<<'.,.,', 'egrammar.ra', 624)
2328
- def _reduce_176(val, _values, result)
2731
+ module_eval(<<'.,.,', 'egrammar.ra', 687)
2732
+ def _reduce_201(val, _values, result)
2733
+ result = add_definition(Factory.TYPE_ASSIGNMENT(val[1], val[3]))
2734
+ loc(result, val[0], val[3])
2735
+
2736
+ result
2737
+ end
2738
+ .,.,
2739
+
2740
+ module_eval(<<'.,.,', 'egrammar.ra', 695)
2741
+ def _reduce_202(val, _values, result)
2742
+ result = add_definition(Factory.TYPE_DEFINITION(val[1][:value], nil, val[3]))
2743
+ loc(result, val[0], val[4])
2744
+
2745
+ result
2746
+ end
2747
+ .,.,
2748
+
2749
+ module_eval(<<'.,.,', 'egrammar.ra', 699)
2750
+ def _reduce_203(val, _values, result)
2751
+ result = add_definition(Factory.TYPE_DEFINITION(val[1][:value], val[3][:value], val[5]))
2752
+ loc(result, val[0], val[6])
2753
+
2754
+ result
2755
+ end
2756
+ .,.,
2757
+
2758
+ module_eval(<<'.,.,', 'egrammar.ra', 706)
2759
+ def _reduce_204(val, _values, result)
2329
2760
  result = Factory.fqn(val[0][:value]).var ; loc result, val[0]
2330
2761
  result
2331
2762
  end
2332
2763
  .,.,
2333
2764
 
2334
- module_eval(<<'.,.,', 'egrammar.ra', 629)
2335
- def _reduce_177(val, _values, result)
2765
+ module_eval(<<'.,.,', 'egrammar.ra', 711)
2766
+ def _reduce_205(val, _values, result)
2336
2767
  result = Factory.RESERVED(val[0][:value]) ; loc result, val[0]
2337
2768
  result
2338
2769
  end
2339
2770
  .,.,
2340
2771
 
2341
- module_eval(<<'.,.,', 'egrammar.ra', 630)
2342
- def _reduce_178(val, _values, result)
2772
+ module_eval(<<'.,.,', 'egrammar.ra', 712)
2773
+ def _reduce_206(val, _values, result)
2343
2774
  result = Factory.RESERVED(val[0][:value]) ; loc result, val[0]
2344
2775
  result
2345
2776
  end
2346
2777
  .,.,
2347
2778
 
2348
- module_eval(<<'.,.,', 'egrammar.ra', 631)
2349
- def _reduce_179(val, _values, result)
2350
- result = Factory.RESERVED(val[0][:value]) ; loc result, val[0]
2779
+ module_eval(<<'.,.,', 'egrammar.ra', 713)
2780
+ def _reduce_207(val, _values, result)
2781
+ result = Factory.RESERVED(val[0][:value], true) ; loc result, val[0]
2351
2782
  result
2352
2783
  end
2353
2784
  .,.,
2354
2785
 
2355
- module_eval(<<'.,.,', 'egrammar.ra', 632)
2356
- def _reduce_180(val, _values, result)
2357
- result = Factory.RESERVED(val[0][:value]) ; loc result, val[0]
2786
+ module_eval(<<'.,.,', 'egrammar.ra', 714)
2787
+ def _reduce_208(val, _values, result)
2788
+ result = Factory.RESERVED(val[0][:value], true) ; loc result, val[0]
2358
2789
  result
2359
2790
  end
2360
2791
  .,.,
2361
2792
 
2362
- module_eval(<<'.,.,', 'egrammar.ra', 638)
2363
- def _reduce_181(val, _values, result)
2793
+ module_eval(<<'.,.,', 'egrammar.ra', 715)
2794
+ def _reduce_209(val, _values, result)
2795
+ result = Factory.RESERVED(val[0][:value], true) ; loc result, val[0]
2796
+ result
2797
+ end
2798
+ .,.,
2799
+
2800
+ module_eval(<<'.,.,', 'egrammar.ra', 716)
2801
+ def _reduce_210(val, _values, result)
2802
+ result = Factory.RESERVED(val[0][:value], true) ; loc result, val[0]
2803
+ result
2804
+ end
2805
+ .,.,
2806
+
2807
+ module_eval(<<'.,.,', 'egrammar.ra', 722)
2808
+ def _reduce_211(val, _values, result)
2364
2809
  result = Factory.LIST(val[1]); loc result, val[0], val[3]
2365
2810
  result
2366
2811
  end
2367
2812
  .,.,
2368
2813
 
2369
- module_eval(<<'.,.,', 'egrammar.ra', 639)
2370
- def _reduce_182(val, _values, result)
2814
+ module_eval(<<'.,.,', 'egrammar.ra', 723)
2815
+ def _reduce_212(val, _values, result)
2371
2816
  result = Factory.literal([]) ; loc result, val[0], val[1]
2372
2817
  result
2373
2818
  end
2374
2819
  .,.,
2375
2820
 
2376
- module_eval(<<'.,.,', 'egrammar.ra', 640)
2377
- def _reduce_183(val, _values, result)
2821
+ module_eval(<<'.,.,', 'egrammar.ra', 724)
2822
+ def _reduce_213(val, _values, result)
2378
2823
  result = Factory.LIST(val[1]); loc result, val[0], val[3]
2379
2824
  result
2380
2825
  end
2381
2826
  .,.,
2382
2827
 
2383
- module_eval(<<'.,.,', 'egrammar.ra', 641)
2384
- def _reduce_184(val, _values, result)
2828
+ module_eval(<<'.,.,', 'egrammar.ra', 725)
2829
+ def _reduce_214(val, _values, result)
2385
2830
  result = Factory.literal([]) ; loc result, val[0], val[1]
2386
2831
  result
2387
2832
  end
2388
2833
  .,.,
2389
2834
 
2390
- module_eval(<<'.,.,', 'egrammar.ra', 644)
2391
- def _reduce_185(val, _values, result)
2835
+ module_eval(<<'.,.,', 'egrammar.ra', 728)
2836
+ def _reduce_215(val, _values, result)
2392
2837
  result = Factory.HASH(val[1]); loc result, val[0], val[2]
2393
2838
  result
2394
2839
  end
2395
2840
  .,.,
2396
2841
 
2397
- module_eval(<<'.,.,', 'egrammar.ra', 645)
2398
- def _reduce_186(val, _values, result)
2842
+ module_eval(<<'.,.,', 'egrammar.ra', 729)
2843
+ def _reduce_216(val, _values, result)
2399
2844
  result = Factory.HASH(val[1]); loc result, val[0], val[3]
2400
2845
  result
2401
2846
  end
2402
2847
  .,.,
2403
2848
 
2404
- module_eval(<<'.,.,', 'egrammar.ra', 646)
2405
- def _reduce_187(val, _values, result)
2849
+ module_eval(<<'.,.,', 'egrammar.ra', 730)
2850
+ def _reduce_217(val, _values, result)
2406
2851
  result = Factory.literal({}) ; loc result, val[0], val[1]
2407
2852
  result
2408
2853
  end
2409
2854
  .,.,
2410
2855
 
2411
- module_eval(<<'.,.,', 'egrammar.ra', 649)
2412
- def _reduce_188(val, _values, result)
2856
+ module_eval(<<'.,.,', 'egrammar.ra', 733)
2857
+ def _reduce_218(val, _values, result)
2413
2858
  result = [val[0]]
2414
2859
  result
2415
2860
  end
2416
2861
  .,.,
2417
2862
 
2418
- module_eval(<<'.,.,', 'egrammar.ra', 650)
2419
- def _reduce_189(val, _values, result)
2863
+ module_eval(<<'.,.,', 'egrammar.ra', 734)
2864
+ def _reduce_219(val, _values, result)
2420
2865
  result = val[0].push val[2]
2421
2866
  result
2422
2867
  end
2423
2868
  .,.,
2424
2869
 
2425
- module_eval(<<'.,.,', 'egrammar.ra', 653)
2426
- def _reduce_190(val, _values, result)
2870
+ module_eval(<<'.,.,', 'egrammar.ra', 737)
2871
+ def _reduce_220(val, _values, result)
2427
2872
  result = Factory.KEY_ENTRY(val[0], val[2]); loc result, val[1]
2428
2873
  result
2429
2874
  end
2430
2875
  .,.,
2431
2876
 
2432
- # reduce 191 omitted
2877
+ # reduce 221 omitted
2433
2878
 
2434
- # reduce 192 omitted
2879
+ module_eval(<<'.,.,', 'egrammar.ra', 741)
2880
+ def _reduce_222(val, _values, result)
2881
+ result = Factory.literal(val[0][:value]) ; loc result, val[0]
2882
+ result
2883
+ end
2884
+ .,.,
2435
2885
 
2436
- # reduce 193 omitted
2886
+ module_eval(<<'.,.,', 'egrammar.ra', 744)
2887
+ def _reduce_223(val, _values, result)
2888
+ result = [val[0]]
2889
+ result
2890
+ end
2891
+ .,.,
2437
2892
 
2438
- module_eval(<<'.,.,', 'egrammar.ra', 661)
2439
- def _reduce_194(val, _values, result)
2893
+ module_eval(<<'.,.,', 'egrammar.ra', 745)
2894
+ def _reduce_224(val, _values, result)
2895
+ result = val[0].push(val[2])
2896
+ result
2897
+ end
2898
+ .,.,
2899
+
2900
+ # reduce 225 omitted
2901
+
2902
+ # reduce 226 omitted
2903
+
2904
+ # reduce 227 omitted
2905
+
2906
+ # reduce 228 omitted
2907
+
2908
+ # reduce 229 omitted
2909
+
2910
+ # reduce 230 omitted
2911
+
2912
+ # reduce 231 omitted
2913
+
2914
+ # reduce 232 omitted
2915
+
2916
+ # reduce 233 omitted
2917
+
2918
+ module_eval(<<'.,.,', 'egrammar.ra', 762)
2919
+ def _reduce_234(val, _values, result)
2440
2920
  result = Factory.literal(val[0][:value]) ; loc result, val[0]
2441
2921
  result
2442
2922
  end
2443
2923
  .,.,
2444
2924
 
2445
- module_eval(<<'.,.,', 'egrammar.ra', 662)
2446
- def _reduce_195(val, _values, result)
2925
+ module_eval(<<'.,.,', 'egrammar.ra', 763)
2926
+ def _reduce_235(val, _values, result)
2447
2927
  result = Factory.literal(val[0][:value]) ; loc result, val[0]
2448
2928
  result
2449
2929
  end
2450
2930
  .,.,
2451
2931
 
2452
- module_eval(<<'.,.,', 'egrammar.ra', 664)
2453
- def _reduce_196(val, _values, result)
2932
+ module_eval(<<'.,.,', 'egrammar.ra', 765)
2933
+ def _reduce_236(val, _values, result)
2454
2934
  result = Factory.string(val[0], *val[1]) ; loc result, val[0], val[1][-1]
2455
2935
  result
2456
2936
  end
2457
2937
  .,.,
2458
2938
 
2459
- module_eval(<<'.,.,', 'egrammar.ra', 665)
2460
- def _reduce_197(val, _values, result)
2939
+ module_eval(<<'.,.,', 'egrammar.ra', 766)
2940
+ def _reduce_237(val, _values, result)
2461
2941
  result = Factory.literal(val[0][:value]); loc result, val[0]
2462
2942
  result
2463
2943
  end
2464
2944
  .,.,
2465
2945
 
2466
- module_eval(<<'.,.,', 'egrammar.ra', 666)
2467
- def _reduce_198(val, _values, result)
2946
+ module_eval(<<'.,.,', 'egrammar.ra', 767)
2947
+ def _reduce_238(val, _values, result)
2468
2948
  result = Factory.literal(val[0][:value]); loc result, val[0]
2469
2949
  result
2470
2950
  end
2471
2951
  .,.,
2472
2952
 
2473
- module_eval(<<'.,.,', 'egrammar.ra', 667)
2474
- def _reduce_199(val, _values, result)
2953
+ module_eval(<<'.,.,', 'egrammar.ra', 768)
2954
+ def _reduce_239(val, _values, result)
2475
2955
  result = Factory.literal(val[0][:value]); loc result, val[0]
2476
2956
  result
2477
2957
  end
2478
2958
  .,.,
2479
2959
 
2480
- module_eval(<<'.,.,', 'egrammar.ra', 668)
2481
- def _reduce_200(val, _values, result)
2960
+ module_eval(<<'.,.,', 'egrammar.ra', 769)
2961
+ def _reduce_240(val, _values, result)
2482
2962
  result = [val[0]] + val[1]
2483
2963
  result
2484
2964
  end
2485
2965
  .,.,
2486
2966
 
2487
- module_eval(<<'.,.,', 'egrammar.ra', 669)
2488
- def _reduce_201(val, _values, result)
2967
+ module_eval(<<'.,.,', 'egrammar.ra', 770)
2968
+ def _reduce_241(val, _values, result)
2489
2969
  result = Factory.TEXT(val[0])
2490
2970
  result
2491
2971
  end
2492
2972
  .,.,
2493
2973
 
2494
- module_eval(<<'.,.,', 'egrammar.ra', 672)
2495
- def _reduce_202(val, _values, result)
2974
+ module_eval(<<'.,.,', 'egrammar.ra', 773)
2975
+ def _reduce_242(val, _values, result)
2496
2976
  result = [val[0]]
2497
2977
  result
2498
2978
  end
2499
2979
  .,.,
2500
2980
 
2501
- module_eval(<<'.,.,', 'egrammar.ra', 673)
2502
- def _reduce_203(val, _values, result)
2981
+ module_eval(<<'.,.,', 'egrammar.ra', 774)
2982
+ def _reduce_243(val, _values, result)
2503
2983
  result = [val[0]] + val[1]
2504
2984
  result
2505
2985
  end
2506
2986
  .,.,
2507
2987
 
2508
- module_eval(<<'.,.,', 'egrammar.ra', 676)
2509
- def _reduce_204(val, _values, result)
2988
+ module_eval(<<'.,.,', 'egrammar.ra', 777)
2989
+ def _reduce_244(val, _values, result)
2510
2990
  result = Factory.HEREDOC(val[0][:value], val[1]); loc result, val[0]
2511
2991
  result
2512
2992
  end
2513
2993
  .,.,
2514
2994
 
2515
- module_eval(<<'.,.,', 'egrammar.ra', 679)
2516
- def _reduce_205(val, _values, result)
2995
+ module_eval(<<'.,.,', 'egrammar.ra', 780)
2996
+ def _reduce_245(val, _values, result)
2517
2997
  result = Factory.SUBLOCATE(val[0], val[1]); loc result, val[0]
2518
2998
  result
2519
2999
  end
2520
3000
  .,.,
2521
3001
 
2522
- module_eval(<<'.,.,', 'egrammar.ra', 680)
2523
- def _reduce_206(val, _values, result)
3002
+ module_eval(<<'.,.,', 'egrammar.ra', 781)
3003
+ def _reduce_246(val, _values, result)
2524
3004
  result = Factory.SUBLOCATE(val[0], val[1]); loc result, val[0]
2525
3005
  result
2526
3006
  end
2527
3007
  .,.,
2528
3008
 
2529
- module_eval(<<'.,.,', 'egrammar.ra', 683)
2530
- def _reduce_207(val, _values, result)
3009
+ module_eval(<<'.,.,', 'egrammar.ra', 784)
3010
+ def _reduce_247(val, _values, result)
2531
3011
  result = Factory.EPP(val[1], val[2]); loc result, val[0]
2532
3012
  result
2533
3013
  end
2534
3014
  .,.,
2535
3015
 
2536
- # reduce 208 omitted
3016
+ # reduce 248 omitted
2537
3017
 
2538
- # reduce 209 omitted
3018
+ # reduce 249 omitted
2539
3019
 
2540
- module_eval(<<'.,.,', 'egrammar.ra', 690)
2541
- def _reduce_210(val, _values, result)
3020
+ module_eval(<<'.,.,', 'egrammar.ra', 791)
3021
+ def _reduce_250(val, _values, result)
2542
3022
  result = nil
2543
3023
  result
2544
3024
  end
2545
3025
  .,.,
2546
3026
 
2547
- module_eval(<<'.,.,', 'egrammar.ra', 691)
2548
- def _reduce_211(val, _values, result)
3027
+ module_eval(<<'.,.,', 'egrammar.ra', 792)
3028
+ def _reduce_251(val, _values, result)
2549
3029
  result = []
2550
3030
  result
2551
3031
  end
2552
3032
  .,.,
2553
3033
 
2554
- module_eval(<<'.,.,', 'egrammar.ra', 692)
2555
- def _reduce_212(val, _values, result)
3034
+ module_eval(<<'.,.,', 'egrammar.ra', 793)
3035
+ def _reduce_252(val, _values, result)
2556
3036
  result = val[1]
2557
3037
  result
2558
3038
  end
2559
3039
  .,.,
2560
3040
 
2561
- module_eval(<<'.,.,', 'egrammar.ra', 695)
2562
- def _reduce_213(val, _values, result)
3041
+ module_eval(<<'.,.,', 'egrammar.ra', 796)
3042
+ def _reduce_253(val, _values, result)
2563
3043
  result = Factory.RENDER_STRING(val[0][:value]); loc result, val[0]
2564
3044
  result
2565
3045
  end
2566
3046
  .,.,
2567
3047
 
2568
- module_eval(<<'.,.,', 'egrammar.ra', 696)
2569
- def _reduce_214(val, _values, result)
3048
+ module_eval(<<'.,.,', 'egrammar.ra', 797)
3049
+ def _reduce_254(val, _values, result)
2570
3050
  result = Factory.RENDER_EXPR(val[1]); loc result, val[0], val[2]
2571
3051
  result
2572
3052
  end
2573
3053
  .,.,
2574
3054
 
2575
- module_eval(<<'.,.,', 'egrammar.ra', 697)
2576
- def _reduce_215(val, _values, result)
3055
+ module_eval(<<'.,.,', 'egrammar.ra', 798)
3056
+ def _reduce_255(val, _values, result)
2577
3057
  result = Factory.RENDER_EXPR(Factory.block_or_expression(*val[2])); loc result, val[0], val[4]
2578
3058
  result
2579
3059
  end
2580
3060
  .,.,
2581
3061
 
2582
- # reduce 216 omitted
3062
+ # reduce 256 omitted
2583
3063
 
2584
- # reduce 217 omitted
3064
+ # reduce 257 omitted
2585
3065
 
2586
- module_eval(<<'.,.,', 'egrammar.ra', 703)
2587
- def _reduce_218(val, _values, result)
3066
+ module_eval(<<'.,.,', 'egrammar.ra', 804)
3067
+ def _reduce_258(val, _values, result)
2588
3068
  result = Factory.QREF(val[0][:value]) ; loc result, val[0]
2589
3069
  result
2590
3070
  end
2591
3071
  .,.,
2592
3072
 
2593
- module_eval(<<'.,.,', 'egrammar.ra', 706)
2594
- def _reduce_219(val, _values, result)
3073
+ module_eval(<<'.,.,', 'egrammar.ra', 807)
3074
+ def _reduce_259(val, _values, result)
2595
3075
  result = Factory.literal(val[0][:value]); loc result, val[0]
2596
3076
  result
2597
3077
  end
2598
3078
  .,.,
2599
3079
 
2600
- # reduce 220 omitted
3080
+ # reduce 260 omitted
2601
3081
 
2602
- module_eval(<<'.,.,', 'egrammar.ra', 712)
2603
- def _reduce_221(val, _values, result)
3082
+ module_eval(<<'.,.,', 'egrammar.ra', 813)
3083
+ def _reduce_261(val, _values, result)
2604
3084
  result = nil
2605
3085
  result
2606
3086
  end
2607
3087
  .,.,
2608
3088
 
2609
- # reduce 222 omitted
3089
+ # reduce 262 omitted
2610
3090
 
2611
- # reduce 223 omitted
3091
+ # reduce 263 omitted
2612
3092
 
2613
- # reduce 224 omitted
3093
+ # reduce 264 omitted
2614
3094
 
2615
- # reduce 225 omitted
3095
+ # reduce 265 omitted
2616
3096
 
2617
- # reduce 226 omitted
3097
+ # reduce 266 omitted
2618
3098
 
2619
- # reduce 227 omitted
3099
+ # reduce 267 omitted
2620
3100
 
2621
- # reduce 228 omitted
3101
+ # reduce 268 omitted
2622
3102
 
2623
- # reduce 229 omitted
3103
+ # reduce 269 omitted
2624
3104
 
2625
- # reduce 230 omitted
3105
+ # reduce 270 omitted
2626
3106
 
2627
- # reduce 231 omitted
3107
+ # reduce 271 omitted
2628
3108
 
2629
- # reduce 232 omitted
3109
+ # reduce 272 omitted
2630
3110
 
2631
- # reduce 233 omitted
3111
+ # reduce 273 omitted
2632
3112
 
2633
- # reduce 234 omitted
3113
+ # reduce 274 omitted
2634
3114
 
2635
- # reduce 235 omitted
3115
+ # reduce 275 omitted
2636
3116
 
2637
- # reduce 236 omitted
3117
+ # reduce 276 omitted
2638
3118
 
2639
- # reduce 237 omitted
3119
+ # reduce 277 omitted
2640
3120
 
2641
- # reduce 238 omitted
3121
+ # reduce 278 omitted
2642
3122
 
2643
- # reduce 239 omitted
3123
+ # reduce 279 omitted
2644
3124
 
2645
- # reduce 240 omitted
3125
+ # reduce 280 omitted
2646
3126
 
2647
- # reduce 241 omitted
3127
+ # reduce 281 omitted
2648
3128
 
2649
- module_eval(<<'.,.,', 'egrammar.ra', 739)
2650
- def _reduce_242(val, _values, result)
3129
+ # reduce 282 omitted
3130
+
3131
+ # reduce 283 omitted
3132
+
3133
+ module_eval(<<'.,.,', 'egrammar.ra', 842)
3134
+ def _reduce_284(val, _values, result)
2651
3135
  result = nil
2652
3136
  result
2653
3137
  end