puppet 4.0.0 → 4.9.1

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 (1644) hide show
  1. data/COMMITTERS.md +2 -2
  2. data/CONTRIBUTING.md +34 -10
  3. data/Gemfile +25 -9
  4. data/LICENSE +3 -3
  5. data/MAINTAINERS +71 -0
  6. data/README.md +9 -11
  7. data/Rakefile +29 -0
  8. data/conf/auth.conf +2 -2
  9. data/conf/puppet.conf +1 -1
  10. data/ext/README.environment +1 -1
  11. data/ext/build_defaults.yaml +10 -37
  12. data/ext/debian/README.source +1 -1
  13. data/ext/debian/control +3 -5
  14. data/ext/debian/copyright +4 -4
  15. data/ext/debian/puppet.default +0 -5
  16. data/ext/debian/puppet.init +1 -16
  17. data/ext/debian/puppet.logrotate +14 -5
  18. data/ext/debian/puppetmaster.README.debian +11 -9
  19. data/ext/emacs/puppet-mode.el +1 -1
  20. data/ext/envpuppet +2 -2
  21. data/ext/ips/puppetagent.xml +1 -1
  22. data/ext/ips/puppetmaster.xml +1 -1
  23. data/ext/osx/puppet.plist +30 -0
  24. data/ext/project_data.yaml +29 -13
  25. data/ext/puppet-test +3 -3
  26. data/ext/rack/example-passenger-vhost.conf +1 -1
  27. data/ext/redhat/client.init +67 -17
  28. data/ext/redhat/client.sysconfig +1 -10
  29. data/ext/redhat/logrotate +15 -3
  30. data/ext/redhat/puppet.spec.erb +6 -11
  31. data/ext/redhat/server.init +1 -1
  32. data/ext/regexp_nodes/regexp_nodes.rb +1 -1
  33. data/ext/solaris/pkginfo +1 -1
  34. data/ext/solaris/smf/puppet +44 -0
  35. data/ext/solaris/smf/puppet.xml +44 -0
  36. data/ext/suse/client.init +30 -33
  37. data/ext/suse/puppet.spec +2 -2
  38. data/ext/suse/server.init +2 -2
  39. data/ext/systemd/puppet.service +13 -1
  40. data/ext/upload_facts.rb +1 -1
  41. data/ext/windows/puppet_interactive.bat +6 -0
  42. data/ext/windows/puppet_shell.bat +9 -0
  43. data/ext/windows/run_puppet_interactive.bat +9 -0
  44. data/ext/windows/service/daemon.rb +2 -1
  45. data/ext/yaml_nodes.rb +1 -1
  46. data/install.rb +98 -65
  47. data/lib/hiera/puppet_function.rb +27 -18
  48. data/lib/hiera/scope.rb +12 -14
  49. data/lib/hiera_puppet.rb +6 -14
  50. data/lib/puppet/agent/locker.rb +11 -2
  51. data/lib/puppet/agent.rb +12 -27
  52. data/lib/puppet/application/agent.rb +40 -19
  53. data/lib/puppet/application/apply.rb +69 -16
  54. data/lib/puppet/application/ca.rb +1 -0
  55. data/lib/puppet/application/cert.rb +52 -3
  56. data/lib/puppet/application/device.rb +10 -5
  57. data/lib/puppet/application/face_base.rb +4 -0
  58. data/lib/puppet/application/filebucket.rb +79 -5
  59. data/lib/puppet/application/generate.rb +5 -0
  60. data/lib/puppet/application/inspect.rb +2 -2
  61. data/lib/puppet/application/lookup.rb +344 -0
  62. data/lib/puppet/application/master.rb +22 -7
  63. data/lib/puppet/application/resource.rb +2 -6
  64. data/lib/puppet/application.rb +6 -4
  65. data/lib/puppet/application_support.rb +1 -1
  66. data/lib/puppet/compilable_resource_type.rb +15 -0
  67. data/lib/puppet/configurer/plugin_handler.rb +7 -5
  68. data/lib/puppet/configurer.rb +184 -42
  69. data/lib/puppet/context/trusted_information.rb +21 -1
  70. data/lib/puppet/context.rb +16 -1
  71. data/lib/puppet/daemon.rb +17 -13
  72. data/lib/puppet/data_binding.rb +4 -2
  73. data/lib/puppet/data_providers/data_adapter.rb +14 -68
  74. data/lib/puppet/data_providers/data_function_support.rb +13 -26
  75. data/lib/puppet/data_providers/function_env_data_provider.rb +7 -9
  76. data/lib/puppet/data_providers/function_module_data_provider.rb +7 -22
  77. data/lib/puppet/data_providers/hiera_config.rb +151 -0
  78. data/lib/puppet/data_providers/hiera_env_data_provider.rb +25 -0
  79. data/lib/puppet/data_providers/hiera_interpolate.rb +21 -0
  80. data/lib/puppet/data_providers/hiera_module_data_provider.rb +30 -0
  81. data/lib/puppet/data_providers/hiera_support.rb +42 -0
  82. data/lib/puppet/data_providers/json_data_provider_factory.rb +38 -0
  83. data/lib/puppet/data_providers/yaml_data_provider_factory.rb +40 -0
  84. data/lib/puppet/data_providers.rb +17 -14
  85. data/lib/puppet/defaults.rb +279 -57
  86. data/lib/puppet/environments.rb +105 -10
  87. data/lib/puppet/error.rb +31 -1
  88. data/lib/puppet/external/dot.rb +1 -1
  89. data/lib/puppet/face/ca.rb +6 -1
  90. data/lib/puppet/face/catalog.rb +1 -1
  91. data/lib/puppet/face/certificate.rb +7 -1
  92. data/lib/puppet/face/certificate_request.rb +2 -0
  93. data/lib/puppet/face/certificate_revocation_list.rb +2 -0
  94. data/lib/puppet/face/config.rb +2 -2
  95. data/lib/puppet/face/epp.rb +63 -17
  96. data/lib/puppet/face/file.rb +3 -0
  97. data/lib/puppet/face/generate.rb +64 -0
  98. data/lib/puppet/face/help/face.erb +3 -0
  99. data/lib/puppet/face/help/man.erb +1 -1
  100. data/lib/puppet/face/help.rb +35 -27
  101. data/lib/puppet/face/key.rb +1 -0
  102. data/lib/puppet/face/man.rb +5 -3
  103. data/lib/puppet/face/module/changes.rb +2 -1
  104. data/lib/puppet/face/module/generate.rb +1 -1
  105. data/lib/puppet/face/module/install.rb +6 -6
  106. data/lib/puppet/face/parser.rb +12 -9
  107. data/lib/puppet/face/plugin.rb +7 -14
  108. data/lib/puppet/face/status.rb +4 -1
  109. data/lib/puppet/feature/base.rb +9 -2
  110. data/lib/puppet/feature/cfacter.rb +1 -0
  111. data/lib/puppet/feature/cfpropertylist.rb +3 -0
  112. data/lib/puppet/feature/external_facts.rb +1 -1
  113. data/lib/puppet/feature/hocon.rb +3 -0
  114. data/lib/puppet/feature/telnet.rb +9 -0
  115. data/lib/puppet/file_bucket/dipper.rb +58 -2
  116. data/lib/puppet/file_serving/http_metadata.rb +46 -0
  117. data/lib/puppet/file_serving/metadata.rb +30 -9
  118. data/lib/puppet/file_serving/terminus_helper.rb +7 -8
  119. data/lib/puppet/file_serving/terminus_selector.rb +2 -0
  120. data/lib/puppet/file_system/file_impl.rb +11 -2
  121. data/lib/puppet/file_system/memory_impl.rb +9 -1
  122. data/lib/puppet/file_system/path_pattern.rb +1 -0
  123. data/lib/puppet/file_system/uniquefile.rb +3 -3
  124. data/lib/puppet/file_system/windows.rb +36 -13
  125. data/lib/puppet/file_system.rb +46 -5
  126. data/lib/puppet/forge/repository.rb +2 -34
  127. data/lib/puppet/forge.rb +7 -7
  128. data/lib/puppet/functions/alert.rb +14 -0
  129. data/lib/puppet/functions/assert_type.rb +57 -21
  130. data/lib/puppet/functions/binary_file.rb +19 -0
  131. data/lib/puppet/functions/break.rb +22 -0
  132. data/lib/puppet/functions/contain.rb +33 -0
  133. data/lib/puppet/functions/crit.rb +14 -0
  134. data/lib/puppet/functions/debug.rb +14 -0
  135. data/lib/puppet/functions/defined.rb +160 -0
  136. data/lib/puppet/functions/dig.rb +23 -0
  137. data/lib/puppet/functions/each.rb +89 -39
  138. data/lib/puppet/functions/emerg.rb +14 -0
  139. data/lib/puppet/functions/epp.rb +29 -37
  140. data/lib/puppet/functions/err.rb +14 -0
  141. data/lib/puppet/functions/filter.rb +64 -38
  142. data/lib/puppet/functions/find_file.rb +31 -0
  143. data/lib/puppet/functions/hiera.rb +76 -3
  144. data/lib/puppet/functions/hiera_array.rb +66 -4
  145. data/lib/puppet/functions/hiera_hash.rb +74 -2
  146. data/lib/puppet/functions/hiera_include.rb +78 -5
  147. data/lib/puppet/functions/hocon_data.rb +24 -0
  148. data/lib/puppet/functions/include.rb +21 -0
  149. data/lib/puppet/functions/info.rb +14 -0
  150. data/lib/puppet/functions/inline_epp.rb +44 -71
  151. data/lib/puppet/functions/json_data.rb +18 -0
  152. data/lib/puppet/functions/lest.rb +17 -0
  153. data/lib/puppet/functions/lookup.rb +172 -184
  154. data/lib/puppet/functions/map.rb +60 -33
  155. data/lib/puppet/functions/match.rb +30 -12
  156. data/lib/puppet/functions/new.rb +31 -0
  157. data/lib/puppet/functions/next.rb +23 -0
  158. data/lib/puppet/functions/notice.rb +14 -0
  159. data/lib/puppet/functions/reduce.rb +99 -70
  160. data/lib/puppet/functions/regsubst.rb +23 -26
  161. data/lib/puppet/functions/require.rb +37 -0
  162. data/lib/puppet/functions/return.rb +22 -0
  163. data/lib/puppet/functions/reverse_each.rb +25 -0
  164. data/lib/puppet/functions/scanf.rb +15 -18
  165. data/lib/puppet/functions/slice.rb +22 -36
  166. data/lib/puppet/functions/split.rb +3 -3
  167. data/lib/puppet/functions/step.rb +26 -0
  168. data/lib/puppet/functions/strftime.rb +35 -0
  169. data/lib/puppet/functions/then.rb +14 -0
  170. data/lib/puppet/functions/type.rb +31 -0
  171. data/lib/puppet/functions/unwrap.rb +40 -0
  172. data/lib/puppet/functions/versioncmp.rb +36 -0
  173. data/lib/puppet/functions/warning.rb +14 -0
  174. data/lib/puppet/functions/with.rb +15 -7
  175. data/lib/puppet/functions/yaml_data.rb +21 -0
  176. data/lib/puppet/functions.rb +164 -31
  177. data/lib/puppet/generate/models/type/property.rb +70 -0
  178. data/lib/puppet/generate/models/type/type.rb +61 -0
  179. data/lib/puppet/generate/templates/type/pcore.erb +42 -0
  180. data/lib/puppet/generate/type.rb +239 -0
  181. data/lib/puppet/graph/rb_tree_map.rb +1 -1
  182. data/lib/puppet/graph/simple_graph.rb +6 -8
  183. data/lib/puppet/indirector/catalog/compiler.rb +196 -9
  184. data/lib/puppet/indirector/catalog/static_compiler.rb +50 -31
  185. data/lib/puppet/indirector/data_binding/none.rb +4 -1
  186. data/lib/puppet/indirector/face.rb +6 -1
  187. data/lib/puppet/indirector/facts/facter.rb +9 -1
  188. data/lib/puppet/indirector/file_bucket_file/file.rb +68 -3
  189. data/lib/puppet/indirector/file_content/http.rb +15 -0
  190. data/lib/puppet/indirector/file_metadata/http.rb +27 -0
  191. data/lib/puppet/indirector/generic_http.rb +16 -0
  192. data/lib/puppet/indirector/hiera.rb +7 -1
  193. data/lib/puppet/indirector/indirection.rb +12 -3
  194. data/lib/puppet/indirector/json.rb +3 -3
  195. data/lib/puppet/indirector/key/ca.rb +2 -2
  196. data/lib/puppet/indirector/msgpack.rb +2 -2
  197. data/lib/puppet/indirector/node/exec.rb +1 -1
  198. data/lib/puppet/indirector/node/ldap.rb +1 -1
  199. data/lib/puppet/indirector/request.rb +36 -12
  200. data/lib/puppet/indirector/resource_type/parser.rb +10 -3
  201. data/lib/puppet/indirector/rest.rb +80 -5
  202. data/lib/puppet/indirector/terminus.rb +4 -4
  203. data/lib/puppet/info_service/class_information_service.rb +111 -0
  204. data/lib/puppet/info_service.rb +7 -0
  205. data/lib/puppet/interface/documentation.rb +1 -1
  206. data/lib/puppet/interface/face_collection.rb +1 -1
  207. data/lib/puppet/interface.rb +14 -2
  208. data/lib/puppet/loaders.rb +6 -0
  209. data/lib/puppet/metatype/manager.rb +25 -8
  210. data/lib/puppet/module.rb +48 -20
  211. data/lib/puppet/module_tool/applications/application.rb +1 -1
  212. data/lib/puppet/module_tool/applications/builder.rb +5 -4
  213. data/lib/puppet/module_tool/applications/installer.rb +14 -14
  214. data/lib/puppet/module_tool/applications/unpacker.rb +1 -1
  215. data/lib/puppet/module_tool/applications/upgrader.rb +13 -13
  216. data/lib/puppet/module_tool/checksums.rb +1 -1
  217. data/lib/puppet/module_tool/errors/installer.rb +2 -2
  218. data/lib/puppet/module_tool/installed_modules.rb +7 -7
  219. data/lib/puppet/module_tool/local_tarball.rb +3 -3
  220. data/lib/puppet/module_tool/metadata.rb +34 -11
  221. data/lib/puppet/module_tool/skeleton/templates/generator/Gemfile +14 -3
  222. data/lib/puppet/module_tool/skeleton/templates/generator/README.md.erb +42 -38
  223. data/lib/puppet/module_tool/skeleton/templates/generator/Rakefile +19 -4
  224. data/lib/puppet/module_tool/skeleton/templates/generator/{tests → examples}/init.pp.erb +2 -2
  225. data/lib/puppet/module_tool/skeleton/templates/generator/manifests/init.pp.erb +25 -18
  226. data/lib/puppet/module_tool/skeleton/templates/generator/spec/classes/init_spec.rb.erb +1 -2
  227. data/lib/puppet/module_tool/tar/mini.rb +3 -3
  228. data/lib/puppet/module_tool.rb +5 -5
  229. data/lib/puppet/network/auth_config_parser.rb +1 -1
  230. data/lib/puppet/network/authconfig.rb +21 -1
  231. data/lib/puppet/network/authorization.rb +8 -1
  232. data/lib/puppet/network/http/api/indirected_routes.rb +23 -34
  233. data/lib/puppet/network/http/api/master/v3/environment.rb +63 -0
  234. data/lib/puppet/network/http/api/master/v3.rb +7 -1
  235. data/lib/puppet/network/http/connection.rb +2 -0
  236. data/lib/puppet/network/http/error.rb +1 -1
  237. data/lib/puppet/network/http/factory.rb +8 -4
  238. data/lib/puppet/network/http/handler.rb +3 -2
  239. data/lib/puppet/network/http/pool.rb +9 -0
  240. data/lib/puppet/network/http/rack/rest.rb +25 -2
  241. data/lib/puppet/network/http/webrick.rb +2 -1
  242. data/lib/puppet/network/rights.rb +1 -11
  243. data/lib/puppet/node/environment.rb +53 -14
  244. data/lib/puppet/node/facts.rb +1 -1
  245. data/lib/puppet/node.rb +39 -8
  246. data/lib/puppet/parameter/boolean.rb +1 -1
  247. data/lib/puppet/parameter/value.rb +1 -1
  248. data/lib/puppet/parameter.rb +23 -3
  249. data/lib/puppet/parser/ast/pops_bridge.rb +101 -27
  250. data/lib/puppet/parser/ast/resource.rb +5 -0
  251. data/lib/puppet/parser/ast/resource_instance.rb +5 -1
  252. data/lib/puppet/parser/ast/resourceparam.rb +5 -0
  253. data/lib/puppet/parser/ast.rb +5 -0
  254. data/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +64 -0
  255. data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +60 -0
  256. data/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +20 -0
  257. data/lib/puppet/parser/compiler/catalog_validator.rb +33 -0
  258. data/lib/puppet/parser/compiler.rb +343 -28
  259. data/lib/puppet/parser/e4_parser_adapter.rb +13 -12
  260. data/lib/puppet/parser/environment_compiler.rb +201 -0
  261. data/lib/puppet/parser/functions/assert_type.rb +47 -17
  262. data/lib/puppet/parser/functions/binary_file.rb +24 -0
  263. data/lib/puppet/parser/functions/break.rb +39 -0
  264. data/lib/puppet/parser/functions/contain.rb +7 -15
  265. data/lib/puppet/parser/functions/create_resources.rb +39 -23
  266. data/lib/puppet/parser/functions/defined.rb +106 -69
  267. data/lib/puppet/parser/functions/dig.rb +29 -0
  268. data/lib/puppet/parser/functions/each.rb +86 -28
  269. data/lib/puppet/parser/functions/epp.rb +30 -38
  270. data/lib/puppet/parser/functions/file.rb +3 -1
  271. data/lib/puppet/parser/functions/filter.rb +60 -24
  272. data/lib/puppet/parser/functions/find_file.rb +28 -0
  273. data/lib/puppet/parser/functions/fqdn_rand.rb +3 -3
  274. data/lib/puppet/parser/functions/hiera.rb +98 -28
  275. data/lib/puppet/parser/functions/hiera_array.rb +86 -29
  276. data/lib/puppet/parser/functions/hiera_hash.rb +96 -31
  277. data/lib/puppet/parser/functions/hiera_include.rb +96 -41
  278. data/lib/puppet/parser/functions/include.rb +4 -8
  279. data/lib/puppet/parser/functions/inline_epp.rb +36 -61
  280. data/lib/puppet/parser/functions/inline_template.rb +2 -2
  281. data/lib/puppet/parser/functions/lest.rb +49 -0
  282. data/lib/puppet/parser/functions/lookup.rb +129 -151
  283. data/lib/puppet/parser/functions/map.rb +56 -21
  284. data/lib/puppet/parser/functions/match.rb +29 -13
  285. data/lib/puppet/parser/functions/new.rb +926 -0
  286. data/lib/puppet/parser/functions/next.rb +38 -0
  287. data/lib/puppet/parser/functions/reduce.rb +98 -61
  288. data/lib/puppet/parser/functions/regsubst.rb +4 -2
  289. data/lib/puppet/parser/functions/require.rb +4 -27
  290. data/lib/puppet/parser/functions/return.rb +71 -0
  291. data/lib/puppet/parser/functions/reverse_each.rb +83 -0
  292. data/lib/puppet/parser/functions/scanf.rb +25 -31
  293. data/lib/puppet/parser/functions/slice.rb +18 -25
  294. data/lib/puppet/parser/functions/split.rb +2 -2
  295. data/lib/puppet/parser/functions/step.rb +84 -0
  296. data/lib/puppet/parser/functions/strftime.rb +185 -0
  297. data/lib/puppet/parser/functions/then.rb +73 -0
  298. data/lib/puppet/parser/functions/type.rb +53 -0
  299. data/lib/puppet/parser/functions/with.rb +17 -9
  300. data/lib/puppet/parser/functions.rb +34 -16
  301. data/lib/puppet/parser/resource.rb +149 -35
  302. data/lib/puppet/parser/scope.rb +296 -73
  303. data/lib/puppet/parser/templatewrapper.rb +2 -1
  304. data/lib/puppet/parser/type_loader.rb +1 -1
  305. data/lib/puppet/parser.rb +3 -1
  306. data/lib/puppet/plugins/configuration.rb +11 -2
  307. data/lib/puppet/plugins/data_providers/data_provider.rb +406 -0
  308. data/lib/puppet/plugins/data_providers/registry.rb +51 -0
  309. data/lib/puppet/plugins/data_providers.rb +15 -60
  310. data/lib/puppet/pops/adaptable.rb +4 -4
  311. data/lib/puppet/pops/adapters.rb +115 -31
  312. data/lib/puppet/pops/binder/binder.rb +21 -17
  313. data/lib/puppet/pops/binder/binder_issues.rb +8 -6
  314. data/lib/puppet/pops/binder/bindings_checker.rb +12 -8
  315. data/lib/puppet/pops/binder/bindings_composer.rb +16 -12
  316. data/lib/puppet/pops/binder/bindings_factory.rb +108 -104
  317. data/lib/puppet/pops/binder/bindings_label_provider.rb +3 -1
  318. data/lib/puppet/pops/binder/bindings_loader.rb +6 -2
  319. data/lib/puppet/pops/binder/bindings_model.rb +49 -47
  320. data/lib/puppet/pops/binder/bindings_model_meta.rb +2 -2
  321. data/lib/puppet/pops/binder/config/binder_config.rb +1 -1
  322. data/lib/puppet/pops/binder/config/diagnostic_producer.rb +10 -6
  323. data/lib/puppet/pops/binder/injector.rb +55 -50
  324. data/lib/puppet/pops/binder/key_factory.rb +10 -12
  325. data/lib/puppet/pops/binder/producers.rb +70 -65
  326. data/lib/puppet/pops/binder/scheme_handler/confdir_scheme.rb +1 -1
  327. data/lib/puppet/pops/binder/scheme_handler/module_scheme.rb +68 -9
  328. data/lib/puppet/pops/evaluator/access_operator.rb +261 -142
  329. data/lib/puppet/pops/evaluator/closure.rb +251 -109
  330. data/lib/puppet/pops/evaluator/collector_transformer.rb +45 -26
  331. data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +1 -1
  332. data/lib/puppet/pops/evaluator/collectors/catalog_collector.rb +4 -0
  333. data/lib/puppet/pops/evaluator/collectors/exported_collector.rb +5 -2
  334. data/lib/puppet/pops/evaluator/compare_operator.rb +110 -10
  335. data/lib/puppet/pops/evaluator/epp_evaluator.rb +16 -10
  336. data/lib/puppet/pops/evaluator/evaluator_impl.rb +239 -117
  337. data/lib/puppet/pops/evaluator/external_syntax_support.rb +1 -1
  338. data/lib/puppet/pops/evaluator/json_strict_literal_evaluator.rb +84 -0
  339. data/lib/puppet/pops/evaluator/literal_evaluator.rb +87 -0
  340. data/lib/puppet/pops/evaluator/relationship_operator.rb +18 -11
  341. data/lib/puppet/pops/evaluator/runtime3_converter.rb +60 -51
  342. data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +119 -0
  343. data/lib/puppet/pops/evaluator/runtime3_support.rb +119 -82
  344. data/lib/puppet/pops/functions/dispatch.rb +15 -3
  345. data/lib/puppet/pops/functions/dispatcher.rb +13 -5
  346. data/lib/puppet/pops/functions/function.rb +30 -4
  347. data/lib/puppet/pops/issue_reporter.rb +48 -20
  348. data/lib/puppet/pops/issues.rb +208 -18
  349. data/lib/puppet/pops/label_provider.rb +18 -4
  350. data/lib/puppet/pops/loader/base_loader.rb +64 -18
  351. data/lib/puppet/pops/loader/dependency_loader.rb +27 -2
  352. data/lib/puppet/pops/loader/loader.rb +53 -48
  353. data/lib/puppet/pops/loader/loader_paths.rb +110 -6
  354. data/lib/puppet/pops/loader/module_loaders.rb +72 -28
  355. data/lib/puppet/pops/loader/null_loader.rb +17 -1
  356. data/lib/puppet/pops/loader/predefined_loader.rb +29 -0
  357. data/lib/puppet/pops/loader/puppet_function_instantiator.rb +84 -0
  358. data/lib/puppet/pops/loader/puppet_resource_type_impl_instantiator.rb +80 -0
  359. data/lib/puppet/pops/loader/ruby_function_instantiator.rb +16 -4
  360. data/lib/puppet/pops/loader/runtime3_type_loader.rb +96 -0
  361. data/lib/puppet/pops/loader/static_loader.rb +139 -38
  362. data/lib/puppet/pops/loader/type_definition_instantiator.rb +93 -0
  363. data/lib/puppet/pops/loader/typed_name.rb +48 -0
  364. data/lib/puppet/pops/loaders.rb +207 -29
  365. data/lib/puppet/pops/lookup/configured_data_provider.rb +87 -0
  366. data/lib/puppet/pops/lookup/context.rb +136 -0
  367. data/lib/puppet/pops/lookup/data_adapter.rb +27 -0
  368. data/lib/puppet/pops/lookup/data_dig_function_provider.rb +55 -0
  369. data/lib/puppet/pops/lookup/data_hash_function_provider.rb +111 -0
  370. data/lib/puppet/pops/lookup/data_provider.rb +102 -0
  371. data/lib/puppet/pops/lookup/environment_data_provider.rb +27 -0
  372. data/lib/puppet/pops/lookup/explainer.rb +593 -0
  373. data/lib/puppet/pops/lookup/function_provider.rb +82 -0
  374. data/lib/puppet/pops/lookup/global_data_provider.rb +49 -0
  375. data/lib/puppet/pops/lookup/hiera_config.rb +601 -0
  376. data/lib/puppet/pops/lookup/interpolation.rb +136 -0
  377. data/lib/puppet/pops/lookup/invocation.rb +212 -0
  378. data/lib/puppet/pops/lookup/location_resolver.rb +72 -0
  379. data/lib/puppet/pops/lookup/lookup_adapter.rb +451 -0
  380. data/lib/puppet/pops/lookup/lookup_key.rb +99 -0
  381. data/lib/puppet/pops/lookup/lookup_key_function_provider.rb +119 -0
  382. data/lib/puppet/pops/lookup/module_data_provider.rb +58 -0
  383. data/lib/puppet/pops/lookup/sub_lookup.rb +90 -0
  384. data/lib/puppet/pops/lookup.rb +45 -49
  385. data/lib/puppet/pops/merge_strategy.rb +183 -47
  386. data/lib/puppet/pops/migration/migration_checker.rb +58 -0
  387. data/lib/puppet/pops/model/ast_transformer.rb +8 -1
  388. data/lib/puppet/pops/model/factory.rb +257 -161
  389. data/lib/puppet/pops/model/model.rb +25 -8
  390. data/lib/puppet/pops/model/model_label_provider.rb +30 -6
  391. data/lib/puppet/pops/model/model_meta.rb +50 -3
  392. data/lib/puppet/pops/model/model_tree_dumper.rb +44 -0
  393. data/lib/puppet/pops/parser/code_merger.rb +13 -1
  394. data/lib/puppet/pops/parser/egrammar.ra +155 -38
  395. data/lib/puppet/pops/parser/eparser.rb +1894 -1314
  396. data/lib/puppet/pops/parser/epp_support.rb +27 -12
  397. data/lib/puppet/pops/parser/evaluating_parser.rb +27 -13
  398. data/lib/puppet/pops/parser/heredoc_support.rb +20 -16
  399. data/lib/puppet/pops/parser/interpolation_support.rb +14 -1
  400. data/lib/puppet/pops/parser/lexer2.rb +465 -379
  401. data/lib/puppet/pops/parser/lexer_support.rb +132 -25
  402. data/lib/puppet/pops/parser/locator.rb +63 -9
  403. data/lib/puppet/pops/parser/parser_support.rb +49 -40
  404. data/lib/puppet/pops/parser/slurp_support.rb +37 -12
  405. data/lib/puppet/pops/patterns.rb +16 -1
  406. data/lib/puppet/pops/pcore.rb +96 -0
  407. data/lib/puppet/pops/puppet_stack.rb +43 -0
  408. data/lib/puppet/pops/resource/param.rb +55 -0
  409. data/lib/puppet/pops/resource/resource_type_impl.rb +314 -0
  410. data/lib/puppet/pops/resource/resource_type_set.pcore +22 -0
  411. data/lib/puppet/pops/serialization/abstract_reader.rb +176 -0
  412. data/lib/puppet/pops/serialization/abstract_writer.rb +207 -0
  413. data/lib/puppet/pops/serialization/deserializer.rb +77 -0
  414. data/lib/puppet/pops/serialization/extension.rb +157 -0
  415. data/lib/puppet/pops/serialization/instance_reader.rb +19 -0
  416. data/lib/puppet/pops/serialization/instance_writer.rb +14 -0
  417. data/lib/puppet/pops/serialization/json.rb +297 -0
  418. data/lib/puppet/pops/serialization/object.rb +71 -0
  419. data/lib/puppet/pops/serialization/rgen.rb +152 -0
  420. data/lib/puppet/pops/serialization/serializer.rb +118 -0
  421. data/lib/puppet/pops/serialization/time_factory.rb +67 -0
  422. data/lib/puppet/pops/serialization.rb +17 -0
  423. data/lib/puppet/pops/time/timespan.rb +718 -0
  424. data/lib/puppet/pops/time/timestamp.rb +148 -0
  425. data/lib/puppet/pops/types/annotatable.rb +36 -0
  426. data/lib/puppet/pops/types/class_loader.rb +25 -23
  427. data/lib/puppet/pops/types/enumeration.rb +9 -27
  428. data/lib/puppet/pops/types/implementation_registry.rb +141 -0
  429. data/lib/puppet/pops/types/iterable.rb +308 -0
  430. data/lib/puppet/pops/types/p_binary_type.rb +220 -0
  431. data/lib/puppet/pops/types/p_meta_type.rb +83 -0
  432. data/lib/puppet/pops/types/p_object_type.rb +888 -0
  433. data/lib/puppet/pops/types/p_runtime_type.rb +115 -0
  434. data/lib/puppet/pops/types/p_sem_ver_range_type.rb +187 -0
  435. data/lib/puppet/pops/types/p_sem_ver_type.rb +141 -0
  436. data/lib/puppet/pops/types/p_sensitive_type.rb +73 -0
  437. data/lib/puppet/pops/types/p_timespan_type.rb +141 -0
  438. data/lib/puppet/pops/types/p_timestamp_type.rb +69 -0
  439. data/lib/puppet/pops/types/p_type_set_type.rb +352 -0
  440. data/lib/puppet/pops/types/puppet_object.rb +16 -0
  441. data/lib/puppet/pops/types/recursion_guard.rb +136 -0
  442. data/lib/puppet/pops/types/ruby_generator.rb +275 -0
  443. data/lib/puppet/pops/types/string_converter.rb +1033 -0
  444. data/lib/puppet/pops/types/type_acceptor.rb +25 -0
  445. data/lib/puppet/pops/types/type_asserter.rb +21 -19
  446. data/lib/puppet/pops/types/type_assertion_error.rb +1 -0
  447. data/lib/puppet/pops/types/type_calculator.rb +244 -1186
  448. data/lib/puppet/pops/types/type_conversion_error.rb +15 -0
  449. data/lib/puppet/pops/types/type_factory.rb +270 -164
  450. data/lib/puppet/pops/types/type_formatter.rb +686 -0
  451. data/lib/puppet/pops/types/type_mismatch_describer.rb +1087 -0
  452. data/lib/puppet/pops/types/type_parser.rb +376 -278
  453. data/lib/puppet/pops/types/type_set_reference.rb +59 -0
  454. data/lib/puppet/pops/types/types.rb +3247 -287
  455. data/lib/puppet/pops/utils.rb +11 -10
  456. data/lib/puppet/pops/validation/checker4_0.rb +289 -75
  457. data/lib/puppet/pops/validation/validator_factory_4_0.rb +13 -5
  458. data/lib/puppet/pops/validation.rb +56 -18
  459. data/lib/puppet/pops/visitor.rb +9 -6
  460. data/lib/puppet/pops.rb +44 -25
  461. data/lib/puppet/property/ensure.rb +1 -1
  462. data/lib/puppet/property.rb +67 -7
  463. data/lib/puppet/provider/aixobject.rb +4 -4
  464. data/lib/puppet/provider/augeas/augeas.rb +57 -2
  465. data/lib/puppet/provider/cron/crontab.rb +1 -1
  466. data/lib/puppet/provider/exec/windows.rb +1 -1
  467. data/lib/puppet/provider/exec.rb +6 -1
  468. data/lib/puppet/provider/group/aix.rb +4 -4
  469. data/lib/puppet/provider/group/directoryservice.rb +10 -0
  470. data/lib/puppet/provider/group/pw.rb +1 -0
  471. data/lib/puppet/provider/group/windows_adsi.rb +23 -7
  472. data/lib/puppet/provider/macauthorization/macauthorization.rb +11 -10
  473. data/lib/puppet/provider/mailalias/aliases.rb +1 -1
  474. data/lib/puppet/provider/mcx/mcxcontent.rb +5 -4
  475. data/lib/puppet/provider/mount/parsed.rb +159 -2
  476. data/lib/puppet/provider/nameservice/directoryservice.rb +55 -62
  477. data/lib/puppet/provider/nameservice.rb +15 -0
  478. data/lib/puppet/provider/package/appdmg.rb +7 -6
  479. data/lib/puppet/provider/package/apple.rb +1 -1
  480. data/lib/puppet/provider/package/apt.rb +1 -1
  481. data/lib/puppet/provider/package/dnf.rb +46 -0
  482. data/lib/puppet/provider/package/gem.rb +29 -3
  483. data/lib/puppet/provider/package/nim.rb +2 -2
  484. data/lib/puppet/provider/package/openbsd.rb +7 -7
  485. data/lib/puppet/provider/package/pacman.rb +11 -10
  486. data/lib/puppet/provider/package/pip.rb +83 -22
  487. data/lib/puppet/provider/package/pip3.rb +20 -0
  488. data/lib/puppet/provider/package/pkg.rb +12 -8
  489. data/lib/puppet/provider/package/pkgdmg.rb +11 -8
  490. data/lib/puppet/provider/package/pkgin.rb +4 -4
  491. data/lib/puppet/provider/package/pkgng.rb +143 -0
  492. data/lib/puppet/provider/package/pkgutil.rb +1 -1
  493. data/lib/puppet/provider/package/portage.rb +48 -8
  494. data/lib/puppet/provider/package/ports.rb +0 -3
  495. data/lib/puppet/provider/package/puppet_gem.rb +0 -0
  496. data/lib/puppet/provider/package/rpm.rb +122 -16
  497. data/lib/puppet/provider/package/sun.rb +1 -1
  498. data/lib/puppet/provider/package/tdnf.rb +28 -0
  499. data/lib/puppet/provider/package/windows/exe_package.rb +10 -9
  500. data/lib/puppet/provider/package/windows/msi_package.rb +4 -4
  501. data/lib/puppet/provider/package/windows/package.rb +9 -1
  502. data/lib/puppet/provider/package/windows.rb +1 -1
  503. data/lib/puppet/provider/package/yum.rb +62 -83
  504. data/lib/puppet/provider/package/zypper.rb +69 -15
  505. data/lib/puppet/provider/package.rb +6 -2
  506. data/lib/puppet/provider/parsedfile.rb +2 -2
  507. data/lib/puppet/provider/scheduled_task/win32_taskscheduler.rb +39 -7
  508. data/lib/puppet/provider/service/base.rb +4 -3
  509. data/lib/puppet/provider/service/bsd.rb +9 -9
  510. data/lib/puppet/provider/service/daemontools.rb +5 -5
  511. data/lib/puppet/provider/service/debian.rb +14 -5
  512. data/lib/puppet/provider/service/freebsd.rb +1 -1
  513. data/lib/puppet/provider/service/init.rb +27 -3
  514. data/lib/puppet/provider/service/launchd.rb +57 -19
  515. data/lib/puppet/provider/service/rcng.rb +51 -0
  516. data/lib/puppet/provider/service/redhat.rb +2 -1
  517. data/lib/puppet/provider/service/runit.rb +4 -4
  518. data/lib/puppet/provider/service/smf.rb +59 -8
  519. data/lib/puppet/provider/service/src.rb +27 -0
  520. data/lib/puppet/provider/service/systemd.rb +141 -22
  521. data/lib/puppet/provider/service/upstart.rb +1 -1
  522. data/lib/puppet/provider/ssh_authorized_key/parsed.rb +1 -1
  523. data/lib/puppet/provider/sshkey/parsed.rb +20 -10
  524. data/lib/puppet/provider/user/aix.rb +4 -3
  525. data/lib/puppet/provider/user/directoryservice.rb +43 -66
  526. data/lib/puppet/provider/user/hpux.rb +1 -1
  527. data/lib/puppet/provider/user/openbsd.rb +1 -0
  528. data/lib/puppet/provider/user/pw.rb +1 -0
  529. data/lib/puppet/provider/user/user_role_add.rb +19 -2
  530. data/lib/puppet/provider/user/windows_adsi.rb +51 -2
  531. data/lib/puppet/provider/yumrepo/inifile.rb +9 -6
  532. data/lib/puppet/provider/zfs/zfs.rb +2 -2
  533. data/lib/puppet/provider/zone/solaris.rb +6 -3
  534. data/lib/puppet/provider/zpool/zpool.rb +2 -2
  535. data/lib/puppet/provider.rb +9 -7
  536. data/lib/puppet/reference/configuration.rb +13 -5
  537. data/lib/puppet/reference/indirection.rb +2 -2
  538. data/lib/puppet/reference/providers.rb +2 -3
  539. data/lib/puppet/reference/report.rb +9 -12
  540. data/lib/puppet/reference/type.rb +1 -1
  541. data/lib/puppet/reports.rb +5 -1
  542. data/lib/puppet/resource/capability_finder.rb +128 -0
  543. data/lib/puppet/resource/catalog.rb +167 -40
  544. data/lib/puppet/resource/status.rb +30 -5
  545. data/lib/puppet/resource/type.rb +247 -50
  546. data/lib/puppet/resource/type_collection.rb +83 -10
  547. data/lib/puppet/resource.rb +212 -146
  548. data/lib/puppet/settings/base_setting.rb +9 -3
  549. data/lib/puppet/settings/config_file.rb +3 -2
  550. data/lib/puppet/settings/directory_setting.rb +6 -0
  551. data/lib/puppet/settings/environment_conf.rb +26 -6
  552. data/lib/puppet/settings/file_or_directory_setting.rb +6 -0
  553. data/lib/puppet/settings/file_setting.rb +20 -9
  554. data/lib/puppet/settings/ini_file.rb +2 -2
  555. data/lib/puppet/settings/server_list_setting.rb +20 -0
  556. data/lib/puppet/settings/symbolic_enum_setting.rb +17 -0
  557. data/lib/puppet/settings.rb +87 -28
  558. data/lib/puppet/ssl/certificate_authority/interface.rb +166 -26
  559. data/lib/puppet/ssl/certificate_authority.rb +45 -11
  560. data/lib/puppet/ssl/certificate_factory.rb +3 -3
  561. data/lib/puppet/ssl/certificate_request.rb +4 -4
  562. data/lib/puppet/ssl/certificate_signer.rb +1 -1
  563. data/lib/puppet/ssl/host.rb +26 -4
  564. data/lib/puppet/ssl/oids.rb +43 -3
  565. data/lib/puppet/ssl/validator/default_validator.rb +3 -3
  566. data/lib/puppet/syntax_checkers/base64.rb +41 -0
  567. data/lib/puppet/syntax_checkers/json.rb +0 -2
  568. data/lib/puppet/test/test_helper.rb +18 -7
  569. data/lib/puppet/transaction/additional_resource_generator.rb +101 -8
  570. data/lib/puppet/transaction/event.rb +29 -2
  571. data/lib/puppet/transaction/event_manager.rb +1 -1
  572. data/lib/puppet/transaction/persistence.rb +84 -0
  573. data/lib/puppet/transaction/report.rb +86 -4
  574. data/lib/puppet/transaction/resource_harness.rb +95 -35
  575. data/lib/puppet/transaction.rb +64 -36
  576. data/lib/puppet/type/augeas.rb +13 -4
  577. data/lib/puppet/type/component.rb +11 -0
  578. data/lib/puppet/type/cron.rb +13 -13
  579. data/lib/puppet/type/exec.rb +27 -18
  580. data/lib/puppet/type/file/checksum.rb +1 -0
  581. data/lib/puppet/type/file/checksum_value.rb +53 -0
  582. data/lib/puppet/type/file/content.rb +36 -121
  583. data/lib/puppet/type/file/data_sync.rb +92 -0
  584. data/lib/puppet/type/file/ensure.rb +22 -19
  585. data/lib/puppet/type/file/selcontext.rb +1 -1
  586. data/lib/puppet/type/file/source.rb +121 -34
  587. data/lib/puppet/type/file/target.rb +2 -2
  588. data/lib/puppet/type/file.rb +146 -46
  589. data/lib/puppet/type/filebucket.rb +1 -1
  590. data/lib/puppet/type/group.rb +15 -3
  591. data/lib/puppet/type/host.rb +1 -1
  592. data/lib/puppet/type/interface.rb +8 -3
  593. data/lib/puppet/type/macauthorization.rb +1 -1
  594. data/lib/puppet/type/mount.rb +25 -2
  595. data/lib/puppet/type/notify.rb +1 -1
  596. data/lib/puppet/type/package.rb +32 -12
  597. data/lib/puppet/type/resources.rb +1 -1
  598. data/lib/puppet/type/schedule.rb +5 -5
  599. data/lib/puppet/type/scheduled_task.rb +14 -1
  600. data/lib/puppet/type/service.rb +24 -0
  601. data/lib/puppet/type/ssh_authorized_key.rb +17 -11
  602. data/lib/puppet/type/sshkey.rb +5 -3
  603. data/lib/puppet/type/stage.rb +1 -1
  604. data/lib/puppet/type/tidy.rb +10 -5
  605. data/lib/puppet/type/user.rb +80 -25
  606. data/lib/puppet/type/yumrepo.rb +28 -8
  607. data/lib/puppet/type/zone.rb +6 -6
  608. data/lib/puppet/type.rb +162 -40
  609. data/lib/puppet/util/autoload.rb +16 -11
  610. data/lib/puppet/util/checksums.rb +74 -31
  611. data/lib/puppet/util/classgen.rb +1 -1
  612. data/lib/puppet/util/command_line/trollop.rb +1 -1
  613. data/lib/puppet/util/command_line.rb +10 -2
  614. data/lib/puppet/util/execution.rb +26 -10
  615. data/lib/puppet/util/feature.rb +1 -1
  616. data/lib/puppet/util/filetype.rb +11 -5
  617. data/lib/puppet/util/http_proxy.rb +132 -0
  618. data/lib/puppet/util/inifile.rb +1 -1
  619. data/lib/puppet/util/instance_loader.rb +1 -1
  620. data/lib/puppet/util/log/destinations.rb +23 -2
  621. data/lib/puppet/util/log.rb +78 -9
  622. data/lib/puppet/util/logging.rb +82 -3
  623. data/lib/puppet/util/monkey_patches.rb +20 -7
  624. data/lib/puppet/util/multi_match.rb +51 -0
  625. data/lib/puppet/util/network_device/cisco/device.rb +24 -6
  626. data/lib/puppet/util/network_device/cisco/interface.rb +21 -9
  627. data/lib/puppet/util/network_device/config.rb +1 -1
  628. data/lib/puppet/util/network_device/transport/ssh.rb +7 -3
  629. data/lib/puppet/util/network_device/transport/telnet.rb +39 -36
  630. data/lib/puppet/util/plist.rb +151 -0
  631. data/lib/puppet/util/profiler/aggregate.rb +1 -1
  632. data/lib/puppet/util/profiler/around_profiler.rb +1 -1
  633. data/lib/puppet/util/profiler.rb +1 -1
  634. data/lib/puppet/util/psych_support.rb +1 -1
  635. data/lib/puppet/util/rdoc/generators/puppet_generator.rb +2 -2
  636. data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +2 -1
  637. data/lib/puppet/util/rdoc.rb +2 -2
  638. data/lib/puppet/util/resource_template.rb +1 -1
  639. data/lib/puppet/util/rubygems.rb +1 -1
  640. data/lib/puppet/util/run_mode.rb +3 -16
  641. data/lib/puppet/util/skip_tags.rb +9 -0
  642. data/lib/puppet/util/splayer.rb +18 -0
  643. data/lib/puppet/util/tagging.rb +8 -2
  644. data/lib/puppet/util/watcher/periodic_watcher.rb +2 -2
  645. data/lib/puppet/util/windows/access_control_entry.rb +2 -2
  646. data/lib/puppet/util/windows/access_control_list.rb +3 -3
  647. data/lib/puppet/util/windows/adsi.rb +212 -75
  648. data/lib/puppet/util/windows/api_types.rb +24 -18
  649. data/lib/puppet/util/windows/com.rb +3 -3
  650. data/lib/puppet/util/windows/error.rb +1 -1
  651. data/lib/puppet/util/windows/file.rb +107 -18
  652. data/lib/puppet/util/windows/principal.rb +190 -0
  653. data/lib/puppet/util/windows/process.rb +88 -11
  654. data/lib/puppet/util/windows/registry.rb +22 -16
  655. data/lib/puppet/util/windows/root_certs.rb +5 -5
  656. data/lib/puppet/util/windows/security.rb +38 -37
  657. data/lib/puppet/util/windows/security_descriptor.rb +1 -1
  658. data/lib/puppet/util/windows/sid.rb +84 -15
  659. data/lib/puppet/util/windows/taskscheduler.rb +99 -43
  660. data/lib/puppet/util/windows/user.rb +32 -14
  661. data/lib/puppet/util/windows.rb +5 -0
  662. data/lib/puppet/util/yaml.rb +15 -3
  663. data/lib/puppet/util.rb +124 -23
  664. data/lib/puppet/vendor/deep_merge/deep_merge.gemspec +1 -1
  665. data/lib/puppet/vendor/deep_merge/test/test_deep_merge.rb +1 -1
  666. data/lib/puppet/vendor/load_semantic_puppet.rb +1 -0
  667. data/lib/puppet/vendor/pathspec/LICENSE +2 -2
  668. data/lib/puppet/vendor/pathspec/README.md +1 -1
  669. data/lib/puppet/vendor/pathspec/lib/pathspec.rb +2 -1
  670. data/lib/puppet/vendor/require_vendored.rb +0 -1
  671. data/lib/puppet/vendor/rgen/README.rdoc +1 -1
  672. data/lib/puppet/vendor/rgen_patch.rb +1 -1
  673. data/lib/puppet/vendor/semantic/lib/semantic.rb +4 -6
  674. data/lib/puppet/vendor/{semantic/lib/semantic → semantic_puppet/lib/semantic_puppet}/dependency/graph.rb +2 -2
  675. data/lib/puppet/vendor/{semantic/lib/semantic → semantic_puppet/lib/semantic_puppet}/dependency/graph_node.rb +2 -2
  676. data/lib/puppet/vendor/{semantic/lib/semantic → semantic_puppet/lib/semantic_puppet}/dependency/module_release.rb +17 -5
  677. data/lib/puppet/vendor/{semantic/lib/semantic → semantic_puppet/lib/semantic_puppet}/dependency/source.rb +2 -2
  678. data/lib/puppet/vendor/{semantic/lib/semantic → semantic_puppet/lib/semantic_puppet}/dependency/unsatisfiable_graph.rb +2 -2
  679. data/lib/puppet/vendor/{semantic/lib/semantic → semantic_puppet/lib/semantic_puppet}/dependency.rb +7 -7
  680. data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/gem_version.rb +3 -0
  681. data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/locales/config.yaml +21 -0
  682. data/lib/puppet/vendor/{semantic/lib/semantic → semantic_puppet/lib/semantic_puppet}/version.rb +48 -21
  683. data/lib/puppet/vendor/{semantic/lib/semantic → semantic_puppet/lib/semantic_puppet}/version_range.rb +15 -17
  684. data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet.rb +17 -0
  685. data/lib/puppet/version.rb +2 -2
  686. data/lib/puppet.rb +85 -2
  687. data/lib/puppet_x.rb +7 -1
  688. data/lib/semver.rb +36 -13
  689. data/locales/config.yaml +29 -0
  690. data/locales/puppet.pot +79 -0
  691. data/man/man5/puppet.conf.5 +61 -19
  692. data/man/man8/extlookup2hiera.8 +2 -2
  693. data/man/man8/puppet-agent.8 +6 -3
  694. data/man/man8/puppet-apply.8 +6 -3
  695. data/man/man8/puppet-ca.8 +3 -3
  696. data/man/man8/puppet-catalog.8 +3 -3
  697. data/man/man8/puppet-cert.8 +3 -3
  698. data/man/man8/puppet-certificate.8 +3 -3
  699. data/man/man8/puppet-certificate_request.8 +3 -3
  700. data/man/man8/puppet-certificate_revocation_list.8 +3 -3
  701. data/man/man8/puppet-config.8 +4 -4
  702. data/man/man8/puppet-describe.8 +2 -2
  703. data/man/man8/puppet-device.8 +7 -4
  704. data/man/man8/puppet-doc.8 +2 -2
  705. data/man/man8/puppet-epp.8 +3 -3
  706. data/man/man8/puppet-facts.8 +3 -3
  707. data/man/man8/puppet-file.8 +3 -3
  708. data/man/man8/puppet-filebucket.8 +3 -3
  709. data/man/man8/puppet-help.8 +3 -3
  710. data/man/man8/puppet-inspect.8 +3 -3
  711. data/man/man8/puppet-key.8 +3 -3
  712. data/man/man8/puppet-man.8 +3 -3
  713. data/man/man8/puppet-master.8 +6 -3
  714. data/man/man8/puppet-module.8 +10 -10
  715. data/man/man8/puppet-node.8 +3 -3
  716. data/man/man8/puppet-parser.8 +3 -3
  717. data/man/man8/puppet-plugin.8 +3 -3
  718. data/man/man8/puppet-report.8 +3 -3
  719. data/man/man8/puppet-resource.8 +3 -3
  720. data/man/man8/puppet-resource_type.8 +3 -3
  721. data/man/man8/puppet-status.8 +4 -4
  722. data/man/man8/puppet.8 +2 -2
  723. data/spec/fixtures/module.tar.gz +0 -0
  724. data/spec/fixtures/unit/application/environments/production/data/common.yaml +22 -0
  725. data/spec/fixtures/unit/application/environments/production/environment.conf +1 -0
  726. data/spec/fixtures/unit/application/environments/production/manifests/site.pp +1 -0
  727. data/spec/fixtures/unit/application/environments/puppet_func_provider/environment.conf +1 -0
  728. data/spec/fixtures/unit/application/environments/puppet_func_provider/functions/environment/data.pp +10 -0
  729. data/spec/fixtures/unit/application/environments/puppet_func_provider/manifests/site.pp +1 -0
  730. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_json/data/bad.json +3 -0
  731. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_json/environment.conf +2 -0
  732. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_json/hiera.yaml +5 -0
  733. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_json/manifests/site.pp +5 -0
  734. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_yaml/data/bad.yaml +3 -0
  735. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_yaml/environment.conf +2 -0
  736. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_yaml/hiera.yaml +5 -0
  737. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_yaml/manifests/site.pp +5 -0
  738. data/spec/fixtures/unit/data_providers/environments/hiera_defaults/data/common.yaml +2 -0
  739. data/spec/fixtures/unit/data_providers/environments/hiera_defaults/environment.conf +2 -0
  740. data/spec/fixtures/unit/data_providers/environments/hiera_defaults/manifests/site.pp +1 -0
  741. data/spec/fixtures/unit/data_providers/environments/hiera_defaults/modules/one/data/common.yaml +2 -0
  742. data/spec/fixtures/unit/data_providers/environments/hiera_defaults/modules/one/manifests/init.pp +5 -0
  743. data/spec/fixtures/unit/data_providers/environments/hiera_defaults/modules/one/metadata.json +9 -0
  744. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/first.json +3 -0
  745. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/name.yaml +2 -0
  746. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/second.json +3 -0
  747. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/single.yaml +2 -0
  748. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/third_utf8.json +3 -0
  749. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/utf8.yaml +3 -0
  750. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data2/single.yaml +2 -0
  751. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/environment.conf +2 -0
  752. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/hiera.yaml +22 -0
  753. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/manifests/site.pp +5 -0
  754. data/spec/fixtures/unit/data_providers/environments/hiera_misc/data/common.yaml +48 -0
  755. data/spec/fixtures/unit/data_providers/environments/hiera_misc/environment.conf +2 -0
  756. data/spec/fixtures/unit/data_providers/environments/hiera_misc/manifests/site.pp +1 -0
  757. data/spec/fixtures/unit/data_providers/environments/hiera_misc/modules/one/data/common.yaml +30 -0
  758. data/spec/fixtures/unit/data_providers/environments/hiera_misc/modules/one/manifests/init.pp +13 -0
  759. data/spec/fixtures/unit/data_providers/environments/hiera_misc/modules/one/metadata.json +9 -0
  760. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/data/common.yaml +4 -0
  761. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/data/specific.yaml +4 -0
  762. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/environment.conf +2 -0
  763. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/hiera.yaml +7 -0
  764. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/manifests/site.pp +1 -0
  765. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data1/first.json +3 -0
  766. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data1/name.yaml +2 -0
  767. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data1/second.json +3 -0
  768. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data1/server1.yaml +1 -0
  769. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data1/server2.yaml +1 -0
  770. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data1/single.yaml +2 -0
  771. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data2/single.yaml +2 -0
  772. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/hiera.yaml +20 -0
  773. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/manifests/init.pp +5 -0
  774. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/metadata.json +9 -0
  775. data/spec/fixtures/unit/data_providers/environments/hiera_modules/data/common.yaml +4 -0
  776. data/spec/fixtures/unit/data_providers/environments/hiera_modules/data/specific.yaml +4 -0
  777. data/spec/fixtures/unit/data_providers/environments/hiera_modules/environment.conf +2 -0
  778. data/spec/fixtures/unit/data_providers/environments/hiera_modules/hiera.yaml +7 -0
  779. data/spec/fixtures/unit/data_providers/environments/hiera_modules/manifests/site.pp +1 -0
  780. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/one/data/common.yaml +6 -0
  781. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/one/hiera.yaml +5 -0
  782. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/one/manifests/init.pp +2 -0
  783. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/one/metadata.json +9 -0
  784. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/two/data/common.yaml +4 -0
  785. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/two/hiera.yaml +5 -0
  786. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/two/manifests/init.pp +3 -0
  787. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/two/metadata.json +9 -0
  788. data/spec/fixtures/unit/data_providers/environments/production/lib/puppet/functions/environment/data.rb +3 -1
  789. data/spec/fixtures/unit/data_providers/environments/production/modules/abc/lib/puppet/functions/abc/data.rb +2 -1
  790. data/spec/fixtures/unit/data_providers/environments/production/modules/abc/manifests/init.pp +2 -1
  791. data/spec/fixtures/unit/data_providers/environments/production/modules/xyz/functions/data.pp +6 -0
  792. data/spec/fixtures/unit/data_providers/environments/production/modules/xyz/lib/puppet/bindings/xyz/default.rb +9 -0
  793. data/spec/fixtures/unit/data_providers/environments/production/modules/xyz/manifests/init.pp +9 -0
  794. data/spec/fixtures/unit/data_providers/environments/sample/modules/backend/hiera.yaml +5 -0
  795. data/spec/fixtures/unit/data_providers/environments/sample/modules/backend/lib/puppet/bindings/backend/default.rb +9 -0
  796. data/spec/fixtures/unit/data_providers/environments/sample/modules/backend/lib/puppet_x/backend/special_data_provider_factory.rb +23 -0
  797. data/spec/fixtures/unit/data_providers/environments/sample/modules/backend/manifests/init.pp +5 -0
  798. data/spec/fixtures/unit/data_providers/environments/sample/modules/backend/metadata.json +9 -0
  799. data/spec/fixtures/unit/data_providers/environments/sample/modules/dataprovider/lib/puppet_x/helindbe/sample_env_data.rb +2 -0
  800. data/spec/fixtures/unit/data_providers/environments/sample/modules/dataprovider/lib/puppet_x/helindbe/sample_module_data.rb +1 -0
  801. data/spec/fixtures/unit/data_providers/environments/sample/modules/dataprovider/manifests/init.pp +1 -1
  802. data/spec/fixtures/unit/functions/lookup/data/common.yaml +19 -0
  803. data/spec/fixtures/unit/functions/lookup_fixture/data/common.yaml +19 -0
  804. data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/bad_data/lib/puppet/functions/bad_data/data.rb +1 -0
  805. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bad_data/manifests/init.pp +2 -0
  806. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_json/data/empty.json +0 -0
  807. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_json/hiera.yaml +5 -0
  808. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_json/manifests/init.pp +2 -0
  809. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_json/metadata.json +9 -0
  810. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_json/data/empty_key.json +1 -0
  811. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_json/hiera.yaml +5 -0
  812. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_json/manifests/init.pp +2 -0
  813. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_json/metadata.json +9 -0
  814. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_yaml/data/empty_key.yaml +1 -0
  815. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_yaml/hiera.yaml +5 -0
  816. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_yaml/manifests/init.pp +2 -0
  817. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_yaml/metadata.json +9 -0
  818. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_yaml/data/empty.yaml +2 -0
  819. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_yaml/hiera.yaml +5 -0
  820. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_yaml/manifests/init.pp +2 -0
  821. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_yaml/metadata.json +9 -0
  822. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/hieraprovider/data/first.json +4 -0
  823. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/hieraprovider/hiera.yaml +8 -0
  824. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/hieraprovider/manifests/init.pp +5 -0
  825. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/hieraprovider/metadata.json +9 -0
  826. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/meta/lib/puppet/functions/meta/data.rb +9 -0
  827. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/meta/manifests/init.pp +3 -0
  828. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/meta/metadata.json +9 -0
  829. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/metawcp/lib/puppet/bindings/metawcp/default.rb +10 -0
  830. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/metawcp/lib/puppet_x/thallgren/sample_module_data.rb +23 -0
  831. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/metawcp/manifests/init.pp +3 -0
  832. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/metawcp/metadata.json +9 -0
  833. data/spec/fixtures/unit/module/trailing-comma.json +1 -1
  834. data/spec/fixtures/unit/parser/lexer/subclass_name_duplication.pp +0 -0
  835. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/functions/usee_puppet.pp +3 -0
  836. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/lib/puppet/functions/usee/usee_ruby.rb +6 -0
  837. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/lib/puppet/type/usee_type.rb +5 -0
  838. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/manifests/init.pp +8 -0
  839. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/types/zero.pp +1 -0
  840. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee2/lib/puppet/functions/usee2/callee.rb +5 -0
  841. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/functions/puppet_calling_puppet.pp +5 -0
  842. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/functions/puppet_calling_puppet_init.pp +5 -0
  843. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/functions/puppet_calling_ruby.pp +5 -0
  844. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/lib/puppet/functions/user/caller2.rb +5 -0
  845. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/lib/puppet/functions/user/ruby_calling_puppet.rb +5 -0
  846. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/lib/puppet/functions/user/ruby_calling_puppet_init.rb +5 -0
  847. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/lib/puppet/functions/user/ruby_calling_ruby.rb +5 -0
  848. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/manifests/init.pp +87 -0
  849. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/{user → modules/user}/metadata.json +2 -1
  850. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/types/withuseeone.pp +1 -0
  851. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/types/withuseezero.pp +1 -0
  852. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/functions/puppetcalled.pp +3 -0
  853. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/functions/puppetcaller.pp +3 -0
  854. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/functions/puppetcaller4.pp +3 -0
  855. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/lib/puppet/functions/user/callingpuppet.rb +5 -0
  856. data/spec/fixtures/unit/pops/loaders/loaders/module_no_lib/modules/modulea/functions/hello.pp +3 -0
  857. data/spec/fixtures/unit/pops/loaders/loaders/module_no_lib/modules/modulea/manifests/init.pp +3 -0
  858. data/spec/fixtures/unit/pops/loaders/loaders/module_no_lib/modules/modulea/metadata.json +10 -0
  859. data/spec/fixtures/unit/pops/loaders/loaders/no_modules/manifests/site.pp +10 -0
  860. data/spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/functions/hello.pp +3 -0
  861. data/spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/functions/subspace/hello.pp +3 -0
  862. data/spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/metadata.json +1 -10
  863. data/spec/fixtures/unit/pops/parser/lexer/subclass_name_duplication.pp +0 -0
  864. data/spec/fixtures/unit/provider/mount/parsed/aix.filesystems +93 -85
  865. data/spec/fixtures/unit/provider/mount/parsed/aix.mount +11 -7
  866. data/spec/fixtures/unit/provider/package/pkgng/pkg.info +8 -0
  867. data/spec/fixtures/unit/provider/package/pkgng/pkg.query +1 -0
  868. data/spec/fixtures/unit/provider/package/pkgng/pkg.query_absent +1 -0
  869. data/spec/fixtures/unit/provider/package/pkgng/pkg.version +3 -0
  870. data/spec/fixtures/unit/provider/package/yum/yum-check-update-broken-notices.txt +187 -0
  871. data/spec/fixtures/unit/provider/package/yum/yum-check-update-obsoletes.txt +195 -0
  872. data/spec/fixtures/unit/provider/package/yum/yum-check-update-security.txt +184 -0
  873. data/spec/fixtures/unit/provider/package/zypper/zypper-list-updates-empty.out +3 -0
  874. data/spec/fixtures/unit/provider/service/smf/svcs.out +4 -3
  875. data/spec/fixtures/unit/provider/sshkey/parsed/sample_with_blank_lines +8 -0
  876. data/spec/fixtures/vcr/cassettes/Puppet_Network_HTTP_Connection/when_handling_requests/_request_get/should_yield_to_the_block.yml +24 -0
  877. data/spec/fixtures/vcr/cassettes/Puppet_Network_HTTP_Connection/when_handling_requests/_request_head/should_yield_to_the_block.yml +24 -0
  878. data/spec/fixtures/vcr/cassettes/Puppet_Network_HTTP_Connection/when_handling_requests/_request_post/should_yield_to_the_block.yml +24 -0
  879. 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
  880. 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
  881. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_md5/should_update_if_content_differs_on_disk.yml +213 -0
  882. 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
  883. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_mtime/should_fetch_if_no_header_specified.yml +197 -0
  884. 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
  885. 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
  886. data/spec/integration/agent/logging_spec.rb +15 -14
  887. data/spec/integration/application/apply_spec.rb +432 -29
  888. data/spec/integration/application/doc_spec.rb +0 -0
  889. data/spec/integration/application/lookup_spec.rb +155 -0
  890. data/spec/integration/configurer_spec.rb +0 -0
  891. data/spec/integration/data_binding_spec.rb +195 -0
  892. data/spec/integration/defaults_spec.rb +27 -2
  893. data/spec/integration/directory_environments_spec.rb +16 -0
  894. data/spec/integration/environments/default_manifest_spec.rb +16 -16
  895. data/spec/integration/environments/setting_hooks_spec.rb +1 -1
  896. data/spec/integration/environments/settings_spec.rb +32 -4
  897. data/spec/integration/faces/ca_spec.rb +0 -0
  898. data/spec/integration/faces/config_spec.rb +80 -0
  899. data/spec/integration/faces/documentation_spec.rb +1 -1
  900. data/spec/integration/faces/plugin_spec.rb +0 -4
  901. data/spec/integration/file_bucket/file_spec.rb +2 -2
  902. data/spec/integration/file_serving/fileset_spec.rb +0 -0
  903. data/spec/integration/file_serving/terminus_helper_spec.rb +0 -0
  904. data/spec/integration/file_system/uniquefile_spec.rb +29 -0
  905. data/spec/integration/indirector/catalog/compiler_spec.rb +0 -0
  906. data/spec/integration/indirector/direct_file_server_spec.rb +0 -0
  907. data/spec/integration/indirector/facts/facter_spec.rb +97 -0
  908. data/spec/integration/indirector/file_content/file_server_spec.rb +0 -0
  909. data/spec/integration/indirector/file_metadata/file_server_spec.rb +0 -0
  910. data/spec/integration/indirector/node/ldap_spec.rb +0 -0
  911. data/spec/integration/module_tool/tar/mini_spec.rb +28 -0
  912. data/spec/integration/network/formats_spec.rb +0 -0
  913. data/spec/integration/network/http/api/indirected_routes_spec.rb +33 -0
  914. data/spec/integration/node/environment_spec.rb +34 -0
  915. data/spec/integration/node/facts_spec.rb +0 -0
  916. data/spec/integration/node_spec.rb +0 -0
  917. data/spec/integration/parser/catalog_spec.rb +14 -2
  918. data/spec/integration/parser/collection_spec.rb +18 -0
  919. data/spec/integration/parser/compiler_spec.rb +877 -666
  920. data/spec/integration/parser/dynamic_scoping_spec.rb +67 -0
  921. data/spec/integration/parser/parameter_defaults_spec.rb +358 -0
  922. data/spec/integration/parser/pcore_resource_spec.rb +245 -0
  923. data/spec/integration/parser/resource_expressions_spec.rb +10 -5
  924. data/spec/integration/parser/scope_spec.rb +46 -7
  925. data/spec/integration/parser/undef_param_spec.rb +9 -1
  926. data/spec/integration/provider/mailalias/aliases_spec.rb +0 -0
  927. data/spec/integration/provider/mount_spec.rb +23 -36
  928. data/spec/integration/provider/service/init_spec.rb +0 -0
  929. data/spec/integration/provider/service/windows_spec.rb +3 -2
  930. data/spec/integration/provider/ssh_authorized_key_spec.rb +0 -0
  931. data/spec/integration/provider/yumrepo_spec.rb +4 -1
  932. data/spec/integration/reference/providers_spec.rb +0 -0
  933. data/spec/integration/reports_spec.rb +0 -0
  934. data/spec/integration/resource/catalog_spec.rb +1 -1
  935. data/spec/integration/resource/type_collection_spec.rb +8 -0
  936. data/spec/integration/ssl/certificate_authority_spec.rb +0 -1
  937. data/spec/integration/ssl/certificate_request_spec.rb +0 -1
  938. data/spec/integration/ssl/certificate_revocation_list_spec.rb +0 -1
  939. data/spec/integration/ssl/host_spec.rb +0 -1
  940. data/spec/integration/test/test_helper_spec.rb +32 -0
  941. data/spec/integration/transaction/report_spec.rb +682 -0
  942. data/spec/integration/transaction_spec.rb +126 -2
  943. data/spec/integration/type/exec_spec.rb +0 -0
  944. data/spec/integration/type/file_spec.rb +553 -51
  945. data/spec/integration/type/package_spec.rb +72 -1
  946. data/spec/integration/type/tidy_spec.rb +21 -9
  947. data/spec/integration/type_spec.rb +0 -0
  948. data/spec/integration/util/autoload_spec.rb +0 -0
  949. data/spec/integration/util/execution_spec.rb +30 -0
  950. data/spec/integration/util/rdoc/parser_spec.rb +1 -1
  951. data/spec/integration/util/settings_spec.rb +26 -0
  952. data/spec/integration/util/windows/adsi_spec.rb +99 -0
  953. data/spec/integration/util/windows/principal_spec.rb +250 -0
  954. data/spec/integration/util/windows/process_spec.rb +35 -2
  955. data/spec/{unit → integration}/util/windows/registry_spec.rb +92 -2
  956. data/spec/integration/util/windows/security_spec.rb +75 -21
  957. data/spec/integration/util/windows/user_spec.rb +27 -5
  958. data/spec/integration/util_spec.rb +49 -27
  959. data/spec/lib/matchers/include_in_order.rb +2 -3
  960. data/spec/lib/matchers/resource.rb +22 -1
  961. data/spec/lib/puppet/face/1.0.0/huzzah.rb +0 -0
  962. data/spec/lib/puppet/face/basetest.rb +0 -0
  963. data/spec/lib/puppet/face/huzzah.rb +0 -0
  964. data/spec/lib/puppet_spec/compiler.rb +32 -3
  965. data/spec/lib/puppet_spec/files.rb +16 -2
  966. data/spec/lib/puppet_spec/fixtures.rb +0 -0
  967. data/spec/lib/puppet_spec/matchers.rb +6 -4
  968. data/spec/lib/puppet_spec/module_tool/shared_functions.rb +2 -2
  969. data/spec/lib/puppet_spec/module_tool/stub_source.rb +1 -1
  970. data/spec/lib/puppet_spec/network.rb +12 -8
  971. data/spec/lib/puppet_spec/pops.rb +13 -0
  972. data/spec/lib/puppet_spec/unindent.rb +5 -0
  973. data/spec/lib/puppet_spec/verbose.rb +0 -0
  974. data/spec/shared_behaviours/all_parsedfile_providers.rb +0 -0
  975. data/spec/shared_behaviours/file_server_terminus.rb +0 -0
  976. data/spec/shared_behaviours/file_serving.rb +0 -0
  977. data/spec/shared_behaviours/iterative_functions.rb +9 -9
  978. data/spec/shared_behaviours/memory_terminus.rb +0 -0
  979. data/spec/shared_behaviours/path_parameters.rb +0 -0
  980. data/spec/shared_behaviours/things_that_declare_options.rb +0 -0
  981. data/spec/shared_contexts/types_setup.rb +106 -0
  982. data/spec/shared_examples/rhel_package_provider.rb +357 -0
  983. data/spec/spec_helper.rb +16 -2
  984. data/spec/unit/agent/locker_spec.rb +4 -4
  985. data/spec/unit/agent_spec.rb +12 -46
  986. data/spec/unit/application/agent_spec.rb +15 -0
  987. data/spec/unit/application/apply_spec.rb +31 -1
  988. data/spec/unit/application/cert_spec.rb +20 -0
  989. data/spec/unit/application/certificate_spec.rb +0 -0
  990. data/spec/unit/application/config_spec.rb +0 -0
  991. data/spec/unit/application/describe_spec.rb +0 -0
  992. data/spec/unit/application/device_spec.rb +0 -0
  993. data/spec/unit/application/doc_spec.rb +0 -0
  994. data/spec/unit/application/face_base_spec.rb +16 -0
  995. data/spec/unit/application/facts_spec.rb +0 -0
  996. data/spec/unit/application/filebucket_spec.rb +88 -2
  997. data/spec/unit/application/indirection_base_spec.rb +0 -0
  998. data/spec/unit/application/inspect_spec.rb +19 -8
  999. data/spec/unit/application/lookup_spec.rb +532 -0
  1000. data/spec/unit/application/master_spec.rb +33 -7
  1001. data/spec/unit/application/resource_spec.rb +0 -0
  1002. data/spec/unit/application_spec.rb +3 -3
  1003. data/spec/unit/capability_spec.rb +416 -0
  1004. data/spec/unit/configurer/downloader_factory_spec.rb +0 -0
  1005. data/spec/unit/configurer/downloader_spec.rb +5 -5
  1006. data/spec/unit/configurer/fact_handler_spec.rb +0 -0
  1007. data/spec/unit/configurer/plugin_handler_spec.rb +18 -15
  1008. data/spec/unit/configurer_spec.rb +336 -39
  1009. data/spec/unit/confine/exists_spec.rb +0 -0
  1010. data/spec/unit/confine/false_spec.rb +0 -0
  1011. data/spec/unit/confine/feature_spec.rb +0 -0
  1012. data/spec/unit/confine/true_spec.rb +0 -0
  1013. data/spec/unit/confine/variable_spec.rb +0 -0
  1014. data/spec/unit/confine_collection_spec.rb +0 -0
  1015. data/spec/unit/confine_spec.rb +0 -0
  1016. data/spec/unit/confiner_spec.rb +0 -0
  1017. data/spec/unit/context/trusted_information_spec.rb +24 -1
  1018. data/spec/unit/daemon_spec.rb +18 -8
  1019. data/spec/unit/data_providers/{sample_data_provider_spec.rb → custom_data_provider_spec.rb} +14 -16
  1020. data/spec/unit/data_providers/function_data_provider_spec.rb +30 -3
  1021. data/spec/unit/data_providers/hiera_data_provider_spec.rb +361 -0
  1022. data/spec/unit/defaults_spec.rb +47 -0
  1023. data/spec/unit/environments_spec.rb +26 -4
  1024. data/spec/unit/external/pson_spec.rb +0 -0
  1025. data/spec/unit/face/ca_spec.rb +10 -0
  1026. data/spec/unit/face/catalog_spec.rb +0 -0
  1027. data/spec/unit/face/certificate_request_spec.rb +10 -0
  1028. data/spec/unit/face/certificate_revocation_list_spec.rb +10 -0
  1029. data/spec/unit/face/certificate_spec.rb +0 -0
  1030. data/spec/unit/face/config_spec.rb +47 -0
  1031. data/spec/unit/face/epp_face_spec.rb +24 -5
  1032. data/spec/unit/face/facts_spec.rb +0 -0
  1033. data/spec/unit/face/file_spec.rb +4 -0
  1034. data/spec/unit/face/generate_spec.rb +230 -0
  1035. data/spec/unit/face/help_spec.rb +70 -0
  1036. data/spec/unit/face/key_spec.rb +10 -0
  1037. data/spec/unit/face/node_spec.rb +1 -1
  1038. data/spec/unit/face/parser_spec.rb +49 -2
  1039. data/spec/unit/face/plugin_spec.rb +29 -4
  1040. data/spec/unit/face/status_spec.rb +10 -0
  1041. data/spec/unit/face_spec.rb +0 -0
  1042. data/spec/unit/file_bucket/dipper_spec.rb +210 -1
  1043. data/spec/unit/file_bucket/file_spec.rb +0 -0
  1044. data/spec/unit/file_serving/base_spec.rb +0 -0
  1045. data/spec/unit/file_serving/configuration/parser_spec.rb +25 -30
  1046. data/spec/unit/file_serving/configuration_spec.rb +1 -1
  1047. data/spec/unit/file_serving/content_spec.rb +0 -0
  1048. data/spec/unit/file_serving/fileset_spec.rb +0 -0
  1049. data/spec/unit/file_serving/http_metadata_spec.rb +85 -0
  1050. data/spec/unit/file_serving/metadata_spec.rb +51 -1
  1051. data/spec/unit/file_serving/mount/file_spec.rb +0 -0
  1052. data/spec/unit/file_serving/mount/modules_spec.rb +0 -0
  1053. data/spec/unit/file_serving/mount/pluginfacts_spec.rb +0 -0
  1054. data/spec/unit/file_serving/mount/plugins_spec.rb +0 -0
  1055. data/spec/unit/file_serving/mount_spec.rb +0 -0
  1056. data/spec/unit/file_serving/terminus_helper_spec.rb +2 -3
  1057. data/spec/unit/file_serving/terminus_selector_spec.rb +12 -2
  1058. data/spec/unit/file_system/uniquefile_spec.rb +20 -0
  1059. data/spec/unit/file_system_spec.rb +373 -6
  1060. data/spec/unit/functions/assert_type_spec.rb +48 -8
  1061. data/spec/unit/functions/binary_file_spec.rb +46 -0
  1062. data/spec/unit/functions/break_spec.rb +89 -0
  1063. data/spec/unit/{parser/functions → functions}/contain_spec.rb +68 -3
  1064. data/spec/unit/functions/defined_spec.rb +289 -0
  1065. data/spec/unit/functions/dig_spec.rb +58 -0
  1066. data/spec/unit/functions/epp_spec.rb +17 -9
  1067. data/spec/unit/functions/filter_spec.rb +18 -0
  1068. data/spec/unit/functions/find_file_spec.rb +69 -0
  1069. data/spec/unit/functions/hiera_spec.rb +261 -49
  1070. data/spec/unit/functions/include_spec.rb +175 -0
  1071. data/spec/unit/functions/inline_epp_spec.rb +4 -4
  1072. data/spec/unit/functions/lest_spec.rb +34 -0
  1073. data/spec/unit/functions/logging_spec.rb +54 -0
  1074. data/spec/unit/functions/lookup_fixture_spec.rb +693 -0
  1075. data/spec/unit/functions/lookup_spec.rb +1352 -272
  1076. data/spec/unit/functions/match_spec.rb +2 -2
  1077. data/spec/unit/functions/new_spec.rb +694 -0
  1078. data/spec/unit/functions/next_spec.rb +93 -0
  1079. data/spec/unit/functions/regsubst_spec.rb +30 -9
  1080. data/spec/unit/functions/require_spec.rb +83 -0
  1081. data/spec/unit/functions/return_spec.rb +105 -0
  1082. data/spec/unit/functions/reverse_each_spec.rb +108 -0
  1083. data/spec/unit/functions/scanf_spec.rb +1 -1
  1084. data/spec/unit/{parser/functions → functions}/shared.rb +15 -12
  1085. data/spec/unit/functions/split_spec.rb +11 -3
  1086. data/spec/unit/functions/step_spec.rb +113 -0
  1087. data/spec/unit/functions/strftime_spec.rb +152 -0
  1088. data/spec/unit/functions/then_spec.rb +40 -0
  1089. data/spec/unit/functions/type_spec.rb +35 -0
  1090. data/spec/unit/functions/unwrap_spec.rb +29 -0
  1091. data/spec/unit/functions/versioncmp_spec.rb +36 -0
  1092. data/spec/unit/functions4_spec.rb +321 -71
  1093. data/spec/unit/graph/rb_tree_map_spec.rb +1 -1
  1094. data/spec/unit/graph/relationship_graph_spec.rb +0 -0
  1095. data/spec/unit/graph/sequential_prioritizer_spec.rb +1 -1
  1096. data/spec/unit/graph/simple_graph_spec.rb +1 -1
  1097. data/spec/unit/hiera/scope_spec.rb +6 -3
  1098. data/spec/unit/hiera_puppet_spec.rb +49 -8
  1099. data/spec/unit/indirector/catalog/compiler_spec.rb +752 -8
  1100. data/spec/unit/indirector/catalog/json_spec.rb +0 -0
  1101. data/spec/unit/indirector/catalog/msgpack_spec.rb +0 -0
  1102. data/spec/unit/indirector/catalog/rest_spec.rb +0 -0
  1103. data/spec/unit/indirector/catalog/static_compiler_spec.rb +38 -20
  1104. data/spec/unit/indirector/catalog/store_configs_spec.rb +0 -0
  1105. data/spec/unit/indirector/catalog/yaml_spec.rb +0 -0
  1106. data/spec/unit/indirector/certificate/ca_spec.rb +0 -0
  1107. data/spec/unit/indirector/certificate/disabled_ca_spec.rb +0 -0
  1108. data/spec/unit/indirector/certificate/file_spec.rb +0 -0
  1109. data/spec/unit/indirector/certificate/rest_spec.rb +0 -0
  1110. data/spec/unit/indirector/certificate_request/ca_spec.rb +0 -0
  1111. data/spec/unit/indirector/certificate_request/disabled_ca_spec.rb +0 -0
  1112. data/spec/unit/indirector/certificate_request/file_spec.rb +0 -0
  1113. data/spec/unit/indirector/certificate_request/rest_spec.rb +0 -0
  1114. data/spec/unit/indirector/certificate_revocation_list/ca_spec.rb +0 -0
  1115. data/spec/unit/indirector/certificate_revocation_list/disabled_ca_spec.rb +0 -0
  1116. data/spec/unit/indirector/certificate_revocation_list/file_spec.rb +0 -0
  1117. data/spec/unit/indirector/certificate_revocation_list/rest_spec.rb +0 -0
  1118. data/spec/unit/indirector/certificate_status/file_spec.rb +0 -0
  1119. data/spec/unit/indirector/certificate_status/rest_spec.rb +0 -0
  1120. data/spec/unit/indirector/code_spec.rb +0 -0
  1121. data/spec/unit/indirector/data_binding/none_spec.rb +2 -2
  1122. data/spec/unit/indirector/direct_file_server_spec.rb +0 -0
  1123. data/spec/unit/indirector/envelope_spec.rb +0 -0
  1124. data/spec/unit/indirector/exec_spec.rb +0 -0
  1125. data/spec/unit/indirector/face_spec.rb +10 -2
  1126. data/spec/unit/indirector/facts/facter_spec.rb +7 -7
  1127. data/spec/unit/indirector/facts/network_device_spec.rb +0 -0
  1128. data/spec/unit/indirector/facts/store_configs_spec.rb +0 -0
  1129. data/spec/unit/indirector/facts/yaml_spec.rb +0 -0
  1130. data/spec/unit/indirector/file_bucket_file/file_spec.rb +53 -2
  1131. data/spec/unit/indirector/file_bucket_file/rest_spec.rb +0 -0
  1132. data/spec/unit/indirector/file_content/file_server_spec.rb +0 -0
  1133. data/spec/unit/indirector/file_content/file_spec.rb +0 -0
  1134. data/spec/unit/indirector/file_content/rest_spec.rb +0 -0
  1135. data/spec/unit/indirector/file_metadata/file_server_spec.rb +0 -0
  1136. data/spec/unit/indirector/file_metadata/file_spec.rb +0 -0
  1137. data/spec/unit/indirector/file_metadata/rest_spec.rb +0 -0
  1138. data/spec/unit/indirector/file_server_spec.rb +0 -0
  1139. data/spec/unit/indirector/indirection_spec.rb +13 -2
  1140. data/spec/unit/indirector/json_spec.rb +1 -1
  1141. data/spec/unit/indirector/key/ca_spec.rb +0 -0
  1142. data/spec/unit/indirector/key/disabled_ca_spec.rb +0 -0
  1143. data/spec/unit/indirector/key/file_spec.rb +0 -0
  1144. data/spec/unit/indirector/ldap_spec.rb +0 -0
  1145. data/spec/unit/indirector/memory_spec.rb +0 -0
  1146. data/spec/unit/indirector/msgpack_spec.rb +11 -1
  1147. data/spec/unit/indirector/node/exec_spec.rb +0 -0
  1148. data/spec/unit/indirector/node/ldap_spec.rb +0 -0
  1149. data/spec/unit/indirector/node/memory_spec.rb +0 -0
  1150. data/spec/unit/indirector/node/msgpack_spec.rb +0 -0
  1151. data/spec/unit/indirector/node/plain_spec.rb +0 -0
  1152. data/spec/unit/indirector/node/rest_spec.rb +0 -0
  1153. data/spec/unit/indirector/node/store_configs_spec.rb +0 -0
  1154. data/spec/unit/indirector/node/yaml_spec.rb +0 -0
  1155. data/spec/unit/indirector/plain_spec.rb +0 -0
  1156. data/spec/unit/indirector/report/msgpack_spec.rb +0 -0
  1157. data/spec/unit/indirector/report/processor_spec.rb +0 -0
  1158. data/spec/unit/indirector/report/rest_spec.rb +0 -0
  1159. data/spec/unit/indirector/report/yaml_spec.rb +0 -0
  1160. data/spec/unit/indirector/request_spec.rb +17 -8
  1161. data/spec/unit/indirector/resource/ral_spec.rb +0 -0
  1162. data/spec/unit/indirector/resource/store_configs_spec.rb +0 -0
  1163. data/spec/unit/indirector/resource_type/parser_spec.rb +5 -0
  1164. data/spec/unit/indirector/resource_type/rest_spec.rb +0 -0
  1165. data/spec/unit/indirector/rest_spec.rb +107 -9
  1166. data/spec/unit/indirector/ssl_file_spec.rb +1 -1
  1167. data/spec/unit/indirector/status/rest_spec.rb +0 -0
  1168. data/spec/unit/indirector/store_configs_spec.rb +0 -0
  1169. data/spec/unit/indirector/terminus_spec.rb +0 -0
  1170. data/spec/unit/indirector/yaml_spec.rb +1 -1
  1171. data/spec/unit/indirector_spec.rb +0 -0
  1172. data/spec/unit/info_service_spec.rb +298 -0
  1173. data/spec/unit/interface/action_builder_spec.rb +0 -0
  1174. data/spec/unit/interface/action_manager_spec.rb +0 -0
  1175. data/spec/unit/interface/action_spec.rb +0 -0
  1176. data/spec/unit/interface/documentation_spec.rb +0 -0
  1177. data/spec/unit/interface/face_collection_spec.rb +0 -0
  1178. data/spec/unit/interface/option_builder_spec.rb +0 -0
  1179. data/spec/unit/interface/option_spec.rb +0 -0
  1180. data/spec/unit/interface_spec.rb +27 -0
  1181. data/spec/unit/man_spec.rb +1 -1
  1182. data/spec/unit/module_spec.rb +84 -33
  1183. data/spec/unit/module_tool/application_spec.rb +1 -1
  1184. data/spec/unit/module_tool/applications/builder_spec.rb +44 -9
  1185. data/spec/unit/module_tool/applications/installer_spec.rb +11 -2
  1186. data/spec/unit/module_tool/applications/unpacker_spec.rb +2 -1
  1187. data/spec/unit/module_tool/applications/upgrader_spec.rb +9 -1
  1188. data/spec/unit/module_tool/installed_modules_spec.rb +6 -6
  1189. data/spec/unit/module_tool/metadata_spec.rb +31 -2
  1190. data/spec/unit/module_tool/tar/mini_spec.rb +3 -3
  1191. data/spec/unit/module_tool_spec.rb +3 -3
  1192. data/spec/unit/network/auth_config_parser_spec.rb +16 -0
  1193. data/spec/unit/network/authconfig_spec.rb +62 -32
  1194. data/spec/unit/network/authorization_spec.rb +30 -2
  1195. data/spec/unit/network/authstore_spec.rb +2 -2
  1196. data/spec/unit/network/format_handler_spec.rb +0 -0
  1197. data/spec/unit/network/format_spec.rb +0 -0
  1198. data/spec/unit/network/formats_spec.rb +0 -0
  1199. data/spec/unit/network/http/api/indirected_routes_spec.rb +70 -71
  1200. data/spec/unit/network/http/api/master/v3/environment_spec.rb +60 -0
  1201. data/spec/unit/network/http/api/master/v3_spec.rb +22 -4
  1202. data/spec/unit/network/http/compression_spec.rb +1 -1
  1203. data/spec/unit/network/http/connection_spec.rb +25 -19
  1204. data/spec/unit/network/http/error_spec.rb +2 -1
  1205. data/spec/unit/network/http/factory_spec.rb +14 -0
  1206. data/spec/unit/network/http/handler_spec.rb +11 -8
  1207. data/spec/unit/network/http/nocache_pool_spec.rb +0 -0
  1208. data/spec/unit/network/http/pool_spec.rb +30 -0
  1209. data/spec/unit/network/http/rack/rest_spec.rb +7 -0
  1210. data/spec/unit/network/http/rack_spec.rb +0 -0
  1211. data/spec/unit/network/http/session_spec.rb +0 -0
  1212. data/spec/unit/network/http/site_spec.rb +0 -0
  1213. data/spec/unit/network/http/webrick/rest_spec.rb +0 -0
  1214. data/spec/unit/network/http/webrick_spec.rb +1 -1
  1215. data/spec/unit/network/http_pool_spec.rb +0 -0
  1216. data/spec/unit/network/http_spec.rb +0 -0
  1217. data/spec/unit/network/resolver_spec.rb +0 -0
  1218. data/spec/unit/network/rights_spec.rb +4 -4
  1219. data/spec/unit/network/server_spec.rb +0 -0
  1220. data/spec/unit/node/environment_spec.rb +10 -0
  1221. data/spec/unit/node/facts_spec.rb +0 -0
  1222. data/spec/unit/node_spec.rb +41 -0
  1223. data/spec/unit/other/selinux_spec.rb +0 -0
  1224. data/spec/unit/parameter/path_spec.rb +0 -0
  1225. data/spec/unit/parameter/value_collection_spec.rb +0 -0
  1226. data/spec/unit/parameter/value_spec.rb +0 -0
  1227. data/spec/unit/parameter_spec.rb +11 -0
  1228. data/spec/unit/parser/ast/leaf_spec.rb +1 -1
  1229. data/spec/unit/parser/compiler_spec.rb +120 -33
  1230. data/spec/unit/parser/environment_compiler_spec.rb +688 -0
  1231. data/spec/unit/parser/files_spec.rb +0 -0
  1232. data/spec/unit/parser/functions/create_resources_spec.rb +86 -5
  1233. data/spec/unit/parser/functions/digest_spec.rb +0 -0
  1234. data/spec/unit/parser/functions/fail_spec.rb +0 -0
  1235. data/spec/unit/parser/functions/file_spec.rb +7 -1
  1236. data/spec/unit/parser/functions/fqdn_rand_spec.rb +6 -2
  1237. data/spec/unit/parser/functions/generate_spec.rb +3 -12
  1238. data/spec/unit/parser/functions/hiera_array_spec.rb +1 -1
  1239. data/spec/unit/parser/functions/hiera_hash_spec.rb +1 -1
  1240. data/spec/unit/parser/functions/hiera_include_spec.rb +1 -1
  1241. data/spec/unit/parser/functions/hiera_spec.rb +1 -1
  1242. data/spec/unit/parser/functions/inline_template_spec.rb +0 -0
  1243. data/spec/unit/parser/functions/lookup_spec.rb +1 -1
  1244. data/spec/unit/parser/functions/realize_spec.rb +0 -0
  1245. data/spec/unit/parser/functions/regsubst_spec.rb +1 -1
  1246. data/spec/unit/parser/functions/scanf_spec.rb +0 -0
  1247. data/spec/unit/parser/functions/shellquote_spec.rb +0 -0
  1248. data/spec/unit/parser/functions/split_spec.rb +1 -1
  1249. data/spec/unit/parser/functions/sprintf_spec.rb +0 -0
  1250. data/spec/unit/parser/functions/tag_spec.rb +0 -0
  1251. data/spec/unit/parser/functions/template_spec.rb +1 -1
  1252. data/spec/unit/parser/functions/versioncmp_spec.rb +0 -0
  1253. data/spec/unit/parser/functions_spec.rb +0 -0
  1254. data/spec/unit/parser/relationship_spec.rb +0 -0
  1255. data/spec/unit/parser/resource/param_spec.rb +0 -0
  1256. data/spec/unit/parser/resource_spec.rb +31 -32
  1257. data/spec/unit/parser/scope_spec.rb +85 -18
  1258. data/spec/unit/parser/templatewrapper_spec.rb +1 -1
  1259. data/spec/unit/parser/type_loader_spec.rb +0 -0
  1260. data/spec/unit/pops/binder/config/binder_config_spec.rb +1 -1
  1261. data/spec/unit/pops/binder/injector_spec.rb +3 -3
  1262. data/spec/unit/pops/evaluator/access_ops_spec.rb +133 -18
  1263. data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +170 -0
  1264. data/spec/unit/pops/evaluator/basic_expressions_spec.rb +1 -2
  1265. data/spec/unit/pops/evaluator/comparison_ops_spec.rb +3 -0
  1266. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +155 -41
  1267. data/spec/unit/pops/evaluator/evaluator_rspec_helper.rb +4 -4
  1268. data/spec/unit/pops/evaluator/json_strict_literal_evaluator_spec.rb +63 -0
  1269. data/spec/unit/pops/evaluator/literal_evaluator_spec.rb +43 -0
  1270. data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +133 -0
  1271. data/spec/unit/pops/evaluator/variables_spec.rb +2 -2
  1272. data/spec/unit/pops/issues_spec.rb +16 -16
  1273. data/spec/unit/pops/label_provider_spec.rb +5 -1
  1274. data/spec/unit/pops/loaders/dependency_loader_spec.rb +66 -1
  1275. data/spec/unit/pops/loaders/environment_loader_spec.rb +172 -0
  1276. data/spec/unit/pops/loaders/loader_paths_spec.rb +1 -1
  1277. data/spec/unit/pops/loaders/loaders_spec.rb +292 -51
  1278. data/spec/unit/pops/loaders/module_loaders_spec.rb +2 -2
  1279. data/spec/unit/pops/loaders/static_loader_spec.rb +83 -18
  1280. data/spec/unit/pops/lookup/context_spec.rb +178 -0
  1281. data/spec/unit/pops/lookup/interpolation_spec.rb +333 -0
  1282. data/spec/unit/pops/lookup/lookup_spec.rb +197 -0
  1283. data/spec/unit/pops/merge_strategy_spec.rb +18 -0
  1284. data/spec/unit/pops/migration_spec.rb +53 -0
  1285. data/spec/unit/pops/parser/lexer2_spec.rb +369 -10
  1286. data/spec/unit/pops/parser/parse_application_spec.rb +35 -0
  1287. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +31 -0
  1288. data/spec/unit/pops/parser/parse_calls_spec.rb +25 -0
  1289. data/spec/unit/pops/parser/parse_capabilities_spec.rb +40 -0
  1290. data/spec/unit/pops/parser/parse_functions_spec.rb +19 -0
  1291. data/spec/unit/pops/parser/parse_heredoc_spec.rb +26 -0
  1292. data/spec/unit/pops/parser/parse_lambda_spec.rb +19 -0
  1293. data/spec/unit/pops/parser/parse_site_spec.rb +51 -0
  1294. data/spec/unit/pops/parser/parser_rspec_helper.rb +6 -0
  1295. data/spec/unit/pops/parser/parser_spec.rb +28 -0
  1296. data/spec/unit/pops/parser/source_pos_adapter_spec.rb +26 -0
  1297. data/spec/unit/pops/puppet_stack_spec.rb +79 -0
  1298. data/spec/unit/pops/resource/resource_type_impl_spec.rb +111 -0
  1299. data/spec/unit/pops/serialization/packer_spec.rb +154 -0
  1300. data/spec/unit/pops/serialization/rgen_spec.rb +88 -0
  1301. data/spec/unit/pops/serialization/serialization_spec.rb +314 -0
  1302. data/spec/unit/pops/time/timespan_spec.rb +121 -0
  1303. data/spec/unit/pops/types/enumeration_spec.rb +13 -12
  1304. data/spec/unit/pops/types/iterable_spec.rb +262 -0
  1305. data/spec/unit/pops/types/p_binary_type_spec.rb +243 -0
  1306. data/spec/unit/pops/types/p_object_type_spec.rb +1167 -0
  1307. data/spec/unit/pops/types/p_sem_ver_type_spec.rb +327 -0
  1308. data/spec/unit/pops/types/p_sensitive_type_spec.rb +169 -0
  1309. data/spec/unit/pops/types/p_timespan_type_spec.rb +273 -0
  1310. data/spec/unit/pops/types/p_timestamp_type_spec.rb +311 -0
  1311. data/spec/unit/pops/types/p_type_set_type_spec.rb +453 -0
  1312. data/spec/unit/pops/types/recursion_guard_spec.rb +93 -0
  1313. data/spec/unit/pops/types/ruby_generator_spec.rb +577 -0
  1314. data/spec/unit/pops/types/string_converter_spec.rb +1029 -0
  1315. data/spec/unit/pops/types/type_acceptor_spec.rb +106 -0
  1316. data/spec/unit/pops/types/type_asserter_spec.rb +43 -0
  1317. data/spec/unit/pops/types/type_calculator_spec.rb +1107 -871
  1318. data/spec/unit/pops/types/type_factory_spec.rb +132 -91
  1319. data/spec/unit/pops/types/type_formatter_spec.rb +396 -0
  1320. data/spec/unit/pops/types/type_mismatch_describer_spec.rb +219 -0
  1321. data/spec/unit/pops/types/type_parser_spec.rb +206 -36
  1322. data/spec/unit/pops/types/types_spec.rb +600 -0
  1323. data/spec/unit/pops/validation_spec.rb +66 -0
  1324. data/spec/unit/pops/validator/validator_spec.rb +400 -18
  1325. data/spec/unit/property/ensure_spec.rb +0 -0
  1326. data/spec/unit/property/keyvalue_spec.rb +0 -0
  1327. data/spec/unit/property/list_spec.rb +0 -0
  1328. data/spec/unit/property/ordered_list_spec.rb +0 -0
  1329. data/spec/unit/property_spec.rb +49 -12
  1330. data/spec/unit/provider/augeas/augeas_spec.rb +59 -0
  1331. data/spec/unit/provider/cisco_spec.rb +0 -0
  1332. data/spec/unit/provider/command_spec.rb +0 -0
  1333. data/spec/unit/provider/cron/crontab_spec.rb +0 -0
  1334. data/spec/unit/provider/cron/parsed_spec.rb +1 -0
  1335. data/spec/unit/provider/exec/posix_spec.rb +0 -0
  1336. data/spec/unit/provider/exec/shell_spec.rb +0 -0
  1337. data/spec/unit/provider/exec/windows_spec.rb +0 -0
  1338. data/spec/unit/provider/exec_spec.rb +0 -0
  1339. data/spec/unit/provider/file/posix_spec.rb +0 -0
  1340. data/spec/unit/provider/file/windows_spec.rb +0 -0
  1341. data/spec/unit/provider/group/directoryservice_spec.rb +33 -0
  1342. data/spec/unit/provider/group/groupadd_spec.rb +0 -0
  1343. data/spec/unit/provider/group/ldap_spec.rb +0 -0
  1344. data/spec/unit/provider/group/pw_spec.rb +0 -0
  1345. data/spec/unit/provider/group/windows_adsi_spec.rb +88 -18
  1346. data/spec/unit/provider/host/parsed_spec.rb +0 -0
  1347. data/spec/unit/provider/interface/cisco_spec.rb +0 -0
  1348. data/spec/unit/provider/ldap_spec.rb +0 -0
  1349. data/spec/unit/provider/macauthorization_spec.rb +5 -2
  1350. data/spec/unit/provider/mcx/mcxcontent_spec.rb +0 -0
  1351. data/spec/unit/provider/mount/parsed_spec.rb +31 -5
  1352. data/spec/unit/provider/mount_spec.rb +0 -0
  1353. data/spec/unit/provider/naginator_spec.rb +0 -0
  1354. data/spec/unit/provider/nameservice/directoryservice_spec.rb +14 -19
  1355. data/spec/unit/provider/nameservice_spec.rb +42 -0
  1356. data/spec/unit/provider/network_device_spec.rb +0 -0
  1357. data/spec/unit/provider/package/aix_spec.rb +0 -0
  1358. data/spec/unit/provider/package/appdmg_spec.rb +3 -3
  1359. data/spec/unit/provider/package/apt_spec.rb +5 -0
  1360. data/spec/unit/provider/package/aptitude_spec.rb +0 -0
  1361. data/spec/unit/provider/package/aptrpm_spec.rb +3 -3
  1362. data/spec/unit/provider/package/base_spec.rb +18 -0
  1363. data/spec/unit/provider/package/dnf_spec.rb +30 -0
  1364. data/spec/unit/provider/package/dpkg_spec.rb +0 -0
  1365. data/spec/unit/provider/package/freebsd_spec.rb +0 -0
  1366. data/spec/unit/provider/package/gem_spec.rb +77 -0
  1367. data/spec/unit/provider/package/hpux_spec.rb +0 -0
  1368. data/spec/unit/provider/package/macports_spec.rb +0 -0
  1369. data/spec/unit/provider/package/nim_spec.rb +6 -6
  1370. data/spec/unit/provider/package/openbsd_spec.rb +0 -0
  1371. data/spec/unit/provider/package/opkg_spec.rb +0 -0
  1372. data/spec/unit/provider/package/pacman_spec.rb +55 -0
  1373. data/spec/unit/provider/package/pip3_spec.rb +22 -0
  1374. data/spec/unit/provider/package/pip_spec.rb +173 -46
  1375. data/spec/unit/provider/package/pkg_spec.rb +137 -99
  1376. data/spec/unit/provider/package/pkgdmg_spec.rb +32 -8
  1377. data/spec/unit/provider/package/pkgin_spec.rb +23 -13
  1378. data/spec/unit/provider/package/pkgng_spec.rb +186 -0
  1379. data/spec/unit/provider/package/pkgutil_spec.rb +0 -0
  1380. data/spec/unit/provider/package/portage_spec.rb +64 -8
  1381. data/spec/unit/provider/package/puppet_gem_spec.rb +0 -0
  1382. data/spec/unit/provider/package/rpm_spec.rb +168 -11
  1383. data/spec/unit/provider/package/sun_spec.rb +0 -0
  1384. data/spec/unit/provider/package/tdnf_spec.rb +18 -0
  1385. data/spec/unit/provider/package/windows/exe_package_spec.rb +0 -1
  1386. data/spec/unit/provider/package/windows/msi_package_spec.rb +0 -1
  1387. data/spec/unit/provider/package/windows/package_spec.rb +45 -1
  1388. data/spec/unit/provider/package/windows_spec.rb +8 -2
  1389. data/spec/unit/provider/package/yum_spec.rb +29 -466
  1390. data/spec/unit/provider/package/zypper_spec.rb +64 -19
  1391. data/spec/unit/provider/parsedfile_spec.rb +0 -0
  1392. data/spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb +523 -70
  1393. data/spec/unit/provider/selboolean_spec.rb +0 -0
  1394. data/spec/unit/provider/selmodule_spec.rb +0 -0
  1395. data/spec/unit/provider/service/base_spec.rb +44 -27
  1396. data/spec/unit/provider/service/bsd_spec.rb +130 -0
  1397. data/spec/unit/provider/service/daemontools_spec.rb +0 -0
  1398. data/spec/unit/provider/service/debian_spec.rb +38 -0
  1399. data/spec/unit/provider/service/freebsd_spec.rb +17 -0
  1400. data/spec/unit/provider/service/gentoo_spec.rb +8 -0
  1401. data/spec/unit/provider/service/init_spec.rb +42 -1
  1402. data/spec/unit/provider/service/launchd_spec.rb +124 -25
  1403. data/spec/unit/provider/service/openbsd_spec.rb +1 -0
  1404. data/spec/unit/provider/service/openrc_spec.rb +7 -0
  1405. data/spec/unit/provider/service/openwrt_spec.rb +0 -0
  1406. data/spec/unit/provider/service/rcng_spec.rb +41 -0
  1407. data/spec/unit/provider/service/redhat_spec.rb +9 -1
  1408. data/spec/unit/provider/service/runit_spec.rb +0 -0
  1409. data/spec/unit/provider/service/smf_spec.rb +77 -13
  1410. data/spec/unit/provider/service/src_spec.rb +26 -4
  1411. data/spec/unit/provider/service/systemd_spec.rb +228 -39
  1412. data/spec/unit/provider/service/upstart_spec.rb +64 -0
  1413. data/spec/unit/provider/service/windows_spec.rb +0 -0
  1414. data/spec/unit/provider/ssh_authorized_key/parsed_spec.rb +2 -1
  1415. data/spec/unit/provider/sshkey/parsed_spec.rb +42 -18
  1416. data/spec/unit/provider/user/aix_spec.rb +7 -0
  1417. data/spec/unit/provider/user/directoryservice_spec.rb +164 -83
  1418. data/spec/unit/provider/user/hpux_spec.rb +0 -0
  1419. data/spec/unit/provider/user/ldap_spec.rb +0 -0
  1420. data/spec/unit/provider/user/openbsd_spec.rb +0 -0
  1421. data/spec/unit/provider/user/pw_spec.rb +0 -0
  1422. data/spec/unit/provider/user/user_role_add_spec.rb +0 -0
  1423. data/spec/unit/provider/user/useradd_spec.rb +1 -0
  1424. data/spec/unit/provider/user/windows_adsi_spec.rb +160 -7
  1425. data/spec/unit/provider/vlan/cisco_spec.rb +0 -0
  1426. data/spec/unit/provider/yumrepo/inifile_spec.rb +16 -0
  1427. data/spec/unit/provider/zfs/zfs_spec.rb +0 -0
  1428. data/spec/unit/provider/zone/solaris_spec.rb +64 -12
  1429. data/spec/unit/provider/zpool/zpool_spec.rb +0 -0
  1430. data/spec/unit/provider_spec.rb +0 -0
  1431. data/spec/unit/puppet_spec.rb +15 -1
  1432. data/spec/unit/relationship_spec.rb +0 -0
  1433. data/spec/unit/reports/http_spec.rb +0 -0
  1434. data/spec/unit/reports/store_spec.rb +0 -0
  1435. data/spec/unit/reports_spec.rb +10 -0
  1436. data/spec/unit/resource/capability_finder_spec.rb +147 -0
  1437. data/spec/unit/resource/catalog_spec.rb +235 -10
  1438. data/spec/unit/resource/status_spec.rb +0 -0
  1439. data/spec/unit/resource/type_collection_spec.rb +23 -2
  1440. data/spec/unit/resource/type_spec.rb +161 -10
  1441. data/spec/unit/resource_spec.rb +137 -48
  1442. data/spec/unit/semver_spec.rb +14 -0
  1443. data/spec/unit/settings/directory_setting_spec.rb +0 -0
  1444. data/spec/unit/settings/duration_setting_spec.rb +0 -0
  1445. data/spec/unit/settings/environment_conf_spec.rb +18 -1
  1446. data/spec/unit/settings/file_setting_spec.rb +37 -0
  1447. data/spec/unit/settings/ini_file_spec.rb +58 -1
  1448. data/spec/unit/settings/path_setting_spec.rb +0 -0
  1449. data/spec/unit/settings/priority_setting_spec.rb +0 -0
  1450. data/spec/unit/settings_spec.rb +116 -3
  1451. data/spec/unit/ssl/base_spec.rb +0 -0
  1452. data/spec/unit/ssl/certificate_authority/interface_spec.rb +180 -13
  1453. data/spec/unit/ssl/certificate_authority_spec.rb +80 -26
  1454. data/spec/unit/ssl/certificate_factory_spec.rb +0 -0
  1455. data/spec/unit/ssl/certificate_request_spec.rb +1 -1
  1456. data/spec/unit/ssl/certificate_revocation_list_spec.rb +3 -3
  1457. data/spec/unit/ssl/certificate_spec.rb +0 -0
  1458. data/spec/unit/ssl/configuration_spec.rb +0 -0
  1459. data/spec/unit/ssl/host_spec.rb +3 -3
  1460. data/spec/unit/ssl/inventory_spec.rb +0 -0
  1461. data/spec/unit/ssl/key_spec.rb +0 -0
  1462. data/spec/unit/ssl/oids_spec.rb +24 -13
  1463. data/spec/unit/status_spec.rb +0 -0
  1464. data/spec/unit/transaction/additional_resource_generator_spec.rb +160 -31
  1465. data/spec/unit/transaction/event_manager_spec.rb +0 -0
  1466. data/spec/unit/transaction/event_spec.rb +3 -1
  1467. data/spec/unit/transaction/persistence_spec.rb +178 -0
  1468. data/spec/unit/transaction/report_spec.rb +138 -2
  1469. data/spec/unit/transaction/resource_harness_spec.rb +81 -37
  1470. data/spec/unit/transaction_spec.rb +50 -0
  1471. data/spec/unit/type/augeas_spec.rb +0 -0
  1472. data/spec/unit/type/component_spec.rb +0 -0
  1473. data/spec/unit/type/computer_spec.rb +0 -0
  1474. data/spec/unit/type/cron_spec.rb +0 -0
  1475. data/spec/unit/type/exec_spec.rb +16 -8
  1476. data/spec/unit/type/file/checksum_spec.rb +6 -0
  1477. data/spec/unit/type/file/checksum_value_spec.rb +286 -0
  1478. data/spec/unit/type/file/content_spec.rb +59 -208
  1479. data/spec/unit/type/file/ctime_spec.rb +0 -0
  1480. data/spec/unit/type/file/ensure_spec.rb +0 -0
  1481. data/spec/unit/type/file/group_spec.rb +0 -0
  1482. data/spec/unit/type/file/mode_spec.rb +0 -0
  1483. data/spec/unit/type/file/mtime_spec.rb +0 -0
  1484. data/spec/unit/type/file/owner_spec.rb +0 -0
  1485. data/spec/unit/type/file/selinux_spec.rb +0 -0
  1486. data/spec/unit/type/file/source_spec.rb +211 -119
  1487. data/spec/unit/type/file/type_spec.rb +0 -0
  1488. data/spec/unit/type/file_spec.rb +161 -34
  1489. data/spec/unit/type/filebucket_spec.rb +0 -0
  1490. data/spec/unit/type/group_spec.rb +0 -0
  1491. data/spec/unit/type/host_spec.rb +4 -4
  1492. data/spec/unit/type/interface_spec.rb +32 -0
  1493. data/spec/unit/type/k5login_spec.rb +0 -0
  1494. data/spec/unit/type/macauthorization_spec.rb +4 -1
  1495. data/spec/unit/type/mailalias_spec.rb +0 -0
  1496. data/spec/unit/type/maillist_spec.rb +0 -0
  1497. data/spec/unit/type/mcx_spec.rb +0 -0
  1498. data/spec/unit/type/mount_spec.rb +50 -8
  1499. data/spec/unit/type/nagios_spec.rb +0 -0
  1500. data/spec/unit/type/noop_metaparam_spec.rb +0 -0
  1501. data/spec/unit/type/package/package_settings_spec.rb +0 -0
  1502. data/spec/unit/type/package_spec.rb +1 -0
  1503. data/spec/unit/type/resources_spec.rb +0 -0
  1504. data/spec/unit/type/schedule_spec.rb +0 -0
  1505. data/spec/unit/type/selboolean_spec.rb +0 -0
  1506. data/spec/unit/type/selmodule_spec.rb +0 -0
  1507. data/spec/unit/type/service_spec.rb +21 -0
  1508. data/spec/unit/type/ssh_authorized_key_spec.rb +0 -0
  1509. data/spec/unit/type/sshkey_spec.rb +0 -0
  1510. data/spec/unit/type/stage_spec.rb +0 -0
  1511. data/spec/unit/type/tidy_spec.rb +4 -4
  1512. data/spec/unit/type/user_spec.rb +40 -7
  1513. data/spec/unit/type/vlan_spec.rb +1 -1
  1514. data/spec/unit/type/whit_spec.rb +0 -0
  1515. data/spec/unit/type/yumrepo_spec.rb +3 -7
  1516. data/spec/unit/type/zfs_spec.rb +0 -0
  1517. data/spec/unit/type/zone_spec.rb +0 -0
  1518. data/spec/unit/type/zpool_spec.rb +0 -0
  1519. data/spec/unit/type_spec.rb +119 -1
  1520. data/spec/unit/util/autoload_spec.rb +0 -0
  1521. data/spec/unit/util/backups_spec.rb +0 -0
  1522. data/spec/unit/util/checksums_spec.rb +0 -0
  1523. data/spec/unit/util/colors_spec.rb +0 -0
  1524. data/spec/unit/util/command_line_spec.rb +11 -0
  1525. data/spec/unit/util/constant_inflector_spec.rb +0 -0
  1526. data/spec/unit/util/diff_spec.rb +0 -0
  1527. data/spec/unit/util/errors_spec.rb +0 -0
  1528. data/spec/unit/util/execution_spec.rb +1 -1
  1529. data/spec/unit/util/execution_stub_spec.rb +0 -0
  1530. data/spec/unit/util/feature_spec.rb +1 -1
  1531. data/spec/unit/util/filetype_spec.rb +4 -4
  1532. data/spec/unit/util/http_proxy_spec.rb +87 -0
  1533. data/spec/unit/util/ldap/connection_spec.rb +0 -0
  1534. data/spec/unit/util/ldap/generator_spec.rb +1 -1
  1535. data/spec/unit/util/ldap/manager_spec.rb +0 -0
  1536. data/spec/unit/util/log/destinations_spec.rb +0 -2
  1537. data/spec/unit/util/log_spec.rb +125 -1
  1538. data/spec/unit/util/logging_spec.rb +69 -0
  1539. data/spec/unit/util/metric_spec.rb +0 -0
  1540. data/spec/unit/util/monkey_patches_spec.rb +95 -3
  1541. data/spec/unit/util/multi_match_spec.rb +39 -0
  1542. data/spec/unit/util/nagios_maker_spec.rb +0 -0
  1543. data/spec/unit/util/network_device/cisco/device_spec.rb +253 -216
  1544. data/spec/unit/util/network_device/cisco/facts_spec.rb +0 -0
  1545. data/spec/unit/util/network_device/cisco/interface_spec.rb +0 -0
  1546. data/spec/unit/util/network_device/config_spec.rb +0 -0
  1547. data/spec/unit/util/network_device/ipcalc_spec.rb +0 -0
  1548. data/spec/unit/util/network_device/transport/base_spec.rb +0 -0
  1549. data/spec/unit/util/network_device/transport/ssh_spec.rb +1 -1
  1550. data/spec/unit/util/network_device/transport/telnet_spec.rb +60 -58
  1551. data/spec/unit/util/network_device_spec.rb +1 -1
  1552. data/spec/unit/util/package_spec.rb +0 -0
  1553. data/spec/unit/util/plist_spec.rb +135 -0
  1554. data/spec/unit/util/posix_spec.rb +0 -0
  1555. data/spec/unit/util/rdoc_spec.rb +0 -0
  1556. data/spec/unit/util/resource_template_spec.rb +2 -2
  1557. data/spec/unit/util/retry_action_spec.rb +0 -0
  1558. data/spec/unit/util/run_mode_spec.rb +27 -3
  1559. data/spec/unit/util/selinux_spec.rb +0 -0
  1560. data/spec/unit/util/splayer_spec.rb +45 -0
  1561. data/spec/unit/util/storage_spec.rb +8 -1
  1562. data/spec/unit/util/suidmanager_spec.rb +0 -0
  1563. data/spec/unit/util/symbolic_file_mode_spec.rb +0 -0
  1564. data/spec/unit/util/tagging_spec.rb +4 -0
  1565. data/spec/unit/util/user_attr_spec.rb +0 -0
  1566. data/spec/unit/util/warnings_spec.rb +0 -0
  1567. data/spec/unit/util/windows/adsi_spec.rb +196 -60
  1568. data/spec/unit/util/windows/api_types_spec.rb +42 -0
  1569. data/spec/unit/util/windows/file_spec.rb +89 -0
  1570. data/spec/unit/util/windows/root_certs_spec.rb +0 -0
  1571. data/spec/unit/util/windows/security_descriptor_spec.rb +3 -3
  1572. data/spec/unit/util/windows/sid_spec.rb +76 -24
  1573. data/spec/unit/util/yaml_spec.rb +13 -1
  1574. data/spec/unit/util_spec.rb +219 -15
  1575. data/spec/unit/version_spec.rb +15 -0
  1576. data/spec/watchr.rb +0 -0
  1577. data/tasks/cfpropertylist.rake +15 -0
  1578. data/tasks/i18n.rake +20 -0
  1579. metadata +3701 -3043
  1580. checksums.yaml +0 -7
  1581. data/ext/puppet-nm-dispatcher +0 -13
  1582. data/ext/puppetlisten/puppetlisten.rb +0 -77
  1583. data/ext/puppetlisten/puppetrun.rb +0 -38
  1584. data/ext/systemd/puppetmaster.service +0 -11
  1585. data/lib/puppet/pops/evaluator/callable_mismatch_describer.rb +0 -175
  1586. data/lib/puppet/pops/types/types_meta.rb +0 -223
  1587. data/lib/puppet/resource/type_collection_helper.rb +0 -7
  1588. data/lib/puppet/vendor/load_plist.rb +0 -1
  1589. data/lib/puppet/vendor/plist/CHANGELOG +0 -82
  1590. data/lib/puppet/vendor/plist/MIT-LICENSE +0 -21
  1591. data/lib/puppet/vendor/plist/PUPPET_README.md +0 -6
  1592. data/lib/puppet/vendor/plist/README +0 -36
  1593. data/lib/puppet/vendor/plist/Rakefile +0 -144
  1594. data/lib/puppet/vendor/plist/docs/USAGE +0 -104
  1595. data/lib/puppet/vendor/plist/docs/jamis-template.rb +0 -591
  1596. data/lib/puppet/vendor/plist/lib/plist/generator.rb +0 -224
  1597. data/lib/puppet/vendor/plist/lib/plist/parser.rb +0 -225
  1598. data/lib/puppet/vendor/plist/lib/plist.rb +0 -22
  1599. data/lib/puppet/vendor/plist/test/assets/AlbumData.xml +0 -203
  1600. data/lib/puppet/vendor/plist/test/assets/Cookies.plist +0 -104
  1601. data/lib/puppet/vendor/plist/test/assets/commented.plist +0 -9
  1602. data/lib/puppet/vendor/plist/test/assets/example_data.bin +0 -0
  1603. data/lib/puppet/vendor/plist/test/assets/example_data.jpg +0 -0
  1604. data/lib/puppet/vendor/plist/test/assets/example_data.plist +0 -259
  1605. data/lib/puppet/vendor/plist/test/assets/test_data_elements.plist +0 -24
  1606. data/lib/puppet/vendor/plist/test/assets/test_empty_key.plist +0 -13
  1607. data/lib/puppet/vendor/plist/test/test_data_elements.rb +0 -115
  1608. data/lib/puppet/vendor/plist/test/test_generator.rb +0 -59
  1609. data/lib/puppet/vendor/plist/test/test_generator_basic_types.rb +0 -58
  1610. data/lib/puppet/vendor/plist/test/test_generator_collections.rb +0 -82
  1611. data/lib/puppet/vendor/plist/test/test_parser.rb +0 -90
  1612. data/lib/puppet/vendor/semantic/Gemfile +0 -20
  1613. data/lib/puppet/vendor/semantic/PUPPET_README.md +0 -6
  1614. data/lib/puppet/vendor/semantic/Rakefile +0 -69
  1615. data/lib/puppet/vendor/semantic/spec/spec_helper.rb +0 -24
  1616. data/lib/puppet/vendor/semantic/spec/unit/semantic/dependency/graph_node_spec.rb +0 -141
  1617. data/lib/puppet/vendor/semantic/spec/unit/semantic/dependency/graph_spec.rb +0 -162
  1618. data/lib/puppet/vendor/semantic/spec/unit/semantic/dependency/module_release_spec.rb +0 -143
  1619. data/lib/puppet/vendor/semantic/spec/unit/semantic/dependency/source_spec.rb +0 -5
  1620. data/lib/puppet/vendor/semantic/spec/unit/semantic/dependency/unsatisfiable_graph_spec.rb +0 -44
  1621. data/lib/puppet/vendor/semantic/spec/unit/semantic/dependency_spec.rb +0 -383
  1622. data/lib/puppet/vendor/semantic/spec/unit/semantic/version_range_spec.rb +0 -307
  1623. data/lib/puppet/vendor/semantic/spec/unit/semantic/version_spec.rb +0 -608
  1624. data/spec/fixtures/unit/data_providers/environments/sample/manifests/site.pp +0 -6
  1625. data/spec/fixtures/unit/functions/lookup/environments/production/modules/bad_data/manifests/init.pp +0 -3
  1626. data/spec/integration/data_binding.rb +0 -104
  1627. data/spec/integration/parser/functions/require_spec.rb +0 -43
  1628. data/spec/integration/provider/package_spec.rb +0 -33
  1629. data/spec/unit/parser/functions/defined_spec.rb +0 -120
  1630. data/spec/unit/parser/functions/include_spec.rb +0 -55
  1631. data/spec/unit/parser/functions/require_spec.rb +0 -68
  1632. data/spec/unit/resource/type_collection_helper_spec.rb +0 -24
  1633. /data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/environment.conf +0 -0
  1634. /data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/lib/puppet/functions/environment/data.rb +0 -0
  1635. /data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/abc/lib/puppet/bindings/abc/default.rb +0 -0
  1636. /data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/abc/lib/puppet/functions/abc/data.rb +0 -0
  1637. /data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/abc/manifests/init.pp +0 -0
  1638. /data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/bad_data/lib/puppet/bindings/bad_data/default.rb +0 -0
  1639. /data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/bca/lib/puppet/bindings/bca/default.rb +0 -0
  1640. /data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/bca/lib/puppet/functions/bca/data.rb +0 -0
  1641. /data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/bca/manifests/init.pp +0 -0
  1642. /data/spec/fixtures/unit/functions/{lookup → lookup_fixture}/environments/production/modules/no_provider/manifests/init.pp +0 -0
  1643. /data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/{usee → modules/usee}/lib/puppet/functions/usee/callee.rb +0 -0
  1644. /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', 872)
24
24
 
25
25
  # Make emacs happy
26
26
  # Local Variables:
@@ -30,220 +30,322 @@ 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
+ '76,78,300,-286,61,71,146,72,-288,146,450,-274,451,300,169,303,344,450',
34
+ '-283,467,266,127,342,301,21,20,411,-143,127,149,291,52,149,55,301,67',
35
+ '12,293,59,44,47,288,54,45,10,11,-286,170,62,19,418,-288,46,133,-274',
36
+ '17,18,126,-144,345,133,-283,267,83,126,128,463,445,462,53,-143,289,128',
37
+ '43,79,510,81,82,80,-145,450,60,49,68,69,63,64,65,66,56,146,-140,58,76',
38
+ '78,70,321,61,71,322,72,-144,129,130,131,132,399,-187,-187,129,130,131',
39
+ '132,149,127,279,278,21,20,127,316,400,-145,420,52,-142,55,315,67,138',
40
+ '410,59,44,47,-140,54,45,409,-188,-188,300,62,19,380,395,46,133,-228',
41
+ '17,18,126,133,300,303,426,126,83,408,128,-189,-189,301,53,128,428,303',
42
+ '43,79,-142,81,82,-183,-183,301,60,49,68,69,63,64,65,66,56,135,136,58',
43
+ '76,78,70,291,61,71,463,72,462,129,130,131,132,161,129,130,131,132,287',
44
+ '-186,-186,127,336,337,21,20,127,286,76,78,152,52,171,55,435,67,12,382',
45
+ '59,44,47,85,54,45,10,11,300,436,62,19,325,324,46,133,283,17,18,126,133',
46
+ '303,-189,-189,126,83,342,128,343,301,439,53,128,-184,-184,43,79,282',
47
+ '81,82,300,-185,-185,60,49,68,69,63,64,65,66,56,281,303,58,76,78,70,442',
48
+ '61,71,301,72,319,129,130,131,132,395,129,130,131,132,-183,-183,334,127',
49
+ '135,136,21,20,127,-188,-188,-186,-186,52,395,55,300,67,12,152,59,44',
50
+ '47,396,54,45,10,11,279,278,62,19,279,278,46,133,395,17,18,126,133,-187',
51
+ '-187,452,126,83,453,128,279,278,303,53,128,456,457,43,79,392,81,82,95',
52
+ '95,460,60,49,68,69,63,64,65,66,56,390,464,58,76,78,70,466,61,71,319',
53
+ '72,514,129,130,131,132,268,129,130,131,132,323,87,199,127,475,196,21',
54
+ '20,127,477,478,386,342,52,194,55,384,67,12,379,59,44,47,375,54,45,10',
55
+ '11,482,373,62,19,372,484,46,133,414,17,18,126,133,87,487,488,126,83',
56
+ '342,128,161,350,491,53,128,153,152,43,79,95,81,82,95,495,466,60,49,68',
57
+ '69,63,64,65,66,56,497,498,58,76,78,70,499,61,71,500,72,512,129,130,131',
58
+ '132,342,129,130,131,132,95,95,505,127,506,507,21,20,127,508,509,123',
59
+ '342,52,95,55,161,67,12,87,59,44,47,518,54,45,10,11,519,520,62,19,84',
60
+ '522,46,133,523,17,18,126,133,524,375,,126,83,,128,,,,53,128,,,43,79',
61
+ ',81,82,,,,60,49,68,69,63,64,65,66,56,,,58,76,78,70,,61,71,,72,,129,130',
62
+ '131,132,,129,130,131,132,,,,127,,,21,20,127,,,,,52,-273,55,,67,138,',
63
+ '59,44,47,,54,45,,,,,62,19,,,46,133,,17,18,126,133,,,,126,83,,128,,,',
64
+ '53,128,,,43,79,-273,81,82,,,,60,49,68,69,63,64,65,66,56,,,58,76,78,70',
65
+ ',61,71,,72,,129,130,131,132,,129,130,131,132,,,,,,,21,20,,,76,78,,52',
66
+ '171,55,,67,12,,59,44,47,,54,45,10,11,,,62,19,,,46,,,17,18,,,,,,,83,',
67
+ ',,,169,53,,166,,43,79,,81,82,,,,60,49,68,69,63,64,65,66,56,,83,58,76',
68
+ '78,70,,61,71,,72,170,79,,,115,,,,,76,78,,,171,,,21,20,117,,120,,114',
69
+ '52,116,55,,67,12,,59,44,47,,54,45,10,11,,,62,19,,,46,119,,17,18,169',
70
+ ',,166,,,83,76,78,,,171,53,,,,43,79,96,81,82,,,83,60,49,68,69,63,64,65',
71
+ '66,56,170,79,58,76,78,70,,61,71,,72,,,,169,115,,166,,,76,78,,,171,,',
72
+ '21,20,117,,120,,114,52,116,55,83,67,138,,59,44,47,,54,45,170,79,,,62',
73
+ '19,,,46,119,,17,18,169,,,166,,,83,,,,,,53,88,89,90,43,79,96,81,82,,',
74
+ '83,60,49,68,69,63,64,65,66,56,170,79,58,76,78,70,,61,71,,72,,,,,,,,',
75
+ ',,,,,,,,21,20,,91,93,92,94,52,,55,,67,12,,59,44,47,,54,45,10,11,,,62',
76
+ '19,115,,46,,,17,18,,,,,,,83,117,,120,,114,53,116,,,43,79,,81,82,,,,60',
77
+ '49,68,69,63,64,65,66,56,,119,58,76,78,70,115,61,71,,72,,,,,115,97,98',
78
+ ',,117,,120,96,114,,116,21,20,117,,120,,114,52,116,55,,67,138,,59,44',
79
+ '47,,54,45,119,,,,62,19,,,46,119,,17,18,,,97,98,,,83,,,96,,,53,,,,43',
80
+ '79,,81,82,,,,60,49,68,69,63,64,65,66,56,,,58,76,78,70,115,61,71,,72',
81
+ ',,,,115,,,,,117,,120,,114,,116,21,20,117,,120,,114,52,116,55,,67,138',
82
+ ',59,44,47,,54,45,119,,,,62,19,,,46,119,,17,18,,,97,98,,,83,,,96,,,53',
83
+ ',,,43,79,,81,82,,,,60,49,68,69,63,64,65,66,56,,,58,76,78,70,115,61,71',
84
+ ',72,,,,,115,,,,,117,,120,,114,,116,21,20,117,,120,,114,52,116,55,,67',
85
+ '138,,59,44,47,,54,45,119,,,,62,19,,,46,119,,17,18,,,,,,,83,,,,,,53,',
86
+ ',,43,79,,81,82,,,,60,49,68,69,63,64,65,66,56,,,58,76,78,70,,61,71,,72',
87
+ ',,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,67,12,,59,44,47,,54,45,10,11,,,62',
88
+ '19,,,46,,,17,18,,,,,,,83,,,,,,53,,,,43,79,,81,82,,,,60,49,68,69,63,64',
89
+ '65,66,56,,,58,76,78,70,,61,71,,72,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55',
90
+ ',67,12,,59,44,47,,54,45,10,11,,,62,19,,,46,,,17,18,,,,,,,83,,,,,,53',
91
+ ',,,43,79,,81,82,,,,60,49,68,69,63,64,65,66,56,,,58,76,78,70,,61,71,',
92
+ '72,503,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,67,12,,59,44,47,,54,45,10,11',
93
+ ',,62,19,,,46,,,17,18,,,,,,,83,,,,,,53,,,,43,79,,81,82,,,,60,49,68,69',
94
+ '63,64,65,66,56,,,58,76,78,70,,61,71,,72,,,,,,,,,,,,,,,,,21,20,145,,',
95
+ ',,52,,55,,67,12,,59,44,47,,54,45,10,11,,,62,19,,,46,,,17,18,,,,,,,83',
96
+ ',,,,,53,,,,43,79,,81,82,,,,60,49,68,69,63,64,65,66,56,,,58,76,78,70',
97
+ ',61,71,,72,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,67,138,,59,44,47,,54,45',
98
+ ',,,,62,19,,,46,,,17,18,,,,,,,83,,,,,,53,,,,43,79,,81,82,,,,60,49,68',
99
+ '69,63,64,65,66,56,,,58,76,78,70,,61,71,,72,,,,,,,,,,,,,,,,,21,20,,,',
100
+ ',,52,,55,,67,138,,59,44,47,,54,45,,,,,62,19,,,46,,,17,18,,,,,,,83,,',
101
+ ',,,53,,,,43,79,,81,82,,,,60,49,68,69,63,64,65,66,56,,,58,76,78,70,,61',
102
+ '71,,72,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,67,138,,59,44,47,,54,45,,',
103
+ ',,62,19,,,46,,,17,18,,,,,,,83,,,,,,53,,,,43,79,,81,82,,,,60,49,68,69',
104
+ '63,64,65,66,56,,,58,76,78,70,,61,71,,72,,,,,,,,,,,,,,,,,21,20,,,,,,52',
105
+ ',55,,67,138,,59,44,47,,54,45,,,,,62,19,,,46,,,17,18,,,,,,,83,,,,,,53',
106
+ ',,,43,79,,81,82,,,,60,49,68,69,63,64,65,66,56,,,58,76,78,70,,61,71,',
107
+ '72,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,67,138,,59,44,47,,54,45,,,,,62',
108
+ '19,,,46,,,17,18,,,,,,,83,,,,,,53,,,,43,79,,81,82,,,,60,49,68,69,63,64',
109
+ '65,66,56,,,58,76,78,70,,61,71,,72,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55',
110
+ ',67,138,,59,44,47,,54,45,,,,,62,19,,,46,,,17,18,,,,,,,83,,,,,,53,,,',
111
+ '43,79,,81,82,,,,60,49,68,69,63,64,65,66,56,,,58,76,78,70,,61,71,,72',
112
+ ',,343,,,,,,,,,,,,,,21,20,,,,,,52,,55,,67,138,,59,44,47,,54,45,,,,,62',
113
+ '19,,,46,,,17,18,,,,,,,83,,,,,,53,,,,43,79,,81,82,,,,60,49,68,69,63,64',
114
+ '65,66,56,,,58,76,78,70,,61,71,,72,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55',
115
+ ',67,138,,59,44,47,,54,45,,,,,62,19,,,46,,,17,18,,,,,,,83,,,,,,53,,,',
116
+ '43,79,,81,82,,,,60,49,68,69,63,64,65,66,56,,,58,76,78,70,,61,71,,72',
117
+ ',,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,67,12,,59,44,47,,54,45,10,11,,,62',
118
+ '19,,,46,,,17,18,,,,,,,83,,,,,,53,,,,43,79,,81,82,,,,60,49,68,69,63,64',
119
+ '65,66,56,,,58,76,78,70,,61,71,,72,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55',
120
+ ',67,138,,59,44,47,,54,45,,,,,62,19,,,46,,,17,18,,,,,,,83,,,,,,53,,,',
121
+ '43,79,,81,82,,,,60,49,68,69,63,64,65,66,56,,,58,76,78,70,,61,71,,72',
122
+ '187,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,67,12,,59,44,47,,54,45,10,11,',
123
+ ',62,19,,,46,,,17,18,,,,,,,83,,,,,,53,,,,43,79,,81,82,,,,176,173,68,69',
124
+ '63,64,65,66,174,183,182,175,76,78,70,,61,71,,72,,,,,,,,,,,,,,,,,21,20',
125
+ ',,,,,52,,55,,67,12,,59,44,47,,54,45,10,11,,,62,19,,,46,,,17,18,,,,,',
126
+ ',83,,,,,,53,,,,43,79,,81,82,,,,60,49,68,69,63,64,65,66,56,,,58,76,78',
127
+ '70,,61,71,,72,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,67,12,,59,44,47,,54',
128
+ '45,10,11,,,62,19,,,46,,,17,18,,,,,,,83,,,,,,53,,,,43,79,,81,82,,,,60',
129
+ '49,68,69,63,64,65,66,56,,,58,76,78,70,,61,71,,72,,,,,,,,,,,,,,,,,21',
130
+ '20,,,,,,52,,55,,67,12,,59,44,47,,54,45,10,11,,,62,19,,,46,,,17,18,,',
131
+ ',,,,83,,,,,,53,,,,43,79,,81,82,,,,60,49,68,69,63,64,65,66,56,,,58,76',
132
+ '78,70,,61,71,,72,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,67,138,,59,44,47',
133
+ ',54,45,,,,,62,19,,,46,,,17,18,,,,,,,83,,,,,,53,,,,43,79,,81,82,,,,60',
134
+ '49,68,69,63,64,65,66,56,,,58,76,78,70,,61,71,,72,,,,,,,,,,,,,,,,,21',
135
+ '20,,,,,,52,,55,,67,138,,59,44,47,,54,45,,,,,62,19,,,46,,,17,18,,,,,',
136
+ ',83,,,,,,53,,,,43,79,,81,82,,,,60,49,68,69,63,64,65,66,56,,,58,76,78',
137
+ '70,,61,71,,72,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,67,138,,59,44,47,,54',
138
+ '45,,,,,62,19,,,46,,,17,18,,,,,,,83,,,,,,53,,,,43,79,,81,82,,,,60,49',
139
+ '68,69,63,64,65,66,56,,,58,76,78,70,,61,71,,72,,,,,,,,,,,,,,,,,21,20',
140
+ ',,,,,52,,55,,67,12,,59,44,47,,54,45,10,11,,,62,19,,,46,,,17,18,,,,,',
141
+ ',83,,,,,,53,,,,43,79,,81,82,,,,60,49,68,69,63,64,65,66,56,,,58,76,78',
142
+ '70,,61,71,178,72,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,67,12,,59,44,47',
143
+ ',54,45,10,11,,,62,19,,,46,,,17,18,,,,,,,83,,,,,,53,,,,43,79,,81,82,',
144
+ ',,176,173,68,69,63,64,65,66,174,183,182,175,76,78,70,,61,71,185,72,',
145
+ ',,,,,,,,,,,,,,,21,20,,,,,,52,,55,,67,12,,59,44,47,,54,45,10,11,,,62',
146
+ '19,,,46,,,17,18,,,,,,,83,,,,,,53,,,,43,79,,81,82,,,,176,173,68,69,63',
147
+ '64,65,66,174,183,182,175,76,78,70,,61,71,,72,187,,,,,,,,,,,,,,,,21,20',
148
+ ',,,,,52,,55,,67,12,,59,44,47,,54,45,10,11,,,62,19,,,46,,,17,18,,,,,',
149
+ ',83,,,,,,53,,,,43,79,,81,82,,,,176,173,68,69,63,64,65,66,174,183,182',
150
+ '175,76,78,70,,61,71,,72,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,67,138,,59',
151
+ '44,47,,54,45,,,,,62,19,,,46,,,17,18,,,,,,,83,,,,,,53,,,,43,79,,81,82',
152
+ ',,,60,49,68,69,63,64,65,66,56,,,58,76,78,70,,61,71,,72,402,,,,,,,,,',
153
+ ',,,,,,21,20,,,,,,52,,55,,67,12,,59,44,47,,54,45,10,11,,,62,19,,,46,',
154
+ ',17,18,,,,,,,83,,,,,,53,,,,43,79,,81,82,,,,60,49,68,69,63,64,65,66,56',
155
+ ',,58,76,78,70,,61,71,,72,404,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,67,12',
156
+ ',59,44,47,,54,45,10,11,,,62,19,,,46,,,17,18,,,,,,,83,,,,,,53,,,,43,79',
157
+ ',81,82,,,,60,49,68,69,63,64,65,66,56,,,58,76,78,70,,61,71,,198,,,,,',
158
+ ',,,,,,,,,,,21,20,,,,,,52,,55,,67,138,,59,44,47,,54,45,,,,,62,19,,,46',
159
+ ',,17,18,,,,,,,83,,,,,,53,,,,43,79,,81,82,,,,60,49,68,69,63,64,65,66',
160
+ '56,,,58,76,78,70,,61,71,,72,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,67,138',
161
+ ',59,44,47,,54,45,,,,,62,19,,,46,,,17,18,,,,,,,83,,,,,,53,,,,43,79,,81',
162
+ '82,,,,60,49,68,69,63,64,65,66,56,,,58,76,78,70,,61,71,,72,,,,,,,,,,',
163
+ ',,,,,,21,20,,,,,,52,,55,,67,12,,59,44,47,,54,45,10,11,,,62,19,,,46,',
164
+ ',17,18,,,,,,,83,,,,,,53,,,,43,79,,81,82,,,,60,49,68,69,63,64,65,66,56',
165
+ ',,58,76,78,70,,61,71,,72,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,67,12,,59',
166
+ '44,47,,54,45,10,11,,,62,19,,,46,,,17,18,,,,,,,83,,,,,,53,,,,43,79,,81',
167
+ '82,,,,60,49,68,69,63,64,65,66,56,,,58,76,78,70,,61,71,,72,,,,,,,,,,',
168
+ ',,,,,,21,20,,,,,,52,,55,,67,12,,59,44,47,,54,45,10,11,,,62,19,,,46,',
169
+ ',17,18,,,,,,,83,,,,,,53,,,,43,79,,81,82,,,,60,49,68,69,63,64,65,66,56',
170
+ ',,58,76,78,70,,61,71,,72,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,67,12,,59',
171
+ '44,47,,54,45,10,11,,,62,19,,,46,,,17,18,,,,,,,83,,,,,,53,,,,43,79,,81',
172
+ '82,,,,60,49,68,69,63,64,65,66,56,,,58,76,78,70,,61,71,,72,,,,,,,,,,',
173
+ ',,,,,,21,20,,,,,,52,,55,,67,12,,59,44,47,,54,45,10,11,,,62,19,,,46,',
174
+ ',17,18,,,,,,,83,,,,,,53,,,,43,79,,81,82,,,,60,49,68,69,63,64,65,66,56',
175
+ ',,58,76,78,70,,61,71,,72,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,67,12,,59',
176
+ '44,47,,54,45,10,11,,,62,19,,,46,,,17,18,,,,,,,83,,,,,,53,,,,43,79,,81',
177
+ '82,,,,60,49,68,69,63,64,65,66,56,,,58,76,78,70,,61,71,,72,,,,,,,,,,',
178
+ ',,,,,,21,20,,,,,,52,,55,,67,12,,59,44,47,,54,45,10,11,,,62,19,,,46,',
179
+ ',17,18,,,,,,,83,,,,,,53,,,,43,79,,81,82,,,,60,49,68,69,63,64,65,66,56',
180
+ ',,58,76,78,70,,61,71,,72,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,67,12,,59',
181
+ '44,47,,54,45,10,11,,,62,19,,,46,,,17,18,,,,,,,83,,,,,,53,,,,43,79,,81',
182
+ '82,,,,60,49,68,69,63,64,65,66,56,,,58,76,78,70,,61,71,,72,,,,,,,,,,',
183
+ ',,,,,,21,20,,,,,,52,,55,,67,12,,59,44,47,,54,45,10,11,,,62,19,,,46,',
184
+ ',17,18,,,,,,,83,,,,,,53,,,,43,79,,81,82,,,,60,49,68,69,63,64,65,66,56',
185
+ ',,58,76,78,70,,61,71,,72,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,67,12,,59',
186
+ '44,47,,54,45,10,11,,,62,19,,,46,,,17,18,,,,,,,83,,,,,,53,,,,43,79,,81',
187
+ '82,,,,60,49,68,69,63,64,65,66,56,,,58,76,78,70,,61,71,,72,,,,,,,,,,',
188
+ ',,,,,,21,20,,,,,,216,235,226,236,67,228,238,230,44,214,,218,212,,,,',
189
+ '62,19,239,234,213,,,17,211,,,,,,,83,,,,,237,217,,,,43,79,,81,82,,,,231',
190
+ '215,232,233,221,222,223,224,227,241,240,229,76,78,70,,61,71,,72,,,,',
191
+ ',,,,,,,,,,,,21,20,,,,,,52,,55,,67,138,,59,44,47,,54,45,,,,,62,19,,,46',
192
+ ',,17,18,,,,,,,83,,,,,,53,,,,43,79,,81,82,,,,60,49,68,69,63,64,65,66',
193
+ '56,,,58,76,78,70,,61,71,,72,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,67,138',
194
+ ',59,44,47,,54,45,,,,,62,19,,,46,,,17,18,,,,,,,83,,,,,,53,,,,43,79,,81',
195
+ '82,,,,60,49,68,69,63,64,65,66,56,,,58,76,78,70,,61,71,,72,,,,,,,,,,',
196
+ ',,,,,,21,20,,,,,,52,,55,,67,138,,59,44,47,,54,45,,,,,62,19,,,46,,,17',
197
+ '18,,,,,,,83,,,,,,53,,,,43,79,,81,82,,,,60,49,68,69,63,64,65,66,56,,',
198
+ '58,76,78,70,,61,71,,72,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,67,138,,59',
199
+ '44,47,,54,45,,,,,62,19,,,46,,,17,18,,,,,,,83,,,,,,53,,,,43,79,,81,82',
200
+ ',,,60,49,68,69,63,64,65,66,56,,,58,76,78,70,,61,71,,72,,,,,,,,,,,,,',
201
+ ',,,21,20,,,,,,52,,55,,67,138,,59,44,47,,54,45,,,,,62,19,,,46,,,17,18',
202
+ ',,,,,,83,,,,,,53,,,,43,79,,81,82,,,,60,49,68,69,63,64,65,66,56,,,58',
203
+ '76,78,70,,61,71,,72,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,67,138,,59,44',
204
+ '47,,54,45,,,,,62,19,,,46,,,17,18,,,,,,,83,,,,,,53,,,,43,79,,81,82,,',
205
+ ',60,49,68,69,63,64,65,66,56,,,58,76,78,70,,61,71,,72,,,,,,,,,,,,,,,',
206
+ ',21,20,,,,,,52,,55,,67,138,,59,44,47,,54,45,,,,,62,19,,,46,,,17,18,',
207
+ ',,,,,83,,,,,,53,,,,43,79,,81,82,,,,60,49,68,69,63,64,65,66,56,,,58,76',
208
+ '78,70,,61,71,,72,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,67,138,,59,44,47',
209
+ ',54,45,,,,,62,19,,,46,,,17,18,,,,,,,83,,,,,,53,,,,43,79,,81,82,,,,60',
210
+ '49,68,69,63,64,65,66,56,,,58,76,78,70,,61,71,,72,,,,,,,,,,,,,,,,,21',
211
+ '20,,,,,,52,,55,,67,138,,59,44,47,,54,45,,,,,62,19,,,46,,,17,18,,,,,',
212
+ ',83,,,,,,53,,,,43,79,,81,82,,,,60,49,68,69,63,64,65,66,56,,,58,76,78',
213
+ '70,,61,71,,72,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,67,138,,59,44,47,,54',
214
+ '45,,,,,62,19,,,46,,,17,18,,,,,,,83,,,,,,53,,,,43,79,,81,82,,,,60,49',
215
+ '68,69,63,64,65,66,56,,,58,76,78,70,,61,71,,72,,,,,,,,,,,,,,,,,21,20',
216
+ ',,,,,52,,55,,67,138,,59,44,47,,54,45,,,,,62,19,,,46,,,17,18,,,,,,,83',
217
+ ',,,,,53,,,,43,79,,81,82,,,,60,49,68,69,63,64,65,66,56,,,58,76,78,70',
218
+ ',61,71,,72,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,67,138,,59,44,47,,54,45',
219
+ ',,,,62,19,,,46,,,17,18,,,,,,,83,,,,,,53,,,,43,79,,81,82,,,,60,49,68',
220
+ '69,63,64,65,66,56,,,58,76,78,70,,61,71,,72,,,,,,,,,,,,,,,,,21,20,,,',
221
+ ',,52,,55,,67,138,,59,44,47,,54,45,,,,,62,19,,,46,,,17,18,,,,,,,83,,',
222
+ ',,,53,,,,43,79,,81,82,,,,60,49,68,69,63,64,65,66,56,,,58,76,78,70,,61',
223
+ '71,,72,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,67,138,,59,44,47,,54,45,,',
224
+ ',,62,19,,,46,,,17,18,,,,,,,83,,,,,,53,,,,43,79,,81,82,,,,60,49,68,69',
225
+ '63,64,65,66,56,,,58,76,78,70,,61,71,,72,,,,,,,,,,,,,,,,,21,20,,,,,,52',
226
+ ',55,,67,138,,59,44,47,,54,45,,,,,62,19,,,46,,,17,18,,,,,,,83,,,,,,53',
227
+ ',,,43,79,,81,82,,,,60,49,68,69,63,64,65,66,56,,,58,76,78,70,,61,71,',
228
+ '72,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,67,138,,59,44,47,,54,45,,,,,62',
229
+ '19,,,46,,,17,18,,,,,,,83,,,,,,53,,,,43,79,,81,82,,,,60,49,68,69,63,64',
230
+ '65,66,56,,,58,76,78,70,,61,71,,72,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55',
231
+ ',67,138,,59,44,47,,54,45,,,,,62,19,,,46,,,17,18,,,,,,,83,,,,,,53,,,',
232
+ '43,79,,81,82,,,,60,49,68,69,63,64,65,66,56,,,58,76,78,70,,61,71,,72',
233
+ ',,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,67,138,,59,44,47,,54,45,,,,,62,19',
234
+ ',,46,,,17,18,,,,,,,83,,,,,,53,,,,43,79,,81,82,,,,60,49,68,69,63,64,65',
235
+ '66,56,,,58,76,78,70,,61,71,,72,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,67',
236
+ '138,,59,44,47,,54,45,,,,,62,19,,,46,,,17,18,,,,,,,83,,,,,,53,,,263,43',
237
+ '79,,81,82,,,,60,49,68,69,63,64,65,66,56,,,58,76,78,70,,61,71,,72,,,',
238
+ ',,,,,,,,,,,,,21,20,,,,,,52,,55,,67,138,,59,44,47,,54,45,,,,,62,19,,',
239
+ '46,,,17,18,,,,,,,83,,,,,,53,,,,43,79,,81,82,,,,60,49,68,69,63,64,65',
240
+ '66,56,,,58,76,78,70,,61,71,,72,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,67',
241
+ '12,,59,44,47,,54,45,10,11,,,62,19,,,46,,,17,18,,,,,,,83,,,,,,53,,,,43',
242
+ '79,,81,82,,,,60,49,68,69,63,64,65,66,56,,,58,76,78,70,,61,71,,72,468',
243
+ ',,,,,,,,,,,,,,,21,20,,,,,,52,,55,,67,138,,59,44,47,,54,45,,,,,62,19',
244
+ ',,46,,,17,18,,,,,,,83,,,,,,53,,,,43,79,,81,82,,,,60,49,68,69,63,64,65',
245
+ '66,56,,,58,76,78,70,,61,71,,72,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,67',
246
+ '138,,59,44,47,,54,45,,,,,62,19,,,46,,,17,18,,,,,,,83,,,,,,53,,,,43,79',
247
+ ',81,82,,,,60,49,68,69,63,64,65,66,56,,,58,76,78,70,,61,71,,72,,,,,,',
248
+ ',,,,,,,,,,21,20,,,,,,52,,55,,67,138,,59,44,47,,54,45,,,,,62,19,,,46',
249
+ ',,17,18,,,,,,,83,,,,,,53,,,,43,79,,81,82,,,,60,49,68,69,63,64,65,66',
250
+ '56,,,58,76,78,70,,61,71,,72,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,67,12',
251
+ ',59,44,47,,54,45,10,11,,,62,19,,,46,,,17,18,,,,,,,83,,,,,,53,,,,43,79',
252
+ ',81,82,,,,60,49,68,69,63,64,65,66,56,,,58,76,78,70,,61,71,,72,,,,,,',
253
+ ',,,,,,,,,,21,20,,,,,,52,,55,,67,138,,59,44,47,,54,45,,,,,62,19,,,46',
254
+ ',,17,18,,,,,,,83,,,,,,53,,,,43,79,,81,82,,,,60,49,68,69,63,64,65,66',
255
+ '56,,,58,76,78,70,,61,71,,72,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,67,138',
256
+ ',59,44,47,,54,45,,,,,62,19,,,46,,,17,18,,,,,,,83,,,,,,53,,,,43,79,,81',
257
+ '82,,,,60,49,68,69,63,64,65,66,56,,,58,76,78,70,,61,71,,72,455,,,,,,',
258
+ ',,,,,,,,,21,20,,,,,,52,,55,,67,12,,59,44,47,,54,45,10,11,,,62,19,,,46',
259
+ ',,17,18,,,,,,,83,,,,,,53,,,,43,79,,81,82,,,,60,49,68,69,63,64,65,66',
260
+ '56,,,58,76,78,70,,61,71,,72,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,67,12',
261
+ ',59,44,47,,54,45,10,11,,,62,19,,,46,,,17,18,,,,,,,83,,,,,,53,,,,43,79',
262
+ ',81,82,,,,176,173,68,69,63,64,65,66,174,183,182,175,76,78,70,,61,71',
263
+ ',72,421,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,67,12,,59,44,47,,54,45,10',
264
+ '11,,,62,19,,,46,,,17,18,,,,,,,83,,,,,,53,,,,43,79,,81,82,,,,176,173',
265
+ '68,69,63,64,65,66,174,183,182,175,76,78,70,,61,71,,72,313,,,,,,,,,,',
266
+ ',,,,,21,20,,,,,,52,,55,,67,12,,59,44,47,,54,45,10,11,,,62,19,,,46,,',
267
+ '17,18,,,,,,,83,,,,,,53,,,,43,79,,81,82,,,,60,49,68,69,63,64,65,66,56',
268
+ ',,58,76,78,70,,61,71,,72,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,67,12,,59',
269
+ '44,47,,54,45,10,11,,,62,19,,,46,,,17,18,,,,,,,83,,,,,,53,,,,43,79,,81',
270
+ '82,,,,176,173,68,69,63,64,65,66,174,183,182,175,76,78,70,,61,71,,72',
271
+ ',,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,67,12,,59,44,47,,54,45,10,11,,,62',
272
+ '19,,,46,,,17,18,,,,,,,83,,,,,,53,,,,43,79,,81,82,,,,60,49,68,69,63,64',
273
+ '65,66,56,,,58,76,78,70,,61,71,,72,,,,,,,,,,,,,,,,,21,20,305,,,,,52,',
274
+ '55,,67,12,,59,44,47,,54,45,10,11,,,62,19,,,46,,,17,18,,,,,,,83,,,,,',
275
+ '53,,,,43,79,,81,82,,,,60,49,68,69,63,64,65,66,56,,,58,76,78,70,,61,71',
276
+ ',72,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,67,138,,59,44,47,,54,45,,,,,62',
277
+ '19,,,46,,,17,18,,,,,,,83,,,,,,53,,,,43,79,,81,82,,,,60,49,68,69,63,64',
278
+ '65,66,56,,,58,76,78,70,,61,71,,72,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55',
279
+ ',67,138,,59,44,47,,54,45,,,,,62,19,,,46,,,17,18,,,,,,,83,,,,,,53,,,',
280
+ '43,79,,81,82,,,,60,49,68,69,63,64,65,66,56,,,58,76,78,70,,61,71,,72',
281
+ ',,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,67,138,,59,44,47,,54,45,,,,,62,19',
282
+ ',,46,,,17,18,,,,,,,83,,,,,,53,,,,43,79,,81,82,,,,60,49,68,69,63,64,65',
283
+ '66,56,,,58,76,78,70,,61,71,,72,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,67',
284
+ '138,,59,44,47,,54,45,,,,,62,19,,,46,,,17,18,,,,,,,83,,,,,,53,,,,43,79',
285
+ ',81,82,,,,60,49,68,69,63,64,65,66,56,,,58,76,78,70,,61,71,,72,,,,,,',
286
+ ',,,,,,,,,,21,20,,,,,,52,,55,,67,138,,59,44,47,,54,45,,,,,62,19,,,46',
287
+ ',,17,18,,,,,,,83,,,,,,53,,,,43,79,,81,82,,,,60,49,68,69,63,64,65,66',
288
+ '56,,,58,76,78,70,,61,71,,72,,,,,,,,,,,,,,,,,21,20,,,,,,52,,55,,67,12',
289
+ ',59,44,47,,54,45,10,11,,,62,19,,,46,,,17,18,,,,,,,83,,,,,,53,,,,43,79',
290
+ ',81,82,,,115,60,49,68,69,63,64,65,66,56,,,58,106,117,70,120,115,114',
291
+ ',116,,107,,,,,,,,,117,,120,,114,,116,,,,119,,,,,,,,99,100,102,101,104',
292
+ '105,,97,98,119,,,115,,96,,,99,100,102,101,,,,97,98,117,,120,,114,96',
293
+ '116,,,,,,,,,,,103,,,,,,,,,,119,,,,,,,103,99,100,102,101,115,,306,97',
294
+ '98,,,,,,96,,111,106,117,,120,,114,,116,,107,109,108,110,,,,,,,,,,,,',
295
+ ',103,,119,,,,113,112,,,99,100,102,101,104,105,,97,98,115,,307,,,96,',
296
+ ',,,,,111,106,117,,120,,114,,116,,107,109,108,110,,,,,,,,,103,,,,,,,119',
297
+ ',,,113,112,,,99,100,102,101,104,105,,97,98,115,,308,,,96,,,,,,,111,106',
298
+ '117,,120,115,114,,116,,107,109,108,110,,,,,,117,,120,103,114,,116,,',
299
+ ',119,,,,113,112,,,99,100,102,101,104,105,,97,98,119,,,115,,96,,,99,100',
300
+ '102,101,104,105,,97,98,117,,120,,114,96,116,,,,115,,,,,,,103,,,,,,,117',
301
+ ',120,119,114,,116,,,,103,,,102,101,,,,97,98,,,,,,96,,119,,,,,,,,99,100',
302
+ '102,101,104,105,,97,98,115,,,,,96,,,,,103,,111,106,117,,120,,114,,116',
303
+ ',107,109,108,110,,,,,,,,,103,,,,,,,119,,,,113,112,,115,99,100,102,101',
304
+ '104,105,,97,98,,,111,106,117,96,120,,114,,116,,107,109,108,110,,,,,',
305
+ ',,,,,,,,,,119,,,103,113,112,,115,99,100,102,101,104,105,,97,98,,,111',
306
+ '106,117,96,120,115,114,,116,,107,109,108,110,,,,,106,117,,120,,114,',
307
+ '116,,107,,119,,,103,113,112,,,99,100,102,101,104,105,,97,98,119,,,115',
308
+ ',96,,,99,100,102,101,104,105,,97,98,117,,120,,114,96,116,,,,115,,,,',
309
+ ',,103,,,,,,106,117,,120,119,114,,116,,107,,103,,,102,101,,,,97,98,,',
310
+ ',,,96,,119,,,,,,,,99,100,102,101,104,105,,97,98,115,,,,,96,,,,,103,',
311
+ ',106,117,,120,,114,,116,,107,,,,,,,,,,,,103,,,,,,,119,,,,,115,,,99,100',
312
+ '102,101,104,105,,97,98,111,106,117,,120,96,114,,116,,107,109,108,110',
313
+ ',,,,,,,,,,,,,,,119,,,,,103,,115,99,100,102,101,104,105,,97,98,,,111',
314
+ '106,117,96,120,,114,,116,,107,109,108,110,,,,,,,,,,,,,,,,119,,,103,113',
315
+ '112,,115,99,100,102,101,104,105,,97,98,,,111,106,117,96,120,,114,,116',
316
+ ',107,109,108,110,,,,,,,,,,,,,,,,119,,,103,113,112,,115,99,100,102,101',
317
+ '104,105,,97,98,,,111,106,117,96,120,,114,,116,,107,109,108,110,,,,,',
318
+ ',,,,,,,,,,119,,,103,113,112,,115,99,100,102,101,104,105,,97,98,,,111',
319
+ '106,117,96,120,,114,,116,,107,109,108,110,,,,,,,,,,,,,,,,119,,,103,113',
320
+ '112,,115,99,100,102,101,104,105,,97,98,,,111,106,117,96,120,,114,,116',
321
+ ',107,109,108,110,,,,,,,,,,,,,,,,119,,,103,113,112,,,99,100,102,101,104',
322
+ '105,115,97,98,,,,,,96,,,,111,106,117,376,120,,114,,116,,107,109,108',
323
+ '110,,,,,,,,,,,,103,,,,119,,,,113,112,,,99,100,102,101,104,105,115,97',
324
+ '98,,,,,,96,,,,111,106,117,340,120,,114,,116,,107,109,108,110,,,,,,,',
325
+ ',,,,103,,,,119,,,,113,112,,115,99,100,102,101,104,105,,97,98,,,111,106',
326
+ '117,96,120,,114,,116,,107,109,108,110,,,,,,,,,,,,,,,,119,,,103,113,112',
327
+ ',115,99,100,102,101,104,105,,97,98,,,111,106,117,96,120,,114,,116,,107',
328
+ '109,108,110,,,,,,,,,,,,,,,,119,,,103,113,112,,115,99,100,102,101,104',
329
+ '105,,97,98,,,111,106,117,96,120,,114,,116,,107,109,108,110,336,337,',
330
+ ',,,,,,,,,,,,119,,,103,,112,,,99,100,102,101,104,105,115,97,98,,,346',
331
+ ',,96,,,,111,106,117,,120,,114,,116,,107,109,108,110,,,,,,,,,,,,103,',
332
+ ',,119,,,,113,112,,115,99,100,102,101,104,105,,97,98,,,111,106,117,96',
333
+ '120,,114,,116,,107,109,108,110,,,,,,,,,,,,,,,,119,,,103,113,112,,,99',
334
+ '100,102,101,104,105,,97,98,,362,235,361,236,96,359,238,363,,352,,358',
335
+ '360,,,,,,,239,234,364,,,,357,,,,,,,,103,,,,237,365,,,,,,,,,,,,368,366',
336
+ '369,367,353,354,355,356,370,241,240,371,362,235,361,236,,359,238,363',
337
+ ',352,,358,360,,,,,,,239,234,364,,,,357,,,,,,,,,,,,237,365,,,,,,,,,,',
338
+ ',368,366,369,367,353,354,355,356,370,241,240,371,362,235,361,236,,359',
339
+ '238,363,,352,,358,360,,,,,,,239,234,364,,,,357,,,,,,,,,,,,237,365,,',
340
+ ',,,,,,,,,368,366,369,367,353,354,355,356,370,241,240,371,362,235,361',
341
+ '236,,359,238,363,,352,,358,360,,,,,,,239,234,364,,,,357,,,,,,,,,,,,237',
342
+ '365,,,,,,,,,,,,368,366,369,367,353,354,355,356,370,241,240,371,362,235',
343
+ '361,236,,359,238,363,,352,,358,360,,,,,,,239,234,364,,,,357,,,,,,,,',
344
+ ',,,237,365,,,,,,,,,,,,368,366,369,367,353,354,355,356,370,241,240,371',
345
+ '362,235,361,236,,359,238,363,,352,,358,360,,,,,,,239,234,364,,,,357',
346
+ ',,,,,,,,,,,237,365,,,,,,,,,,,,368,366,369,367,353,354,355,356,370,241',
347
+ '240,371' ]
348
+ racc_action_table = arr = ::Array.new(10508, nil)
247
349
  idx = 0
248
350
  clist.each do |str|
249
351
  str.split(',', -1).each do |i|
@@ -253,241 +355,353 @@ clist = [
253
355
  end
254
356
 
255
357
  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)
358
+ '0,0,152,233,0,0,49,0,232,215,405,212,387,302,316,152,225,387,213,405',
359
+ '117,56,441,152,0,0,312,222,379,49,317,0,215,0,302,0,0,152,0,0,0,149',
360
+ '0,0,0,0,233,316,0,0,318,232,0,56,212,0,0,56,223,225,379,213,117,0,379',
361
+ '56,460,379,460,0,222,149,379,0,0,492,0,0,0,224,492,0,0,0,0,0,0,0,0,0',
362
+ '173,214,0,506,506,0,186,506,506,186,506,223,56,56,56,56,304,222,222',
363
+ '379,379,379,379,173,231,124,124,506,506,60,164,304,224,320,506,221,506',
364
+ '162,506,506,311,506,506,506,214,506,506,310,223,223,395,506,506,278',
365
+ '333,506,231,338,506,506,231,60,278,395,339,60,506,309,231,224,224,395',
366
+ '506,60,341,278,506,506,221,506,506,214,214,278,506,506,506,506,506,506',
367
+ '506,506,506,57,57,506,4,4,506,151,4,4,402,4,402,231,231,231,231,175',
368
+ '60,60,60,60,148,221,221,176,426,426,4,4,55,147,194,194,145,4,194,4,347',
369
+ '4,4,279,4,4,4,4,4,4,4,4,279,349,4,4,191,191,4,176,144,4,4,176,55,279',
370
+ '66,66,55,4,351,176,357,279,374,4,55,61,61,4,4,142,4,4,196,62,62,4,4',
371
+ '4,4,4,4,4,4,4,141,196,4,498,498,4,377,498,498,196,498,177,176,176,176',
372
+ '176,381,55,55,55,55,47,47,196,160,16,16,498,498,174,65,65,63,63,498',
373
+ '383,498,301,498,498,386,498,498,498,300,498,498,498,498,158,158,498',
374
+ '498,159,159,498,160,294,498,498,160,174,64,64,389,174,498,390,160,172',
375
+ '172,291,498,174,393,394,498,498,290,498,498,122,121,401,498,498,498',
376
+ '498,498,498,498,498,498,289,403,498,497,497,498,404,497,497,184,497',
377
+ '497,160,160,160,160,118,174,174,174,174,189,86,84,227,412,80,497,497',
378
+ '226,417,425,284,427,497,79,497,280,497,497,276,497,497,497,273,497,497',
379
+ '497,497,434,272,497,497,270,438,497,227,314,497,497,227,226,200,446',
380
+ '447,226,497,448,227,58,265,454,497,226,51,50,497,497,205,497,497,206',
381
+ '463,464,497,497,497,497,497,497,497,497,497,466,467,497,495,495,497',
382
+ '470,495,495,473,495,495,227,227,227,227,474,226,226,226,226,207,208',
383
+ '480,134,481,486,495,495,12,489,490,12,210,495,8,495,229,495,495,5,495',
384
+ '495,495,501,495,495,495,495,502,504,495,495,1,511,495,134,513,495,495',
385
+ '134,12,515,521,,12,495,,134,,,,495,12,,,495,495,,495,495,,,,495,495',
386
+ '495,495,495,495,495,495,495,,,495,218,218,495,,218,218,,218,,134,134',
387
+ '134,134,,12,12,12,12,,,,138,,,218,218,228,,,,,218,228,218,,218,218,',
388
+ '218,218,218,,218,218,,,,,218,218,,,218,138,,218,218,138,228,,,,228,218',
389
+ ',138,,,,218,228,,,218,218,228,218,218,,,,218,218,218,218,218,218,218',
390
+ '218,218,,,218,10,10,218,,10,10,,10,,138,138,138,138,,228,228,228,228',
391
+ ',,,,,,10,10,,,59,59,,10,59,10,,10,10,,10,10,10,,10,10,10,10,,,10,10',
392
+ ',,10,,,10,10,,,,,,,10,,,,,59,10,,59,,10,10,,10,10,,,,10,10,10,10,10',
393
+ '10,10,10,10,,59,10,11,11,10,,11,11,,11,59,59,,,243,,,,,315,315,,,315',
394
+ ',,11,11,243,,243,,243,11,243,11,,11,11,,11,11,11,,11,11,11,11,,,11,11',
395
+ ',,11,243,,11,11,315,,,315,,,11,414,414,,,414,11,,,,11,11,243,11,11,',
396
+ ',315,11,11,11,11,11,11,11,11,11,315,315,11,217,217,11,,217,217,,217',
397
+ ',,,414,244,,414,,,230,230,,,230,,,217,217,244,,244,,244,217,244,217',
398
+ '414,217,217,,217,217,217,,217,217,414,414,,,217,217,,,217,244,,217,217',
399
+ '230,,,230,,,217,,,,,,217,7,7,7,217,217,244,217,217,,,230,217,217,217',
400
+ '217,217,217,217,217,217,230,230,217,477,477,217,,477,477,,477,,,,,,',
401
+ ',,,,,,,,,,477,477,,7,7,7,7,477,,477,,477,477,,477,477,477,,477,477,477',
402
+ '477,,,477,477,249,,477,,,477,477,,,,,,,477,249,,249,,249,477,249,,,477',
403
+ '477,,477,477,,,,477,477,477,477,477,477,477,477,477,,249,477,17,17,477',
404
+ '247,17,17,,17,,,,,242,249,249,,,247,,247,249,247,,247,17,17,242,,242',
405
+ ',242,17,242,17,,17,17,,17,17,17,,17,17,247,,,,17,17,,,17,242,,17,17',
406
+ ',,247,247,,,17,,,247,,,17,,,,17,17,,17,17,,,,17,17,17,17,17,17,17,17',
407
+ '17,,,17,18,18,17,248,18,18,,18,,,,,137,,,,,248,,248,,248,,248,18,18',
408
+ '137,,137,,137,18,137,18,,18,18,,18,18,18,,18,18,248,,,,18,18,,,18,137',
409
+ ',18,18,,,248,248,,,18,,,248,,,18,,,,18,18,,18,18,,,,18,18,18,18,18,18',
410
+ '18,18,18,,,18,19,19,18,139,19,19,,19,,,,,140,,,,,139,,139,,139,,139',
411
+ '19,19,140,,140,,140,19,140,19,,19,19,,19,19,19,,19,19,139,,,,19,19,',
412
+ ',19,140,,19,19,,,,,,,19,,,,,,19,,,,19,19,,19,19,,,,19,19,19,19,19,19',
413
+ '19,19,19,,,19,20,20,19,,20,20,,20,,,,,,,,,,,,,,,,,20,20,,,,,,20,,20',
414
+ ',20,20,,20,20,20,,20,20,20,20,,,20,20,,,20,,,20,20,,,,,,,20,,,,,,20',
415
+ ',,,20,20,,20,20,,,,20,20,20,20,20,20,20,20,20,,,20,21,21,20,,21,21,',
416
+ '21,,,,,,,,,,,,,,,,,21,21,,,,,,21,,21,,21,21,,21,21,21,,21,21,21,21,',
417
+ ',21,21,,,21,,,21,21,,,,,,,21,,,,,,21,,,,21,21,,21,21,,,,21,21,21,21',
418
+ '21,21,21,21,21,,,21,475,475,21,,475,475,,475,475,,,,,,,,,,,,,,,,475',
419
+ '475,,,,,,475,,475,,475,475,,475,475,475,,475,475,475,475,,,475,475,',
420
+ ',475,,,475,475,,,,,,,475,,,,,,475,,,,475,475,,475,475,,,,475,475,475',
421
+ '475,475,475,475,475,475,,,475,48,48,475,,48,48,,48,,,,,,,,,,,,,,,,,48',
422
+ '48,48,,,,,48,,48,,48,48,,48,48,48,,48,48,48,48,,,48,48,,,48,,,48,48',
423
+ ',,,,,,48,,,,,,48,,,,48,48,,48,48,,,,48,48,48,48,48,48,48,48,48,,,48',
424
+ '462,462,48,,462,462,,462,,,,,,,,,,,,,,,,,462,462,,,,,,462,,462,,462',
425
+ '462,,462,462,462,,462,462,,,,,462,462,,,462,,,462,462,,,,,,,462,,,,',
426
+ ',462,,,,462,462,,462,462,,,,462,462,462,462,462,462,462,462,462,,,462',
427
+ '216,216,462,,216,216,,216,,,,,,,,,,,,,,,,,216,216,,,,,,216,,216,,216',
428
+ '216,,216,216,216,,216,216,,,,,216,216,,,216,,,216,216,,,,,,,216,,,,',
429
+ ',216,,,,216,216,,216,216,,,,216,216,216,216,216,216,216,216,216,,,216',
430
+ '456,456,216,,456,456,,456,,,,,,,,,,,,,,,,,456,456,,,,,,456,,456,,456',
431
+ '456,,456,456,456,,456,456,,,,,456,456,,,456,,,456,456,,,,,,,456,,,,',
432
+ ',456,,,,456,456,,456,456,,,,456,456,456,456,456,456,456,456,456,,,456',
433
+ '52,52,456,,52,52,,52,,,,,,,,,,,,,,,,,52,52,,,,,,52,,52,,52,52,,52,52',
434
+ '52,,52,52,,,,,52,52,,,52,,,52,52,,,,,,,52,,,,,,52,,,,52,52,,52,52,,',
435
+ ',52,52,52,52,52,52,52,52,52,,,52,53,53,52,,53,53,,53,,,,,,,,,,,,,,,',
436
+ ',53,53,,,,,,53,,53,,53,53,,53,53,53,,53,53,,,,,53,53,,,53,,,53,53,,',
437
+ ',,,,53,,,,,,53,,,,53,53,,53,53,,,,53,53,53,53,53,53,53,53,53,,,53,54',
438
+ '54,53,,54,54,,54,,,,,,,,,,,,,,,,,54,54,,,,,,54,,54,,54,54,,54,54,54',
439
+ ',54,54,,,,,54,54,,,54,,,54,54,,,,,,,54,,,,,,54,,,,54,54,,54,54,,,,54',
440
+ '54,54,54,54,54,54,54,54,,,54,211,211,54,,211,211,,211,,,211,,,,,,,,',
441
+ ',,,,,211,211,,,,,,211,,211,,211,211,,211,211,211,,211,211,,,,,211,211',
442
+ ',,211,,,211,211,,,,,,,211,,,,,,211,,,,211,211,,211,211,,,,211,211,211',
443
+ '211,211,211,211,211,211,,,211,263,263,211,,263,263,,263,,,,,,,,,,,,',
444
+ ',,,,263,263,,,,,,263,,263,,263,263,,263,263,263,,263,263,,,,,263,263',
445
+ ',,263,,,263,263,,,,,,,263,,,,,,263,,,,263,263,,263,263,,,,263,263,263',
446
+ '263,263,263,263,263,263,,,263,453,453,263,,453,453,,453,,,,,,,,,,,,',
447
+ ',,,,453,453,,,,,,453,,453,,453,453,,453,453,453,,453,453,453,453,,,453',
448
+ '453,,,453,,,453,453,,,,,,,453,,,,,,453,,,,453,453,,453,453,,,,453,453',
449
+ '453,453,453,453,453,453,453,,,453,450,450,453,,450,450,,450,,,,,,,,',
450
+ ',,,,,,,,450,450,,,,,,450,,450,,450,450,,450,450,450,,450,450,,,,,450',
451
+ '450,,,450,,,450,450,,,,,,,450,,,,,,450,,,,450,450,,450,450,,,,450,450',
452
+ '450,450,450,450,450,450,450,,,450,198,198,450,,198,198,,198,198,,,,',
453
+ ',,,,,,,,,,,198,198,,,,,,198,,198,,198,198,,198,198,198,,198,198,198',
454
+ '198,,,198,198,,,198,,,198,198,,,,,,,198,,,,,,198,,,,198,198,,198,198',
455
+ ',,,198,198,198,198,198,198,198,198,198,198,198,198,195,195,198,,195',
456
+ '195,,195,,,,,,,,,,,,,,,,,195,195,,,,,,195,,195,,195,195,,195,195,195',
457
+ ',195,195,195,195,,,195,195,,,195,,,195,195,,,,,,,195,,,,,,195,,,,195',
458
+ '195,,195,195,,,,195,195,195,195,195,195,195,195,195,,,195,442,442,195',
459
+ ',442,442,,442,,,,,,,,,,,,,,,,,442,442,,,,,,442,,442,,442,442,,442,442',
460
+ '442,,442,442,442,442,,,442,442,,,442,,,442,442,,,,,,,442,,,,,,442,,',
461
+ ',442,442,,442,442,,,,442,442,442,442,442,442,442,442,442,,,442,283,283',
462
+ '442,,283,283,,283,,,,,,,,,,,,,,,,,283,283,,,,,,283,,283,,283,283,,283',
463
+ '283,283,,283,283,283,283,,,283,283,,,283,,,283,283,,,,,,,283,,,,,,283',
464
+ ',,,283,283,,283,283,,,,283,283,283,283,283,283,283,283,283,,,283,435',
465
+ '435,283,,435,435,,435,,,,,,,,,,,,,,,,,435,435,,,,,,435,,435,,435,435',
466
+ ',435,435,435,,435,435,,,,,435,435,,,435,,,435,435,,,,,,,435,,,,,,435',
467
+ ',,,435,435,,435,435,,,,435,435,435,435,435,435,435,435,435,,,435,286',
468
+ '286,435,,286,286,,286,,,,,,,,,,,,,,,,,286,286,,,,,,286,,286,,286,286',
469
+ ',286,286,286,,286,286,,,,,286,286,,,286,,,286,286,,,,,,,286,,,,,,286',
470
+ ',,,286,286,,286,286,,,,286,286,286,286,286,286,286,286,286,,,286,287',
471
+ '287,286,,287,287,,287,,,,,,,,,,,,,,,,,287,287,,,,,,287,,287,,287,287',
472
+ ',287,287,287,,287,287,,,,,287,287,,,287,,,287,287,,,,,,,287,,,,,,287',
473
+ ',,,287,287,,287,287,,,,287,287,287,287,287,287,287,287,287,,,287,288',
474
+ '288,287,,288,288,,288,,,,,,,,,,,,,,,,,288,288,,,,,,288,,288,,288,288',
475
+ ',288,288,288,,288,288,288,288,,,288,288,,,288,,,288,288,,,,,,,288,,',
476
+ ',,,288,,,,288,288,,288,288,,,,288,288,288,288,288,288,288,288,288,,',
477
+ '288,70,70,288,,70,70,70,70,,,,,,,,,,,,,,,,,70,70,,,,,,70,,70,,70,70',
478
+ ',70,70,70,,70,70,70,70,,,70,70,,,70,,,70,70,,,,,,,70,,,,,,70,,,,70,70',
479
+ ',70,70,,,,70,70,70,70,70,70,70,70,70,70,70,70,71,71,70,,71,71,71,71',
480
+ ',,,,,,,,,,,,,,,,71,71,,,,,,71,,71,,71,71,,71,71,71,,71,71,71,71,,,71',
481
+ '71,,,71,,,71,71,,,,,,,71,,,,,,71,,,,71,71,,71,71,,,,71,71,71,71,71,71',
482
+ '71,71,71,71,71,71,72,72,71,,72,72,,72,72,,,,,,,,,,,,,,,,72,72,,,,,,72',
483
+ ',72,,72,72,,72,72,72,,72,72,72,72,,,72,72,,,72,,,72,72,,,,,,,72,,,,',
484
+ ',72,,,,72,72,,72,72,,,,72,72,72,72,72,72,72,72,72,72,72,72,343,343,72',
485
+ ',343,343,,343,,,,,,,,,,,,,,,,,343,343,,,,,,343,,343,,343,343,,343,343',
486
+ '343,,343,343,,,,,343,343,,,343,,,343,343,,,,,,,343,,,,,,343,,,,343,343',
487
+ ',343,343,,,,343,343,343,343,343,343,343,343,343,,,343,306,306,343,,306',
488
+ '306,,306,306,,,,,,,,,,,,,,,,306,306,,,,,,306,,306,,306,306,,306,306',
489
+ '306,,306,306,306,306,,,306,306,,,306,,,306,306,,,,,,,306,,,,,,306,,',
490
+ ',306,306,,306,306,,,,306,306,306,306,306,306,306,306,306,,,306,307,307',
491
+ '306,,307,307,,307,307,,,,,,,,,,,,,,,,307,307,,,,,,307,,307,,307,307',
492
+ ',307,307,307,,307,307,307,307,,,307,307,,,307,,,307,307,,,,,,,307,,',
493
+ ',,,307,,,,307,307,,307,307,,,,307,307,307,307,307,307,307,307,307,,',
494
+ '307,82,82,307,,82,82,,82,,,,,,,,,,,,,,,,,82,82,,,,,,82,,82,,82,82,,82',
495
+ '82,82,,82,82,,,,,82,82,,,82,,,82,82,,,,,,,82,,,,,,82,,,,82,82,,82,82',
496
+ ',,,82,82,82,82,82,82,82,82,82,,,82,308,308,82,,308,308,,308,,,,,,,,',
497
+ ',,,,,,,,308,308,,,,,,308,,308,,308,308,,308,308,308,,308,308,,,,,308',
498
+ '308,,,308,,,308,308,,,,,,,308,,,,,,308,,,,308,308,,308,308,,,,308,308',
499
+ '308,308,308,308,308,308,308,,,308,85,85,308,,85,85,,85,,,,,,,,,,,,,',
500
+ ',,,85,85,,,,,,85,,85,,85,85,,85,85,85,,85,85,85,85,,,85,85,,,85,,,85',
501
+ '85,,,,,,,85,,,,,,85,,,,85,85,,85,85,,,,85,85,85,85,85,85,85,85,85,,',
502
+ '85,409,409,85,,409,409,,409,,,,,,,,,,,,,,,,,409,409,,,,,,409,,409,,409',
503
+ '409,,409,409,409,,409,409,409,409,,,409,409,,,409,,,409,409,,,,,,,409',
504
+ ',,,,,409,,,,409,409,,409,409,,,,409,409,409,409,409,409,409,409,409',
505
+ ',,409,87,87,409,,87,87,,87,,,,,,,,,,,,,,,,,87,87,,,,,,87,,87,,87,87',
506
+ ',87,87,87,,87,87,87,87,,,87,87,,,87,,,87,87,,,,,,,87,,,,,,87,,,,87,87',
507
+ ',87,87,,,,87,87,87,87,87,87,87,87,87,,,87,88,88,87,,88,88,,88,,,,,,',
508
+ ',,,,,,,,,,88,88,,,,,,88,,88,,88,88,,88,88,88,,88,88,88,88,,,88,88,,',
509
+ '88,,,88,88,,,,,,,88,,,,,,88,,,,88,88,,88,88,,,,88,88,88,88,88,88,88',
510
+ '88,88,,,88,89,89,88,,89,89,,89,,,,,,,,,,,,,,,,,89,89,,,,,,89,,89,,89',
511
+ '89,,89,89,89,,89,89,89,89,,,89,89,,,89,,,89,89,,,,,,,89,,,,,,89,,,,89',
512
+ '89,,89,89,,,,89,89,89,89,89,89,89,89,89,,,89,90,90,89,,90,90,,90,,,',
513
+ ',,,,,,,,,,,,,90,90,,,,,,90,,90,,90,90,,90,90,90,,90,90,90,90,,,90,90',
514
+ ',,90,,,90,90,,,,,,,90,,,,,,90,,,,90,90,,90,90,,,,90,90,90,90,90,90,90',
515
+ '90,90,,,90,91,91,90,,91,91,,91,,,,,,,,,,,,,,,,,91,91,,,,,,91,,91,,91',
516
+ '91,,91,91,91,,91,91,91,91,,,91,91,,,91,,,91,91,,,,,,,91,,,,,,91,,,,91',
517
+ '91,,91,91,,,,91,91,91,91,91,91,91,91,91,,,91,92,92,91,,92,92,,92,,,',
518
+ ',,,,,,,,,,,,,92,92,,,,,,92,,92,,92,92,,92,92,92,,92,92,92,92,,,92,92',
519
+ ',,92,,,92,92,,,,,,,92,,,,,,92,,,,92,92,,92,92,,,,92,92,92,92,92,92,92',
520
+ '92,92,,,92,93,93,92,,93,93,,93,,,,,,,,,,,,,,,,,93,93,,,,,,93,,93,,93',
521
+ '93,,93,93,93,,93,93,93,93,,,93,93,,,93,,,93,93,,,,,,,93,,,,,,93,,,,93',
522
+ '93,,93,93,,,,93,93,93,93,93,93,93,93,93,,,93,94,94,93,,94,94,,94,,,',
523
+ ',,,,,,,,,,,,,94,94,,,,,,94,,94,,94,94,,94,94,94,,94,94,94,94,,,94,94',
524
+ ',,94,,,94,94,,,,,,,94,,,,,,94,,,,94,94,,94,94,,,,94,94,94,94,94,94,94',
525
+ '94,94,,,94,95,95,94,,95,95,,95,,,,,,,,,,,,,,,,,95,95,,,,,,95,95,95,95',
526
+ '95,95,95,95,95,95,,95,95,,,,,95,95,95,95,95,,,95,95,,,,,,,95,,,,,95',
527
+ '95,,,,95,95,,95,95,,,,95,95,95,95,95,95,95,95,95,95,95,95,96,96,95,',
528
+ '96,96,,96,,,,,,,,,,,,,,,,,96,96,,,,,,96,,96,,96,96,,96,96,96,,96,96',
529
+ ',,,,96,96,,,96,,,96,96,,,,,,,96,,,,,,96,,,,96,96,,96,96,,,,96,96,96',
530
+ '96,96,96,96,96,96,,,96,97,97,96,,97,97,,97,,,,,,,,,,,,,,,,,97,97,,,',
531
+ ',,97,,97,,97,97,,97,97,97,,97,97,,,,,97,97,,,97,,,97,97,,,,,,,97,,,',
532
+ ',,97,,,,97,97,,97,97,,,,97,97,97,97,97,97,97,97,97,,,97,98,98,97,,98',
533
+ '98,,98,,,,,,,,,,,,,,,,,98,98,,,,,,98,,98,,98,98,,98,98,98,,98,98,,,',
534
+ ',98,98,,,98,,,98,98,,,,,,,98,,,,,,98,,,,98,98,,98,98,,,,98,98,98,98',
535
+ '98,98,98,98,98,,,98,99,99,98,,99,99,,99,,,,,,,,,,,,,,,,,99,99,,,,,,99',
536
+ ',99,,99,99,,99,99,99,,99,99,,,,,99,99,,,99,,,99,99,,,,,,,99,,,,,,99',
537
+ ',,,99,99,,99,99,,,,99,99,99,99,99,99,99,99,99,,,99,100,100,99,,100,100',
538
+ ',100,,,,,,,,,,,,,,,,,100,100,,,,,,100,,100,,100,100,,100,100,100,,100',
539
+ '100,,,,,100,100,,,100,,,100,100,,,,,,,100,,,,,,100,,,,100,100,,100,100',
540
+ ',,,100,100,100,100,100,100,100,100,100,,,100,101,101,100,,101,101,,101',
541
+ ',,,,,,,,,,,,,,,,101,101,,,,,,101,,101,,101,101,,101,101,101,,101,101',
542
+ ',,,,101,101,,,101,,,101,101,,,,,,,101,,,,,,101,,,,101,101,,101,101,',
543
+ ',,101,101,101,101,101,101,101,101,101,,,101,102,102,101,,102,102,,102',
544
+ ',,,,,,,,,,,,,,,,102,102,,,,,,102,,102,,102,102,,102,102,102,,102,102',
545
+ ',,,,102,102,,,102,,,102,102,,,,,,,102,,,,,,102,,,,102,102,,102,102,',
546
+ ',,102,102,102,102,102,102,102,102,102,,,102,103,103,102,,103,103,,103',
547
+ ',,,,,,,,,,,,,,,,103,103,,,,,,103,,103,,103,103,,103,103,103,,103,103',
548
+ ',,,,103,103,,,103,,,103,103,,,,,,,103,,,,,,103,,,,103,103,,103,103,',
549
+ ',,103,103,103,103,103,103,103,103,103,,,103,104,104,103,,104,104,,104',
550
+ ',,,,,,,,,,,,,,,,104,104,,,,,,104,,104,,104,104,,104,104,104,,104,104',
551
+ ',,,,104,104,,,104,,,104,104,,,,,,,104,,,,,,104,,,,104,104,,104,104,',
552
+ ',,104,104,104,104,104,104,104,104,104,,,104,105,105,104,,105,105,,105',
553
+ ',,,,,,,,,,,,,,,,105,105,,,,,,105,,105,,105,105,,105,105,105,,105,105',
554
+ ',,,,105,105,,,105,,,105,105,,,,,,,105,,,,,,105,,,,105,105,,105,105,',
555
+ ',,105,105,105,105,105,105,105,105,105,,,105,106,106,105,,106,106,,106',
556
+ ',,,,,,,,,,,,,,,,106,106,,,,,,106,,106,,106,106,,106,106,106,,106,106',
557
+ ',,,,106,106,,,106,,,106,106,,,,,,,106,,,,,,106,,,,106,106,,106,106,',
558
+ ',,106,106,106,106,106,106,106,106,106,,,106,107,107,106,,107,107,,107',
559
+ ',,,,,,,,,,,,,,,,107,107,,,,,,107,,107,,107,107,,107,107,107,,107,107',
560
+ ',,,,107,107,,,107,,,107,107,,,,,,,107,,,,,,107,,,,107,107,,107,107,',
561
+ ',,107,107,107,107,107,107,107,107,107,,,107,108,108,107,,108,108,,108',
562
+ ',,,,,,,,,,,,,,,,108,108,,,,,,108,,108,,108,108,,108,108,108,,108,108',
563
+ ',,,,108,108,,,108,,,108,108,,,,,,,108,,,,,,108,,,,108,108,,108,108,',
564
+ ',,108,108,108,108,108,108,108,108,108,,,108,109,109,108,,109,109,,109',
565
+ ',,,,,,,,,,,,,,,,109,109,,,,,,109,,109,,109,109,,109,109,109,,109,109',
566
+ ',,,,109,109,,,109,,,109,109,,,,,,,109,,,,,,109,,,,109,109,,109,109,',
567
+ ',,109,109,109,109,109,109,109,109,109,,,109,110,110,109,,110,110,,110',
568
+ ',,,,,,,,,,,,,,,,110,110,,,,,,110,,110,,110,110,,110,110,110,,110,110',
569
+ ',,,,110,110,,,110,,,110,110,,,,,,,110,,,,,,110,,,,110,110,,110,110,',
570
+ ',,110,110,110,110,110,110,110,110,110,,,110,111,111,110,,111,111,,111',
571
+ ',,,,,,,,,,,,,,,,111,111,,,,,,111,,111,,111,111,,111,111,111,,111,111',
572
+ ',,,,111,111,,,111,,,111,111,,,,,,,111,,,,,,111,,,,111,111,,111,111,',
573
+ ',,111,111,111,111,111,111,111,111,111,,,111,112,112,111,,112,112,,112',
574
+ ',,,,,,,,,,,,,,,,112,112,,,,,,112,,112,,112,112,,112,112,112,,112,112',
575
+ ',,,,112,112,,,112,,,112,112,,,,,,,112,,,,,,112,,,,112,112,,112,112,',
576
+ ',,112,112,112,112,112,112,112,112,112,,,112,113,113,112,,113,113,,113',
577
+ ',,,,,,,,,,,,,,,,113,113,,,,,,113,,113,,113,113,,113,113,113,,113,113',
578
+ ',,,,113,113,,,113,,,113,113,,,,,,,113,,,,,,113,,,,113,113,,113,113,',
579
+ ',,113,113,113,113,113,113,113,113,113,,,113,114,114,113,,114,114,,114',
580
+ ',,,,,,,,,,,,,,,,114,114,,,,,,114,,114,,114,114,,114,114,114,,114,114',
581
+ ',,,,114,114,,,114,,,114,114,,,,,,,114,,,,,,114,,,114,114,114,,114,114',
582
+ ',,,114,114,114,114,114,114,114,114,114,,,114,115,115,114,,115,115,,115',
583
+ ',,,,,,,,,,,,,,,,115,115,,,,,,115,,115,,115,115,,115,115,115,,115,115',
584
+ ',,,,115,115,,,115,,,115,115,,,,,,,115,,,,,,115,,,,115,115,,115,115,',
585
+ ',,115,115,115,115,115,115,115,115,115,,,115,408,408,115,,408,408,,408',
586
+ ',,,,,,,,,,,,,,,,408,408,,,,,,408,,408,,408,408,,408,408,408,,408,408',
587
+ '408,408,,,408,408,,,408,,,408,408,,,,,,,408,,,,,,408,,,,408,408,,408',
588
+ '408,,,,408,408,408,408,408,408,408,408,408,,,408,406,406,408,,406,406',
589
+ ',406,406,,,,,,,,,,,,,,,,406,406,,,,,,406,,406,,406,406,,406,406,406',
590
+ ',406,406,,,,,406,406,,,406,,,406,406,,,,,,,406,,,,,,406,,,,406,406,',
591
+ '406,406,,,,406,406,406,406,406,406,406,406,406,,,406,119,119,406,,119',
592
+ '119,,119,,,,,,,,,,,,,,,,,119,119,,,,,,119,,119,,119,119,,119,119,119',
593
+ ',119,119,,,,,119,119,,,119,,,119,119,,,,,,,119,,,,,,119,,,,119,119,',
594
+ '119,119,,,,119,119,119,119,119,119,119,119,119,,,119,120,120,119,,120',
595
+ '120,,120,,,,,,,,,,,,,,,,,120,120,,,,,,120,,120,,120,120,,120,120,120',
596
+ ',120,120,,,,,120,120,,,120,,,120,120,,,,,,,120,,,,,,120,,,,120,120,',
597
+ '120,120,,,,120,120,120,120,120,120,120,120,120,,,120,399,399,120,,399',
598
+ '399,,399,,,,,,,,,,,,,,,,,399,399,,,,,,399,,399,,399,399,,399,399,399',
599
+ ',399,399,399,399,,,399,399,,,399,,,399,399,,,,,,,399,,,,,,399,,,,399',
600
+ '399,,399,399,,,,399,399,399,399,399,399,399,399,399,,,399,396,396,399',
601
+ ',396,396,,396,,,,,,,,,,,,,,,,,396,396,,,,,,396,,396,,396,396,,396,396',
602
+ '396,,396,396,,,,,396,396,,,396,,,396,396,,,,,,,396,,,,,,396,,,,396,396',
603
+ ',396,396,,,,396,396,396,396,396,396,396,396,396,,,396,123,123,396,,123',
604
+ '123,,123,,,,,,,,,,,,,,,,,123,123,,,,,,123,,123,,123,123,,123,123,123',
605
+ ',123,123,,,,,123,123,,,123,,,123,123,,,,,,,123,,,,,,123,,,,123,123,',
606
+ '123,123,,,,123,123,123,123,123,123,123,123,123,,,123,392,392,123,,392',
607
+ '392,,392,392,,,,,,,,,,,,,,,,392,392,,,,,,392,,392,,392,392,,392,392',
608
+ '392,,392,392,392,392,,,392,392,,,392,,,392,392,,,,,,,392,,,,,,392,,',
609
+ ',392,392,,392,392,,,,392,392,392,392,392,392,392,392,392,,,392,319,319',
610
+ '392,,319,319,,319,,,,,,,,,,,,,,,,,319,319,,,,,,319,,319,,319,319,,319',
611
+ '319,319,,319,319,319,319,,,319,319,,,319,,,319,319,,,,,,,319,,,,,,319',
612
+ ',,,319,319,,319,319,,,,319,319,319,319,319,319,319,319,319,319,319,319',
613
+ '322,322,319,,322,322,,322,322,,,,,,,,,,,,,,,,322,322,,,,,,322,,322,',
614
+ '322,322,,322,322,322,,322,322,322,322,,,322,322,,,322,,,322,322,,,,',
615
+ ',,322,,,,,,322,,,,322,322,,322,322,,,,322,322,322,322,322,322,322,322',
616
+ '322,322,322,322,161,161,322,,161,161,,161,161,,,,,,,,,,,,,,,,161,161',
617
+ ',,,,,161,,161,,161,161,,161,161,161,,161,161,161,161,,,161,161,,,161',
618
+ ',,161,161,,,,,,,161,,,,,,161,,,,161,161,,161,161,,,,161,161,161,161',
619
+ '161,161,161,161,161,,,161,323,323,161,,323,323,,323,,,,,,,,,,,,,,,,',
620
+ '323,323,,,,,,323,,323,,323,323,,323,323,323,,323,323,323,323,,,323,323',
621
+ ',,323,,,323,323,,,,,,,323,,,,,,323,,,,323,323,,323,323,,,,323,323,323',
622
+ '323,323,323,323,323,323,323,323,323,328,328,323,,328,328,,328,,,,,,',
623
+ ',,,,,,,,,,328,328,,,,,,328,,328,,328,328,,328,328,328,,328,328,328,328',
624
+ ',,328,328,,,328,,,328,328,,,,,,,328,,,,,,328,,,,328,328,,328,328,,,',
625
+ '328,328,328,328,328,328,328,328,328,,,328,153,153,328,,153,153,,153',
626
+ ',,,,,,,,,,,,,,,,153,153,153,,,,,153,,153,,153,153,,153,153,153,,153',
627
+ '153,153,153,,,153,153,,,153,,,153,153,,,,,,,153,,,,,,153,,,,153,153',
628
+ ',153,153,,,,153,153,153,153,153,153,153,153,153,,,153,375,375,153,,375',
629
+ '375,,375,,,,,,,,,,,,,,,,,375,375,,,,,,375,,375,,375,375,,375,375,375',
630
+ ',375,375,,,,,375,375,,,375,,,375,375,,,,,,,375,,,,,,375,,,,375,375,',
631
+ '375,375,,,,375,375,375,375,375,375,375,375,375,,,375,350,350,375,,350',
632
+ '350,,350,,,,,,,,,,,,,,,,,350,350,,,,,,350,,350,,350,350,,350,350,350',
633
+ ',350,350,,,,,350,350,,,350,,,350,350,,,,,,,350,,,,,,350,,,,350,350,',
634
+ '350,350,,,,350,350,350,350,350,350,350,350,350,,,350,346,346,350,,346',
635
+ '346,,346,,,,,,,,,,,,,,,,,346,346,,,,,,346,,346,,346,346,,346,346,346',
636
+ ',346,346,,,,,346,346,,,346,,,346,346,,,,,,,346,,,,,,346,,,,346,346,',
637
+ '346,346,,,,346,346,346,346,346,346,346,346,346,,,346,345,345,346,,345',
638
+ '345,,345,,,,,,,,,,,,,,,,,345,345,,,,,,345,,345,,345,345,,345,345,345',
639
+ ',345,345,,,,,345,345,,,345,,,345,345,,,,,,,345,,,,,,345,,,,345,345,',
640
+ '345,345,,,,345,345,345,345,345,345,345,345,345,,,345,344,344,345,,344',
641
+ '344,,344,,,,,,,,,,,,,,,,,344,344,,,,,,344,,344,,344,344,,344,344,344',
642
+ ',344,344,,,,,344,344,,,344,,,344,344,,,,,,,344,,,,,,344,,,,344,344,',
643
+ '344,344,,,,344,344,344,344,344,344,344,344,344,,,344,77,77,344,,77,77',
644
+ ',77,,,,,,,,,,,,,,,,,77,77,,,,,,77,,77,,77,77,,77,77,77,,77,77,77,77',
645
+ ',,77,77,,,77,,,77,77,,,,,,,77,,,,,,77,,,,77,77,,77,77,,,254,77,77,77',
646
+ '77,77,77,77,77,77,,,77,254,254,77,254,250,254,,254,,254,,,,,,,,,250',
647
+ ',250,,250,,250,,,,254,,,,,,,,254,254,254,254,254,254,,254,254,250,,',
648
+ '251,,254,,,250,250,250,250,,,,250,250,251,,251,,251,250,251,,,,,,,,',
649
+ ',,254,,,,,,,,,,251,,,,,,,250,251,251,251,251,154,,154,251,251,,,,,,251',
650
+ ',154,154,154,,154,,154,,154,,154,154,154,154,,,,,,,,,,,,,,251,,154,',
651
+ ',,154,154,,,154,154,154,154,154,154,,154,154,156,,156,,,154,,,,,,,156',
652
+ '156,156,,156,,156,,156,,156,156,156,156,,,,,,,,,154,,,,,,,156,,,,156',
653
+ '156,,,156,156,156,156,156,156,,156,156,157,,157,,,156,,,,,,,157,157',
654
+ '157,,157,252,157,,157,,157,157,157,157,,,,,,252,,252,156,252,,252,,',
655
+ ',157,,,,157,157,,,157,157,157,157,157,157,,157,157,252,,,246,,157,,',
656
+ '252,252,252,252,252,252,,252,252,246,,246,,246,252,246,,,,253,,,,,,',
657
+ '157,,,,,,,253,,253,246,253,,253,,,,252,,,246,246,,,,246,246,,,,,,246',
658
+ ',253,,,,,,,,253,253,253,253,253,253,,253,253,9,,,,,253,,,,,246,,9,9',
659
+ '9,,9,,9,,9,,9,9,9,9,,,,,,,,,253,,,,,,,9,,,,9,9,,388,9,9,9,9,9,9,,9,9',
660
+ ',,388,388,388,9,388,,388,,388,,388,388,388,388,,,,,,,,,,,,,,,,388,,',
661
+ '9,388,388,,459,388,388,388,388,388,388,,388,388,,,459,459,459,388,459',
662
+ '255,459,,459,,459,459,459,459,,,,,255,255,,255,,255,,255,,255,,459,',
663
+ ',388,459,459,,,459,459,459,459,459,459,,459,459,255,,,245,,459,,,255',
664
+ '255,255,255,255,255,,255,255,245,,245,,245,255,245,,,,256,,,,,,,459',
665
+ ',,,,,256,256,,256,245,256,,256,,256,,255,,,245,245,,,,245,245,,,,,,245',
666
+ ',256,,,,,,,,256,256,256,256,256,256,,256,256,257,,,,,256,,,,,245,,,257',
667
+ '257,,257,,257,,257,,257,,,,,,,,,,,,256,,,,,,,257,,,,,258,,,257,257,257',
668
+ '257,257,257,,257,257,258,258,258,,258,257,258,,258,,258,258,258,258',
669
+ ',,,,,,,,,,,,,,,258,,,,,257,,430,258,258,258,258,258,258,,258,258,,,430',
670
+ '430,430,258,430,,430,,430,,430,430,430,430,,,,,,,,,,,,,,,,430,,,258',
671
+ '430,430,,431,430,430,430,430,430,430,,430,430,,,431,431,431,430,431',
672
+ ',431,,431,,431,431,431,431,,,,,,,,,,,,,,,,431,,,430,431,431,,432,431',
673
+ '431,431,431,431,431,,431,431,,,432,432,432,431,432,,432,,432,,432,432',
674
+ '432,432,,,,,,,,,,,,,,,,432,,,431,432,432,,433,432,432,432,432,432,432',
675
+ ',432,432,,,433,433,433,432,433,,433,,433,,433,433,433,433,,,,,,,,,,',
676
+ ',,,,,433,,,432,433,433,,437,433,433,433,433,433,433,,433,433,,,437,437',
677
+ '437,433,437,,437,,437,,437,437,437,437,,,,,,,,,,,,,,,,437,,,433,437',
678
+ '437,,,437,437,437,437,437,437,274,437,437,,,,,,437,,,,274,274,274,274',
679
+ '274,,274,,274,,274,274,274,274,,,,,,,,,,,,437,,,,274,,,,274,274,,,274',
680
+ '274,274,274,274,274,209,274,274,,,,,,274,,,,209,209,209,209,209,,209',
681
+ ',209,,209,209,209,209,,,,,,,,,,,,274,,,,209,,,,209,209,,269,209,209',
682
+ '209,209,209,209,,209,209,,,269,269,269,209,269,,269,,269,,269,269,269',
683
+ '269,,,,,,,,,,,,,,,,269,,,209,269,269,,197,269,269,269,269,269,269,,269',
684
+ '269,,,197,197,197,269,197,,197,,197,,197,197,197,197,,,,,,,,,,,,,,,',
685
+ '197,,,269,197,197,,259,197,197,197,197,197,197,,197,197,,,259,259,259',
686
+ '197,259,,259,,259,,259,259,259,259,197,197,,,,,,,,,,,,,,259,,,197,,259',
687
+ ',,259,259,259,259,259,259,260,259,259,,,260,,,259,,,,260,260,260,,260',
688
+ ',260,,260,,260,260,260,260,,,,,,,,,,,,259,,,,260,,,,260,260,,264,260',
689
+ '260,260,260,260,260,,260,260,,,264,264,264,260,264,,264,,264,,264,264',
690
+ '264,264,,,,,,,,,,,,,,,,264,,,260,264,264,,,264,264,264,264,264,264,',
691
+ '264,264,,268,268,268,268,264,268,268,268,,268,,268,268,,,,,,,268,268',
692
+ '268,,,,268,,,,,,,,264,,,,268,268,,,,,,,,,,,,268,268,268,268,268,268',
693
+ '268,268,268,268,268,268,410,410,410,410,,410,410,410,,410,,410,410,',
694
+ ',,,,,410,410,410,,,,410,,,,,,,,,,,,410,410,,,,,,,,,,,,410,410,410,410',
695
+ '410,410,410,410,410,410,410,410,384,384,384,384,,384,384,384,,384,,384',
696
+ '384,,,,,,,384,384,384,,,,384,,,,,,,,,,,,384,384,,,,,,,,,,,,384,384,384',
697
+ '384,384,384,384,384,384,384,384,384,340,340,340,340,,340,340,340,,340',
698
+ ',340,340,,,,,,,340,340,340,,,,340,,,,,,,,,,,,340,340,,,,,,,,,,,,340',
699
+ '340,340,340,340,340,340,340,340,340,340,340,342,342,342,342,,342,342',
700
+ '342,,342,,342,342,,,,,,,342,342,342,,,,342,,,,,,,,,,,,342,342,,,,,,',
701
+ ',,,,,342,342,342,342,342,342,342,342,342,342,342,342,376,376,376,376',
702
+ ',376,376,376,,376,,376,376,,,,,,,376,376,376,,,,376,,,,,,,,,,,,376,376',
703
+ ',,,,,,,,,,,376,376,376,376,376,376,376,376,376,376,376,376' ]
704
+ racc_action_check = arr = ::Array.new(10508, nil)
491
705
  idx = 0
492
706
  clist.each do |str|
493
707
  str.split(',', -1).each do |i|
@@ -497,449 +711,546 @@ clist = [
497
711
  end
498
712
 
499
713
  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,
714
+ -2, 515, nil, nil, 184, 489, nil, 891, 488, 9188,
715
+ 649, 742, 485, nil, nil, nil, 209, 1021, 1114, 1207,
716
+ 1300, 1393, nil, nil, nil, nil, nil, nil, nil, nil,
502
717
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
718
+ nil, nil, nil, nil, nil, nil, nil, 205, 1579, -21,
719
+ 372, 416, 1951, 2044, 2137, 206, 15, 91, 429, 677,
720
+ 113, 165, 173, 216, 246, 214, 154, nil, nil, nil,
721
+ 3346, 3439, 3532, nil, nil, nil, nil, 8740, nil, 327,
722
+ 323, nil, 3904, nil, 392, 4090, 378, 4276, 4369, 4462,
723
+ 4555, 4648, 4741, 4834, 4927, 5020, 5113, 5206, 5299, 5392,
724
+ 5485, 5578, 5671, 5764, 5857, 5950, 6043, 6136, 6229, 6322,
725
+ 6415, 6508, 6601, 6694, 6787, 6880, nil, -22, 376, 7159,
726
+ 7252, 349, 348, 7531, 89, nil, nil, nil, nil, nil,
727
+ nil, nil, nil, nil, 480, nil, nil, 1121, 573, 1205,
728
+ 1214, 248, 233, nil, 227, 144, nil, 206, 188, 32,
729
+ nil, 128, -35, 8182, 8929, nil, 8987, 9045, 299, 303,
730
+ 294, 7903, 114, nil, 99, nil, nil, nil, nil, nil,
731
+ nil, nil, 319, 63, 299, 190, 201, 274, nil, nil,
732
+ nil, nil, nil, nil, 365, nil, 86, nil, nil, 378,
733
+ nil, 232, nil, nil, 212, 2695, 227, 9919, 2602, nil,
734
+ 418, nil, nil, nil, nil, 438, 441, 474, 475, 9823,
735
+ 482, 2230, -1, 6, 79, -18, 1765, 835, 556, nil,
736
+ nil, 113, 15, 46, 67, 4, 392, 387, 578, 490,
737
+ 852, 108, -4, -9, nil, nil, nil, nil, nil, nil,
738
+ nil, nil, 1028, 749, 842, 9345, 9106, 1019, 1112, 973,
739
+ 8832, 8876, 9062, 9130, 8815, 9301, 9369, 9427, 9473, 9967,
740
+ 10022, nil, nil, 2323, 10070, 426, nil, nil, 10103, 9871,
741
+ 373, nil, 395, 370, 9768, nil, 370, nil, 115, 195,
742
+ 397, nil, nil, 2881, 373, nil, 3067, 3160, 3253, 319,
743
+ 345, 297, nil, nil, 320, nil, nil, nil, nil, nil,
744
+ 304, 276, -24, nil, 93, nil, 3718, 3811, 3997, 148,
745
+ 128, 121, 16, nil, 387, 759, -28, -31, 42, 7717,
746
+ 115, nil, 7810, 7996, nil, nil, nil, nil, 8089, nil,
747
+ nil, nil, nil, 131, nil, nil, nil, nil, 135, 144,
748
+ 10289, 154, 10351, 3625, 8647, 8554, 8461, 207, nil, 225,
749
+ 8368, 237, nil, nil, nil, nil, nil, 240, nil, nil,
503
750
  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 ]
751
+ nil, nil, nil, nil, 244, 8275, 10413, 273, nil, 22,
752
+ nil, 279, nil, 298, 10227, nil, 244, 4, 9236, 330,
753
+ 334, nil, 7624, 343, 279, 103, 7438, nil, nil, 7345,
754
+ nil, 349, 158, 360, 341, -3, 7066, nil, 6973, 4183,
755
+ 10165, nil, 385, nil, 806, nil, nil, 390, nil, nil,
756
+ nil, nil, nil, nil, nil, 328, 127, 389, nil, nil,
757
+ 9521, 9569, 9617, 9665, 408, 2974, nil, 9713, 413, nil,
758
+ nil, 9, 2788, nil, nil, nil, 404, 405, 423, nil,
759
+ 2509, nil, nil, 2416, 430, nil, 1858, nil, nil, 9284,
760
+ 32, nil, 1672, 442, 418, nil, 453, 454, nil, nil,
761
+ 458, nil, nil, 461, 465, 1486, nil, 928, nil, nil,
762
+ 475, 444, nil, nil, nil, nil, 478, nil, nil, 482,
763
+ 483, nil, 67, nil, nil, 463, nil, 370, 277, nil,
764
+ nil, 496, 501, nil, 502, nil, 91, nil, nil, nil,
765
+ nil, 506, nil, 509, nil, 514, nil, nil, nil, nil,
766
+ nil, 482, nil, nil, nil, nil ]
542
767
 
543
768
  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,
769
+ -3, -294, -1, -2, -4, -5, -8, -10, -16, -21,
770
+ -294, -294, -190, -33, -34, -35, -36, -294, -294, -294,
771
+ -294, -294, -64, -65, -66, -67, -68, -69, -70, -71,
547
772
  -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 ]
773
+ -82, -83, -84, -85, -86, -87, -88, -89, -294, -294,
774
+ -96, -100, -294, -294, -294, -294, -294, -294, -294, -294,
775
+ -294, -242, -265, -214, -215, -216, -217, -211, -212, -213,
776
+ -294, -294, -294, -238, -239, -240, -241, -294, -244, -294,
777
+ -257, -260, -294, -266, -294, -294, -7, -294, -294, -294,
778
+ -294, -294, -294, -294, -294, -137, -294, -294, -294, -294,
779
+ -294, -294, -294, -294, -294, -294, -294, -294, -294, -294,
780
+ -294, -294, -294, -294, -294, -294, -94, -294, -132, -293,
781
+ -293, -22, -23, -294, -293, -156, -183, -184, -185, -186,
782
+ -187, -188, -189, -190, -294, -153, -154, -47, -190, -48,
783
+ -55, -294, -294, -14, -267, -91, -95, -206, -294, -265,
784
+ -97, -293, -294, -294, -294, -108, -294, -294, -293, -293,
785
+ -294, -294, -267, -167, -169, -170, -171, -172, -173, -175,
786
+ -176, -242, -293, -232, -234, -237, -233, -267, -219, -228,
787
+ -229, -230, -235, -236, -267, -221, -294, -224, -225, -294,
788
+ -243, -294, -248, -251, -294, -255, -294, -294, -294, 526,
789
+ -6, -9, -11, -12, -13, -17, -18, -19, -20, -294,
790
+ -267, -294, -87, -88, -89, -285, -278, -284, -272, -138,
791
+ -141, -214, -215, -216, -217, -294, -275, -289, -190, -292,
792
+ -281, -287, -212, -213, -271, -276, -277, -279, -280, -282,
793
+ -290, -291, -37, -38, -39, -40, -41, -42, -43, -44,
794
+ -45, -46, -49, -50, -51, -52, -53, -54, -56, -57,
795
+ -294, -58, -126, -294, -62, -267, -101, -102, -137, -136,
796
+ -294, -135, -294, -269, -294, -28, -293, -191, -294, -294,
797
+ -294, -59, -60, -268, -294, -93, -294, -294, -255, -294,
798
+ -294, -294, -182, -106, -267, -196, -198, -199, -200, -201,
799
+ -203, -294, -294, -265, -294, -99, -294, -294, -294, -294,
800
+ -294, -294, -294, -164, -293, -268, -294, -293, -294, -268,
801
+ -294, -222, -294, -294, -245, -246, -247, -249, -294, -252,
802
+ -253, -254, -256, -267, -258, -261, -263, -264, -8, -294,
803
+ -137, -294, -268, -294, -294, -294, -294, -267, -128, -294,
804
+ -268, -267, -140, -142, -143, -144, -145, -294, -272, -273,
805
+ -274, -275, -278, -281, -283, -284, -285, -286, -287, -288,
806
+ -289, -292, -133, -134, -294, -270, -137, -294, -159, -294,
807
+ -192, -267, -193, -267, -137, -15, -90, -294, -208, -294,
808
+ -294, -103, -294, -180, -294, -268, -294, -204, -205, -294,
809
+ -98, -294, -111, -294, -117, -294, -294, -121, -293, -293,
810
+ -137, -163, -294, -177, -294, -168, -174, -294, -218, -231,
811
+ -220, -223, -226, -227, -250, -294, -294, -267, -26, -139,
812
+ -148, -146, -147, -130, -294, -268, -61, -63, -294, -25,
813
+ -29, -267, -293, -160, -161, -162, -294, -294, -267, -92,
814
+ -294, -207, -209, -255, -294, -105, -294, -107, -197, -202,
815
+ -111, -110, -294, -294, -117, -116, -294, -294, -120, -122,
816
+ -294, -157, -158, -294, -267, -294, -178, -293, -259, -262,
817
+ -294, -30, -127, -129, -131, -27, -294, -194, -195, -294,
818
+ -294, -104, -294, -109, -112, -294, -115, -294, -293, -149,
819
+ -150, -294, -294, -166, -294, -24, -31, -155, -152, -210,
820
+ -181, -294, -114, -294, -119, -294, -124, -125, -151, -165,
821
+ -179, -269, -113, -118, -123, -32 ]
586
822
 
587
823
  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,
824
+ 2, 273, 137, 139, 140, 125, 141, 142, 167, 271,
825
+ 271, 165, 147, 262, 265, 150, 331, 190, 335, 144,
826
+ 290, 210, 374, 148, 181, 181, 415, 134, 294, 443,
827
+ 407, 86, 470, 473, 143, 121, 122, 154, 156, 157,
828
+ 347, 292, 465, 270, 272, 461, 177, 184, 158, 159,
829
+ 480, 440, 377, 172, 429, 412, 179, 179, 179, 515,
830
+ 416, 458, 398, 192, 397, 406, 486, 197, 160, 494,
831
+ 391, 422, 333, 201, 202, 203, 204, 261, 329, 330,
832
+ 209, 242, 243, 244, 245, 246, 247, 248, 249, 250,
833
+ 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
834
+ 264, 504, 496, 493, 269, 269, 3, 327, 274, 389,
835
+ 285, 328, 200, 326, 193, 147, 205, 206, 207, 208,
836
+ 195, 1, 276, nil, 304, 476, nil, 280, 469, nil,
837
+ nil, 125, nil, nil, nil, nil, 147, nil, nil, 143,
838
+ nil, nil, nil, nil, nil, nil, nil, 148, nil, nil,
839
+ nil, nil, nil, 311, 381, 383, 309, 310, nil, 147,
840
+ nil, 312, 348, nil, nil, nil, 378, 159, nil, 172,
841
+ 317, nil, nil, 284, nil, nil, nil, nil, 147, 167,
842
+ nil, nil, 165, nil, 338, 387, 417, nil, nil, 148,
843
+ nil, 314, nil, nil, 351, 332, 139, nil, 339, nil,
844
+ nil, 154, 156, 157, 413, nil, 318, 292, nil, nil,
845
+ nil, nil, nil, 320, nil, nil, nil, nil, nil, 158,
846
+ 159, 125, nil, nil, 172, nil, nil, nil, nil, nil,
847
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 341,
848
+ nil, 147, 147, nil, nil, nil, nil, 479, 260, nil,
849
+ nil, nil, nil, nil, 393, nil, nil, nil, nil, nil,
850
+ nil, nil, nil, nil, 167, nil, 427, 165, 424, 385,
851
+ 525, 264, 388, 419, 490, nil, nil, 423, nil, nil,
852
+ nil, nil, nil, nil, nil, nil, nil, nil, 332, nil,
853
+ nil, nil, nil, 264, 349, nil, nil, nil, 472, 472,
854
+ nil, nil, 441, nil, nil, 179, 401, 403, 179, 179,
855
+ 448, nil, nil, nil, 192, nil, nil, nil, nil, nil,
856
+ nil, nil, nil, 394, nil, nil, nil, nil, 430, 431,
857
+ 432, 433, 472, nil, 483, 437, 474, nil, nil, nil,
616
858
  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,
859
+ nil, 449, nil, nil, nil, 492, nil, nil, 147, nil,
860
+ 274, nil, 425, 167, nil, nil, 165, 472, nil, nil,
861
+ nil, nil, 444, nil, nil, nil, 434, nil, nil, nil,
862
+ 438, 459, nil, nil, 521, 385, nil, nil, 516, nil,
863
+ nil, 264, 454, nil, nil, nil, nil, nil, nil, nil,
620
864
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
621
- nil, nil, nil, nil, nil, nil, nil, nil, 210, nil,
865
+ 446, nil, 447, nil, nil, nil, nil, nil, nil, nil,
866
+ 260, nil, nil, nil, nil, nil, nil, nil, nil, nil,
867
+ nil, nil, nil, nil, nil, 437, nil, nil, nil, nil,
868
+ nil, 264, nil, nil, nil, nil, nil, 154, nil, nil,
869
+ nil, nil, nil, 332, nil, nil, 481, nil, nil, nil,
622
870
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
623
- nil, nil, nil, nil, nil, nil, 123, nil, nil, nil,
871
+ 485, nil, nil, nil, nil, 502, nil, 489, nil, nil,
624
872
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
625
- 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 ]
873
+ nil, 274, nil, nil, nil, 511, nil, 513, 517, nil,
874
+ nil, nil, nil, 501 ]
629
875
 
630
876
  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,
877
+ 2, 13, 10, 10, 10, 66, 6, 6, 41, 58,
878
+ 58, 42, 43, 59, 22, 45, 84, 94, 101, 8,
879
+ 49, 11, 14, 83, 88, 88, 75, 69, 51, 72,
880
+ 56, 5, 68, 68, 6, 9, 9, 10, 10, 10,
881
+ 60, 58, 54, 62, 62, 53, 85, 85, 66, 66,
882
+ 12, 16, 71, 66, 63, 74, 6, 6, 6, 57,
883
+ 77, 78, 79, 6, 81, 55, 68, 10, 69, 52,
884
+ 50, 87, 51, 6, 6, 6, 6, 21, 90, 91,
638
885
  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,
886
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
887
+ 10, 68, 54, 53, 10, 10, 3, 95, 10, 84,
888
+ 45, 96, 5, 98, 99, 43, 9, 9, 9, 9,
889
+ 100, 1, 67, nil, 8, 75, nil, 66, 56, nil,
890
+ nil, 66, nil, nil, nil, nil, 43, nil, nil, 6,
891
+ nil, nil, nil, nil, nil, nil, nil, 83, nil, nil,
892
+ nil, nil, nil, 66, 51, 51, 67, 67, nil, 43,
893
+ nil, 2, 59, nil, nil, nil, 58, 66, nil, 66,
894
+ 67, nil, nil, 15, nil, nil, nil, nil, 43, 41,
895
+ nil, nil, 42, nil, 6, 22, 49, nil, nil, 83,
896
+ nil, 15, nil, nil, 11, 2, 10, nil, 2, nil,
897
+ nil, 10, 10, 10, 58, nil, 15, 58, nil, nil,
898
+ nil, nil, nil, 15, nil, nil, nil, nil, nil, 66,
899
+ 66, 66, nil, nil, 66, nil, nil, nil, nil, nil,
900
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 15,
901
+ nil, 43, 43, nil, nil, nil, nil, 101, 10, nil,
902
+ nil, nil, nil, nil, 43, nil, nil, nil, nil, nil,
903
+ nil, nil, nil, nil, 41, nil, 11, 42, 94, 6,
904
+ 14, 10, 10, 88, 84, nil, nil, 88, nil, nil,
905
+ nil, nil, nil, nil, nil, nil, nil, nil, 2, nil,
906
+ nil, nil, nil, 10, 15, nil, nil, nil, 58, 58,
907
+ nil, nil, 11, nil, nil, 6, 2, 2, 6, 6,
908
+ 11, nil, nil, nil, 6, nil, nil, nil, nil, nil,
909
+ nil, nil, nil, 15, nil, nil, nil, nil, 10, 10,
910
+ 10, 10, 58, nil, 59, 10, 11, nil, nil, nil,
663
911
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
664
- nil, nil, nil, nil, nil, nil, nil, nil, 10, nil,
912
+ nil, 45, nil, nil, nil, 22, nil, nil, 43, nil,
913
+ 10, nil, 15, 41, nil, nil, 42, 58, nil, nil,
914
+ nil, nil, 66, nil, nil, nil, 15, nil, nil, nil,
915
+ 15, 10, nil, nil, 13, 6, nil, nil, 58, nil,
916
+ nil, 10, 2, nil, nil, nil, nil, nil, nil, nil,
665
917
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
666
- nil, nil, nil, nil, nil, nil, 10, nil, nil, nil,
918
+ 15, nil, 15, nil, nil, nil, nil, nil, nil, nil,
919
+ 10, nil, nil, nil, nil, nil, nil, nil, nil, nil,
920
+ nil, nil, nil, nil, nil, 10, nil, nil, nil, nil,
921
+ nil, 10, nil, nil, nil, nil, nil, 10, nil, nil,
922
+ nil, nil, nil, 2, nil, nil, 15, nil, nil, nil,
667
923
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
924
+ 15, nil, nil, nil, nil, 2, nil, 15, nil, nil,
668
925
  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,
671
- 2 ]
926
+ nil, 10, nil, nil, nil, 2, nil, 2, 2, nil,
927
+ nil, nil, nil, 15 ]
672
928
 
673
929
  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 ]
930
+ nil, 121, 0, 106, nil, 27, -14, nil, -29, 25,
931
+ -15, -74, -377, -122, -251, 29, -324, nil, nil, nil,
932
+ nil, -37, -101, nil, nil, nil, nil, nil, nil, nil,
933
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
934
+ nil, -51, -48, -37, nil, -35, nil, nil, nil, -131,
935
+ -220, -124, -393, -357, -362, -243, -278, -439, -110, -101,
936
+ -223, nil, -76, -288, nil, nil, -7, -2, -376, 11,
937
+ nil, -224, -350, nil, -259, -289, nil, -256, -334, -240,
938
+ nil, -237, nil, -26, -179, -24, nil, -251, -46, nil,
939
+ -116, -115, nil, nil, -60, -84, -80, nil, -78, 35,
940
+ 40, -179 ]
683
941
 
684
942
  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 ]
943
+ nil, nil, 471, nil, 4, 5, 6, 7, nil, 8,
944
+ 9, nil, nil, nil, nil, nil, 275, 13, 14, 15,
945
+ 16, nil, 405, 22, 23, 24, 25, 26, 27, 28,
946
+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
947
+ 39, 40, 41, 42, 48, nil, 50, 51, 151, nil,
948
+ nil, nil, 155, nil, nil, nil, nil, nil, 277, nil,
949
+ nil, 118, nil, 219, 225, 220, 57, nil, nil, nil,
950
+ 124, nil, nil, 162, nil, 163, 164, 168, 295, 296,
951
+ 297, 298, 299, 302, nil, nil, 186, 188, 189, 180,
952
+ 73, 74, 75, 77, nil, nil, nil, 191, nil, nil,
953
+ nil, nil ]
694
954
 
695
955
  racc_reduce_table = [
696
956
  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,
957
+ 1, 101, :_reduce_1,
958
+ 1, 101, :_reduce_2,
959
+ 0, 101, :_reduce_3,
960
+ 1, 102, :_reduce_4,
961
+ 1, 104, :_reduce_5,
962
+ 3, 104, :_reduce_6,
963
+ 2, 104, :_reduce_7,
964
+ 1, 105, :_reduce_8,
965
+ 3, 105, :_reduce_9,
966
+ 1, 106, :_reduce_none,
967
+ 3, 106, :_reduce_11,
968
+ 3, 106, :_reduce_12,
969
+ 3, 106, :_reduce_13,
970
+ 1, 108, :_reduce_14,
971
+ 3, 108, :_reduce_15,
972
+ 1, 107, :_reduce_none,
973
+ 3, 107, :_reduce_17,
974
+ 3, 107, :_reduce_18,
975
+ 3, 107, :_reduce_19,
976
+ 3, 107, :_reduce_20,
977
+ 1, 109, :_reduce_none,
978
+ 2, 109, :_reduce_22,
979
+ 2, 109, :_reduce_23,
980
+ 7, 109, :_reduce_24,
981
+ 5, 109, :_reduce_25,
982
+ 5, 109, :_reduce_26,
983
+ 4, 116, :_reduce_27,
984
+ 1, 113, :_reduce_28,
985
+ 3, 113, :_reduce_29,
986
+ 1, 112, :_reduce_30,
987
+ 2, 112, :_reduce_31,
988
+ 4, 112, :_reduce_32,
989
+ 1, 110, :_reduce_none,
990
+ 1, 110, :_reduce_none,
991
+ 1, 110, :_reduce_none,
992
+ 1, 110, :_reduce_none,
993
+ 3, 110, :_reduce_37,
994
+ 3, 110, :_reduce_38,
995
+ 3, 110, :_reduce_39,
996
+ 3, 110, :_reduce_40,
997
+ 3, 110, :_reduce_41,
998
+ 3, 110, :_reduce_42,
999
+ 3, 110, :_reduce_43,
1000
+ 3, 110, :_reduce_44,
1001
+ 3, 110, :_reduce_45,
1002
+ 3, 110, :_reduce_46,
1003
+ 2, 110, :_reduce_47,
1004
+ 2, 110, :_reduce_48,
1005
+ 3, 110, :_reduce_49,
1006
+ 3, 110, :_reduce_50,
1007
+ 3, 110, :_reduce_51,
1008
+ 3, 110, :_reduce_52,
1009
+ 3, 110, :_reduce_53,
1010
+ 3, 110, :_reduce_54,
1011
+ 2, 110, :_reduce_55,
1012
+ 3, 110, :_reduce_56,
1013
+ 3, 110, :_reduce_57,
1014
+ 3, 110, :_reduce_58,
1015
+ 3, 110, :_reduce_59,
756
1016
  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,
772
- 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,
851
- 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,
864
- 1, 160, :_reduce_none,
865
- 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,
1017
+ 5, 120, :_reduce_61,
1018
+ 1, 122, :_reduce_62,
1019
+ 3, 122, :_reduce_63,
1020
+ 1, 117, :_reduce_none,
1021
+ 1, 117, :_reduce_none,
1022
+ 1, 117, :_reduce_none,
1023
+ 1, 117, :_reduce_none,
1024
+ 1, 117, :_reduce_none,
1025
+ 1, 117, :_reduce_none,
1026
+ 1, 117, :_reduce_none,
1027
+ 1, 117, :_reduce_none,
1028
+ 1, 117, :_reduce_none,
1029
+ 1, 117, :_reduce_none,
1030
+ 1, 117, :_reduce_none,
1031
+ 1, 117, :_reduce_none,
1032
+ 1, 117, :_reduce_none,
1033
+ 1, 117, :_reduce_none,
1034
+ 1, 117, :_reduce_none,
1035
+ 1, 117, :_reduce_none,
1036
+ 1, 117, :_reduce_none,
1037
+ 1, 117, :_reduce_none,
1038
+ 1, 117, :_reduce_none,
1039
+ 1, 117, :_reduce_none,
1040
+ 1, 117, :_reduce_none,
1041
+ 1, 117, :_reduce_85,
1042
+ 1, 117, :_reduce_86,
1043
+ 1, 117, :_reduce_87,
1044
+ 1, 117, :_reduce_88,
1045
+ 1, 117, :_reduce_89,
1046
+ 4, 119, :_reduce_90,
1047
+ 2, 119, :_reduce_91,
1048
+ 5, 119, :_reduce_92,
1049
+ 3, 119, :_reduce_93,
1050
+ 2, 144, :_reduce_94,
1051
+ 2, 144, :_reduce_95,
1052
+ 1, 124, :_reduce_96,
1053
+ 2, 124, :_reduce_97,
1054
+ 4, 146, :_reduce_98,
1055
+ 3, 146, :_reduce_99,
1056
+ 1, 146, :_reduce_100,
1057
+ 3, 147, :_reduce_101,
1058
+ 3, 147, :_reduce_102,
1059
+ 3, 145, :_reduce_103,
1060
+ 3, 150, :_reduce_104,
1061
+ 2, 150, :_reduce_105,
1062
+ 2, 148, :_reduce_106,
1063
+ 4, 148, :_reduce_107,
1064
+ 2, 127, :_reduce_108,
1065
+ 5, 152, :_reduce_109,
1066
+ 4, 152, :_reduce_110,
1067
+ 0, 153, :_reduce_none,
1068
+ 2, 153, :_reduce_112,
1069
+ 4, 153, :_reduce_113,
1070
+ 3, 153, :_reduce_114,
1071
+ 6, 128, :_reduce_115,
1072
+ 5, 128, :_reduce_116,
1073
+ 0, 154, :_reduce_none,
1074
+ 4, 154, :_reduce_118,
1075
+ 3, 154, :_reduce_119,
1076
+ 5, 126, :_reduce_120,
1077
+ 1, 155, :_reduce_121,
1078
+ 2, 155, :_reduce_122,
1079
+ 5, 156, :_reduce_123,
1080
+ 1, 157, :_reduce_none,
1081
+ 1, 157, :_reduce_none,
1082
+ 1, 121, :_reduce_none,
1083
+ 4, 121, :_reduce_127,
1084
+ 1, 160, :_reduce_128,
1085
+ 3, 160, :_reduce_129,
1086
+ 3, 159, :_reduce_130,
1087
+ 6, 125, :_reduce_131,
1088
+ 2, 125, :_reduce_132,
1089
+ 3, 161, :_reduce_133,
1090
+ 3, 161, :_reduce_134,
1091
+ 1, 162, :_reduce_none,
1092
+ 1, 162, :_reduce_none,
1093
+ 0, 111, :_reduce_137,
1094
+ 1, 111, :_reduce_138,
1095
+ 3, 111, :_reduce_139,
1096
+ 1, 164, :_reduce_none,
1097
+ 1, 164, :_reduce_none,
1098
+ 1, 164, :_reduce_none,
1099
+ 1, 164, :_reduce_none,
1100
+ 1, 164, :_reduce_none,
1101
+ 1, 164, :_reduce_none,
1102
+ 3, 163, :_reduce_146,
1103
+ 3, 163, :_reduce_147,
1104
+ 3, 163, :_reduce_148,
1105
+ 6, 129, :_reduce_149,
1106
+ 6, 130, :_reduce_150,
1107
+ 7, 118, :_reduce_151,
1108
+ 7, 118, :_reduce_152,
1109
+ 1, 169, :_reduce_none,
1110
+ 1, 169, :_reduce_none,
1111
+ 7, 131, :_reduce_155,
1112
+ 1, 170, :_reduce_156,
1113
+ 1, 168, :_reduce_none,
1114
+ 1, 168, :_reduce_none,
1115
+ 1, 171, :_reduce_none,
1116
+ 2, 171, :_reduce_160,
1117
+ 1, 172, :_reduce_none,
1118
+ 1, 172, :_reduce_none,
1119
+ 4, 133, :_reduce_163,
1120
+ 3, 133, :_reduce_164,
1121
+ 7, 132, :_reduce_165,
1122
+ 6, 132, :_reduce_166,
1123
+ 1, 173, :_reduce_167,
1124
+ 3, 173, :_reduce_168,
1125
+ 1, 175, :_reduce_none,
1126
+ 1, 175, :_reduce_none,
1127
+ 1, 175, :_reduce_171,
1128
+ 1, 175, :_reduce_none,
1129
+ 1, 176, :_reduce_173,
1130
+ 3, 176, :_reduce_174,
1131
+ 1, 177, :_reduce_none,
1132
+ 1, 177, :_reduce_none,
1133
+ 1, 174, :_reduce_none,
1134
+ 2, 174, :_reduce_178,
1135
+ 7, 135, :_reduce_179,
1136
+ 2, 149, :_reduce_180,
1137
+ 5, 149, :_reduce_181,
1138
+ 1, 149, :_reduce_none,
1139
+ 1, 166, :_reduce_none,
1140
+ 1, 166, :_reduce_none,
1141
+ 1, 166, :_reduce_none,
1142
+ 1, 166, :_reduce_none,
1143
+ 1, 166, :_reduce_none,
1144
+ 1, 166, :_reduce_none,
1145
+ 1, 166, :_reduce_none,
1146
+ 1, 166, :_reduce_190,
1147
+ 1, 167, :_reduce_191,
1148
+ 2, 167, :_reduce_192,
1149
+ 2, 167, :_reduce_193,
1150
+ 4, 167, :_reduce_194,
1151
+ 4, 167, :_reduce_195,
1152
+ 1, 151, :_reduce_196,
1153
+ 3, 151, :_reduce_197,
1154
+ 1, 178, :_reduce_none,
905
1155
  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
1156
  1, 179, :_reduce_none,
913
1157
  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
1158
+ 3, 181, :_reduce_202,
1159
+ 1, 181, :_reduce_203,
1160
+ 2, 182, :_reduce_204,
1161
+ 2, 180, :_reduce_205,
1162
+ 1, 183, :_reduce_206,
1163
+ 4, 183, :_reduce_207,
1164
+ 4, 136, :_reduce_208,
1165
+ 5, 137, :_reduce_209,
1166
+ 7, 137, :_reduce_210,
1167
+ 1, 123, :_reduce_211,
1168
+ 1, 138, :_reduce_212,
1169
+ 1, 138, :_reduce_213,
1170
+ 1, 138, :_reduce_214,
1171
+ 1, 138, :_reduce_215,
1172
+ 1, 138, :_reduce_216,
1173
+ 1, 138, :_reduce_217,
1174
+ 4, 139, :_reduce_218,
1175
+ 2, 139, :_reduce_219,
1176
+ 4, 139, :_reduce_220,
1177
+ 2, 139, :_reduce_221,
1178
+ 3, 140, :_reduce_222,
1179
+ 4, 140, :_reduce_223,
1180
+ 2, 140, :_reduce_224,
1181
+ 1, 186, :_reduce_225,
1182
+ 3, 186, :_reduce_226,
1183
+ 3, 187, :_reduce_227,
1184
+ 1, 188, :_reduce_none,
1185
+ 1, 188, :_reduce_229,
1186
+ 1, 185, :_reduce_230,
1187
+ 3, 185, :_reduce_231,
1188
+ 1, 189, :_reduce_none,
1189
+ 1, 189, :_reduce_none,
1190
+ 1, 189, :_reduce_none,
1191
+ 1, 189, :_reduce_none,
1192
+ 1, 189, :_reduce_none,
1193
+ 1, 189, :_reduce_none,
1194
+ 1, 142, :_reduce_none,
1195
+ 1, 142, :_reduce_none,
1196
+ 1, 142, :_reduce_none,
1197
+ 1, 190, :_reduce_241,
1198
+ 1, 190, :_reduce_242,
1199
+ 2, 191, :_reduce_243,
1200
+ 1, 193, :_reduce_244,
1201
+ 1, 195, :_reduce_245,
1202
+ 1, 196, :_reduce_246,
1203
+ 2, 194, :_reduce_247,
1204
+ 1, 197, :_reduce_248,
1205
+ 1, 198, :_reduce_249,
1206
+ 2, 198, :_reduce_250,
1207
+ 2, 192, :_reduce_251,
1208
+ 2, 199, :_reduce_252,
1209
+ 2, 199, :_reduce_253,
1210
+ 3, 103, :_reduce_254,
1211
+ 0, 184, :_reduce_none,
1212
+ 1, 184, :_reduce_none,
1213
+ 0, 200, :_reduce_257,
1214
+ 2, 200, :_reduce_258,
1215
+ 4, 200, :_reduce_259,
1216
+ 1, 134, :_reduce_260,
1217
+ 3, 134, :_reduce_261,
1218
+ 5, 134, :_reduce_262,
1219
+ 1, 201, :_reduce_none,
1220
+ 1, 201, :_reduce_none,
1221
+ 1, 143, :_reduce_265,
1222
+ 1, 141, :_reduce_266,
1223
+ 0, 115, :_reduce_none,
1224
+ 1, 115, :_reduce_268,
1225
+ 0, 114, :_reduce_none,
1226
+ 1, 114, :_reduce_none,
1227
+ 1, 165, :_reduce_none,
1228
+ 1, 165, :_reduce_none,
1229
+ 1, 165, :_reduce_none,
1230
+ 1, 165, :_reduce_none,
1231
+ 1, 165, :_reduce_none,
1232
+ 1, 165, :_reduce_none,
1233
+ 1, 165, :_reduce_none,
1234
+ 1, 165, :_reduce_none,
1235
+ 1, 165, :_reduce_none,
1236
+ 1, 165, :_reduce_none,
1237
+ 1, 165, :_reduce_none,
1238
+ 1, 165, :_reduce_none,
1239
+ 1, 165, :_reduce_none,
1240
+ 1, 165, :_reduce_none,
1241
+ 1, 165, :_reduce_none,
1242
+ 1, 165, :_reduce_none,
1243
+ 1, 165, :_reduce_none,
1244
+ 1, 165, :_reduce_none,
1245
+ 1, 165, :_reduce_none,
1246
+ 1, 165, :_reduce_none,
1247
+ 1, 165, :_reduce_none,
1248
+ 1, 165, :_reduce_none,
1249
+ 0, 158, :_reduce_293 ]
1250
+
1251
+ racc_reduce_n = 294
1252
+
1253
+ racc_shift_n = 526
943
1254
 
944
1255
  racc_token_table = {
945
1256
  false => 0,
@@ -968,73 +1279,82 @@ racc_token_table = {
968
1279
  :LLCOLLECT => 23,
969
1280
  :RRCOLLECT => 24,
970
1281
  :QMARK => 25,
971
- :LPAREN => 26,
972
- :RPAREN => 27,
973
- :ISEQUAL => 28,
974
- :GREATEREQUAL => 29,
975
- :GREATERTHAN => 30,
976
- :LESSTHAN => 31,
977
- :IF => 32,
978
- :ELSE => 33,
979
- :DEFINE => 34,
980
- :ELSIF => 35,
981
- :VARIABLE => 36,
982
- :CLASS => 37,
983
- :INHERITS => 38,
984
- :NODE => 39,
985
- :BOOLEAN => 40,
986
- :NAME => 41,
987
- :SEMIC => 42,
988
- :CASE => 43,
989
- :DEFAULT => 44,
990
- :AT => 45,
991
- :ATAT => 46,
992
- :LCOLLECT => 47,
993
- :RCOLLECT => 48,
994
- :CLASSREF => 49,
995
- :NOT => 50,
996
- :OR => 51,
997
- :AND => 52,
998
- :UNDEF => 53,
999
- :PARROW => 54,
1000
- :PLUS => 55,
1001
- :MINUS => 56,
1002
- :TIMES => 57,
1003
- :DIV => 58,
1004
- :LSHIFT => 59,
1005
- :RSHIFT => 60,
1006
- :UMINUS => 61,
1007
- :MATCH => 62,
1008
- :NOMATCH => 63,
1009
- :REGEX => 64,
1010
- :IN_EDGE => 65,
1011
- :OUT_EDGE => 66,
1012
- :IN_EDGE_SUB => 67,
1013
- :OUT_EDGE_SUB => 68,
1014
- :IN => 69,
1015
- :UNLESS => 70,
1016
- :PIPE => 71,
1017
- :LAMBDA => 72,
1018
- :SELBRACE => 73,
1019
- :NUMBER => 74,
1020
- :HEREDOC => 75,
1021
- :SUBLOCATE => 76,
1022
- :RENDER_STRING => 77,
1023
- :RENDER_EXPR => 78,
1024
- :EPP_START => 79,
1025
- :EPP_END => 80,
1026
- :EPP_END_TRIM => 81,
1027
- :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
1282
+ :WSLPAREN => 26,
1283
+ :LPAREN => 27,
1284
+ :RPAREN => 28,
1285
+ :ISEQUAL => 29,
1286
+ :GREATEREQUAL => 30,
1287
+ :GREATERTHAN => 31,
1288
+ :LESSTHAN => 32,
1289
+ :IF => 33,
1290
+ :ELSE => 34,
1291
+ :DEFINE => 35,
1292
+ :ELSIF => 36,
1293
+ :VARIABLE => 37,
1294
+ :CLASS => 38,
1295
+ :INHERITS => 39,
1296
+ :NODE => 40,
1297
+ :BOOLEAN => 41,
1298
+ :NAME => 42,
1299
+ :SEMIC => 43,
1300
+ :CASE => 44,
1301
+ :DEFAULT => 45,
1302
+ :AT => 46,
1303
+ :ATAT => 47,
1304
+ :LCOLLECT => 48,
1305
+ :RCOLLECT => 49,
1306
+ :CLASSREF => 50,
1307
+ :NOT => 51,
1308
+ :OR => 52,
1309
+ :AND => 53,
1310
+ :UNDEF => 54,
1311
+ :PARROW => 55,
1312
+ :PLUS => 56,
1313
+ :MINUS => 57,
1314
+ :TIMES => 58,
1315
+ :DIV => 59,
1316
+ :LSHIFT => 60,
1317
+ :RSHIFT => 61,
1318
+ :UMINUS => 62,
1319
+ :MATCH => 63,
1320
+ :NOMATCH => 64,
1321
+ :REGEX => 65,
1322
+ :IN_EDGE => 66,
1323
+ :OUT_EDGE => 67,
1324
+ :IN_EDGE_SUB => 68,
1325
+ :OUT_EDGE_SUB => 69,
1326
+ :IN => 70,
1327
+ :UNLESS => 71,
1328
+ :PIPE => 72,
1329
+ :LAMBDA => 73,
1330
+ :SELBRACE => 74,
1331
+ :NUMBER => 75,
1332
+ :HEREDOC => 76,
1333
+ :SUBLOCATE => 77,
1334
+ :RENDER_STRING => 78,
1335
+ :RENDER_EXPR => 79,
1336
+ :EPP_START => 80,
1337
+ :EPP_END => 81,
1338
+ :EPP_END_TRIM => 82,
1339
+ :FUNCTION => 83,
1340
+ :TYPE => 84,
1341
+ :PRIVATE => 85,
1342
+ :ATTR => 86,
1343
+ :APPLICATION_R => 87,
1344
+ :CONSUMES_R => 88,
1345
+ :PRODUCES_R => 89,
1346
+ :SITE_R => 90,
1347
+ :APPLICATION => 91,
1348
+ :PRODUCES => 92,
1349
+ :CONSUMES => 93,
1350
+ :SITE => 94,
1351
+ :LOW => 95,
1352
+ :HIGH => 96,
1353
+ :LISTSTART => 97,
1354
+ :SPLAT => 98,
1355
+ :MODULO => 99 }
1356
+
1357
+ racc_nt_base = 100
1038
1358
 
1039
1359
  racc_use_result_var = true
1040
1360
 
@@ -1081,6 +1401,7 @@ Racc_token_to_s_table = [
1081
1401
  "LLCOLLECT",
1082
1402
  "RRCOLLECT",
1083
1403
  "QMARK",
1404
+ "WSLPAREN",
1084
1405
  "LPAREN",
1085
1406
  "RPAREN",
1086
1407
  "ISEQUAL",
@@ -1138,9 +1459,17 @@ Racc_token_to_s_table = [
1138
1459
  "EPP_END",
1139
1460
  "EPP_END_TRIM",
1140
1461
  "FUNCTION",
1462
+ "TYPE",
1141
1463
  "PRIVATE",
1142
1464
  "ATTR",
1143
- "TYPE",
1465
+ "APPLICATION_R",
1466
+ "CONSUMES_R",
1467
+ "PRODUCES_R",
1468
+ "SITE_R",
1469
+ "APPLICATION",
1470
+ "PRODUCES",
1471
+ "CONSUMES",
1472
+ "SITE",
1144
1473
  "LOW",
1145
1474
  "HIGH",
1146
1475
  "LISTSTART",
@@ -1164,9 +1493,11 @@ Racc_token_to_s_table = [
1164
1493
  "endcomma",
1165
1494
  "resource_body",
1166
1495
  "primary_expression",
1496
+ "capability_mapping",
1167
1497
  "call_function_expression",
1168
- "expressions",
1498
+ "bracketed_expression",
1169
1499
  "selector_entries",
1500
+ "expressions",
1170
1501
  "variable",
1171
1502
  "call_method_with_lambda_expression",
1172
1503
  "collection_expression",
@@ -1174,19 +1505,26 @@ Racc_token_to_s_table = [
1174
1505
  "if_expression",
1175
1506
  "unless_expression",
1176
1507
  "definition_expression",
1508
+ "application_expression",
1177
1509
  "hostclass_expression",
1178
1510
  "node_definition_expression",
1511
+ "site_definition_expression",
1179
1512
  "epp_render_expression",
1513
+ "function_definition",
1514
+ "type_alias",
1515
+ "type_definition",
1180
1516
  "reserved_word",
1181
1517
  "array",
1182
1518
  "hash",
1183
1519
  "regex",
1184
1520
  "quotedtext",
1185
1521
  "type",
1522
+ "call_function_start",
1186
1523
  "lambda",
1187
1524
  "call_method_expression",
1188
1525
  "named_access",
1189
1526
  "lambda_parameter_list",
1527
+ "opt_return_type",
1190
1528
  "lambda_rest",
1191
1529
  "parameters",
1192
1530
  "if_part",
@@ -1206,6 +1544,7 @@ Racc_token_to_s_table = [
1206
1544
  "classname",
1207
1545
  "parameter_list",
1208
1546
  "opt_statements",
1547
+ "capability_kw",
1209
1548
  "stacked_classname",
1210
1549
  "classparent",
1211
1550
  "classnameordefault",
@@ -1220,8 +1559,12 @@ Racc_token_to_s_table = [
1220
1559
  "regular_parameter",
1221
1560
  "splat_parameter",
1222
1561
  "parameter_type",
1562
+ "optional_statements",
1563
+ "collection_entries",
1223
1564
  "hashpairs",
1224
1565
  "hashpair",
1566
+ "collection_entry",
1567
+ "collection_entry_keyword",
1225
1568
  "string",
1226
1569
  "dq_string",
1227
1570
  "heredoc",
@@ -1233,7 +1576,6 @@ Racc_token_to_s_table = [
1233
1576
  "dqtail",
1234
1577
  "sublocated_text",
1235
1578
  "epp_parameters_list",
1236
- "optional_statements",
1237
1579
  "epp_end" ]
1238
1580
 
1239
1581
  Racc_debug_parser = false
@@ -1242,63 +1584,63 @@ Racc_debug_parser = false
1242
1584
 
1243
1585
  # reduce 0 omitted
1244
1586
 
1245
- module_eval(<<'.,.,', 'egrammar.ra', 65)
1587
+ module_eval(<<'.,.,', 'egrammar.ra', 68)
1246
1588
  def _reduce_1(val, _values, result)
1247
1589
  result = create_program(Factory.block_or_expression(*val[0]))
1248
1590
  result
1249
1591
  end
1250
1592
  .,.,
1251
1593
 
1252
- module_eval(<<'.,.,', 'egrammar.ra', 66)
1594
+ module_eval(<<'.,.,', 'egrammar.ra', 69)
1253
1595
  def _reduce_2(val, _values, result)
1254
1596
  result = create_program(Factory.block_or_expression(*val[0]))
1255
1597
  result
1256
1598
  end
1257
1599
  .,.,
1258
1600
 
1259
- module_eval(<<'.,.,', 'egrammar.ra', 67)
1601
+ module_eval(<<'.,.,', 'egrammar.ra', 70)
1260
1602
  def _reduce_3(val, _values, result)
1261
1603
  result = create_empty_program()
1262
1604
  result
1263
1605
  end
1264
1606
  .,.,
1265
1607
 
1266
- module_eval(<<'.,.,', 'egrammar.ra', 71)
1608
+ module_eval(<<'.,.,', 'egrammar.ra', 74)
1267
1609
  def _reduce_4(val, _values, result)
1268
1610
  result = transform_calls(val[0])
1269
1611
  result
1270
1612
  end
1271
1613
  .,.,
1272
1614
 
1273
- module_eval(<<'.,.,', 'egrammar.ra', 78)
1615
+ module_eval(<<'.,.,', 'egrammar.ra', 81)
1274
1616
  def _reduce_5(val, _values, result)
1275
1617
  result = [val[0]]
1276
1618
  result
1277
1619
  end
1278
1620
  .,.,
1279
1621
 
1280
- module_eval(<<'.,.,', 'egrammar.ra', 79)
1622
+ module_eval(<<'.,.,', 'egrammar.ra', 82)
1281
1623
  def _reduce_6(val, _values, result)
1282
1624
  result = val[0].push val[2]
1283
1625
  result
1284
1626
  end
1285
1627
  .,.,
1286
1628
 
1287
- module_eval(<<'.,.,', 'egrammar.ra', 80)
1629
+ module_eval(<<'.,.,', 'egrammar.ra', 83)
1288
1630
  def _reduce_7(val, _values, result)
1289
1631
  result = val[0].push val[1]
1290
1632
  result
1291
1633
  end
1292
1634
  .,.,
1293
1635
 
1294
- module_eval(<<'.,.,', 'egrammar.ra', 87)
1636
+ module_eval(<<'.,.,', 'egrammar.ra', 90)
1295
1637
  def _reduce_8(val, _values, result)
1296
1638
  result = val[0]
1297
1639
  result
1298
1640
  end
1299
1641
  .,.,
1300
1642
 
1301
- module_eval(<<'.,.,', 'egrammar.ra', 88)
1643
+ module_eval(<<'.,.,', 'egrammar.ra', 91)
1302
1644
  def _reduce_9(val, _values, result)
1303
1645
  result = aryfy(val[0]).push(val[1]).push(val[2])
1304
1646
  result
@@ -1307,35 +1649,35 @@ module_eval(<<'.,.,', 'egrammar.ra', 88)
1307
1649
 
1308
1650
  # reduce 10 omitted
1309
1651
 
1310
- module_eval(<<'.,.,', 'egrammar.ra', 93)
1652
+ module_eval(<<'.,.,', 'egrammar.ra', 96)
1311
1653
  def _reduce_11(val, _values, result)
1312
1654
  result = val[0].set(val[2]) ; loc result, val[1]
1313
1655
  result
1314
1656
  end
1315
1657
  .,.,
1316
1658
 
1317
- module_eval(<<'.,.,', 'egrammar.ra', 94)
1659
+ module_eval(<<'.,.,', 'egrammar.ra', 97)
1318
1660
  def _reduce_12(val, _values, result)
1319
1661
  result = val[0].plus_set(val[2]) ; loc result, val[1]
1320
1662
  result
1321
1663
  end
1322
1664
  .,.,
1323
1665
 
1324
- module_eval(<<'.,.,', 'egrammar.ra', 95)
1666
+ module_eval(<<'.,.,', 'egrammar.ra', 98)
1325
1667
  def _reduce_13(val, _values, result)
1326
1668
  result = val[0].minus_set(val[2]); loc result, val[1]
1327
1669
  result
1328
1670
  end
1329
1671
  .,.,
1330
1672
 
1331
- module_eval(<<'.,.,', 'egrammar.ra', 98)
1673
+ module_eval(<<'.,.,', 'egrammar.ra', 101)
1332
1674
  def _reduce_14(val, _values, result)
1333
1675
  result = [val[0]]
1334
1676
  result
1335
1677
  end
1336
1678
  .,.,
1337
1679
 
1338
- module_eval(<<'.,.,', 'egrammar.ra', 99)
1680
+ module_eval(<<'.,.,', 'egrammar.ra', 102)
1339
1681
  def _reduce_15(val, _values, result)
1340
1682
  result = val[0].push(val[2])
1341
1683
  result
@@ -1344,28 +1686,28 @@ module_eval(<<'.,.,', 'egrammar.ra', 99)
1344
1686
 
1345
1687
  # reduce 16 omitted
1346
1688
 
1347
- module_eval(<<'.,.,', 'egrammar.ra', 103)
1689
+ module_eval(<<'.,.,', 'egrammar.ra', 106)
1348
1690
  def _reduce_17(val, _values, result)
1349
1691
  result = val[0].relop(val[1][:value], val[2]); loc result, val[1]
1350
1692
  result
1351
1693
  end
1352
1694
  .,.,
1353
1695
 
1354
- module_eval(<<'.,.,', 'egrammar.ra', 104)
1696
+ module_eval(<<'.,.,', 'egrammar.ra', 107)
1355
1697
  def _reduce_18(val, _values, result)
1356
1698
  result = val[0].relop(val[1][:value], val[2]); loc result, val[1]
1357
1699
  result
1358
1700
  end
1359
1701
  .,.,
1360
1702
 
1361
- module_eval(<<'.,.,', 'egrammar.ra', 105)
1703
+ module_eval(<<'.,.,', 'egrammar.ra', 108)
1362
1704
  def _reduce_19(val, _values, result)
1363
1705
  result = val[0].relop(val[1][:value], val[2]); loc result, val[1]
1364
1706
  result
1365
1707
  end
1366
1708
  .,.,
1367
1709
 
1368
- module_eval(<<'.,.,', 'egrammar.ra', 106)
1710
+ module_eval(<<'.,.,', 'egrammar.ra', 109)
1369
1711
  def _reduce_20(val, _values, result)
1370
1712
  result = val[0].relop(val[1][:value], val[2]); loc result, val[1]
1371
1713
  result
@@ -1374,7 +1716,7 @@ module_eval(<<'.,.,', 'egrammar.ra', 106)
1374
1716
 
1375
1717
  # reduce 21 omitted
1376
1718
 
1377
- module_eval(<<'.,.,', 'egrammar.ra', 115)
1719
+ module_eval(<<'.,.,', 'egrammar.ra', 118)
1378
1720
  def _reduce_22(val, _values, result)
1379
1721
  result = val[1]
1380
1722
  unless Factory.set_resource_form(result, :virtual)
@@ -1388,7 +1730,7 @@ module_eval(<<'.,.,', 'egrammar.ra', 115)
1388
1730
  end
1389
1731
  .,.,
1390
1732
 
1391
- module_eval(<<'.,.,', 'egrammar.ra', 126)
1733
+ module_eval(<<'.,.,', 'egrammar.ra', 129)
1392
1734
  def _reduce_23(val, _values, result)
1393
1735
  result = val[1]
1394
1736
  unless Factory.set_resource_form(result, :exported)
@@ -1402,7 +1744,7 @@ module_eval(<<'.,.,', 'egrammar.ra', 126)
1402
1744
  end
1403
1745
  .,.,
1404
1746
 
1405
- module_eval(<<'.,.,', 'egrammar.ra', 137)
1747
+ module_eval(<<'.,.,', 'egrammar.ra', 140)
1406
1748
  def _reduce_24(val, _values, result)
1407
1749
  bodies = [Factory.RESOURCE_BODY(val[2], val[4])] + val[5]
1408
1750
  result = Factory.RESOURCE(val[0], bodies)
@@ -1412,7 +1754,7 @@ module_eval(<<'.,.,', 'egrammar.ra', 137)
1412
1754
  end
1413
1755
  .,.,
1414
1756
 
1415
- module_eval(<<'.,.,', 'egrammar.ra', 144)
1757
+ module_eval(<<'.,.,', 'egrammar.ra', 147)
1416
1758
  def _reduce_25(val, _values, result)
1417
1759
  result = Factory.RESOURCE(Factory.fqn(token_text(val[0])), val[2])
1418
1760
  loc result, val[0], val[4]
@@ -1421,7 +1763,7 @@ module_eval(<<'.,.,', 'egrammar.ra', 144)
1421
1763
  end
1422
1764
  .,.,
1423
1765
 
1424
- module_eval(<<'.,.,', 'egrammar.ra', 153)
1766
+ module_eval(<<'.,.,', 'egrammar.ra', 156)
1425
1767
  def _reduce_26(val, _values, result)
1426
1768
  result = case Factory.resource_shape(val[0])
1427
1769
  when :resource, :class
@@ -1429,7 +1771,7 @@ module_eval(<<'.,.,', 'egrammar.ra', 153)
1429
1771
  # If the attribute operations does not include +>, then the found expression
1430
1772
  # is actually a LEFT followed by LITERAL_HASH
1431
1773
  #
1432
- unless tmp = transform_resource_wo_title(val[0], val[2])
1774
+ unless tmp = transform_resource_wo_title(val[0], val[2], val[1], val[4])
1433
1775
  error val[1], "Syntax error resource body without title or hash with +>"
1434
1776
  end
1435
1777
  tmp
@@ -1447,42 +1789,42 @@ module_eval(<<'.,.,', 'egrammar.ra', 153)
1447
1789
  end
1448
1790
  .,.,
1449
1791
 
1450
- module_eval(<<'.,.,', 'egrammar.ra', 175)
1792
+ module_eval(<<'.,.,', 'egrammar.ra', 178)
1451
1793
  def _reduce_27(val, _values, result)
1452
1794
  result = Factory.RESOURCE_BODY(val[0], val[2])
1453
1795
  result
1454
1796
  end
1455
1797
  .,.,
1456
1798
 
1457
- module_eval(<<'.,.,', 'egrammar.ra', 178)
1799
+ module_eval(<<'.,.,', 'egrammar.ra', 181)
1458
1800
  def _reduce_28(val, _values, result)
1459
1801
  result = [val[0]]
1460
1802
  result
1461
1803
  end
1462
1804
  .,.,
1463
1805
 
1464
- module_eval(<<'.,.,', 'egrammar.ra', 179)
1806
+ module_eval(<<'.,.,', 'egrammar.ra', 182)
1465
1807
  def _reduce_29(val, _values, result)
1466
1808
  result = val[0].push val[2]
1467
1809
  result
1468
1810
  end
1469
1811
  .,.,
1470
1812
 
1471
- module_eval(<<'.,.,', 'egrammar.ra', 185)
1813
+ module_eval(<<'.,.,', 'egrammar.ra', 188)
1472
1814
  def _reduce_30(val, _values, result)
1473
1815
  result = []
1474
1816
  result
1475
1817
  end
1476
1818
  .,.,
1477
1819
 
1478
- module_eval(<<'.,.,', 'egrammar.ra', 186)
1820
+ module_eval(<<'.,.,', 'egrammar.ra', 189)
1479
1821
  def _reduce_31(val, _values, result)
1480
1822
  result = []
1481
1823
  result
1482
1824
  end
1483
1825
  .,.,
1484
1826
 
1485
- module_eval(<<'.,.,', 'egrammar.ra', 187)
1827
+ module_eval(<<'.,.,', 'egrammar.ra', 190)
1486
1828
  def _reduce_32(val, _values, result)
1487
1829
  result = val[2]
1488
1830
  result
@@ -1493,193 +1835,198 @@ module_eval(<<'.,.,', 'egrammar.ra', 187)
1493
1835
 
1494
1836
  # reduce 34 omitted
1495
1837
 
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
- .,.,
1838
+ # reduce 35 omitted
1839
+
1840
+ # reduce 36 omitted
1502
1841
 
1503
- module_eval(<<'.,.,', 'egrammar.ra', 195)
1504
- def _reduce_36(val, _values, result)
1842
+ module_eval(<<'.,.,', 'egrammar.ra', 199)
1843
+ def _reduce_37(val, _values, result)
1505
1844
  result = val[0].in val[2] ; loc result, val[1]
1506
1845
  result
1507
1846
  end
1508
1847
  .,.,
1509
1848
 
1510
- module_eval(<<'.,.,', 'egrammar.ra', 196)
1511
- def _reduce_37(val, _values, result)
1849
+ module_eval(<<'.,.,', 'egrammar.ra', 200)
1850
+ def _reduce_38(val, _values, result)
1512
1851
  result = val[0] =~ val[2] ; loc result, val[1]
1513
1852
  result
1514
1853
  end
1515
1854
  .,.,
1516
1855
 
1517
- module_eval(<<'.,.,', 'egrammar.ra', 197)
1518
- def _reduce_38(val, _values, result)
1856
+ module_eval(<<'.,.,', 'egrammar.ra', 201)
1857
+ def _reduce_39(val, _values, result)
1519
1858
  result = val[0].mne val[2] ; loc result, val[1]
1520
1859
  result
1521
1860
  end
1522
1861
  .,.,
1523
1862
 
1524
- module_eval(<<'.,.,', 'egrammar.ra', 198)
1525
- def _reduce_39(val, _values, result)
1863
+ module_eval(<<'.,.,', 'egrammar.ra', 202)
1864
+ def _reduce_40(val, _values, result)
1526
1865
  result = val[0] + val[2] ; loc result, val[1]
1527
1866
  result
1528
1867
  end
1529
1868
  .,.,
1530
1869
 
1531
- module_eval(<<'.,.,', 'egrammar.ra', 199)
1532
- def _reduce_40(val, _values, result)
1870
+ module_eval(<<'.,.,', 'egrammar.ra', 203)
1871
+ def _reduce_41(val, _values, result)
1533
1872
  result = val[0] - val[2] ; loc result, val[1]
1534
1873
  result
1535
1874
  end
1536
1875
  .,.,
1537
1876
 
1538
- module_eval(<<'.,.,', 'egrammar.ra', 200)
1539
- def _reduce_41(val, _values, result)
1877
+ module_eval(<<'.,.,', 'egrammar.ra', 204)
1878
+ def _reduce_42(val, _values, result)
1540
1879
  result = val[0] / val[2] ; loc result, val[1]
1541
1880
  result
1542
1881
  end
1543
1882
  .,.,
1544
1883
 
1545
- module_eval(<<'.,.,', 'egrammar.ra', 201)
1546
- def _reduce_42(val, _values, result)
1884
+ module_eval(<<'.,.,', 'egrammar.ra', 205)
1885
+ def _reduce_43(val, _values, result)
1547
1886
  result = val[0] * val[2] ; loc result, val[1]
1548
1887
  result
1549
1888
  end
1550
1889
  .,.,
1551
1890
 
1552
- module_eval(<<'.,.,', 'egrammar.ra', 202)
1553
- def _reduce_43(val, _values, result)
1891
+ module_eval(<<'.,.,', 'egrammar.ra', 206)
1892
+ def _reduce_44(val, _values, result)
1554
1893
  result = val[0] % val[2] ; loc result, val[1]
1555
1894
  result
1556
1895
  end
1557
1896
  .,.,
1558
1897
 
1559
- module_eval(<<'.,.,', 'egrammar.ra', 203)
1560
- def _reduce_44(val, _values, result)
1898
+ module_eval(<<'.,.,', 'egrammar.ra', 207)
1899
+ def _reduce_45(val, _values, result)
1561
1900
  result = val[0] << val[2] ; loc result, val[1]
1562
1901
  result
1563
1902
  end
1564
1903
  .,.,
1565
1904
 
1566
- module_eval(<<'.,.,', 'egrammar.ra', 204)
1567
- def _reduce_45(val, _values, result)
1905
+ module_eval(<<'.,.,', 'egrammar.ra', 208)
1906
+ def _reduce_46(val, _values, result)
1568
1907
  result = val[0] >> val[2] ; loc result, val[1]
1569
1908
  result
1570
1909
  end
1571
1910
  .,.,
1572
1911
 
1573
- module_eval(<<'.,.,', 'egrammar.ra', 205)
1574
- def _reduce_46(val, _values, result)
1912
+ module_eval(<<'.,.,', 'egrammar.ra', 209)
1913
+ def _reduce_47(val, _values, result)
1575
1914
  result = val[1].minus() ; loc result, val[0]
1576
1915
  result
1577
1916
  end
1578
1917
  .,.,
1579
1918
 
1580
- module_eval(<<'.,.,', 'egrammar.ra', 206)
1581
- def _reduce_47(val, _values, result)
1919
+ module_eval(<<'.,.,', 'egrammar.ra', 210)
1920
+ def _reduce_48(val, _values, result)
1582
1921
  result = val[1].unfold() ; loc result, val[0]
1583
1922
  result
1584
1923
  end
1585
1924
  .,.,
1586
1925
 
1587
- module_eval(<<'.,.,', 'egrammar.ra', 207)
1588
- def _reduce_48(val, _values, result)
1926
+ module_eval(<<'.,.,', 'egrammar.ra', 211)
1927
+ def _reduce_49(val, _values, result)
1589
1928
  result = val[0].ne val[2] ; loc result, val[1]
1590
1929
  result
1591
1930
  end
1592
1931
  .,.,
1593
1932
 
1594
- module_eval(<<'.,.,', 'egrammar.ra', 208)
1595
- def _reduce_49(val, _values, result)
1933
+ module_eval(<<'.,.,', 'egrammar.ra', 212)
1934
+ def _reduce_50(val, _values, result)
1596
1935
  result = val[0] == val[2] ; loc result, val[1]
1597
1936
  result
1598
1937
  end
1599
1938
  .,.,
1600
1939
 
1601
- module_eval(<<'.,.,', 'egrammar.ra', 209)
1602
- def _reduce_50(val, _values, result)
1940
+ module_eval(<<'.,.,', 'egrammar.ra', 213)
1941
+ def _reduce_51(val, _values, result)
1603
1942
  result = val[0] > val[2] ; loc result, val[1]
1604
1943
  result
1605
1944
  end
1606
1945
  .,.,
1607
1946
 
1608
- module_eval(<<'.,.,', 'egrammar.ra', 210)
1609
- def _reduce_51(val, _values, result)
1947
+ module_eval(<<'.,.,', 'egrammar.ra', 214)
1948
+ def _reduce_52(val, _values, result)
1610
1949
  result = val[0] >= val[2] ; loc result, val[1]
1611
1950
  result
1612
1951
  end
1613
1952
  .,.,
1614
1953
 
1615
- module_eval(<<'.,.,', 'egrammar.ra', 211)
1616
- def _reduce_52(val, _values, result)
1954
+ module_eval(<<'.,.,', 'egrammar.ra', 215)
1955
+ def _reduce_53(val, _values, result)
1617
1956
  result = val[0] < val[2] ; loc result, val[1]
1618
1957
  result
1619
1958
  end
1620
1959
  .,.,
1621
1960
 
1622
- module_eval(<<'.,.,', 'egrammar.ra', 212)
1623
- def _reduce_53(val, _values, result)
1961
+ module_eval(<<'.,.,', 'egrammar.ra', 216)
1962
+ def _reduce_54(val, _values, result)
1624
1963
  result = val[0] <= val[2] ; loc result, val[1]
1625
1964
  result
1626
1965
  end
1627
1966
  .,.,
1628
1967
 
1629
- module_eval(<<'.,.,', 'egrammar.ra', 213)
1630
- def _reduce_54(val, _values, result)
1968
+ module_eval(<<'.,.,', 'egrammar.ra', 217)
1969
+ def _reduce_55(val, _values, result)
1631
1970
  result = val[1].not ; loc result, val[0]
1632
1971
  result
1633
1972
  end
1634
1973
  .,.,
1635
1974
 
1636
- module_eval(<<'.,.,', 'egrammar.ra', 214)
1637
- def _reduce_55(val, _values, result)
1975
+ module_eval(<<'.,.,', 'egrammar.ra', 218)
1976
+ def _reduce_56(val, _values, result)
1638
1977
  result = val[0].and val[2] ; loc result, val[1]
1639
1978
  result
1640
1979
  end
1641
1980
  .,.,
1642
1981
 
1643
- module_eval(<<'.,.,', 'egrammar.ra', 215)
1644
- def _reduce_56(val, _values, result)
1982
+ module_eval(<<'.,.,', 'egrammar.ra', 219)
1983
+ def _reduce_57(val, _values, result)
1645
1984
  result = val[0].or val[2] ; loc result, val[1]
1646
1985
  result
1647
1986
  end
1648
1987
  .,.,
1649
1988
 
1650
- module_eval(<<'.,.,', 'egrammar.ra', 216)
1651
- def _reduce_57(val, _values, result)
1989
+ module_eval(<<'.,.,', 'egrammar.ra', 220)
1990
+ def _reduce_58(val, _values, result)
1652
1991
  result = val[0].select(*val[2]) ; loc result, val[0]
1653
1992
  result
1654
1993
  end
1655
1994
  .,.,
1656
1995
 
1657
- module_eval(<<'.,.,', 'egrammar.ra', 217)
1658
- def _reduce_58(val, _values, result)
1996
+ module_eval(<<'.,.,', 'egrammar.ra', 221)
1997
+ def _reduce_59(val, _values, result)
1659
1998
  result = val[1].paren() ; loc result, val[0]
1660
1999
  result
1661
2000
  end
1662
2001
  .,.,
1663
2002
 
1664
- module_eval(<<'.,.,', 'egrammar.ra', 227)
1665
- def _reduce_59(val, _values, result)
1666
- result = [val[0]]
2003
+ module_eval(<<'.,.,', 'egrammar.ra', 222)
2004
+ def _reduce_60(val, _values, result)
2005
+ result = val[1].paren() ; loc result, val[0]
1667
2006
  result
1668
2007
  end
1669
2008
  .,.,
1670
2009
 
1671
- module_eval(<<'.,.,', 'egrammar.ra', 228)
1672
- def _reduce_60(val, _values, result)
1673
- result = val[0].push(val[2])
2010
+ module_eval(<<'.,.,', 'egrammar.ra', 225)
2011
+ def _reduce_61(val, _values, result)
2012
+ result = val[0][*val[2]] ; loc result, val[0], val[4]
1674
2013
  result
1675
2014
  end
1676
2015
  .,.,
1677
2016
 
1678
- # reduce 61 omitted
1679
-
1680
- # reduce 62 omitted
2017
+ module_eval(<<'.,.,', 'egrammar.ra', 234)
2018
+ def _reduce_62(val, _values, result)
2019
+ result = [val[0]]
2020
+ result
2021
+ end
2022
+ .,.,
1681
2023
 
1682
- # reduce 63 omitted
2024
+ module_eval(<<'.,.,', 'egrammar.ra', 235)
2025
+ def _reduce_63(val, _values, result)
2026
+ result = val[0].push(val[2])
2027
+ result
2028
+ end
2029
+ .,.,
1683
2030
 
1684
2031
  # reduce 64 omitted
1685
2032
 
@@ -1707,116 +2054,146 @@ module_eval(<<'.,.,', 'egrammar.ra', 228)
1707
2054
 
1708
2055
  # reduce 76 omitted
1709
2056
 
1710
- module_eval(<<'.,.,', 'egrammar.ra', 247)
1711
- def _reduce_77(val, _values, result)
2057
+ # reduce 77 omitted
2058
+
2059
+ # reduce 78 omitted
2060
+
2061
+ # reduce 79 omitted
2062
+
2063
+ # reduce 80 omitted
2064
+
2065
+ # reduce 81 omitted
2066
+
2067
+ # reduce 82 omitted
2068
+
2069
+ # reduce 83 omitted
2070
+
2071
+ # reduce 84 omitted
2072
+
2073
+ module_eval(<<'.,.,', 'egrammar.ra', 261)
2074
+ def _reduce_85(val, _values, result)
1712
2075
  result = Factory.NUMBER(val[0][:value]) ; loc result, val[0]
1713
2076
  result
1714
2077
  end
1715
2078
  .,.,
1716
2079
 
1717
- module_eval(<<'.,.,', 'egrammar.ra', 248)
1718
- def _reduce_78(val, _values, result)
2080
+ module_eval(<<'.,.,', 'egrammar.ra', 262)
2081
+ def _reduce_86(val, _values, result)
1719
2082
  result = Factory.literal(val[0][:value]) ; loc result, val[0]
1720
2083
  result
1721
2084
  end
1722
2085
  .,.,
1723
2086
 
1724
- module_eval(<<'.,.,', 'egrammar.ra', 249)
1725
- def _reduce_79(val, _values, result)
2087
+ module_eval(<<'.,.,', 'egrammar.ra', 263)
2088
+ def _reduce_87(val, _values, result)
1726
2089
  result = Factory.literal(:default) ; loc result, val[0]
1727
2090
  result
1728
2091
  end
1729
2092
  .,.,
1730
2093
 
1731
- module_eval(<<'.,.,', 'egrammar.ra', 250)
1732
- def _reduce_80(val, _values, result)
2094
+ module_eval(<<'.,.,', 'egrammar.ra', 264)
2095
+ def _reduce_88(val, _values, result)
1733
2096
  result = Factory.literal(:undef) ; loc result, val[0]
1734
2097
  result
1735
2098
  end
1736
2099
  .,.,
1737
2100
 
1738
- module_eval(<<'.,.,', 'egrammar.ra', 251)
1739
- def _reduce_81(val, _values, result)
2101
+ module_eval(<<'.,.,', 'egrammar.ra', 265)
2102
+ def _reduce_89(val, _values, result)
1740
2103
  result = Factory.QNAME_OR_NUMBER(val[0][:value]) ; loc result, val[0]
1741
2104
  result
1742
2105
  end
1743
2106
  .,.,
1744
2107
 
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]
2108
+ module_eval(<<'.,.,', 'egrammar.ra', 274)
2109
+ def _reduce_90(val, _values, result)
2110
+ result = Factory.CALL_NAMED(val[0], true, val[1])
2111
+ loc result, val[0], val[3]
1749
2112
 
1750
2113
  result
1751
2114
  end
1752
2115
  .,.,
1753
2116
 
1754
- module_eval(<<'.,.,', 'egrammar.ra', 264)
1755
- def _reduce_83(val, _values, result)
2117
+ module_eval(<<'.,.,', 'egrammar.ra', 278)
2118
+ def _reduce_91(val, _values, result)
1756
2119
  result = Factory.CALL_NAMED(val[0], true, [])
1757
- loc result, val[0], val[2]
2120
+ loc result, val[0], val[1]
1758
2121
 
1759
2122
  result
1760
2123
  end
1761
2124
  .,.,
1762
2125
 
1763
- module_eval(<<'.,.,', 'egrammar.ra', 268)
1764
- def _reduce_84(val, _values, result)
1765
- result = Factory.CALL_NAMED(val[0], true, val[2])
2126
+ module_eval(<<'.,.,', 'egrammar.ra', 282)
2127
+ def _reduce_92(val, _values, result)
2128
+ result = Factory.CALL_NAMED(val[0], true, val[1])
1766
2129
  loc result, val[0], val[4]
1767
- result.lambda = val[5]
2130
+ result.lambda = val[4]
1768
2131
 
1769
2132
  result
1770
2133
  end
1771
2134
  .,.,
1772
2135
 
1773
- module_eval(<<'.,.,', 'egrammar.ra', 273)
1774
- def _reduce_85(val, _values, result)
2136
+ module_eval(<<'.,.,', 'egrammar.ra', 287)
2137
+ def _reduce_93(val, _values, result)
1775
2138
  result = Factory.CALL_NAMED(val[0], true, [])
1776
2139
  loc result, val[0], val[2]
1777
- result.lambda = val[3]
2140
+ result.lambda = val[2]
1778
2141
 
1779
2142
  result
1780
2143
  end
1781
2144
  .,.,
1782
2145
 
1783
- module_eval(<<'.,.,', 'egrammar.ra', 281)
1784
- def _reduce_86(val, _values, result)
2146
+ module_eval(<<'.,.,', 'egrammar.ra', 293)
2147
+ def _reduce_94(val, _values, result)
1785
2148
  result = val[0]
1786
2149
  result
1787
2150
  end
1788
2151
  .,.,
1789
2152
 
1790
- module_eval(<<'.,.,', 'egrammar.ra', 282)
1791
- def _reduce_87(val, _values, result)
2153
+ module_eval(<<'.,.,', 'egrammar.ra', 294)
2154
+ def _reduce_95(val, _values, result)
2155
+ result = Factory.QNAME(val[0][:value]); loc result, val[0]
2156
+ result
2157
+ end
2158
+ .,.,
2159
+
2160
+ module_eval(<<'.,.,', 'egrammar.ra', 299)
2161
+ def _reduce_96(val, _values, result)
2162
+ result = val[0]
2163
+ result
2164
+ end
2165
+ .,.,
2166
+
2167
+ module_eval(<<'.,.,', 'egrammar.ra', 300)
2168
+ def _reduce_97(val, _values, result)
1792
2169
  result = val[0]; val[0].lambda = val[1]
1793
2170
  result
1794
2171
  end
1795
2172
  .,.,
1796
2173
 
1797
- module_eval(<<'.,.,', 'egrammar.ra', 285)
1798
- def _reduce_88(val, _values, result)
2174
+ module_eval(<<'.,.,', 'egrammar.ra', 303)
2175
+ def _reduce_98(val, _values, result)
1799
2176
  result = Factory.CALL_METHOD(val[0], val[2]); loc result, val[1], val[3]
1800
2177
  result
1801
2178
  end
1802
2179
  .,.,
1803
2180
 
1804
- module_eval(<<'.,.,', 'egrammar.ra', 286)
1805
- def _reduce_89(val, _values, result)
2181
+ module_eval(<<'.,.,', 'egrammar.ra', 304)
2182
+ def _reduce_99(val, _values, result)
1806
2183
  result = Factory.CALL_METHOD(val[0], []); loc result, val[1], val[3]
1807
2184
  result
1808
2185
  end
1809
2186
  .,.,
1810
2187
 
1811
- module_eval(<<'.,.,', 'egrammar.ra', 287)
1812
- def _reduce_90(val, _values, result)
2188
+ module_eval(<<'.,.,', 'egrammar.ra', 305)
2189
+ def _reduce_100(val, _values, result)
1813
2190
  result = Factory.CALL_METHOD(val[0], []); loc result, val[0]
1814
2191
  result
1815
2192
  end
1816
2193
  .,.,
1817
2194
 
1818
- module_eval(<<'.,.,', 'egrammar.ra', 291)
1819
- def _reduce_91(val, _values, result)
2195
+ module_eval(<<'.,.,', 'egrammar.ra', 309)
2196
+ def _reduce_101(val, _values, result)
1820
2197
  result = val[0].dot(Factory.fqn(val[2][:value]))
1821
2198
  loc result, val[1], val[2]
1822
2199
 
@@ -1824,45 +2201,54 @@ module_eval(<<'.,.,', 'egrammar.ra', 291)
1824
2201
  end
1825
2202
  .,.,
1826
2203
 
1827
- module_eval(<<'.,.,', 'egrammar.ra', 299)
1828
- def _reduce_92(val, _values, result)
1829
- result = Factory.LAMBDA(val[0][:value], val[1][:value])
1830
- loc result, val[0][:start], val[1][:end]
2204
+ module_eval(<<'.,.,', 'egrammar.ra', 313)
2205
+ def _reduce_102(val, _values, result)
2206
+ result = val[0].dot(Factory.fqn(val[2][:value]))
2207
+ loc result, val[1], val[2]
2208
+
2209
+ result
2210
+ end
2211
+ .,.,
2212
+
2213
+ module_eval(<<'.,.,', 'egrammar.ra', 321)
2214
+ def _reduce_103(val, _values, result)
2215
+ result = Factory.LAMBDA(val[0][:value], val[2][:value], val[1])
2216
+ loc result, val[0][:start], val[2][:end]
1831
2217
 
1832
2218
  result
1833
2219
  end
1834
2220
  .,.,
1835
2221
 
1836
- module_eval(<<'.,.,', 'egrammar.ra', 304)
1837
- def _reduce_93(val, _values, result)
2222
+ module_eval(<<'.,.,', 'egrammar.ra', 326)
2223
+ def _reduce_104(val, _values, result)
1838
2224
  result = {:end => val[2], :value =>val[1] }
1839
2225
  result
1840
2226
  end
1841
2227
  .,.,
1842
2228
 
1843
- module_eval(<<'.,.,', 'egrammar.ra', 305)
1844
- def _reduce_94(val, _values, result)
2229
+ module_eval(<<'.,.,', 'egrammar.ra', 327)
2230
+ def _reduce_105(val, _values, result)
1845
2231
  result = {:end => val[1], :value => nil }
1846
2232
  result
1847
2233
  end
1848
2234
  .,.,
1849
2235
 
1850
- module_eval(<<'.,.,', 'egrammar.ra', 309)
1851
- def _reduce_95(val, _values, result)
2236
+ module_eval(<<'.,.,', 'egrammar.ra', 331)
2237
+ def _reduce_106(val, _values, result)
1852
2238
  result = {:start => val[0], :value => [] }
1853
2239
  result
1854
2240
  end
1855
2241
  .,.,
1856
2242
 
1857
- module_eval(<<'.,.,', 'egrammar.ra', 310)
1858
- def _reduce_96(val, _values, result)
2243
+ module_eval(<<'.,.,', 'egrammar.ra', 332)
2244
+ def _reduce_107(val, _values, result)
1859
2245
  result = {:start => val[0], :value => val[1] }
1860
2246
  result
1861
2247
  end
1862
2248
  .,.,
1863
2249
 
1864
- module_eval(<<'.,.,', 'egrammar.ra', 318)
1865
- def _reduce_97(val, _values, result)
2250
+ module_eval(<<'.,.,', 'egrammar.ra', 340)
2251
+ def _reduce_108(val, _values, result)
1866
2252
  result = val[1]
1867
2253
  loc(result, val[0], val[1])
1868
2254
 
@@ -1870,8 +2256,8 @@ module_eval(<<'.,.,', 'egrammar.ra', 318)
1870
2256
  end
1871
2257
  .,.,
1872
2258
 
1873
- module_eval(<<'.,.,', 'egrammar.ra', 325)
1874
- def _reduce_98(val, _values, result)
2259
+ module_eval(<<'.,.,', 'egrammar.ra', 347)
2260
+ def _reduce_109(val, _values, result)
1875
2261
  result = Factory.IF(val[0], Factory.block_or_expression(*val[2]), val[4])
1876
2262
  loc(result, val[0], (val[4] ? val[4] : val[3]))
1877
2263
 
@@ -1879,8 +2265,8 @@ module_eval(<<'.,.,', 'egrammar.ra', 325)
1879
2265
  end
1880
2266
  .,.,
1881
2267
 
1882
- module_eval(<<'.,.,', 'egrammar.ra', 329)
1883
- def _reduce_99(val, _values, result)
2268
+ module_eval(<<'.,.,', 'egrammar.ra', 351)
2269
+ def _reduce_110(val, _values, result)
1884
2270
  result = Factory.IF(val[0], nil, val[3])
1885
2271
  loc(result, val[0], (val[3] ? val[3] : val[2]))
1886
2272
 
@@ -1888,10 +2274,10 @@ module_eval(<<'.,.,', 'egrammar.ra', 329)
1888
2274
  end
1889
2275
  .,.,
1890
2276
 
1891
- # reduce 100 omitted
2277
+ # reduce 111 omitted
1892
2278
 
1893
- module_eval(<<'.,.,', 'egrammar.ra', 337)
1894
- def _reduce_101(val, _values, result)
2279
+ module_eval(<<'.,.,', 'egrammar.ra', 359)
2280
+ def _reduce_112(val, _values, result)
1895
2281
  result = val[1]
1896
2282
  loc(result, val[0], val[1])
1897
2283
 
@@ -1899,8 +2285,8 @@ module_eval(<<'.,.,', 'egrammar.ra', 337)
1899
2285
  end
1900
2286
  .,.,
1901
2287
 
1902
- module_eval(<<'.,.,', 'egrammar.ra', 341)
1903
- def _reduce_102(val, _values, result)
2288
+ module_eval(<<'.,.,', 'egrammar.ra', 363)
2289
+ def _reduce_113(val, _values, result)
1904
2290
  result = Factory.block_or_expression(*val[2])
1905
2291
  loc result, val[0], val[3]
1906
2292
 
@@ -1908,16 +2294,16 @@ module_eval(<<'.,.,', 'egrammar.ra', 341)
1908
2294
  end
1909
2295
  .,.,
1910
2296
 
1911
- module_eval(<<'.,.,', 'egrammar.ra', 345)
1912
- def _reduce_103(val, _values, result)
2297
+ module_eval(<<'.,.,', 'egrammar.ra', 367)
2298
+ def _reduce_114(val, _values, result)
1913
2299
  result = nil # don't think a nop is needed here either
1914
2300
 
1915
2301
  result
1916
2302
  end
1917
2303
  .,.,
1918
2304
 
1919
- module_eval(<<'.,.,', 'egrammar.ra', 352)
1920
- def _reduce_104(val, _values, result)
2305
+ module_eval(<<'.,.,', 'egrammar.ra', 374)
2306
+ def _reduce_115(val, _values, result)
1921
2307
  result = Factory.UNLESS(val[1], Factory.block_or_expression(*val[3]), val[5])
1922
2308
  loc result, val[0], val[4]
1923
2309
 
@@ -1925,19 +2311,19 @@ module_eval(<<'.,.,', 'egrammar.ra', 352)
1925
2311
  end
1926
2312
  .,.,
1927
2313
 
1928
- module_eval(<<'.,.,', 'egrammar.ra', 356)
1929
- def _reduce_105(val, _values, result)
1930
- result = Factory.UNLESS(val[1], nil, nil)
2314
+ module_eval(<<'.,.,', 'egrammar.ra', 378)
2315
+ def _reduce_116(val, _values, result)
2316
+ result = Factory.UNLESS(val[1], nil, val[4])
1931
2317
  loc result, val[0], val[4]
1932
2318
 
1933
2319
  result
1934
2320
  end
1935
2321
  .,.,
1936
2322
 
1937
- # reduce 106 omitted
2323
+ # reduce 117 omitted
1938
2324
 
1939
- module_eval(<<'.,.,', 'egrammar.ra', 366)
1940
- def _reduce_107(val, _values, result)
2325
+ module_eval(<<'.,.,', 'egrammar.ra', 388)
2326
+ def _reduce_118(val, _values, result)
1941
2327
  result = Factory.block_or_expression(*val[2])
1942
2328
  loc result, val[0], val[3]
1943
2329
 
@@ -1945,16 +2331,16 @@ module_eval(<<'.,.,', 'egrammar.ra', 366)
1945
2331
  end
1946
2332
  .,.,
1947
2333
 
1948
- module_eval(<<'.,.,', 'egrammar.ra', 370)
1949
- def _reduce_108(val, _values, result)
2334
+ module_eval(<<'.,.,', 'egrammar.ra', 392)
2335
+ def _reduce_119(val, _values, result)
1950
2336
  result = nil # don't think a nop is needed here either
1951
2337
 
1952
2338
  result
1953
2339
  end
1954
2340
  .,.,
1955
2341
 
1956
- module_eval(<<'.,.,', 'egrammar.ra', 377)
1957
- def _reduce_109(val, _values, result)
2342
+ module_eval(<<'.,.,', 'egrammar.ra', 399)
2343
+ def _reduce_120(val, _values, result)
1958
2344
  result = Factory.CASE(val[1], *val[3])
1959
2345
  loc result, val[0], val[4]
1960
2346
 
@@ -1962,65 +2348,65 @@ module_eval(<<'.,.,', 'egrammar.ra', 377)
1962
2348
  end
1963
2349
  .,.,
1964
2350
 
1965
- module_eval(<<'.,.,', 'egrammar.ra', 383)
1966
- def _reduce_110(val, _values, result)
2351
+ module_eval(<<'.,.,', 'egrammar.ra', 405)
2352
+ def _reduce_121(val, _values, result)
1967
2353
  result = [val[0]]
1968
2354
  result
1969
2355
  end
1970
2356
  .,.,
1971
2357
 
1972
- module_eval(<<'.,.,', 'egrammar.ra', 384)
1973
- def _reduce_111(val, _values, result)
2358
+ module_eval(<<'.,.,', 'egrammar.ra', 406)
2359
+ def _reduce_122(val, _values, result)
1974
2360
  result = val[0].push val[1]
1975
2361
  result
1976
2362
  end
1977
2363
  .,.,
1978
2364
 
1979
- module_eval(<<'.,.,', 'egrammar.ra', 389)
1980
- def _reduce_112(val, _values, result)
2365
+ module_eval(<<'.,.,', 'egrammar.ra', 411)
2366
+ def _reduce_123(val, _values, result)
1981
2367
  result = Factory.WHEN(val[0], val[3]); loc result, val[1], val[4]
1982
2368
 
1983
2369
  result
1984
2370
  end
1985
2371
  .,.,
1986
2372
 
1987
- # reduce 113 omitted
2373
+ # reduce 124 omitted
1988
2374
 
1989
- # reduce 114 omitted
2375
+ # reduce 125 omitted
1990
2376
 
1991
- # reduce 115 omitted
2377
+ # reduce 126 omitted
1992
2378
 
1993
- module_eval(<<'.,.,', 'egrammar.ra', 405)
1994
- def _reduce_116(val, _values, result)
2379
+ module_eval(<<'.,.,', 'egrammar.ra', 427)
2380
+ def _reduce_127(val, _values, result)
1995
2381
  result = val[1]
1996
2382
 
1997
2383
  result
1998
2384
  end
1999
2385
  .,.,
2000
2386
 
2001
- module_eval(<<'.,.,', 'egrammar.ra', 410)
2002
- def _reduce_117(val, _values, result)
2387
+ module_eval(<<'.,.,', 'egrammar.ra', 432)
2388
+ def _reduce_128(val, _values, result)
2003
2389
  result = [val[0]]
2004
2390
  result
2005
2391
  end
2006
2392
  .,.,
2007
2393
 
2008
- module_eval(<<'.,.,', 'egrammar.ra', 411)
2009
- def _reduce_118(val, _values, result)
2394
+ module_eval(<<'.,.,', 'egrammar.ra', 433)
2395
+ def _reduce_129(val, _values, result)
2010
2396
  result = val[0].push val[2]
2011
2397
  result
2012
2398
  end
2013
2399
  .,.,
2014
2400
 
2015
- module_eval(<<'.,.,', 'egrammar.ra', 416)
2016
- def _reduce_119(val, _values, result)
2401
+ module_eval(<<'.,.,', 'egrammar.ra', 438)
2402
+ def _reduce_130(val, _values, result)
2017
2403
  result = Factory.MAP(val[0], val[2]) ; loc result, val[1]
2018
2404
  result
2019
2405
  end
2020
2406
  .,.,
2021
2407
 
2022
- module_eval(<<'.,.,', 'egrammar.ra', 426)
2023
- def _reduce_120(val, _values, result)
2408
+ module_eval(<<'.,.,', 'egrammar.ra', 448)
2409
+ def _reduce_131(val, _values, result)
2024
2410
  result = Factory.COLLECT(val[0], val[1], val[3])
2025
2411
  loc result, val[0], val[5]
2026
2412
 
@@ -2028,8 +2414,8 @@ module_eval(<<'.,.,', 'egrammar.ra', 426)
2028
2414
  end
2029
2415
  .,.,
2030
2416
 
2031
- module_eval(<<'.,.,', 'egrammar.ra', 430)
2032
- def _reduce_121(val, _values, result)
2417
+ module_eval(<<'.,.,', 'egrammar.ra', 452)
2418
+ def _reduce_132(val, _values, result)
2033
2419
  result = Factory.COLLECT(val[0], val[1], [])
2034
2420
  loc result, val[0], val[1]
2035
2421
 
@@ -2037,51 +2423,59 @@ module_eval(<<'.,.,', 'egrammar.ra', 430)
2037
2423
  end
2038
2424
  .,.,
2039
2425
 
2040
- module_eval(<<'.,.,', 'egrammar.ra', 435)
2041
- def _reduce_122(val, _values, result)
2426
+ module_eval(<<'.,.,', 'egrammar.ra', 457)
2427
+ def _reduce_133(val, _values, result)
2042
2428
  result = Factory.VIRTUAL_QUERY(val[1]) ; loc result, val[0], val[2]
2043
2429
  result
2044
2430
  end
2045
2431
  .,.,
2046
2432
 
2047
- module_eval(<<'.,.,', 'egrammar.ra', 436)
2048
- def _reduce_123(val, _values, result)
2433
+ module_eval(<<'.,.,', 'egrammar.ra', 458)
2434
+ def _reduce_134(val, _values, result)
2049
2435
  result = Factory.EXPORTED_QUERY(val[1]) ; loc result, val[0], val[2]
2050
2436
  result
2051
2437
  end
2052
2438
  .,.,
2053
2439
 
2054
- # reduce 124 omitted
2440
+ # reduce 135 omitted
2055
2441
 
2056
- # reduce 125 omitted
2442
+ # reduce 136 omitted
2057
2443
 
2058
- module_eval(<<'.,.,', 'egrammar.ra', 445)
2059
- def _reduce_126(val, _values, result)
2444
+ module_eval(<<'.,.,', 'egrammar.ra', 467)
2445
+ def _reduce_137(val, _values, result)
2060
2446
  result = []
2061
2447
  result
2062
2448
  end
2063
2449
  .,.,
2064
2450
 
2065
- module_eval(<<'.,.,', 'egrammar.ra', 446)
2066
- def _reduce_127(val, _values, result)
2451
+ module_eval(<<'.,.,', 'egrammar.ra', 468)
2452
+ def _reduce_138(val, _values, result)
2067
2453
  result = [val[0]]
2068
2454
  result
2069
2455
  end
2070
2456
  .,.,
2071
2457
 
2072
- module_eval(<<'.,.,', 'egrammar.ra', 447)
2073
- def _reduce_128(val, _values, result)
2458
+ module_eval(<<'.,.,', 'egrammar.ra', 469)
2459
+ def _reduce_139(val, _values, result)
2074
2460
  result = val[0].push(val[2])
2075
2461
  result
2076
2462
  end
2077
2463
  .,.,
2078
2464
 
2079
- # reduce 129 omitted
2465
+ # reduce 140 omitted
2080
2466
 
2081
- # reduce 130 omitted
2467
+ # reduce 141 omitted
2082
2468
 
2083
- module_eval(<<'.,.,', 'egrammar.ra', 463)
2084
- def _reduce_131(val, _values, result)
2469
+ # reduce 142 omitted
2470
+
2471
+ # reduce 143 omitted
2472
+
2473
+ # reduce 144 omitted
2474
+
2475
+ # reduce 145 omitted
2476
+
2477
+ module_eval(<<'.,.,', 'egrammar.ra', 488)
2478
+ def _reduce_146(val, _values, result)
2085
2479
  result = Factory.ATTRIBUTE_OP(val[0][:value], :'=>', val[2])
2086
2480
  loc result, val[0], val[2]
2087
2481
 
@@ -2089,8 +2483,8 @@ module_eval(<<'.,.,', 'egrammar.ra', 463)
2089
2483
  end
2090
2484
  .,.,
2091
2485
 
2092
- module_eval(<<'.,.,', 'egrammar.ra', 467)
2093
- def _reduce_132(val, _values, result)
2486
+ module_eval(<<'.,.,', 'egrammar.ra', 492)
2487
+ def _reduce_147(val, _values, result)
2094
2488
  result = Factory.ATTRIBUTE_OP(val[0][:value], :'+>', val[2])
2095
2489
  loc result, val[0], val[2]
2096
2490
 
@@ -2098,16 +2492,16 @@ module_eval(<<'.,.,', 'egrammar.ra', 467)
2098
2492
  end
2099
2493
  .,.,
2100
2494
 
2101
- module_eval(<<'.,.,', 'egrammar.ra', 471)
2102
- def _reduce_133(val, _values, result)
2495
+ module_eval(<<'.,.,', 'egrammar.ra', 496)
2496
+ def _reduce_148(val, _values, result)
2103
2497
  result = Factory.ATTRIBUTES_OP(val[2]) ; loc result, val[0], val[2]
2104
2498
 
2105
2499
  result
2106
2500
  end
2107
2501
  .,.,
2108
2502
 
2109
- module_eval(<<'.,.,', 'egrammar.ra', 480)
2110
- def _reduce_134(val, _values, result)
2503
+ module_eval(<<'.,.,', 'egrammar.ra', 505)
2504
+ def _reduce_149(val, _values, result)
2111
2505
  result = add_definition(Factory.DEFINITION(classname(val[1][:value]), val[2], val[4]))
2112
2506
  loc result, val[0], val[5]
2113
2507
  # New lexer does not keep track of this, this is done in validation
@@ -2119,8 +2513,45 @@ module_eval(<<'.,.,', 'egrammar.ra', 480)
2119
2513
  end
2120
2514
  .,.,
2121
2515
 
2122
- module_eval(<<'.,.,', 'egrammar.ra', 494)
2123
- def _reduce_135(val, _values, result)
2516
+ module_eval(<<'.,.,', 'egrammar.ra', 516)
2517
+ def _reduce_150(val, _values, result)
2518
+ result = add_definition(Factory.APPLICATION(classname(val[1][:value]), val[2], val[4]))
2519
+ loc result, val[0], val[5]
2520
+
2521
+ result
2522
+ end
2523
+ .,.,
2524
+
2525
+ module_eval(<<'.,.,', 'egrammar.ra', 522)
2526
+ def _reduce_151(val, _values, result)
2527
+ result = Factory.CAPABILITY_MAPPING(val[1][:value],
2528
+ Factory.QNAME(classname(val[0][:value])),
2529
+ classname(val[2][:value]), val[4])
2530
+ loc result, val[0], val[6]
2531
+ add_mapping(result)
2532
+
2533
+ result
2534
+ end
2535
+ .,.,
2536
+
2537
+ module_eval(<<'.,.,', 'egrammar.ra', 529)
2538
+ def _reduce_152(val, _values, result)
2539
+ result = Factory.CAPABILITY_MAPPING(val[1][:value],
2540
+ val[0],
2541
+ classname(val[2][:value]), val[4])
2542
+ loc result, val[0], val[6]
2543
+ add_mapping(result)
2544
+
2545
+ result
2546
+ end
2547
+ .,.,
2548
+
2549
+ # reduce 153 omitted
2550
+
2551
+ # reduce 154 omitted
2552
+
2553
+ module_eval(<<'.,.,', 'egrammar.ra', 546)
2554
+ def _reduce_155(val, _values, result)
2124
2555
  # Remove this class' name from the namestack as all nested classes have been parsed
2125
2556
  namepop
2126
2557
  result = add_definition(Factory.HOSTCLASS(classname(val[1][:value]), val[2], token_text(val[3]), val[5]))
@@ -2130,32 +2561,50 @@ module_eval(<<'.,.,', 'egrammar.ra', 494)
2130
2561
  end
2131
2562
  .,.,
2132
2563
 
2133
- module_eval(<<'.,.,', 'egrammar.ra', 504)
2134
- def _reduce_136(val, _values, result)
2564
+ module_eval(<<'.,.,', 'egrammar.ra', 556)
2565
+ def _reduce_156(val, _values, result)
2135
2566
  namestack(val[0][:value]) ; result = val[0]
2136
2567
  result
2137
2568
  end
2138
2569
  .,.,
2139
2570
 
2140
- # reduce 137 omitted
2571
+ # reduce 157 omitted
2141
2572
 
2142
- # reduce 138 omitted
2573
+ # reduce 158 omitted
2143
2574
 
2144
- # reduce 139 omitted
2575
+ # reduce 159 omitted
2145
2576
 
2146
- module_eval(<<'.,.,', 'egrammar.ra', 513)
2147
- def _reduce_140(val, _values, result)
2577
+ module_eval(<<'.,.,', 'egrammar.ra', 565)
2578
+ def _reduce_160(val, _values, result)
2148
2579
  result = val[1]
2149
2580
  result
2150
2581
  end
2151
2582
  .,.,
2152
2583
 
2153
- # reduce 141 omitted
2584
+ # reduce 161 omitted
2154
2585
 
2155
- # reduce 142 omitted
2586
+ # reduce 162 omitted
2587
+
2588
+ module_eval(<<'.,.,', 'egrammar.ra', 582)
2589
+ def _reduce_163(val, _values, result)
2590
+ result = add_definition(Factory.SITE(val[2]))
2591
+ loc result, val[0], val[3]
2592
+
2593
+ result
2594
+ end
2595
+ .,.,
2156
2596
 
2157
- module_eval(<<'.,.,', 'egrammar.ra', 530)
2158
- def _reduce_143(val, _values, result)
2597
+ module_eval(<<'.,.,', 'egrammar.ra', 586)
2598
+ def _reduce_164(val, _values, result)
2599
+ result = add_definition(Factory.SITE(nil))
2600
+ loc result, val[0], val[2]
2601
+
2602
+ result
2603
+ end
2604
+ .,.,
2605
+
2606
+ module_eval(<<'.,.,', 'egrammar.ra', 596)
2607
+ def _reduce_165(val, _values, result)
2159
2608
  result = add_definition(Factory.NODE(val[1], val[3], val[5]))
2160
2609
  loc result, val[0], val[6]
2161
2610
 
@@ -2163,8 +2612,8 @@ module_eval(<<'.,.,', 'egrammar.ra', 530)
2163
2612
  end
2164
2613
  .,.,
2165
2614
 
2166
- module_eval(<<'.,.,', 'egrammar.ra', 534)
2167
- def _reduce_144(val, _values, result)
2615
+ module_eval(<<'.,.,', 'egrammar.ra', 600)
2616
+ def _reduce_166(val, _values, result)
2168
2617
  result = add_definition(Factory.NODE(val[1], val[3], nil))
2169
2618
  loc result, val[0], val[5]
2170
2619
 
@@ -2172,482 +2621,613 @@ module_eval(<<'.,.,', 'egrammar.ra', 534)
2172
2621
  end
2173
2622
  .,.,
2174
2623
 
2175
- module_eval(<<'.,.,', 'egrammar.ra', 544)
2176
- def _reduce_145(val, _values, result)
2624
+ module_eval(<<'.,.,', 'egrammar.ra', 610)
2625
+ def _reduce_167(val, _values, result)
2177
2626
  result = [result]
2178
2627
  result
2179
2628
  end
2180
2629
  .,.,
2181
2630
 
2182
- module_eval(<<'.,.,', 'egrammar.ra', 545)
2183
- def _reduce_146(val, _values, result)
2631
+ module_eval(<<'.,.,', 'egrammar.ra', 611)
2632
+ def _reduce_168(val, _values, result)
2184
2633
  result = val[0].push(val[2])
2185
2634
  result
2186
2635
  end
2187
2636
  .,.,
2188
2637
 
2189
- # reduce 147 omitted
2638
+ # reduce 169 omitted
2190
2639
 
2191
- # reduce 148 omitted
2640
+ # reduce 170 omitted
2192
2641
 
2193
- module_eval(<<'.,.,', 'egrammar.ra', 552)
2194
- def _reduce_149(val, _values, result)
2642
+ module_eval(<<'.,.,', 'egrammar.ra', 618)
2643
+ def _reduce_171(val, _values, result)
2195
2644
  result = Factory.literal(:default); loc result, val[0]
2196
2645
  result
2197
2646
  end
2198
2647
  .,.,
2199
2648
 
2200
- # reduce 150 omitted
2649
+ # reduce 172 omitted
2201
2650
 
2202
- module_eval(<<'.,.,', 'egrammar.ra', 556)
2203
- def _reduce_151(val, _values, result)
2651
+ module_eval(<<'.,.,', 'egrammar.ra', 622)
2652
+ def _reduce_173(val, _values, result)
2204
2653
  result = Factory.literal(val[0][:value]); loc result, val[0]
2205
2654
  result
2206
2655
  end
2207
2656
  .,.,
2208
2657
 
2209
- module_eval(<<'.,.,', 'egrammar.ra', 557)
2210
- def _reduce_152(val, _values, result)
2658
+ module_eval(<<'.,.,', 'egrammar.ra', 623)
2659
+ def _reduce_174(val, _values, result)
2211
2660
  result = Factory.concat(val[0], '.', val[2][:value]); loc result, val[0], val[2]
2212
2661
  result
2213
2662
  end
2214
2663
  .,.,
2215
2664
 
2216
- # reduce 153 omitted
2665
+ # reduce 175 omitted
2217
2666
 
2218
- # reduce 154 omitted
2667
+ # reduce 176 omitted
2219
2668
 
2220
- # reduce 155 omitted
2669
+ # reduce 177 omitted
2221
2670
 
2222
- module_eval(<<'.,.,', 'egrammar.ra', 566)
2223
- def _reduce_156(val, _values, result)
2671
+ module_eval(<<'.,.,', 'egrammar.ra', 632)
2672
+ def _reduce_178(val, _values, result)
2224
2673
  result = val[1]
2225
2674
  result
2226
2675
  end
2227
2676
  .,.,
2228
2677
 
2229
- # reduce 157 omitted
2678
+ module_eval(<<'.,.,', 'egrammar.ra', 638)
2679
+ def _reduce_179(val, _values, result)
2680
+ result = add_definition(Factory.FUNCTION(val[1][:value], val[2], val[5], val[3]))
2681
+ loc result, val[0], val[6]
2682
+
2683
+ result
2684
+ end
2685
+ .,.,
2230
2686
 
2231
- # reduce 158 omitted
2687
+ module_eval(<<'.,.,', 'egrammar.ra', 643)
2688
+ def _reduce_180(val, _values, result)
2689
+ result = val[1] ; loc result, val[0], val[1]
2690
+ result
2691
+ end
2692
+ .,.,
2232
2693
 
2233
- # reduce 159 omitted
2694
+ module_eval(<<'.,.,', 'egrammar.ra', 644)
2695
+ def _reduce_181(val, _values, result)
2696
+ result = val[1][*val[3]] ; loc result, val[0], val[4]
2697
+ result
2698
+ end
2699
+ .,.,
2234
2700
 
2235
- module_eval(<<'.,.,', 'egrammar.ra', 585)
2236
- def _reduce_160(val, _values, result)
2701
+ # reduce 182 omitted
2702
+
2703
+ # reduce 183 omitted
2704
+
2705
+ # reduce 184 omitted
2706
+
2707
+ # reduce 185 omitted
2708
+
2709
+ # reduce 186 omitted
2710
+
2711
+ # reduce 187 omitted
2712
+
2713
+ # reduce 188 omitted
2714
+
2715
+ # reduce 189 omitted
2716
+
2717
+ module_eval(<<'.,.,', 'egrammar.ra', 658)
2718
+ def _reduce_190(val, _values, result)
2237
2719
  error val[0], "'class' is not a valid classname"
2238
2720
  result
2239
2721
  end
2240
2722
  .,.,
2241
2723
 
2242
- module_eval(<<'.,.,', 'egrammar.ra', 589)
2243
- def _reduce_161(val, _values, result)
2724
+ module_eval(<<'.,.,', 'egrammar.ra', 662)
2725
+ def _reduce_191(val, _values, result)
2244
2726
  result = []
2245
2727
  result
2246
2728
  end
2247
2729
  .,.,
2248
2730
 
2249
- module_eval(<<'.,.,', 'egrammar.ra', 590)
2250
- def _reduce_162(val, _values, result)
2731
+ module_eval(<<'.,.,', 'egrammar.ra', 663)
2732
+ def _reduce_192(val, _values, result)
2251
2733
  result = []
2252
2734
  result
2253
2735
  end
2254
2736
  .,.,
2255
2737
 
2256
- module_eval(<<'.,.,', 'egrammar.ra', 591)
2257
- def _reduce_163(val, _values, result)
2738
+ module_eval(<<'.,.,', 'egrammar.ra', 664)
2739
+ def _reduce_193(val, _values, result)
2740
+ result = []
2741
+ result
2742
+ end
2743
+ .,.,
2744
+
2745
+ module_eval(<<'.,.,', 'egrammar.ra', 665)
2746
+ def _reduce_194(val, _values, result)
2258
2747
  result = val[1]
2259
2748
  result
2260
2749
  end
2261
2750
  .,.,
2262
2751
 
2263
- module_eval(<<'.,.,', 'egrammar.ra', 595)
2264
- def _reduce_164(val, _values, result)
2752
+ module_eval(<<'.,.,', 'egrammar.ra', 666)
2753
+ def _reduce_195(val, _values, result)
2754
+ result = val[1]
2755
+ result
2756
+ end
2757
+ .,.,
2758
+
2759
+ module_eval(<<'.,.,', 'egrammar.ra', 670)
2760
+ def _reduce_196(val, _values, result)
2265
2761
  result = [val[0]]
2266
2762
  result
2267
2763
  end
2268
2764
  .,.,
2269
2765
 
2270
- module_eval(<<'.,.,', 'egrammar.ra', 596)
2271
- def _reduce_165(val, _values, result)
2766
+ module_eval(<<'.,.,', 'egrammar.ra', 671)
2767
+ def _reduce_197(val, _values, result)
2272
2768
  result = val[0].push(val[2])
2273
2769
  result
2274
2770
  end
2275
2771
  .,.,
2276
2772
 
2277
- # reduce 166 omitted
2773
+ # reduce 198 omitted
2278
2774
 
2279
- # reduce 167 omitted
2775
+ # reduce 199 omitted
2280
2776
 
2281
- # reduce 168 omitted
2777
+ # reduce 200 omitted
2282
2778
 
2283
- # reduce 169 omitted
2779
+ # reduce 201 omitted
2284
2780
 
2285
- module_eval(<<'.,.,', 'egrammar.ra', 608)
2286
- def _reduce_170(val, _values, result)
2781
+ module_eval(<<'.,.,', 'egrammar.ra', 683)
2782
+ def _reduce_202(val, _values, result)
2287
2783
  result = Factory.PARAM(val[0][:value], val[2]) ; loc result, val[0]
2288
2784
  result
2289
2785
  end
2290
2786
  .,.,
2291
2787
 
2292
- module_eval(<<'.,.,', 'egrammar.ra', 609)
2293
- def _reduce_171(val, _values, result)
2788
+ module_eval(<<'.,.,', 'egrammar.ra', 684)
2789
+ def _reduce_203(val, _values, result)
2294
2790
  result = Factory.PARAM(val[0][:value]); loc result, val[0]
2295
2791
  result
2296
2792
  end
2297
2793
  .,.,
2298
2794
 
2299
- module_eval(<<'.,.,', 'egrammar.ra', 612)
2300
- def _reduce_172(val, _values, result)
2795
+ module_eval(<<'.,.,', 'egrammar.ra', 687)
2796
+ def _reduce_204(val, _values, result)
2301
2797
  result = val[1]; val[1].captures_rest()
2302
2798
  result
2303
2799
  end
2304
2800
  .,.,
2305
2801
 
2306
- module_eval(<<'.,.,', 'egrammar.ra', 615)
2307
- def _reduce_173(val, _values, result)
2802
+ module_eval(<<'.,.,', 'egrammar.ra', 690)
2803
+ def _reduce_205(val, _values, result)
2308
2804
  val[1].type_expr(val[0]) ; result = val[1]
2309
2805
  result
2310
2806
  end
2311
2807
  .,.,
2312
2808
 
2313
- module_eval(<<'.,.,', 'egrammar.ra', 618)
2314
- def _reduce_174(val, _values, result)
2809
+ module_eval(<<'.,.,', 'egrammar.ra', 693)
2810
+ def _reduce_206(val, _values, result)
2315
2811
  result = val[0]
2316
2812
  result
2317
2813
  end
2318
2814
  .,.,
2319
2815
 
2320
- module_eval(<<'.,.,', 'egrammar.ra', 619)
2321
- def _reduce_175(val, _values, result)
2816
+ module_eval(<<'.,.,', 'egrammar.ra', 694)
2817
+ def _reduce_207(val, _values, result)
2322
2818
  result = val[0][*val[2]] ; loc result, val[0], val[3]
2323
2819
  result
2324
2820
  end
2325
2821
  .,.,
2326
2822
 
2327
- module_eval(<<'.,.,', 'egrammar.ra', 624)
2328
- def _reduce_176(val, _values, result)
2823
+ module_eval(<<'.,.,', 'egrammar.ra', 699)
2824
+ def _reduce_208(val, _values, result)
2825
+ result = add_definition(Factory.TYPE_ASSIGNMENT(val[1], val[3]))
2826
+ loc(result, val[0], val[3])
2827
+
2828
+ result
2829
+ end
2830
+ .,.,
2831
+
2832
+ module_eval(<<'.,.,', 'egrammar.ra', 707)
2833
+ def _reduce_209(val, _values, result)
2834
+ result = add_definition(Factory.TYPE_DEFINITION(val[1][:value], nil, val[3]))
2835
+ loc(result, val[0], val[4])
2836
+
2837
+ result
2838
+ end
2839
+ .,.,
2840
+
2841
+ module_eval(<<'.,.,', 'egrammar.ra', 711)
2842
+ def _reduce_210(val, _values, result)
2843
+ result = add_definition(Factory.TYPE_DEFINITION(val[1][:value], val[3][:value], val[5]))
2844
+ loc(result, val[0], val[6])
2845
+
2846
+ result
2847
+ end
2848
+ .,.,
2849
+
2850
+ module_eval(<<'.,.,', 'egrammar.ra', 718)
2851
+ def _reduce_211(val, _values, result)
2329
2852
  result = Factory.fqn(val[0][:value]).var ; loc result, val[0]
2330
2853
  result
2331
2854
  end
2332
2855
  .,.,
2333
2856
 
2334
- module_eval(<<'.,.,', 'egrammar.ra', 629)
2335
- def _reduce_177(val, _values, result)
2857
+ module_eval(<<'.,.,', 'egrammar.ra', 723)
2858
+ def _reduce_212(val, _values, result)
2336
2859
  result = Factory.RESERVED(val[0][:value]) ; loc result, val[0]
2337
2860
  result
2338
2861
  end
2339
2862
  .,.,
2340
2863
 
2341
- module_eval(<<'.,.,', 'egrammar.ra', 630)
2342
- def _reduce_178(val, _values, result)
2864
+ module_eval(<<'.,.,', 'egrammar.ra', 724)
2865
+ def _reduce_213(val, _values, result)
2343
2866
  result = Factory.RESERVED(val[0][:value]) ; loc result, val[0]
2344
2867
  result
2345
2868
  end
2346
2869
  .,.,
2347
2870
 
2348
- module_eval(<<'.,.,', 'egrammar.ra', 631)
2349
- def _reduce_179(val, _values, result)
2350
- result = Factory.RESERVED(val[0][:value]) ; loc result, val[0]
2871
+ module_eval(<<'.,.,', 'egrammar.ra', 725)
2872
+ def _reduce_214(val, _values, result)
2873
+ result = Factory.RESERVED(val[0][:value], true) ; loc result, val[0]
2351
2874
  result
2352
2875
  end
2353
2876
  .,.,
2354
2877
 
2355
- module_eval(<<'.,.,', 'egrammar.ra', 632)
2356
- def _reduce_180(val, _values, result)
2357
- result = Factory.RESERVED(val[0][:value]) ; loc result, val[0]
2878
+ module_eval(<<'.,.,', 'egrammar.ra', 726)
2879
+ def _reduce_215(val, _values, result)
2880
+ result = Factory.RESERVED(val[0][:value], true) ; loc result, val[0]
2358
2881
  result
2359
2882
  end
2360
2883
  .,.,
2361
2884
 
2362
- module_eval(<<'.,.,', 'egrammar.ra', 638)
2363
- def _reduce_181(val, _values, result)
2885
+ module_eval(<<'.,.,', 'egrammar.ra', 727)
2886
+ def _reduce_216(val, _values, result)
2887
+ result = Factory.RESERVED(val[0][:value], true) ; loc result, val[0]
2888
+ result
2889
+ end
2890
+ .,.,
2891
+
2892
+ module_eval(<<'.,.,', 'egrammar.ra', 728)
2893
+ def _reduce_217(val, _values, result)
2894
+ result = Factory.RESERVED(val[0][:value], true) ; loc result, val[0]
2895
+ result
2896
+ end
2897
+ .,.,
2898
+
2899
+ module_eval(<<'.,.,', 'egrammar.ra', 734)
2900
+ def _reduce_218(val, _values, result)
2364
2901
  result = Factory.LIST(val[1]); loc result, val[0], val[3]
2365
2902
  result
2366
2903
  end
2367
2904
  .,.,
2368
2905
 
2369
- module_eval(<<'.,.,', 'egrammar.ra', 639)
2370
- def _reduce_182(val, _values, result)
2906
+ module_eval(<<'.,.,', 'egrammar.ra', 735)
2907
+ def _reduce_219(val, _values, result)
2371
2908
  result = Factory.literal([]) ; loc result, val[0], val[1]
2372
2909
  result
2373
2910
  end
2374
2911
  .,.,
2375
2912
 
2376
- module_eval(<<'.,.,', 'egrammar.ra', 640)
2377
- def _reduce_183(val, _values, result)
2913
+ module_eval(<<'.,.,', 'egrammar.ra', 736)
2914
+ def _reduce_220(val, _values, result)
2378
2915
  result = Factory.LIST(val[1]); loc result, val[0], val[3]
2379
2916
  result
2380
2917
  end
2381
2918
  .,.,
2382
2919
 
2383
- module_eval(<<'.,.,', 'egrammar.ra', 641)
2384
- def _reduce_184(val, _values, result)
2920
+ module_eval(<<'.,.,', 'egrammar.ra', 737)
2921
+ def _reduce_221(val, _values, result)
2385
2922
  result = Factory.literal([]) ; loc result, val[0], val[1]
2386
2923
  result
2387
2924
  end
2388
2925
  .,.,
2389
2926
 
2390
- module_eval(<<'.,.,', 'egrammar.ra', 644)
2391
- def _reduce_185(val, _values, result)
2927
+ module_eval(<<'.,.,', 'egrammar.ra', 740)
2928
+ def _reduce_222(val, _values, result)
2392
2929
  result = Factory.HASH(val[1]); loc result, val[0], val[2]
2393
2930
  result
2394
2931
  end
2395
2932
  .,.,
2396
2933
 
2397
- module_eval(<<'.,.,', 'egrammar.ra', 645)
2398
- def _reduce_186(val, _values, result)
2934
+ module_eval(<<'.,.,', 'egrammar.ra', 741)
2935
+ def _reduce_223(val, _values, result)
2399
2936
  result = Factory.HASH(val[1]); loc result, val[0], val[3]
2400
2937
  result
2401
2938
  end
2402
2939
  .,.,
2403
2940
 
2404
- module_eval(<<'.,.,', 'egrammar.ra', 646)
2405
- def _reduce_187(val, _values, result)
2941
+ module_eval(<<'.,.,', 'egrammar.ra', 742)
2942
+ def _reduce_224(val, _values, result)
2406
2943
  result = Factory.literal({}) ; loc result, val[0], val[1]
2407
2944
  result
2408
2945
  end
2409
2946
  .,.,
2410
2947
 
2411
- module_eval(<<'.,.,', 'egrammar.ra', 649)
2412
- def _reduce_188(val, _values, result)
2948
+ module_eval(<<'.,.,', 'egrammar.ra', 745)
2949
+ def _reduce_225(val, _values, result)
2413
2950
  result = [val[0]]
2414
2951
  result
2415
2952
  end
2416
2953
  .,.,
2417
2954
 
2418
- module_eval(<<'.,.,', 'egrammar.ra', 650)
2419
- def _reduce_189(val, _values, result)
2955
+ module_eval(<<'.,.,', 'egrammar.ra', 746)
2956
+ def _reduce_226(val, _values, result)
2420
2957
  result = val[0].push val[2]
2421
2958
  result
2422
2959
  end
2423
2960
  .,.,
2424
2961
 
2425
- module_eval(<<'.,.,', 'egrammar.ra', 653)
2426
- def _reduce_190(val, _values, result)
2962
+ module_eval(<<'.,.,', 'egrammar.ra', 749)
2963
+ def _reduce_227(val, _values, result)
2427
2964
  result = Factory.KEY_ENTRY(val[0], val[2]); loc result, val[1]
2428
2965
  result
2429
2966
  end
2430
2967
  .,.,
2431
2968
 
2432
- # reduce 191 omitted
2969
+ # reduce 228 omitted
2433
2970
 
2434
- # reduce 192 omitted
2971
+ module_eval(<<'.,.,', 'egrammar.ra', 753)
2972
+ def _reduce_229(val, _values, result)
2973
+ result = Factory.literal(val[0][:value]) ; loc result, val[0]
2974
+ result
2975
+ end
2976
+ .,.,
2435
2977
 
2436
- # reduce 193 omitted
2978
+ module_eval(<<'.,.,', 'egrammar.ra', 756)
2979
+ def _reduce_230(val, _values, result)
2980
+ result = [val[0]]
2981
+ result
2982
+ end
2983
+ .,.,
2437
2984
 
2438
- module_eval(<<'.,.,', 'egrammar.ra', 661)
2439
- def _reduce_194(val, _values, result)
2985
+ module_eval(<<'.,.,', 'egrammar.ra', 757)
2986
+ def _reduce_231(val, _values, result)
2987
+ result = val[0].push(val[2])
2988
+ result
2989
+ end
2990
+ .,.,
2991
+
2992
+ # reduce 232 omitted
2993
+
2994
+ # reduce 233 omitted
2995
+
2996
+ # reduce 234 omitted
2997
+
2998
+ # reduce 235 omitted
2999
+
3000
+ # reduce 236 omitted
3001
+
3002
+ # reduce 237 omitted
3003
+
3004
+ # reduce 238 omitted
3005
+
3006
+ # reduce 239 omitted
3007
+
3008
+ # reduce 240 omitted
3009
+
3010
+ module_eval(<<'.,.,', 'egrammar.ra', 774)
3011
+ def _reduce_241(val, _values, result)
2440
3012
  result = Factory.literal(val[0][:value]) ; loc result, val[0]
2441
3013
  result
2442
3014
  end
2443
3015
  .,.,
2444
3016
 
2445
- module_eval(<<'.,.,', 'egrammar.ra', 662)
2446
- def _reduce_195(val, _values, result)
3017
+ module_eval(<<'.,.,', 'egrammar.ra', 775)
3018
+ def _reduce_242(val, _values, result)
2447
3019
  result = Factory.literal(val[0][:value]) ; loc result, val[0]
2448
3020
  result
2449
3021
  end
2450
3022
  .,.,
2451
3023
 
2452
- module_eval(<<'.,.,', 'egrammar.ra', 664)
2453
- def _reduce_196(val, _values, result)
3024
+ module_eval(<<'.,.,', 'egrammar.ra', 777)
3025
+ def _reduce_243(val, _values, result)
2454
3026
  result = Factory.string(val[0], *val[1]) ; loc result, val[0], val[1][-1]
2455
3027
  result
2456
3028
  end
2457
3029
  .,.,
2458
3030
 
2459
- module_eval(<<'.,.,', 'egrammar.ra', 665)
2460
- def _reduce_197(val, _values, result)
3031
+ module_eval(<<'.,.,', 'egrammar.ra', 778)
3032
+ def _reduce_244(val, _values, result)
2461
3033
  result = Factory.literal(val[0][:value]); loc result, val[0]
2462
3034
  result
2463
3035
  end
2464
3036
  .,.,
2465
3037
 
2466
- module_eval(<<'.,.,', 'egrammar.ra', 666)
2467
- def _reduce_198(val, _values, result)
3038
+ module_eval(<<'.,.,', 'egrammar.ra', 779)
3039
+ def _reduce_245(val, _values, result)
2468
3040
  result = Factory.literal(val[0][:value]); loc result, val[0]
2469
3041
  result
2470
3042
  end
2471
3043
  .,.,
2472
3044
 
2473
- module_eval(<<'.,.,', 'egrammar.ra', 667)
2474
- def _reduce_199(val, _values, result)
3045
+ module_eval(<<'.,.,', 'egrammar.ra', 780)
3046
+ def _reduce_246(val, _values, result)
2475
3047
  result = Factory.literal(val[0][:value]); loc result, val[0]
2476
3048
  result
2477
3049
  end
2478
3050
  .,.,
2479
3051
 
2480
- module_eval(<<'.,.,', 'egrammar.ra', 668)
2481
- def _reduce_200(val, _values, result)
3052
+ module_eval(<<'.,.,', 'egrammar.ra', 781)
3053
+ def _reduce_247(val, _values, result)
2482
3054
  result = [val[0]] + val[1]
2483
3055
  result
2484
3056
  end
2485
3057
  .,.,
2486
3058
 
2487
- module_eval(<<'.,.,', 'egrammar.ra', 669)
2488
- def _reduce_201(val, _values, result)
3059
+ module_eval(<<'.,.,', 'egrammar.ra', 782)
3060
+ def _reduce_248(val, _values, result)
2489
3061
  result = Factory.TEXT(val[0])
2490
3062
  result
2491
3063
  end
2492
3064
  .,.,
2493
3065
 
2494
- module_eval(<<'.,.,', 'egrammar.ra', 672)
2495
- def _reduce_202(val, _values, result)
3066
+ module_eval(<<'.,.,', 'egrammar.ra', 785)
3067
+ def _reduce_249(val, _values, result)
2496
3068
  result = [val[0]]
2497
3069
  result
2498
3070
  end
2499
3071
  .,.,
2500
3072
 
2501
- module_eval(<<'.,.,', 'egrammar.ra', 673)
2502
- def _reduce_203(val, _values, result)
3073
+ module_eval(<<'.,.,', 'egrammar.ra', 786)
3074
+ def _reduce_250(val, _values, result)
2503
3075
  result = [val[0]] + val[1]
2504
3076
  result
2505
3077
  end
2506
3078
  .,.,
2507
3079
 
2508
- module_eval(<<'.,.,', 'egrammar.ra', 676)
2509
- def _reduce_204(val, _values, result)
3080
+ module_eval(<<'.,.,', 'egrammar.ra', 789)
3081
+ def _reduce_251(val, _values, result)
2510
3082
  result = Factory.HEREDOC(val[0][:value], val[1]); loc result, val[0]
2511
3083
  result
2512
3084
  end
2513
3085
  .,.,
2514
3086
 
2515
- module_eval(<<'.,.,', 'egrammar.ra', 679)
2516
- def _reduce_205(val, _values, result)
3087
+ module_eval(<<'.,.,', 'egrammar.ra', 792)
3088
+ def _reduce_252(val, _values, result)
2517
3089
  result = Factory.SUBLOCATE(val[0], val[1]); loc result, val[0]
2518
3090
  result
2519
3091
  end
2520
3092
  .,.,
2521
3093
 
2522
- module_eval(<<'.,.,', 'egrammar.ra', 680)
2523
- def _reduce_206(val, _values, result)
3094
+ module_eval(<<'.,.,', 'egrammar.ra', 793)
3095
+ def _reduce_253(val, _values, result)
2524
3096
  result = Factory.SUBLOCATE(val[0], val[1]); loc result, val[0]
2525
3097
  result
2526
3098
  end
2527
3099
  .,.,
2528
3100
 
2529
- module_eval(<<'.,.,', 'egrammar.ra', 683)
2530
- def _reduce_207(val, _values, result)
3101
+ module_eval(<<'.,.,', 'egrammar.ra', 796)
3102
+ def _reduce_254(val, _values, result)
2531
3103
  result = Factory.EPP(val[1], val[2]); loc result, val[0]
2532
3104
  result
2533
3105
  end
2534
3106
  .,.,
2535
3107
 
2536
- # reduce 208 omitted
3108
+ # reduce 255 omitted
2537
3109
 
2538
- # reduce 209 omitted
3110
+ # reduce 256 omitted
2539
3111
 
2540
- module_eval(<<'.,.,', 'egrammar.ra', 690)
2541
- def _reduce_210(val, _values, result)
3112
+ module_eval(<<'.,.,', 'egrammar.ra', 803)
3113
+ def _reduce_257(val, _values, result)
2542
3114
  result = nil
2543
3115
  result
2544
3116
  end
2545
3117
  .,.,
2546
3118
 
2547
- module_eval(<<'.,.,', 'egrammar.ra', 691)
2548
- def _reduce_211(val, _values, result)
3119
+ module_eval(<<'.,.,', 'egrammar.ra', 804)
3120
+ def _reduce_258(val, _values, result)
2549
3121
  result = []
2550
3122
  result
2551
3123
  end
2552
3124
  .,.,
2553
3125
 
2554
- module_eval(<<'.,.,', 'egrammar.ra', 692)
2555
- def _reduce_212(val, _values, result)
3126
+ module_eval(<<'.,.,', 'egrammar.ra', 805)
3127
+ def _reduce_259(val, _values, result)
2556
3128
  result = val[1]
2557
3129
  result
2558
3130
  end
2559
3131
  .,.,
2560
3132
 
2561
- module_eval(<<'.,.,', 'egrammar.ra', 695)
2562
- def _reduce_213(val, _values, result)
3133
+ module_eval(<<'.,.,', 'egrammar.ra', 808)
3134
+ def _reduce_260(val, _values, result)
2563
3135
  result = Factory.RENDER_STRING(val[0][:value]); loc result, val[0]
2564
3136
  result
2565
3137
  end
2566
3138
  .,.,
2567
3139
 
2568
- module_eval(<<'.,.,', 'egrammar.ra', 696)
2569
- def _reduce_214(val, _values, result)
3140
+ module_eval(<<'.,.,', 'egrammar.ra', 809)
3141
+ def _reduce_261(val, _values, result)
2570
3142
  result = Factory.RENDER_EXPR(val[1]); loc result, val[0], val[2]
2571
3143
  result
2572
3144
  end
2573
3145
  .,.,
2574
3146
 
2575
- module_eval(<<'.,.,', 'egrammar.ra', 697)
2576
- def _reduce_215(val, _values, result)
3147
+ module_eval(<<'.,.,', 'egrammar.ra', 810)
3148
+ def _reduce_262(val, _values, result)
2577
3149
  result = Factory.RENDER_EXPR(Factory.block_or_expression(*val[2])); loc result, val[0], val[4]
2578
3150
  result
2579
3151
  end
2580
3152
  .,.,
2581
3153
 
2582
- # reduce 216 omitted
3154
+ # reduce 263 omitted
2583
3155
 
2584
- # reduce 217 omitted
3156
+ # reduce 264 omitted
2585
3157
 
2586
- module_eval(<<'.,.,', 'egrammar.ra', 703)
2587
- def _reduce_218(val, _values, result)
3158
+ module_eval(<<'.,.,', 'egrammar.ra', 816)
3159
+ def _reduce_265(val, _values, result)
2588
3160
  result = Factory.QREF(val[0][:value]) ; loc result, val[0]
2589
3161
  result
2590
3162
  end
2591
3163
  .,.,
2592
3164
 
2593
- module_eval(<<'.,.,', 'egrammar.ra', 706)
2594
- def _reduce_219(val, _values, result)
3165
+ module_eval(<<'.,.,', 'egrammar.ra', 819)
3166
+ def _reduce_266(val, _values, result)
2595
3167
  result = Factory.literal(val[0][:value]); loc result, val[0]
2596
3168
  result
2597
3169
  end
2598
3170
  .,.,
2599
3171
 
2600
- # reduce 220 omitted
3172
+ # reduce 267 omitted
2601
3173
 
2602
- module_eval(<<'.,.,', 'egrammar.ra', 712)
2603
- def _reduce_221(val, _values, result)
3174
+ module_eval(<<'.,.,', 'egrammar.ra', 825)
3175
+ def _reduce_268(val, _values, result)
2604
3176
  result = nil
2605
3177
  result
2606
3178
  end
2607
3179
  .,.,
2608
3180
 
2609
- # reduce 222 omitted
3181
+ # reduce 269 omitted
2610
3182
 
2611
- # reduce 223 omitted
3183
+ # reduce 270 omitted
2612
3184
 
2613
- # reduce 224 omitted
3185
+ # reduce 271 omitted
2614
3186
 
2615
- # reduce 225 omitted
3187
+ # reduce 272 omitted
2616
3188
 
2617
- # reduce 226 omitted
3189
+ # reduce 273 omitted
2618
3190
 
2619
- # reduce 227 omitted
3191
+ # reduce 274 omitted
2620
3192
 
2621
- # reduce 228 omitted
3193
+ # reduce 275 omitted
2622
3194
 
2623
- # reduce 229 omitted
3195
+ # reduce 276 omitted
2624
3196
 
2625
- # reduce 230 omitted
3197
+ # reduce 277 omitted
2626
3198
 
2627
- # reduce 231 omitted
3199
+ # reduce 278 omitted
2628
3200
 
2629
- # reduce 232 omitted
3201
+ # reduce 279 omitted
2630
3202
 
2631
- # reduce 233 omitted
3203
+ # reduce 280 omitted
2632
3204
 
2633
- # reduce 234 omitted
3205
+ # reduce 281 omitted
2634
3206
 
2635
- # reduce 235 omitted
3207
+ # reduce 282 omitted
2636
3208
 
2637
- # reduce 236 omitted
3209
+ # reduce 283 omitted
2638
3210
 
2639
- # reduce 237 omitted
3211
+ # reduce 284 omitted
2640
3212
 
2641
- # reduce 238 omitted
3213
+ # reduce 285 omitted
2642
3214
 
2643
- # reduce 239 omitted
3215
+ # reduce 286 omitted
2644
3216
 
2645
- # reduce 240 omitted
3217
+ # reduce 287 omitted
2646
3218
 
2647
- # reduce 241 omitted
3219
+ # reduce 288 omitted
2648
3220
 
2649
- module_eval(<<'.,.,', 'egrammar.ra', 739)
2650
- def _reduce_242(val, _values, result)
3221
+ # reduce 289 omitted
3222
+
3223
+ # reduce 290 omitted
3224
+
3225
+ # reduce 291 omitted
3226
+
3227
+ # reduce 292 omitted
3228
+
3229
+ module_eval(<<'.,.,', 'egrammar.ra', 856)
3230
+ def _reduce_293(val, _values, result)
2651
3231
  result = nil
2652
3232
  result
2653
3233
  end