puppet 5.5.10-x64-mingw32 → 5.5.12-x64-mingw32

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of puppet might be problematic. Click here for more details.

Files changed (104) hide show
  1. checksums.yaml +4 -4
  2. data/CODEOWNERS +30 -0
  3. data/Gemfile.lock +13 -13
  4. data/lib/puppet.rb +4 -4
  5. data/lib/puppet/application.rb +1 -1
  6. data/lib/puppet/application/filebucket.rb +6 -1
  7. data/lib/puppet/configurer.rb +4 -7
  8. data/lib/puppet/confine/boolean.rb +45 -0
  9. data/lib/puppet/confine/false.rb +7 -1
  10. data/lib/puppet/confine/true.rb +7 -1
  11. data/lib/puppet/defaults.rb +0 -18
  12. data/lib/puppet/functions/call.rb +2 -1
  13. data/lib/puppet/network/http/connection.rb +15 -5
  14. data/lib/puppet/pops/issues.rb +4 -0
  15. data/lib/puppet/pops/model/factory.rb +38 -4
  16. data/lib/puppet/pops/parser/egrammar.ra +2 -2
  17. data/lib/puppet/pops/parser/eparser.rb +628 -627
  18. data/lib/puppet/pops/parser/heredoc_support.rb +17 -7
  19. data/lib/puppet/pops/parser/lexer2.rb +6 -1
  20. data/lib/puppet/pops/parser/locator.rb +106 -86
  21. data/lib/puppet/pops/parser/parser_support.rb +11 -2
  22. data/lib/puppet/pops/types/type_mismatch_describer.rb +1 -1
  23. data/lib/puppet/provider/file/windows.rb +49 -1
  24. data/lib/puppet/provider/group/windows_adsi.rb +4 -1
  25. data/lib/puppet/provider/mount/parsed.rb +3 -0
  26. data/lib/puppet/provider/package/windows.rb +5 -1
  27. data/lib/puppet/provider/service/systemd.rb +1 -1
  28. data/lib/puppet/provider/service/upstart.rb +8 -6
  29. data/lib/puppet/settings.rb +10 -5
  30. data/lib/puppet/transaction.rb +8 -6
  31. data/lib/puppet/transaction/resource_harness.rb +1 -0
  32. data/lib/puppet/type/exec.rb +27 -5
  33. data/lib/puppet/type/file/mode.rb +6 -1
  34. data/lib/puppet/type/filebucket.rb +12 -8
  35. data/lib/puppet/util/command_line.rb +5 -1
  36. data/lib/puppet/util/log.rb +7 -2
  37. data/lib/puppet/util/windows/security.rb +29 -8
  38. data/lib/puppet/version.rb +1 -1
  39. data/locales/puppet.pot +196 -151
  40. data/man/man5/puppet.conf.5 +2 -2
  41. data/man/man8/puppet-agent.8 +1 -1
  42. data/man/man8/puppet-apply.8 +1 -1
  43. data/man/man8/puppet-ca.8 +1 -1
  44. data/man/man8/puppet-catalog.8 +1 -1
  45. data/man/man8/puppet-cert.8 +1 -1
  46. data/man/man8/puppet-certificate.8 +1 -1
  47. data/man/man8/puppet-certificate_request.8 +1 -1
  48. data/man/man8/puppet-certificate_revocation_list.8 +1 -1
  49. data/man/man8/puppet-config.8 +1 -1
  50. data/man/man8/puppet-describe.8 +1 -1
  51. data/man/man8/puppet-device.8 +1 -1
  52. data/man/man8/puppet-doc.8 +1 -1
  53. data/man/man8/puppet-epp.8 +1 -1
  54. data/man/man8/puppet-facts.8 +1 -1
  55. data/man/man8/puppet-filebucket.8 +6 -2
  56. data/man/man8/puppet-generate.8 +1 -1
  57. data/man/man8/puppet-help.8 +1 -1
  58. data/man/man8/puppet-key.8 +1 -1
  59. data/man/man8/puppet-lookup.8 +1 -1
  60. data/man/man8/puppet-man.8 +1 -1
  61. data/man/man8/puppet-master.8 +1 -1
  62. data/man/man8/puppet-module.8 +1 -1
  63. data/man/man8/puppet-node.8 +1 -1
  64. data/man/man8/puppet-parser.8 +1 -1
  65. data/man/man8/puppet-plugin.8 +1 -1
  66. data/man/man8/puppet-report.8 +1 -1
  67. data/man/man8/puppet-resource.8 +1 -1
  68. data/man/man8/puppet-script.8 +1 -1
  69. data/man/man8/puppet-status.8 +1 -1
  70. data/man/man8/puppet.8 +2 -2
  71. data/spec/fixtures/unit/provider/mount/parsed/freebsd.fstab +1 -0
  72. data/spec/fixtures/unit/provider/mount/parsed/freebsd.mount +1 -0
  73. data/spec/fixtures/unit/provider/mount/parsed/linux.fstab +1 -0
  74. data/spec/fixtures/unit/provider/mount/parsed/linux.mount +1 -0
  75. data/spec/fixtures/unit/provider/mount/parsed/netbsd.fstab +1 -0
  76. data/spec/fixtures/unit/provider/mount/parsed/netbsd.mount +1 -0
  77. data/spec/fixtures/unit/provider/mount/parsed/openbsd.fstab +1 -0
  78. data/spec/fixtures/unit/provider/mount/parsed/openbsd.mount +1 -0
  79. data/spec/integration/provider/file/windows_spec.rb +162 -0
  80. data/spec/integration/type/file_spec.rb +0 -19
  81. data/spec/unit/application_spec.rb +8 -1
  82. data/spec/unit/configurer_spec.rb +2 -4
  83. data/spec/unit/confine/false_spec.rb +27 -0
  84. data/spec/unit/confine/true_spec.rb +27 -0
  85. data/spec/unit/defaults_spec.rb +0 -14
  86. data/spec/unit/network/http/connection_spec.rb +1 -1
  87. data/spec/unit/pops/loaders/loaders_spec.rb +5 -0
  88. data/spec/unit/pops/parser/locator_spec.rb +45 -0
  89. data/spec/unit/pops/parser/parse_heredoc_spec.rb +111 -15
  90. data/spec/unit/pops/types/type_mismatch_describer_spec.rb +9 -0
  91. data/spec/unit/provider/group/windows_adsi_spec.rb +7 -1
  92. data/spec/unit/provider/mount/parsed_spec.rb +8 -1
  93. data/spec/unit/provider/package/windows_spec.rb +12 -1
  94. data/spec/unit/provider/service/systemd_spec.rb +6 -4
  95. data/spec/unit/settings_spec.rb +36 -0
  96. data/spec/unit/transaction/resource_harness_spec.rb +26 -0
  97. data/spec/unit/transaction_spec.rb +29 -0
  98. data/spec/unit/type/exec_spec.rb +47 -0
  99. data/spec/unit/type/filebucket_spec.rb +8 -6
  100. data/spec/unit/util/command_line_spec.rb +23 -2
  101. data/spec/unit/util/log_spec.rb +15 -0
  102. data/spec/unit/util/storage_spec.rb +19 -19
  103. metadata +6 -3
  104. data/MAINTAINERS +0 -47
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 89e6e86e1354f34b71e1b51b3828f4e082c4459eac6895848d4502600d40e38e
4
- data.tar.gz: 12853793483c716852098224f4f8ef22eef9e319911c60b251687a0027c658a5
3
+ metadata.gz: ad077057c91129c81f14b0b60f04ac9e4901a9a7575aa5e106eb3397663a059a
4
+ data.tar.gz: 1162c74925d58253ad4aa41b450f6258f0d606c6880f4fb80229f2c53cf9e635
5
5
  SHA512:
6
- metadata.gz: 828c35021489919738451651903d47ed12df336bba31b75dd4f5bb3067a7817c65d9486fcc357a14dacfa193c41e525c017a299b30dc55b05920d9e7bca551e9
7
- data.tar.gz: f519ef893e182894583e9a10e99b023365f9202ea481e851851562e04d89395d2c62fca7409c94d8d7608686eb159bcfba4d5ea52549cfc39e9d495b1955679f
6
+ metadata.gz: 23f31ba1767052c2a09cdc26444151e47d2519b3b42844b3d11f3bf69d50ebccdc50e2d0eebf93f794e0289d401743283ae4873ccbe7c2205b0beb93ace5421c
7
+ data.tar.gz: 83de8fb954660bd2ce9179541a4eabb3e9b8aa6842346ea55f8d859884be603b25f35b0675206ad84dce04ed204cedef5ff1a1f0053abc165c8b1c92b766a87a
data/CODEOWNERS ADDED
@@ -0,0 +1,30 @@
1
+ # default to platform-core
2
+ * @puppetlabs/platform-core
3
+
4
+ # platform-os
5
+ /lib/puppet/type/group @puppetlabs/platform-os
6
+ /lib/puppet/type/package @puppetlabs/platform-os
7
+ /lib/puppet/type/service @puppetlabs/platform-os
8
+ /lib/puppet/type/user @puppetlabs/platform-os
9
+ /lib/puppet/provider/group @puppetlabs/platform-os
10
+ /lib/puppet/provider/package @puppetlabs/platform-os
11
+ /lib/puppet/provider/service @puppetlabs/platform-os
12
+ /lib/puppet/provider/user @puppetlabs/platform-os
13
+
14
+ # language
15
+ /lib/puppet/datatypes @puppetlabs/language
16
+ /lib/puppet/functions @puppetlabs/language
17
+ /lib/puppet/pal @puppetlabs/language
18
+ /lib/puppet/parser @puppetlabs/language
19
+ /lib/puppet/pops @puppetlabs/language
20
+ /lib/puppet/syntax_checkers @puppetlabs/language
21
+
22
+ # puppet device
23
+ /lib/puppet/application/device.rb @puppetlabs/networking
24
+ /lib/puppet/util/network_device @puppetlabs/networking
25
+
26
+ # puppet module
27
+ /lib/puppet/application/module.rb @puppetlabs/pdk
28
+ /lib/puppet/face/module @puppetlabs/pdk
29
+ /lib/puppet/forge @puppetlabs/pdk
30
+ /lib/puppet/module_tool @puppetlabs/pdk
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- puppet (5.5.10)
4
+ puppet (5.5.12)
5
5
  CFPropertyList (~> 2.2)
6
6
  facter (>= 2.4.0, < 4)
7
7
  fast_gettext (~> 1.1.2)
@@ -34,9 +34,9 @@ GEM
34
34
  locale
35
35
  hashdiff (0.3.8)
36
36
  hiera (3.5.0)
37
- hiera-eyaml (2.1.0)
37
+ hiera-eyaml (3.0.0)
38
38
  highline (~> 1.6.19)
39
- trollop (~> 2.0)
39
+ optimist
40
40
  highline (1.6.21)
41
41
  hocon (1.2.5)
42
42
  hpricot (0.8.6)
@@ -48,22 +48,23 @@ GEM
48
48
  method_source (0.9.2)
49
49
  mocha (0.10.5)
50
50
  metaclass (~> 0.0.1)
51
- msgpack (1.2.6)
51
+ msgpack (1.2.9)
52
52
  multi_json (1.13.1)
53
53
  mustache (1.1.0)
54
54
  net-ssh (4.2.0)
55
- packaging (0.99.21)
55
+ optimist (3.0.0)
56
+ packaging (0.99.24)
56
57
  artifactory (~> 2)
57
58
  rake (~> 12.3)
58
- parallel (1.12.1)
59
- parser (2.5.3.0)
59
+ parallel (1.14.0)
60
+ parser (2.6.2.0)
60
61
  ast (~> 2.4.0)
61
62
  powerpack (0.1.2)
62
63
  pry (0.12.2)
63
64
  coderay (~> 1.1.0)
64
65
  method_source (~> 0.9.0)
65
66
  puppet-lint (2.3.6)
66
- puppet-syntax (2.4.1)
67
+ puppet-syntax (2.4.3)
67
68
  rake
68
69
  puppetlabs_spec_helper (1.1.1)
69
70
  mocha
@@ -101,7 +102,7 @@ GEM
101
102
  rspec-mocks (3.8.0)
102
103
  diff-lcs (>= 1.2.0, < 2.0)
103
104
  rspec-support (~> 3.8.0)
104
- rspec-puppet (2.7.2)
105
+ rspec-puppet (2.7.3)
105
106
  rspec
106
107
  rspec-support (3.8.0)
107
108
  rubocop (0.49.1)
@@ -115,16 +116,15 @@ GEM
115
116
  rubocop (~> 0.49.0)
116
117
  ruby-prof (0.17.0)
117
118
  ruby-progressbar (1.10.0)
118
- safe_yaml (1.0.4)
119
+ safe_yaml (1.0.5)
119
120
  text (1.3.1)
120
- trollop (2.9.9)
121
- unicode-display_width (1.4.1)
121
+ unicode-display_width (1.5.0)
122
122
  vcr (2.9.3)
123
123
  webmock (1.24.6)
124
124
  addressable (>= 2.3.6)
125
125
  crack (>= 0.3.2)
126
126
  hashdiff
127
- yard (0.9.16)
127
+ yard (0.9.18)
128
128
  yarjuf (2.0.0)
129
129
  builder
130
130
  rspec (~> 3)
data/lib/puppet.rb CHANGED
@@ -138,14 +138,14 @@ module Puppet
138
138
  # @api public
139
139
  # @param args [Array<String>] the command line arguments to use for initialization
140
140
  # @return [void]
141
- def self.initialize_settings(args = [])
142
- do_initialize_settings_for_run_mode(:user, args)
141
+ def self.initialize_settings(args = [], require_config = true)
142
+ do_initialize_settings_for_run_mode(:user, args, require_config)
143
143
  end
144
144
 
145
145
  # private helper method to provide the implementation details of initializing for a run mode,
146
146
  # but allowing us to control where the deprecation warning is issued
147
- def self.do_initialize_settings_for_run_mode(run_mode, args)
148
- Puppet.settings.initialize_global_settings(args)
147
+ def self.do_initialize_settings_for_run_mode(run_mode, args, require_config = true)
148
+ Puppet.settings.initialize_global_settings(args, require_config)
149
149
  run_mode = Puppet::Util::RunMode[run_mode]
150
150
  Puppet.settings.initialize_app_defaults(Puppet::Settings.app_defaults_for_run_mode(run_mode))
151
151
  Puppet.push_context(Puppet.base_context(Puppet.settings), "Initial context after settings initialization")
@@ -418,7 +418,7 @@ class Application
418
418
  Puppet::Util::Log.newdestination(arg)
419
419
  options[:setdest] = true
420
420
  rescue => detail
421
- Puppet.log_exception(detail)
421
+ Puppet.log_and_raise(detail, _("Could not set logdest to %{dest}.") % { dest: arg })
422
422
  end
423
423
  end
424
424
 
@@ -107,8 +107,13 @@ configuration options can also be generated by running puppet with
107
107
  information and the bucket located at the '$bucketdir' setting
108
108
  by default.
109
109
 
110
+ * --server_list:
111
+ A list of comma seperated servers; only the first entry is used for file storage.
112
+ This setting takes precidence over `server`.
113
+
110
114
  * --server:
111
- The server to send the file to, instead of locally.
115
+ The server to use for file storage. This setting is only used if `server_list`
116
+ is not set.
112
117
 
113
118
  * --todate:
114
119
  (list only) Select bucket files until 'todate'.
@@ -222,15 +222,12 @@ class Puppet::Configurer
222
222
  found = find_functional_server()
223
223
  server = found[:server]
224
224
  if server.nil?
225
- Puppet.warning _("Could not select a functional puppet master")
226
- server = [nil, nil]
225
+ raise Puppet::Error, _("Could not select a functional puppet master from server_list: '%{server_list}'") % { server_list: Puppet[:server_list] }
226
+ else
227
+ Puppet.debug "Selected master: #{server[0]}:#{server[1]}"
228
+ report.master_used = "#{server[0]}:#{server[1]}"
227
229
  end
228
230
  Puppet.override(:server => server[0], :serverport => server[1]) do
229
- if !server.first.nil?
230
- Puppet.debug "Selected master: #{server[0]}:#{server[1]}"
231
- report.master_used = "#{server[0]}:#{server[1]}"
232
- end
233
-
234
231
  completed = run_internal(options.merge(:node => found[:node]))
235
232
  end
236
233
  else
@@ -0,0 +1,45 @@
1
+ require 'puppet/confine'
2
+
3
+ # Common module for the Boolean confines. It currently
4
+ # contains just enough code to implement PUP-9336.
5
+ class Puppet::Confine
6
+ module Boolean
7
+ # Returns the passing value for the Boolean confine.
8
+ def passing_value
9
+ raise NotImplementedError, "The Boolean confine %{confine} must provide the passing value." % { confine: self.class.name }
10
+ end
11
+
12
+ # The Boolean confines 'true' and 'false' let the user specify
13
+ # two types of values:
14
+ # * A lambda for lazy evaluation. This would be something like
15
+ # confine :true => lambda { true }
16
+ #
17
+ # * A single Boolean value, or an array of Boolean values. This would
18
+ # be something like
19
+ # confine :true => true OR confine :true => [true, false, false, true]
20
+ #
21
+ # This override distinguishes between the two cases.
22
+ def values
23
+ # Note that Puppet::Confine's constructor ensures that @values
24
+ # will always be an array, even if a lambda's passed in. This is
25
+ # why we have the length == 1 check.
26
+ unless @values.length == 1 && @values.first.respond_to?(:call)
27
+ return @values
28
+ end
29
+
30
+ # We have a lambda. Here, we want to enforce "cache positive"
31
+ # behavior, which is to cache the result _if_ it evaluates to
32
+ # the passing value (i.e. the class name).
33
+
34
+ return @cached_value unless @cached_value.nil?
35
+
36
+ # Double negate to coerce the value into a Boolean
37
+ calculated_value = !! @values.first.call
38
+ if calculated_value == passing_value
39
+ @cached_value = [calculated_value]
40
+ end
41
+
42
+ [calculated_value]
43
+ end
44
+ end
45
+ end
@@ -1,6 +1,12 @@
1
- require 'puppet/confine'
1
+ require 'puppet/confine/boolean'
2
2
 
3
3
  class Puppet::Confine::False < Puppet::Confine
4
+ include Puppet::Confine::Boolean
5
+
6
+ def passing_value
7
+ false
8
+ end
9
+
4
10
  def self.summarize(confines)
5
11
  confines.inject(0) { |count, confine| count + confine.summary }
6
12
  end
@@ -1,6 +1,12 @@
1
- require 'puppet/confine'
1
+ require 'puppet/confine/boolean'
2
2
 
3
3
  class Puppet::Confine::True < Puppet::Confine
4
+ include Puppet::Confine::Boolean
5
+
6
+ def passing_value
7
+ true
8
+ end
9
+
4
10
  def self.summarize(confines)
5
11
  confines.inject(0) { |count, confine| count + confine.summary }
6
12
  end
@@ -1535,30 +1535,12 @@ EOT
1535
1535
  :server => {
1536
1536
  :default => "puppet",
1537
1537
  :desc => "The puppet master server to which the puppet agent should connect.",
1538
- :call_hook => :on_initialize_and_write,
1539
- :hook => proc { |value|
1540
- if Puppet.settings.set_by_config?(:server) && Puppet.settings.set_by_config?(:server_list)
1541
- #TRANSLATOR 'server' and 'server_list' are setting names and should not be translated
1542
- message = _('Attempted to set both server and server_list.')
1543
- message += ' ' + _('Server setting will not be used.')
1544
- Puppet.deprecation_warning(message, :SERVER_DUPLICATION)
1545
- end
1546
- }
1547
1538
  },
1548
1539
  :server_list => {
1549
1540
  :default => [],
1550
1541
  :type => :server_list,
1551
1542
  :desc => "The list of puppet master servers to which the puppet agent should connect,
1552
1543
  in the order that they will be tried.",
1553
- :call_hook => :on_initialize_and_write,
1554
- :hook => proc { |value|
1555
- if Puppet.settings.set_by_config?(:server) && Puppet.settings.set_by_config?(:server_list)
1556
- #TRANSLATOR 'server' and 'server_list' are setting names and should not be translated
1557
- message = _('Attempted to set both server and server_list.')
1558
- message += ' ' + _('Server setting will not be used.')
1559
- Puppet.deprecation_warning(message, :SERVER_DUPLICATION)
1560
- end
1561
- }
1562
1544
  },
1563
1545
  :use_srv_records => {
1564
1546
  :default => false,
@@ -37,6 +37,7 @@ Puppet::Functions.create_function(:call, Puppet::Functions::InternalFunction) do
37
37
  end
38
38
 
39
39
  def call_impl_block(scope, function_name, *args, &block)
40
- call_function_with_scope(scope, function_name, *args, &block)
40
+ # The call function must be able to call functions loaded by any loader visible from the calling scope.
41
+ Puppet::Pops::Parser::EvaluatingParser.new.evaluator.external_call_function(function_name, args, scope, &block)
41
42
  end
42
43
  end
@@ -300,12 +300,22 @@ module Puppet::Network::HTTP
300
300
  def execute_request(connection, request)
301
301
  start = Time.now
302
302
  connection.request(request)
303
- rescue EOFError => e
303
+ rescue => exception
304
304
  elapsed = (Time.now - start).to_f.round(3)
305
- uri = @site.addr + request.path.split('?')[0]
306
- eof = EOFError.new(_('request %{uri} interrupted after %{elapsed} seconds') % {uri: uri, elapsed: elapsed})
307
- eof.set_backtrace(e.backtrace) unless e.backtrace.empty?
308
- raise eof
305
+ uri = [@site.addr, request.path.split('?')[0]].join('/')
306
+ eclass = exception.class
307
+
308
+ err = case exception
309
+ when EOFError
310
+ eclass.new(_('request %{uri} interrupted after %{elapsed} seconds') % {uri: uri, elapsed: elapsed})
311
+ when Timeout::Error
312
+ eclass.new(_('request %{uri} timed out after %{elapsed} seconds') % {uri: uri, elapsed: elapsed})
313
+ else
314
+ eclass.new(_('request %{uri} failed: %{msg}') % {uri: uri, msg: exception.message})
315
+ end
316
+
317
+ err.set_backtrace(exception.backtrace) unless exception.backtrace.empty?
318
+ raise err
309
319
  end
310
320
 
311
321
  def with_connection(site, &block)
@@ -760,6 +760,10 @@ module Issues
760
760
  _("An escape char for @() may only appear once. Got '%{escapes}'") % { escapes: escapes.join(', ') }
761
761
  end
762
762
 
763
+ HEREDOC_DIRTY_MARGIN = hard_issue :HEREDOC_DIRTY_MARGIN, :heredoc_line do
764
+ _("Heredoc with text in the margin is not allowed (line %{heredoc_line} in this heredoc)") % { heredoc_line: heredoc_line }
765
+ end
766
+
763
767
  ILLEGAL_BOM = hard_issue :ILLEGAL_BOM, :format_name, :bytes do
764
768
  _("Illegal %{format} Byte Order mark at beginning of input: %{bom} - remove these from the puppet source") % { format: format_name, bom: bytes }
765
769
  end
@@ -28,6 +28,7 @@ class Factory
28
28
  BUILD_VISITOR = Visitor.new(self, 'build')
29
29
  INFER_VISITOR = Visitor.new(self, 'infer')
30
30
  INTERPOLATION_VISITOR = Visitor.new(self, 'interpolate')
31
+ MAPOFFSET_VISITOR = Visitor.new(self, 'map_offset')
31
32
 
32
33
  def self.infer(o)
33
34
  if o.instance_of?(Factory)
@@ -89,6 +90,29 @@ class Factory
89
90
  end
90
91
  end
91
92
 
93
+ def map_offset(model, locator)
94
+ MAPOFFSET_VISITOR.visit_this_1(self, model, locator)
95
+ end
96
+
97
+ def map_offset_Object(o, locator)
98
+ o
99
+ end
100
+
101
+ def map_offset_Factory(o, locator)
102
+ map_offset(o.model, locator)
103
+ end
104
+
105
+ def map_offset_Positioned(o, locator)
106
+ # Transpose the local offset, length to global "coordinates"
107
+ global_offset, global_length = locator.to_global(o.offset, o.length)
108
+
109
+ # mutate
110
+ o.instance_variable_set(:'@offset', global_offset)
111
+ o.instance_variable_set(:'@length', global_length)
112
+ # Change locator since the positions were transposed to the global coordinates
113
+ o.instance_variable_set(:'@locator', locator.locator) if locator.is_a? Puppet::Pops::Parser::Locator::SubLocator
114
+ end
115
+
92
116
  # Polymorphic interpolate
93
117
  def interpolate()
94
118
  INTERPOLATION_VISITOR.visit_this_class(self, @model_class, EMPTY_ARRAY)
@@ -428,8 +452,7 @@ class Factory
428
452
  @init_hash[KEY_LOCATOR] = locator
429
453
  @init_hash['leading_line_count'] = locator.leading_line_count
430
454
  @init_hash['leading_line_offset'] = locator.leading_line_offset
431
- # Index is held in sublocator's parent locator - needed to be able to reconstruct
432
- @init_hash['line_offsets'] = locator.locator.line_index
455
+ @init_hash['line_offsets'] = locator.line_index # index of lines in sublocated
433
456
  end
434
457
 
435
458
  def build_SelectorEntry(o, matching, value)
@@ -724,8 +747,6 @@ class Factory
724
747
 
725
748
  def self.STRING(*args); new(ConcatenatedString, args); end
726
749
 
727
- def self.SUBLOCATE(token, expr) new(SubLocatedExpression, token, expr); end
728
-
729
750
  def self.LIST(entries); new(LiteralList, entries); end
730
751
 
731
752
  def self.PARAM(name, expr=nil); new(Parameter, name, expr); end
@@ -760,6 +781,19 @@ class Factory
760
781
  o.instance_of?(Factory) && o.model_class <= QualifiedReference ? self : new(QualifiedReference, o)
761
782
  end
762
783
 
784
+ def self.SUBLOCATE(token, expr_factory)
785
+ # expr is a Factory wrapped LiteralString, or ConcatenatedString
786
+ # The token is SUBLOCATED token which has a SubLocator as the token's locator
787
+ # Use the SubLocator to recalculate the offsets and lengths.
788
+ model = expr_factory.model
789
+ locator = token.locator
790
+ expr_factory.map_offset(model, locator)
791
+ model._pcore_all_contents([]) { |element| expr_factory.map_offset(element, locator) }
792
+
793
+ # Returned the factory wrapping the now offset/length transformed expression(s)
794
+ expr_factory
795
+ end
796
+
763
797
  def self.TEXT(expr)
764
798
  new(TextExpression, infer(expr).interpolate)
765
799
  end
@@ -846,8 +846,8 @@ heredoc
846
846
  : HEREDOC sublocated_text { result = Factory.HEREDOC(val[0][:value], val[1]); loc result, val[0] }
847
847
 
848
848
  sublocated_text
849
- : SUBLOCATE string { result = Factory.SUBLOCATE(val[0], val[1]); loc result, val[0] }
850
- | SUBLOCATE dq_string { result = Factory.SUBLOCATE(val[0], val[1]); loc result, val[0] }
849
+ : SUBLOCATE string { result = Factory.SUBLOCATE(val[0], val[1]); }
850
+ | SUBLOCATE dq_string { result = Factory.SUBLOCATE(val[0], val[1]); }
851
851
 
852
852
  epp_expression
853
853
  : EPP_START epp_parameters_list optional_statements { result = Factory.EPP(val[1], val[2]); loc result, val[0] }
@@ -30,102 +30,63 @@ module_eval(<<'...end egrammar.ra/module_eval...', 'egrammar.ra', 928)
30
30
  ##### State transition tables begin ###
31
31
 
32
32
  clist = [
33
- '65,77,301,-147,63,71,399,72,71,301,72,-278,114,83,87,88,89,-287,348',
34
- '-292,289,400,304,302,21,20,116,-290,119,267,302,53,115,56,152,67,12',
35
- '86,61,45,48,94,55,46,10,11,-147,158,64,19,290,304,47,118,-278,17,18',
36
- '155,131,132,-287,349,-292,82,90,92,91,93,129,54,-290,268,126,44,78,95',
37
- '80,81,79,-187,-187,62,50,68,69,57,65,77,60,59,63,71,70,72,454,70,129',
38
- '129,114,453,126,126,326,122,128,327,470,-277,125,159,21,20,116,176,119',
39
- '471,127,53,115,56,152,67,12,168,61,45,48,84,55,46,10,11,128,128,64,19',
40
- '125,125,47,118,181,17,18,155,127,127,177,129,197,82,-277,126,129,129',
41
- '129,54,126,126,126,44,78,95,80,81,421,199,72,62,50,68,69,57,65,77,60',
42
- '59,63,71,70,72,519,202,129,128,86,453,126,125,128,128,128,269,125,125',
43
- '125,127,21,20,-187,-187,127,127,127,53,380,56,94,67,12,114,61,45,48',
44
- '301,55,46,10,11,128,94,64,19,125,116,47,119,304,17,18,115,127,301,129',
45
- '129,302,82,126,126,129,129,282,54,126,126,304,44,78,152,80,81,118,283',
46
- '302,62,50,68,69,57,65,77,60,59,63,71,70,72,294,-232,128,128,155,284',
47
- '125,125,128,128,131,132,125,125,127,127,21,20,-188,-188,127,127,129',
48
- '53,382,56,126,67,12,158,61,45,48,301,55,46,10,11,178,77,64,19,179,466',
49
- '47,465,304,17,18,178,77,301,168,179,302,82,-189,-189,128,129,287,54',
50
- '125,126,304,44,78,288,80,81,127,292,302,62,50,68,69,57,65,77,60,59,63',
51
- '71,70,72,338,-191,-191,176,114,466,173,465,317,128,280,279,318,125,280',
52
- '279,21,20,116,324,119,127,-233,53,115,56,82,67,134,324,61,45,48,86,55',
53
- '46,177,78,280,279,64,19,280,279,47,118,94,17,18,178,77,280,279,179,94',
54
- '82,329,328,129,340,341,54,126,94,94,44,78,346,80,81,168,354,372,62,50',
55
- '68,69,57,65,77,60,59,63,71,70,72,373,375,379,176,384,386,173,390,128',
56
- '392,304,395,125,396,301,448,21,20,409,410,127,411,412,53,413,56,82,67',
57
- '134,416,61,45,48,292,55,46,177,78,422,424,64,19,395,-232,47,429,431',
58
- '17,18,178,77,438,439,179,346,82,347,442,445,395,395,54,158,455,456,44',
59
- '78,459,80,81,460,463,467,62,50,68,69,57,65,77,60,59,63,71,70,72,469',
60
- '480,482,176,114,484,173,346,488,490,346,493,494,346,497,501,21,20,116',
61
- '469,119,503,505,53,115,56,82,67,134,506,61,45,48,507,55,46,177,78,346',
62
- '509,64,19,354,514,47,118,515,17,18,516,517,518,527,528,529,82,530,532',
63
- '533,534,375,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70',
64
- '72,,,,,114,,,,,,,,,,,,21,20,116,,119,,,53,115,56,,67,12,,61,45,48,,55',
65
- '46,10,11,,,64,19,,,47,118,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,',
66
- ',62,50,68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53',
67
- ',56,,67,12,,61,45,48,,55,46,10,11,,,64,19,,,47,,,17,18,,,,,,,82,,,,',
68
- ',54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72,,,,,,',
69
- ',,,,,,,,,,21,20,143,,,,,53,,56,,67,12,,61,45,48,,55,46,10,11,,,64,19',
70
- ',,47,,,17,18,,,,,178,77,82,,179,,,,54,,,,44,78,,80,81,,,,147,144,68',
71
- '69,145,151,150,146,59,65,77,70,,63,71,,72,,,,176,,,173,,,,,,,,,,21,20',
72
- ',,,,,53,,56,82,67,134,,61,45,48,,55,46,177,78,,,64,19,,,47,,,17,18,',
73
- ',,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71',
74
- '70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,134,,61,45,48,,55,46,,,',
75
- ',64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69',
76
- '57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,114,53,,56,,67',
77
- '134,,61,45,48,,55,46,116,,119,,64,19,115,,47,,,17,18,,,,,,,82,,,,,,54',
78
- ',118,,44,78,,80,81,,,,62,50,68,69,57,96,97,60,59,65,77,70,95,63,71,183',
79
- '72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48,,55,46,10,11,',
80
- ',64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,147,144,68,69',
81
- '145,151,150,146,59,65,77,70,,63,71,188,72,,,,,,,,,,,,,,,,,21,20,,,,',
82
- ',53,,56,,67,12,,61,45,48,,55,46,10,11,,,64,19,,,47,,,17,18,,,,,,,82',
83
- ',,,,,54,,,,44,78,,80,81,,,,147,144,68,69,145,151,150,146,59,65,77,70',
84
- ',63,71,,72,190,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48,,55',
85
- '46,10,11,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,147',
86
- '144,68,69,145,151,150,146,59,65,77,70,,63,71,,72,,,,,,,,,,,,,,,,,21',
87
- '20,,,,,,53,,56,,67,12,,61,45,48,,55,46,10,11,,,64,19,,,47,,,17,18,,',
88
- ',,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70',
89
- '201,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,134,,61,45,48,,55,46,,,,,64',
90
- '19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65',
91
- '77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45',
92
- '48,,55,46,10,11,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81',
93
- ',,,62,50,68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,',
94
- ',53,,56,,67,12,,61,45,48,,55,46,10,11,,,64,19,,,47,,,17,18,,,,,,,82',
95
- ',,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72,,',
96
- ',,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48,,55,46,10,11,,,64,19',
33
+ '65,77,301,-147,63,71,301,72,71,301,72,152,114,375,129,87,88,89,126,304',
34
+ '131,132,304,302,21,20,116,302,119,-287,302,53,115,56,155,67,12,83,61',
35
+ '45,48,338,55,46,10,11,-147,86,64,19,128,304,47,118,125,17,18,267,94',
36
+ '-278,129,-290,127,82,126,90,92,91,93,54,-277,158,-287,44,78,95,80,81',
37
+ '159,-187,-187,62,50,68,69,57,65,77,60,59,63,71,70,72,523,70,128,129',
38
+ '114,268,125,126,-278,176,-290,466,168,465,127,152,21,20,116,-277,119',
39
+ '348,129,53,115,56,126,67,12,-292,61,45,48,289,55,46,10,11,155,128,64',
40
+ '19,177,125,47,118,326,17,18,327,129,127,129,129,126,82,126,126,128,280',
41
+ '279,54,125,290,349,44,78,95,80,81,127,152,-292,62,50,68,69,57,65,77',
42
+ '60,59,63,71,70,72,128,470,128,128,125,399,125,125,155,129,471,181,127',
43
+ '126,127,127,21,20,197,454,400,199,129,53,453,56,126,67,12,122,61,45',
44
+ '48,519,55,46,10,11,453,202,64,19,380,86,47,128,269,17,18,125,129,301',
45
+ '448,94,126,82,129,127,128,129,126,54,125,126,304,44,78,94,80,81,127',
46
+ '282,302,62,50,68,69,57,65,77,60,59,63,71,70,72,128,178,77,129,125,179',
47
+ '128,126,283,128,125,-232,127,125,280,279,21,20,127,329,328,127,129,53',
48
+ '382,56,126,67,12,284,61,45,48,301,55,46,10,11,158,128,64,19,168,125',
49
+ '47,287,304,17,18,178,77,127,288,179,302,82,-189,-189,128,129,292,54',
50
+ '125,126,317,44,78,318,80,81,127,131,132,62,50,68,69,57,65,77,60,59,63',
51
+ '71,70,72,421,324,72,176,114,466,173,465,-233,128,-187,-187,324,125,-188',
52
+ '-188,21,20,116,86,119,127,94,53,115,56,82,67,134,94,61,45,48,94,55,46',
53
+ '177,78,280,279,64,19,340,341,47,118,94,17,18,178,77,301,346,179,168',
54
+ '82,280,279,280,279,354,54,-191,-191,304,44,78,372,80,81,373,375,302',
55
+ '62,50,68,69,57,65,77,60,59,63,71,70,72,294,379,384,176,114,386,173,390',
56
+ '392,304,395,396,301,409,410,411,21,20,116,412,119,413,416,53,115,56',
57
+ '82,67,134,292,61,45,48,422,55,46,177,78,424,395,64,19,-232,429,47,118',
58
+ '431,17,18,438,439,346,347,442,445,82,395,395,158,455,456,54,459,460',
59
+ '463,44,78,467,80,81,469,480,482,62,50,68,69,57,65,77,60,59,63,71,70',
60
+ '72,190,484,346,488,114,490,346,493,494,346,497,501,469,503,505,506,21',
61
+ '20,116,507,119,346,509,53,115,56,354,67,12,514,61,45,48,515,55,46,10',
62
+ '11,516,517,64,19,518,527,47,118,528,17,18,529,530,532,533,534,,82,,',
63
+ ',,,54,,,,44,78,,80,81,,,,147,144,68,69,145,151,150,146,59,65,77,70,',
64
+ '63,71,114,72,,,,,,,,,,,,,116,,119,,21,20,115,,,,,53,,56,,67,12,,61,45',
65
+ '48,,55,46,10,11,,118,64,19,,,47,,,17,18,178,77,,,179,,82,,,,,,54,,,',
66
+ '44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72,,,,176,,,173',
67
+ ',,,,,,,,,21,20,,,,,,53,,56,82,67,134,,61,45,48,,55,46,177,78,,,64,19',
97
68
  ',,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77',
98
69
  '60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48',
99
- ',55,46,10,11,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,',
100
- ',,62,50,68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,',
101
- '53,,56,,67,12,,61,45,48,,55,46,10,11,,,64,19,,,47,,,17,18,,,,,,,82,',
102
- ',,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72,,,',
103
- ',,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48,,55,46,10,11,,,64,19',
104
- ',,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77',
105
- '60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48',
106
- ',55,46,10,11,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,',
107
- ',,62,50,68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,',
108
- '53,,56,,67,12,,61,45,48,,55,46,10,11,,,64,19,,,47,,,17,18,,,,,,,82,',
109
- ',,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72,,,',
110
- ',,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48,,55,46,10,11,,,64,19',
70
+ ',55,46,10,11,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,79',
71
+ ',,62,50,68,69,57,65,77,60,59,63,71,70,72,315,,,,,,,,,,,,,,,,21,20,,',
72
+ ',,,53,,56,,67,12,,61,45,48,,55,46,10,11,,,64,19,,,47,,,17,18,178,77',
73
+ ',,179,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71',
74
+ '70,72,,,,176,,,173,,,,,,,,,,21,20,,,,,,53,,56,82,67,134,,61,45,48,,55',
75
+ '46,177,78,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62',
76
+ '50,68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56',
77
+ ',67,12,,61,45,48,,55,46,10,11,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54',
78
+ ',,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,',
79
+ ',,,,,,21,20,,,,,,53,,56,,67,134,,61,45,48,,55,46,,,,,64,19,,,47,,,17',
80
+ '18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63',
81
+ '71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48,,55,46,10',
82
+ '11,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68',
83
+ '69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67',
84
+ '134,,61,45,48,,55,46,,,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78',
85
+ ',80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21',
86
+ '20,,,,,,53,,56,,67,134,,61,45,48,,55,46,,,,,64,19,,,47,,,17,18,,,,,',
87
+ ',82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72',
88
+ ',,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,134,,61,45,48,,55,46,,,,,64,19',
111
89
  ',,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77',
112
- '60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,219,234,225,235,67,227',
113
- '237,229,45,217,,221,215,,,,,64,19,238,233,216,,,17,214,,,,,,,82,,,,',
114
- '236,220,,,,44,78,,80,81,,,,230,218,231,232,226,240,239,228,59,65,77',
115
- '70,114,63,71,,72,,,,,,,,,,116,,119,,,,115,21,20,,,,,,53,,56,,67,134',
116
- ',61,45,48,,55,46,118,,,,64,19,,,47,,,17,18,,,96,97,,,82,,,95,,,54,,',
117
- ',44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,',
118
- ',,,,21,20,,,,,,53,,56,,67,134,,61,45,48,,55,46,,,,,64,19,,,47,,,17,18',
119
- ',,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71',
120
- '70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,134,,61,45,48,,55,46,,,',
121
- ',64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69',
122
- '57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,134',
123
- ',61,45,48,,55,46,,,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80',
124
- '81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,',
125
- ',,,,53,,56,,67,134,,61,45,48,,55,46,,,,,64,19,,,47,,,17,18,,,,,,,82',
126
- ',,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72,,',
127
- ',,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,134,,61,45,48,,55,46,,,,,64,19,',
128
- ',47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77',
129
90
  '60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,134,,61,45,48',
130
91
  ',55,46,,,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62',
131
92
  '50,68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56',
@@ -133,15 +94,27 @@ clist = [
133
94
  '44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,',
134
95
  ',,,21,20,,,,,,53,,56,,67,134,,61,45,48,,55,46,,,,,64,19,,,47,,,17,18',
135
96
  ',,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71',
136
- '70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,134,,61,45,48,,55,46,,,',
97
+ '70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48,,55,46,10,11',
98
+ ',,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,147,144,68',
99
+ '69,145,151,150,146,59,65,77,70,114,63,71,,72,,,,,,,,,,116,,119,,,,115',
100
+ '21,20,,,,,,53,,56,,67,134,,61,45,48,,55,46,118,,,,64,19,,,47,,,17,18',
101
+ ',,96,97,,,82,,,95,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59',
102
+ '63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,134,,61,45,48,,55',
103
+ '46,,,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50',
104
+ '68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,',
105
+ '67,134,,61,45,48,,55,46,,,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44',
106
+ '78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,',
107
+ '21,20,,,,,,53,,56,,67,134,,61,45,48,,55,46,,,,,64,19,,,47,,,17,18,,',
108
+ ',,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70',
109
+ '72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48,,55,46,10,11,',
137
110
  ',64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69',
138
111
  '57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,134',
139
112
  ',61,45,48,,55,46,,,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80',
140
113
  '81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,',
141
- ',,,,53,,56,,67,134,,61,45,48,,55,46,,,,,64,19,,,47,,,17,18,,,,,,,82',
142
- ',,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72,,',
143
- ',,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,134,,61,45,48,,55,46,,,,,64,19,',
144
- ',47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77',
114
+ ',,,,53,,56,,67,12,,61,45,48,,55,46,10,11,,,64,19,,,47,,,17,18,,,,,,',
115
+ '82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72',
116
+ ',,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,134,,61,45,48,,55,46,,,,,64,19',
117
+ ',,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77',
145
118
  '60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,134,,61,45,48',
146
119
  ',55,46,,,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62',
147
120
  '50,68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56',
@@ -149,68 +122,32 @@ clist = [
149
122
  '44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,',
150
123
  ',,,21,20,,,,,,53,,56,,67,134,,61,45,48,,55,46,,,,,64,19,,,47,,,17,18',
151
124
  ',,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71',
152
- '70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,134,,61,45,48,,55,46,,,',
153
- ',64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69',
154
- '57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,134',
155
- ',61,45,48,,55,46,,,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80',
156
- '81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,',
157
- ',,,,53,,56,,67,134,,61,45,48,,55,46,,,,,64,19,,,47,,,17,18,,,,,,,82',
158
- ',,,,,54,,,262,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72',
159
- ',,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48,,55,46,10,11,,,64',
160
- '19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,147,144,68,69,145',
161
- '151,150,146,59,65,77,70,114,63,71,,72,,,,,,,,,,116,,119,,,,115,21,20',
162
- ',,,,,53,,56,,67,134,,61,45,48,,55,46,118,,,,64,19,,,47,,,17,18,,,96',
163
- '97,,,82,,,95,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71',
164
- '70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,134,,61,45,48,,55,46,,,',
165
- ',64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69',
166
- '57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,134',
167
- ',61,45,48,,55,46,,,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80',
168
- '81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,306',
169
- ',,,,53,,56,,67,12,,61,45,48,,55,46,10,11,,,64,19,,,47,,,17,18,,,,,,',
170
- '82,,,,,,54,,,,44,78,,80,81,,,,147,144,68,69,145,151,150,146,59,65,77',
171
- '70,,63,71,,72,315,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48',
172
- ',55,46,10,11,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,',
173
- ',,62,50,68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,',
174
- '53,,56,,67,12,,61,45,48,,55,46,10,11,,,64,19,,,47,,,17,18,,,,,,,82,',
175
- ',,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72,190',
176
- ',,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48,,55,46,10,11,,,64',
177
- '19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,147,144,68,69,145',
178
- '151,150,146,59,65,77,70,,63,71,,72,,,347,,,,,,,,,,,,,,21,20,,,,,,53',
179
- ',56,,67,134,,61,45,48,,55,46,,,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54',
180
- ',,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,',
181
- ',,,,,,21,20,,,,,,53,,56,,67,134,,61,45,48,,55,46,,,,,64,19,,,47,,,17',
182
- '18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63',
183
- '71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,134,,61,45,48,,55,46',
184
- ',,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68',
125
+ '70,72,404,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48,,55,46,10',
126
+ '11,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68',
185
127
  '69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67',
186
128
  '134,,61,45,48,,55,46,,,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78',
187
129
  ',80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21',
188
130
  '20,,,,,,53,,56,,67,134,,61,45,48,,55,46,,,,,64,19,,,47,,,17,18,,,,,',
189
- ',82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72',
190
- ',,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48,,55,46,10,11,,,64',
191
- '19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,147,144,68,69,145',
192
- '151,150,146,59,65,77,70,,63,71,,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56',
193
- ',67,12,,61,45,48,,55,46,10,11,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54',
194
- ',,,44,78,,80,81,,,,147,144,68,69,145,151,150,146,59,65,77,70,,63,71',
195
- ',72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48,,55,46,10,11',
196
- ',,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,147,144,68',
197
- '69,145,151,150,146,59,65,77,70,,63,71,,72,,,,,,,,,,,,,,,,,21,20,,,,',
198
- ',53,,56,,67,12,,61,45,48,,55,46,10,11,,,64,19,,,47,,,17,18,,,,,,,82',
199
- ',,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72,402',
200
- ',,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48,,55,46,10,11,,,64',
201
- '19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65',
202
- '77,60,59,63,71,70,72,404,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61',
203
- '45,48,,55,46,10,11,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80',
204
- '81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,',
205
- ',,,,53,,56,,67,134,,61,45,48,,55,46,,,,,64,19,,,47,,,17,18,,,,,,,82',
206
- ',,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72,,',
207
- ',,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48,,55,46,10,11,,,64,19',
208
- ',,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,147,144,68,69,145,151',
209
- '150,146,59,65,77,70,,63,71,,72,425,,,,,,,,,,,,,,,,21,20,,,,,,53,,56',
210
- ',67,12,,61,45,48,,55,46,10,11,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54',
211
- ',,,44,78,,80,81,,,,147,144,68,69,145,151,150,146,59,65,77,70,,63,71',
212
- ',72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48,,55,46,10,11',
131
+ ',82,,,,,,54,,,262,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70',
132
+ '72,458,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48,,55,46,10,11',
213
133
  ',,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69',
134
+ '57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12',
135
+ ',61,45,48,,55,46,10,11,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78',
136
+ ',80,81,,,,147,144,68,69,145,151,150,146,59,65,77,70,,63,71,,72,402,',
137
+ ',,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48,,55,46,10,11,,,64,19',
138
+ ',,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77',
139
+ '60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48',
140
+ ',55,46,10,11,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,',
141
+ ',,62,50,68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,',
142
+ '53,,56,,67,134,,61,45,48,,55,46,,,,,64,19,,,47,,,17,18,,,,,,,82,,,,',
143
+ ',54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72,,,,,,',
144
+ ',,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48,,55,46,10,11,,,64,19,,',
145
+ '47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,147,144,68,69,145,151',
146
+ '150,146,59,65,77,70,114,63,71,,72,,,,,,,,,,116,,119,,,,115,21,20,,,',
147
+ ',,53,,56,,67,134,,61,45,48,,55,46,118,,,,64,19,,,47,,,17,18,,,96,97',
148
+ ',,82,,,95,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70',
149
+ '72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48,,55,46,10,11,',
150
+ ',64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69',
214
151
  '57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,134',
215
152
  ',61,45,48,,55,46,,,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80',
216
153
  '81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,',
@@ -218,97 +155,128 @@ clist = [
218
155
  ',,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72,,',
219
156
  ',,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,134,,61,45,48,,55,46,,,,,64,19,',
220
157
  ',47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77',
158
+ '60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48',
159
+ ',55,46,10,11,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,',
160
+ ',,62,50,68,69,57,65,77,60,59,63,71,70,72,472,,,,,,,,,,,,,,,,21,20,,',
161
+ ',,,53,,56,,67,134,,61,45,48,,55,46,,,,,64,19,,,47,,,17,18,,,,,,,82,',
162
+ ',,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72,,,',
163
+ ',,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48,,55,46,10,11,,,64,19',
164
+ ',,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77',
165
+ '60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48',
166
+ ',55,46,10,11,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,',
167
+ ',,62,50,68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,',
168
+ '53,,56,,67,12,,61,45,48,,55,46,10,11,,,64,19,,,47,,,17,18,,,,,,,82,',
169
+ ',,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72,,,',
170
+ ',,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48,,55,46,10,11,,,64,19',
171
+ ',,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77',
221
172
  '60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,134,,61,45,48',
222
173
  ',55,46,,,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62',
223
174
  '50,68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56',
224
- ',67,12,,61,45,48,,55,46,10,11,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54',
225
- ',,,44,78,,80,81,,,,147,144,68,69,145,151,150,146,59,65,77,70,,63,71',
226
- ',72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,134,,61,45,48,,55,46,,,,,64',
227
- '19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65',
228
- '77,60,59,63,71,70,72,458,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61',
229
- '45,48,,55,46,10,11,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80',
230
- '81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,',
231
- ',,,,53,,56,,67,134,,61,45,48,,55,46,,,,,64,19,,,47,,,17,18,,,,,,,82',
232
- ',,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72,,',
233
- ',,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48,,55,46,10,11,,,64,19',
234
- ',,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,147,144,68,69,145,151',
235
- '150,146,59,65,77,70,,63,71,,72,472,,,,,,,,,,,,,,,,21,20,,,,,,53,,56',
236
175
  ',67,134,,61,45,48,,55,46,,,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,',
237
176
  '44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,',
238
177
  ',,,21,20,,,,,,53,,56,,67,12,,61,45,48,,55,46,10,11,,,64,19,,,47,,,17',
239
178
  '18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63',
240
179
  '71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48,,55,46,10',
241
- '11,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68',
242
- '69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67',
243
- '12,,61,45,48,,55,46,10,11,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44',
244
- '78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,',
245
- '21,20,,,,,,53,,56,,67,12,,61,45,48,,55,46,10,11,,,64,19,,,47,,,17,18',
246
- ',,,,,,82,,,,,,54,,,,44,78,,80,81,,,,147,144,68,69,145,151,150,146,59',
247
- '65,77,70,,63,71,,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,134,,61,45',
180
+ '11,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,147,144',
181
+ '68,69,145,151,150,146,59,65,77,70,114,63,71,,72,,,,,,,,,,116,,119,,',
182
+ ',115,21,20,,,,,,53,,56,,67,134,,61,45,48,,55,46,118,,,,64,19,,,47,,',
183
+ '17,18,,,96,97,,,82,,,95,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77',
184
+ '60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48',
185
+ ',55,46,10,11,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,',
186
+ ',,62,50,68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,',
187
+ '53,,56,,67,12,,61,45,48,,55,46,10,11,,,64,19,,,47,,,17,18,,,,,,,82,',
188
+ ',,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72,,,',
189
+ ',,,,,,,,,,,,,21,20,,,,,,53,,56,,67,134,,61,45,48,,55,46,,,,,64,19,,',
190
+ '47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77',
191
+ '60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,219,234,225,235,67,227',
192
+ '237,229,45,217,,221,215,,,,,64,19,238,233,216,,,17,214,,,,,,,82,,,,',
193
+ '236,220,,,,44,78,,80,81,,,,230,218,231,232,226,240,239,228,59,65,77',
194
+ '70,,63,71,,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,134,,61,45,48,,55',
195
+ '46,,,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50',
196
+ '68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,',
197
+ '67,12,,61,45,48,,55,46,10,11,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,',
198
+ ',,44,78,,80,81,,,,147,144,68,69,145,151,150,146,59,65,77,70,,63,71,',
199
+ '72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48,,55,46,10,11,',
200
+ ',64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,147,144,68,69',
201
+ '145,151,150,146,59,65,77,70,,63,71,,72,,,,,,,,,,,,,,,,,21,20,,,,,,53',
202
+ ',56,,67,134,,61,45,48,,55,46,,,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54',
203
+ ',,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,',
204
+ ',,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48,,55,46,10,11,,,64,19,,,47,',
205
+ ',17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,147,144,68,69,145,151,150',
206
+ '146,59,65,77,70,,63,71,,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12',
207
+ ',61,45,48,,55,46,10,11,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78',
208
+ ',80,81,,,,147,144,68,69,145,151,150,146,59,65,77,70,,63,71,,72,,,,,',
209
+ ',,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48,,55,46,10,11,,,64,19,',
210
+ ',47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77',
211
+ '60,59,63,71,70,201,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,134,,61,45',
248
212
  '48,,55,46,,,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,',
249
213
  ',62,50,68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53',
250
214
  ',56,,67,12,,61,45,48,,55,46,10,11,,,64,19,,,47,,,17,18,,,,,,,82,,,,',
251
215
  ',54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72,,,,,,',
252
216
  ',,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48,,55,46,10,11,,,64,19,,',
253
- '47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,147,144,68,69,145,151',
254
- '150,146,59,65,77,70,,63,71,,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67',
217
+ '47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77',
218
+ '60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48',
219
+ ',55,46,10,11,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,',
220
+ ',,147,144,68,69,145,151,150,146,59,65,77,70,,63,71,,72,,,,,,,,,,,,,',
221
+ ',,,21,20,,,,,,53,,56,,67,12,,61,45,48,,55,46,10,11,,,64,19,,,47,,,17',
222
+ '18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63',
223
+ '71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48,,55,46,10',
224
+ '11,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68',
225
+ '69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67',
255
226
  '12,,61,45,48,,55,46,10,11,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44',
256
- '78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,',
257
- '21,20,,,,,,53,,56,,67,12,,61,45,48,,55,46,10,11,,,64,19,,,47,,,17,18',
258
- ',,,,,,82,,,,,,54,,,,44,78,,80,81,,,,147,144,68,69,145,151,150,146,59',
259
- '65,77,70,,63,71,,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,134,,61,45',
227
+ '78,,80,81,,,,147,144,68,69,145,151,150,146,59,65,77,70,,63,71,,72,,',
228
+ ',,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,134,,61,45,48,,55,46,,,,,64,19,',
229
+ ',47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77',
230
+ '60,59,63,71,70,72,190,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45',
231
+ '48,,55,46,10,11,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81',
232
+ ',,,147,144,68,69,145,151,150,146,59,65,77,70,,63,71,,72,,,,,,,,,,,,',
233
+ ',,,,21,20,,,,,,53,,56,,67,134,,61,45,48,,55,46,,,,,64,19,,,47,,,17,18',
234
+ ',,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71',
235
+ '70,72,,,,,,,,,,,,,,,,,21,20,143,,,,,53,,56,,67,12,,61,45,48,,55,46,10',
236
+ '11,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,147,144',
237
+ '68,69,145,151,150,146,59,65,77,70,,63,71,188,72,,,,,,,,,,,,,,,,,21,20',
238
+ ',,,,,53,,56,,67,12,,61,45,48,,55,46,10,11,,,64,19,,,47,,,17,18,,,,,',
239
+ ',82,,,,,,54,,,,44,78,,80,81,,,,147,144,68,69,145,151,150,146,59,65,77',
240
+ '70,,63,71,,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,134,,61,45,48,,55',
241
+ '46,,,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50',
242
+ '68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,',
243
+ '67,134,,61,45,48,,55,46,,,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44',
244
+ '78,,80,81,,,,62,50,68,69,57,,,60,59,65,77,70,,63,71,183,72,,,,,,,,,',
245
+ ',,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48,,55,46,10,11,,,64,19,,,47',
246
+ ',,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,147,144,68,69,145,151,150',
247
+ '146,59,65,77,70,,63,71,,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,134',
248
+ ',61,45,48,,55,46,,,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80',
249
+ '81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,',
250
+ ',,,,53,,56,,67,12,,61,45,48,84,55,46,10,11,,,64,19,,,47,,,17,18,,,,',
251
+ ',,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70',
252
+ '72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,134,,61,45,48,,55,46,,,,,64',
253
+ '19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65',
254
+ '77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,134,,61,45',
260
255
  '48,,55,46,,,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,',
261
- ',62,50,68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53',
262
- ',56,,67,134,,61,45,48,,55,46,,,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54',
263
- ',,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72,511,,,,,,',
264
- ',,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48,,55,46,10,11,,,64,19,,,47',
265
- ',,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77,60',
266
- '59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48,,55',
267
- '46,10,11,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62',
268
- '50,68,69,57,65,77,60,59,63,71,70,72,521,,,,,,,,,,,,,,,,21,20,,,,,,53',
269
- ',56,,67,12,,61,45,48,,55,46,10,11,,,64,19,,,47,,,17,18,,,,,,,82,,,,',
270
- ',54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72,523,,',
271
- ',,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48,,55,46,10,11,,,64,19',
256
+ ',62,50,68,69,57,65,77,60,59,63,71,70,72,511,,,,,,,,,,,,,,,,21,20,,,',
257
+ ',,53,,56,,67,12,,61,45,48,,55,46,10,11,,,64,19,,,47,,,17,18,,,,,,,82',
258
+ ',,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72,,',
259
+ ',,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48,,55,46,10,11,,,64,19',
272
260
  ',,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77',
273
- '60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48',
274
- ',55,46,10,11,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,',
275
- ',,62,50,68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,',
276
- '53,,56,,67,134,,61,45,48,,55,46,,,,,64,19,,,47,,,17,18,,,,,,,82,,,,',
277
- ',54,,,,44,78,,80,81,,,,62,50,68,69,57,114,,60,59,,,70,,,,,,110,105,116',
278
- ',119,,113,,115,,106,108,107,109,,,,,,,,,,,,,,,,118,,,,112,111,,,98,99',
279
- '101,100,103,104,,96,97,114,,307,,,95,,,,,,,110,105,116,,119,,113,,115',
280
- ',106,108,107,109,,,,,,102,,,,,,,,,,118,,,,112,111,,,98,99,101,100,103',
281
- '104,,96,97,114,,308,,,95,,,,,,,110,105,116,,119,,113,,115,,106,108,107',
282
- '109,,,,,,102,,,,,,,,,,118,,,,112,111,,,98,99,101,100,103,104,,96,97',
283
- '114,,309,,,95,,,,,,,110,105,116,,119,,113,,115,,106,108,107,109,,,,',
284
- ',102,,,,,,,,,,118,,,,112,111,,,98,99,101,100,103,104,114,96,97,,,,,',
285
- '95,,,,110,105,116,,119,,113,,115,,106,108,107,109,,,,,,,,,102,,,,,,',
286
- '118,,,114,112,111,,,98,99,101,100,103,104,,96,97,116,,119,,,95,115,',
287
- ',,114,,,,,,340,341,,,,,110,105,116,344,119,118,113,,115,102,106,108',
288
- '107,109,,101,100,,,,96,97,,,,,,95,,118,,,114,112,111,,,98,99,101,100',
289
- '103,104,,96,97,116,,119,114,,95,115,102,,,,,,,,,,116,,119,114,,,115',
290
- ',,,118,,,,102,,,116,,119,101,100,,115,,96,97,118,,,,114,95,,,98,99,101',
291
- '100,,,,96,97,118,116,,119,114,95,,115,98,99,101,100,,,102,96,97,,116',
292
- ',119,,95,,115,,,,118,,,102,,,,,98,99,101,100,103,104,,96,97,118,,,102',
293
- '114,95,,,98,99,101,100,103,104,,96,97,105,116,,119,114,95,,115,,106',
294
- ',,,,102,,,105,116,,119,,,,115,,106,,118,,,102,,,,,98,99,101,100,103',
295
- '104,,96,97,118,,,,114,95,,,98,99,101,100,103,104,,96,97,105,116,,119',
296
- '114,95,,115,,106,,,,,102,,,105,116,,119,,,,115,,106,,118,,,102,,,,,98',
297
- '99,101,100,103,104,,96,97,118,,,,,95,,,98,99,101,100,103,104,114,96',
298
- '97,,,,,,95,,,,110,105,116,,119,102,113,,115,,106,108,107,109,,,,,,,',
299
- ',102,,,,,,,118,,,,,114,,,98,99,101,100,103,104,,96,97,110,105,116,,119',
300
- '95,113,,115,,106,108,107,109,,,,,,,,,,,,,,,,118,,102,,,111,,,98,99,101',
301
- '100,103,104,114,96,97,,,350,,,95,,,,110,105,116,,119,,113,,115,,106',
302
- '108,107,109,,,,,,,,,102,,,,,,,118,,,,112,111,,,98,99,101,100,103,104',
303
- ',96,97,114,-66,,,,95,-66,,,,,,110,105,116,,119,,113,,115,,106,108,107',
304
- '109,,,,,,102,,,,,,,,,,118,,,,112,111,,,98,99,101,100,103,104,114,96',
305
- '97,,,,,,95,,,,110,105,116,,119,,113,,115,,106,108,107,109,,,,,,,,,102',
306
- ',,,,,,118,,,,112,111,,,98,99,101,100,103,104,114,96,97,,,,,,95,,,,110',
307
- '105,116,376,119,,113,,115,,106,108,107,109,,,,,,,,,102,,,,,,,118,,,',
308
- '112,111,,,98,99,101,100,103,104,114,96,97,,,,,,95,,,,110,105,116,,119',
309
- ',113,,115,,106,108,107,109,,,,,,,,,102,,,,,,,118,,,,112,111,,,98,99',
310
- '101,100,103,104,114,96,97,,,,,,95,,,,110,105,116,,119,,113,,115,,106',
311
- '108,107,109,,,,,,,,,102,,,,,,,118,,,,112,111,,,98,99,101,100,103,104',
261
+ '60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,134,,61,45,48',
262
+ ',55,46,,,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62',
263
+ '50,68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,,,,,,53,,56',
264
+ ',67,134,,61,45,48,,55,46,,,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,',
265
+ '44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,',
266
+ ',,,21,20,,,,,,53,,56,,67,134,,61,45,48,,55,46,,,,,64,19,,,47,,,17,18',
267
+ ',,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,65,77,60,59,63,71',
268
+ '70,72,,,347,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,134,,61,45,48,,55,46',
269
+ ',,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,62,50,68',
270
+ '69,57,65,77,60,59,63,71,70,72,,,,,,,,,,,,,,,,,21,20,306,,,,,53,,56,',
271
+ '67,12,,61,45,48,,55,46,10,11,,,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,',
272
+ ',,44,78,,80,81,,,,147,144,68,69,145,151,150,146,59,65,77,70,,63,71,',
273
+ '72,425,,,,,,,,,,,,,,,,21,20,,,,,,53,,56,,67,12,,61,45,48,,55,46,10,11',
274
+ ',,64,19,,,47,,,17,18,,,,,,,82,,,,,,54,,,,44,78,,80,81,,,,147,144,68',
275
+ '69,145,151,150,146,59,65,77,70,,63,71,,72,521,,,,,,,,,,,,,,,,21,20,',
276
+ ',,,,53,,56,,67,12,,61,45,48,,55,46,10,11,114,,64,19,,,47,,,17,18,,,',
277
+ '116,,119,82,,,115,,,54,,,,44,78,,80,81,,,,62,50,68,69,57,,118,60,59',
278
+ ',,70,,,,,101,100,114,,,96,97,,,,,,95,,110,105,116,,119,,113,,115,,106',
279
+ '108,107,109,,,,,,,,,,,102,,,,,118,,,,112,111,,,98,99,101,100,103,104',
312
280
  '114,96,97,,,,,,95,,,,110,105,116,,119,,113,,115,,106,108,107,109,,,',
313
281
  ',,,,,102,,,,,,,118,,,,112,111,,,98,99,101,100,103,104,114,96,97,,,,',
314
282
  ',95,,,,110,105,116,,119,,113,,115,,106,108,107,109,,,,,,,,,102,,,,,',
@@ -318,19 +286,51 @@ clist = [
318
286
  '115,,106,108,107,109,,,,,,,,,102,,,,,,,118,,,,112,111,,,98,99,101,100',
319
287
  '103,104,114,96,97,,,,,,95,,,,110,105,116,,119,,113,,115,,106,108,107',
320
288
  '109,,,,,,,,,102,,,,,,,118,,,,112,111,,,98,99,101,100,103,104,,96,97',
321
- ',362,234,361,235,95,359,237,363,,356,,358,360,,,,,,,238,233,364,,,,357',
322
- ',,,,102,,,,,,,236,365,,,,,,,,,,,,368,366,369,367,370,240,239,371,362',
289
+ '114,,307,,,95,,,,,,,110,105,116,,119,,113,,115,,106,108,107,109,,,,',
290
+ ',102,,,,,,,,,,118,,,,112,111,,,98,99,101,100,103,104,114,96,97,,,,,',
291
+ '95,,,,110,105,116,,119,,113,,115,,106,108,107,109,,,,,,,,,102,,,,,,',
292
+ '118,,,,112,111,,,98,99,101,100,103,104,,96,97,114,,308,,,95,,,,,,,110',
293
+ '105,116,,119,,113,,115,,106,108,107,109,,,,,,102,,,,,,,,,,118,,,,112',
294
+ '111,,,98,99,101,100,103,104,,96,97,114,,309,,,95,,,,,,,110,105,116,',
295
+ '119,,113,,115,,106,108,107,109,,,,,,102,,,,,,,,,,118,,,,112,111,,,98',
296
+ '99,101,100,103,104,114,96,97,,,,,,95,,,,110,105,116,,119,,113,,115,',
297
+ '106,108,107,109,,,,,,,,,102,,,,,,,118,,,,112,111,,,98,99,101,100,103',
298
+ '104,114,96,97,,,,,,95,,,,110,105,116,,119,,113,,115,,106,108,107,109',
299
+ ',,,,,,,,102,,,,,,,118,,,114,112,111,,,98,99,101,100,103,104,,96,97,116',
300
+ ',119,,,95,115,,,,114,,,,,,340,341,,,,,110,105,116,344,119,118,113,,115',
301
+ '102,106,108,107,109,,101,100,,,,96,97,,,,,,95,,118,,,114,112,111,,,98',
302
+ '99,101,100,103,104,,96,97,116,,119,114,,95,115,102,,,,,,,,,,116,,119',
303
+ ',,,115,,,,118,,,,102,,,,98,99,101,100,,,,96,97,118,,,114,,95,,,98,99',
304
+ '101,100,,,,96,97,116,,119,114,,95,115,,,,,,,,102,,,116,,119,,,,115,',
305
+ ',,118,,,,102,,,,98,99,101,100,103,104,,96,97,118,,,,114,95,,,98,99,101',
306
+ '100,103,104,,96,97,105,116,,119,114,95,,115,,106,,,,,102,,,105,116,',
307
+ '119,,,,115,,106,,118,,,102,,,,,98,99,101,100,103,104,,96,97,118,,,,114',
308
+ '95,,,98,99,101,100,103,104,,96,97,105,116,,119,114,95,,115,,106,,,,',
309
+ '102,,,105,116,,119,,,,115,,106,,118,,,102,,,,,98,99,101,100,103,104',
310
+ ',96,97,118,,,,,95,,,98,99,101,100,103,104,114,96,97,,,,,,95,,,,110,105',
311
+ '116,,119,102,113,,115,,106,108,107,109,,,,,,,,,102,,,,,,,118,,,,,114',
312
+ ',,98,99,101,100,103,104,,96,97,110,105,116,,119,95,113,,115,,106,108',
313
+ '107,109,,,,,,,,,,,,,,,,118,,102,,,111,,,98,99,101,100,103,104,114,96',
314
+ '97,,,350,,,95,,,,110,105,116,,119,,113,,115,,106,108,107,109,,,,,,,',
315
+ ',102,,,,,,,118,,,,112,111,,,98,99,101,100,103,104,,96,97,114,-66,,,',
316
+ '95,-66,,,,,,110,105,116,,119,,113,,115,,106,108,107,109,,,,,,102,,,',
317
+ ',,,,,,118,,,,112,111,,,98,99,101,100,103,104,114,96,97,,,,,,95,,,,110',
318
+ '105,116,,119,,113,,115,,106,108,107,109,,,,,,,,,102,,,,,,,118,,,,112',
319
+ '111,,,98,99,101,100,103,104,114,96,97,,,,,,95,,,,110,105,116,376,119',
320
+ ',113,,115,,106,108,107,109,,,,,,,,,102,,,,,,,118,,,,112,111,,,98,99',
321
+ '101,100,103,104,,96,97,,362,234,361,235,95,359,237,363,,356,,358,360',
322
+ ',,,,,,238,233,364,,,,357,,,,,102,,,,,,,236,365,,,,,,,,,,,,368,366,369',
323
+ '367,370,240,239,371,362,234,361,235,,359,237,363,,356,,358,360,,,,,',
324
+ ',238,233,364,,,,357,,,,,,,,,,,,236,365,,,,,,,,,,,,368,366,369,367,370',
325
+ '240,239,371,362,234,361,235,,359,237,363,,356,,358,360,,,,,,,238,233',
326
+ '364,,,,357,,,,,,,,,,,,236,365,,,,,,,,,,,,368,366,369,367,370,240,239',
327
+ '371,362,234,361,235,,359,237,363,,356,,358,360,,,,,,,238,233,364,,,',
328
+ '357,,,,,,,,,,,,236,365,,,,,,,,,,,,368,366,369,367,370,240,239,371,362',
323
329
  '234,361,235,,359,237,363,,356,,358,360,,,,,,,238,233,364,,,,357,,,,',
324
330
  ',,,,,,,236,365,,,,,,,,,,,,368,366,369,367,370,240,239,371,362,234,361',
325
331
  '235,,359,237,363,,356,,358,360,,,,,,,238,233,364,,,,357,,,,,,,,,,,,236',
326
- '365,,,,,,,,,,,,368,366,369,367,370,240,239,371,362,234,361,235,,359',
327
- '237,363,,356,,358,360,,,,,,,238,233,364,,,,357,,,,,,,,,,,,236,365,,',
328
- ',,,,,,,,,368,366,369,367,370,240,239,371,362,234,361,235,,359,237,363',
329
- ',356,,358,360,,,,,,,238,233,364,,,,357,,,,,,,,,,,,236,365,,,,,,,,,,',
330
- ',368,366,369,367,370,240,239,371,362,234,361,235,,359,237,363,,356,',
331
- '358,360,,,,,,,238,233,364,,,,357,,,,,,,,,,,,236,365,,,,,,,,,,,,368,366',
332
- '369,367,370,240,239,371' ]
333
- racc_action_table = arr = ::Array.new(10078, nil)
332
+ '365,,,,,,,,,,,,368,366,369,367,370,240,239,371' ]
333
+ racc_action_table = arr = ::Array.new(10090, nil)
334
334
  idx = 0
335
335
  clist.each do |str|
336
336
  str.split(',', -1).each do |i|
@@ -340,336 +340,337 @@ clist = [
340
340
  end
341
341
 
342
342
  clist = [
343
- '0,0,303,217,0,0,305,0,181,395,181,215,242,1,7,7,7,216,224,231,155,305',
344
- '395,303,0,0,242,232,242,116,395,0,242,0,50,0,0,5,0,0,0,8,0,0,0,0,217',
345
- '51,0,0,155,181,0,242,215,0,0,50,16,16,216,224,231,0,7,7,7,7,56,0,232',
346
- '116,56,0,0,242,0,0,0,217,217,0,0,0,0,0,4,4,0,0,4,4,0,4,388,181,12,227',
347
- '243,388,12,227,189,12,56,189,406,227,56,52,4,4,243,318,243,406,56,4',
348
- '243,4,144,4,4,60,4,4,4,4,4,4,4,4,12,227,4,4,12,227,4,243,66,4,4,144',
349
- '12,227,318,57,78,4,227,57,59,62,130,4,59,62,130,4,4,243,4,4,320,79,320',
350
- '4,4,4,4,4,10,10,4,4,10,10,4,10,498,83,134,57,85,498,134,57,59,62,130',
351
- '117,59,62,130,57,10,10,48,48,59,62,130,10,279,10,120,10,10,133,10,10',
352
- '10,279,10,10,10,10,134,121,10,10,134,133,10,133,279,10,10,133,134,158',
353
- '145,147,279,10,145,147,166,225,137,10,166,225,158,10,10,218,10,10,133',
354
- '138,158,10,10,10,10,10,11,11,10,10,11,11,10,11,158,139,145,147,218,142',
355
- '145,147,166,225,58,58,166,225,145,147,11,11,63,63,166,225,226,11,280',
356
- '11,226,11,11,143,11,11,11,280,11,11,11,11,197,197,11,11,197,402,11,402',
357
- '280,11,11,61,61,199,146,61,280,11,64,64,226,230,148,11,226,230,199,11',
358
- '11,153,11,11,226,157,199,11,11,11,11,11,17,17,11,11,17,17,11,17,199',
359
- '65,65,61,135,463,61,463,169,230,123,123,171,230,164,164,17,17,135,182',
360
- '135,230,185,17,135,17,61,17,17,187,17,17,17,203,17,17,61,61,165,165',
361
- '17,17,167,167,17,135,208,17,17,229,229,180,180,229,209,17,194,194,379',
362
- '429,429,17,379,210,211,17,17,213,17,17,228,264,271,17,17,17,17,17,18',
363
- '18,17,17,18,18,17,18,273,274,277,229,281,285,229,290,379,291,292,295',
364
- '379,301,302,379,18,18,310,311,379,312,313,18,314,18,229,18,18,316,18',
365
- '18,18,319,18,18,229,229,323,325,18,18,337,342,18,343,345,18,18,317,317',
366
- '351,353,317,355,18,357,374,377,381,383,18,386,389,390,18,18,393,18,18',
367
- '394,401,403,18,18,18,18,18,19,19,18,18,19,19,18,19,404,414,419,317,136',
368
- '428,317,430,437,441,444,449,450,451,457,466,19,19,136,467,136,469,471',
369
- '19,136,19,317,19,19,474,19,19,19,477,19,19,317,317,478,479,19,19,483',
370
- '486,19,136,487,19,19,492,495,496,508,510,512,19,513,520,522,524,531',
371
- '19,,,,19,19,,19,19,,,,19,19,19,19,19,20,20,19,19,20,20,19,20,,,,,241',
372
- ',,,,,,,,,,,20,20,241,,241,,,20,241,20,,20,20,,20,20,20,,20,20,20,20',
373
- ',,20,20,,,20,241,,20,20,,,,,,,20,,,,,,20,,,,20,20,,20,20,,,,20,20,20',
374
- '20,20,21,21,20,20,21,21,20,21,,,,,,,,,,,,,,,,,21,21,,,,,,21,,21,,21',
375
- '21,,21,21,21,,21,21,21,21,,,21,21,,,21,,,21,21,,,,,,,21,,,,,,21,,,,21',
376
- '21,,21,21,,,,21,21,21,21,21,49,49,21,21,49,49,21,49,,,,,,,,,,,,,,,,',
377
- '49,49,49,,,,,49,,49,,49,49,,49,49,49,,49,49,49,49,,,49,49,,,49,,,49',
378
- '49,,,,,416,416,49,,416,,,,49,,,,49,49,,49,49,,,,49,49,49,49,49,49,49',
379
- '49,49,53,53,49,,53,53,,53,,,,416,,,416,,,,,,,,,,53,53,,,,,,53,,53,416',
380
- '53,53,,53,53,53,,53,53,416,416,,,53,53,,,53,,,53,53,,,,,,,53,,,,,,53',
381
- ',,,53,53,,53,53,,,,53,53,53,53,53,54,54,53,53,54,54,53,54,,,,,,,,,,',
382
- ',,,,,,54,54,,,,,,54,,54,,54,54,,54,54,54,,54,54,,,,,54,54,,,54,,,54',
383
- '54,,,,,,,54,,,,,,54,,,,54,54,,54,54,,,,54,54,54,54,54,55,55,54,54,55',
384
- '55,54,55,,,,,,,,,,,,,,,,,55,55,,,,,246,55,,55,,55,55,,55,55,55,,55,55',
385
- '246,,246,,55,55,246,,55,,,55,55,,,,,,,55,,,,,,55,,246,,55,55,,55,55',
386
- ',,,55,55,55,55,55,246,246,55,55,70,70,55,246,70,70,70,70,,,,,,,,,,,',
387
- ',,,,,70,70,,,,,,70,,70,,70,70,,70,70,70,,70,70,70,70,,,70,70,,,70,,',
388
- '70,70,,,,,,,70,,,,,,70,,,,70,70,,70,70,,,,70,70,70,70,70,70,70,70,70',
389
- '71,71,70,,71,71,71,71,,,,,,,,,,,,,,,,,71,71,,,,,,71,,71,,71,71,,71,71',
390
- '71,,71,71,71,71,,,71,71,,,71,,,71,71,,,,,,,71,,,,,,71,,,,71,71,,71,71',
391
- ',,,71,71,71,71,71,71,71,71,71,72,72,71,,72,72,,72,72,,,,,,,,,,,,,,,',
392
- '72,72,,,,,,72,,72,,72,72,,72,72,72,,72,72,72,72,,,72,72,,,72,,,72,72',
393
- ',,,,,,72,,,,,,72,,,,72,72,,72,72,,,,72,72,72,72,72,72,72,72,72,76,76',
394
- '72,,76,76,,76,,,,,,,,,,,,,,,,,76,76,,,,,,76,,76,,76,76,,76,76,76,,76',
395
- '76,76,76,,,76,76,,,76,,,76,76,,,,,,,76,,,,,,76,,,,76,76,,76,76,,,,76',
396
- '76,76,76,76,81,81,76,76,81,81,76,81,,,,,,,,,,,,,,,,,81,81,,,,,,81,,81',
397
- ',81,81,,81,81,81,,81,81,,,,,81,81,,,81,,,81,81,,,,,,,81,,,,,,81,,,,81',
398
- '81,,81,81,,,,81,81,81,81,81,84,84,81,81,84,84,81,84,,,,,,,,,,,,,,,,',
399
- '84,84,,,,,,84,,84,,84,84,,84,84,84,,84,84,84,84,,,84,84,,,84,,,84,84',
400
- ',,,,,,84,,,,,,84,,,,84,84,,84,84,,,,84,84,84,84,84,86,86,84,84,86,86',
401
- '84,86,,,,,,,,,,,,,,,,,86,86,,,,,,86,,86,,86,86,,86,86,86,,86,86,86,86',
402
- ',,86,86,,,86,,,86,86,,,,,,,86,,,,,,86,,,,86,86,,86,86,,,,86,86,86,86',
403
- '86,87,87,86,86,87,87,86,87,,,,,,,,,,,,,,,,,87,87,,,,,,87,,87,,87,87',
404
- ',87,87,87,,87,87,87,87,,,87,87,,,87,,,87,87,,,,,,,87,,,,,,87,,,,87,87',
405
- ',87,87,,,,87,87,87,87,87,88,88,87,87,88,88,87,88,,,,,,,,,,,,,,,,,88',
406
- '88,,,,,,88,,88,,88,88,,88,88,88,,88,88,88,88,,,88,88,,,88,,,88,88,,',
407
- ',,,,88,,,,,,88,,,,88,88,,88,88,,,,88,88,88,88,88,89,89,88,88,89,89,88',
408
- '89,,,,,,,,,,,,,,,,,89,89,,,,,,89,,89,,89,89,,89,89,89,,89,89,89,89,',
409
- ',89,89,,,89,,,89,89,,,,,,,89,,,,,,89,,,,89,89,,89,89,,,,89,89,89,89',
410
- '89,90,90,89,89,90,90,89,90,,,,,,,,,,,,,,,,,90,90,,,,,,90,,90,,90,90',
411
- ',90,90,90,,90,90,90,90,,,90,90,,,90,,,90,90,,,,,,,90,,,,,,90,,,,90,90',
412
- ',90,90,,,,90,90,90,90,90,91,91,90,90,91,91,90,91,,,,,,,,,,,,,,,,,91',
413
- '91,,,,,,91,,91,,91,91,,91,91,91,,91,91,91,91,,,91,91,,,91,,,91,91,,',
414
- ',,,,91,,,,,,91,,,,91,91,,91,91,,,,91,91,91,91,91,92,92,91,91,92,92,91',
415
- '92,,,,,,,,,,,,,,,,,92,92,,,,,,92,,92,,92,92,,92,92,92,,92,92,92,92,',
416
- ',92,92,,,92,,,92,92,,,,,,,92,,,,,,92,,,,92,92,,92,92,,,,92,92,92,92',
417
- '92,93,93,92,92,93,93,92,93,,,,,,,,,,,,,,,,,93,93,,,,,,93,,93,,93,93',
418
- ',93,93,93,,93,93,93,93,,,93,93,,,93,,,93,93,,,,,,,93,,,,,,93,,,,93,93',
419
- ',93,93,,,,93,93,93,93,93,94,94,93,93,94,94,93,94,,,,,,,,,,,,,,,,,94',
420
- '94,,,,,,94,94,94,94,94,94,94,94,94,94,,94,94,,,,,94,94,94,94,94,,,94',
421
- '94,,,,,,,94,,,,,94,94,,,,94,94,,94,94,,,,94,94,94,94,94,94,94,94,94',
422
- '95,95,94,247,95,95,,95,,,,,,,,,,247,,247,,,,247,95,95,,,,,,95,,95,,95',
423
- '95,,95,95,95,,95,95,247,,,,95,95,,,95,,,95,95,,,247,247,,,95,,,247,',
424
- ',95,,,,95,95,,95,95,,,,95,95,95,95,95,96,96,95,95,96,96,95,96,,,,,,',
425
- ',,,,,,,,,,96,96,,,,,,96,,96,,96,96,,96,96,96,,96,96,,,,,96,96,,,96,',
426
- ',96,96,,,,,,,96,,,,,,96,,,,96,96,,96,96,,,,96,96,96,96,96,97,97,96,96',
427
- '97,97,96,97,,,,,,,,,,,,,,,,,97,97,,,,,,97,,97,,97,97,,97,97,97,,97,97',
428
- ',,,,97,97,,,97,,,97,97,,,,,,,97,,,,,,97,,,,97,97,,97,97,,,,97,97,97',
429
- '97,97,98,98,97,97,98,98,97,98,,,,,,,,,,,,,,,,,98,98,,,,,,98,,98,,98',
430
- '98,,98,98,98,,98,98,,,,,98,98,,,98,,,98,98,,,,,,,98,,,,,,98,,,,98,98',
431
- ',98,98,,,,98,98,98,98,98,99,99,98,98,99,99,98,99,,,,,,,,,,,,,,,,,99',
432
- '99,,,,,,99,,99,,99,99,,99,99,99,,99,99,,,,,99,99,,,99,,,99,99,,,,,,',
433
- '99,,,,,,99,,,,99,99,,99,99,,,,99,99,99,99,99,100,100,99,99,100,100,99',
434
- '100,,,,,,,,,,,,,,,,,100,100,,,,,,100,,100,,100,100,,100,100,100,,100',
435
- '100,,,,,100,100,,,100,,,100,100,,,,,,,100,,,,,,100,,,,100,100,,100,100',
436
- ',,,100,100,100,100,100,101,101,100,100,101,101,100,101,,,,,,,,,,,,,',
437
- ',,,101,101,,,,,,101,,101,,101,101,,101,101,101,,101,101,,,,,101,101',
438
- ',,101,,,101,101,,,,,,,101,,,,,,101,,,,101,101,,101,101,,,,101,101,101',
439
- '101,101,102,102,101,101,102,102,101,102,,,,,,,,,,,,,,,,,102,102,,,,',
440
- ',102,,102,,102,102,,102,102,102,,102,102,,,,,102,102,,,102,,,102,102',
441
- ',,,,,,102,,,,,,102,,,,102,102,,102,102,,,,102,102,102,102,102,103,103',
442
- '102,102,103,103,102,103,,,,,,,,,,,,,,,,,103,103,,,,,,103,,103,,103,103',
443
- ',103,103,103,,103,103,,,,,103,103,,,103,,,103,103,,,,,,,103,,,,,,103',
444
- ',,,103,103,,103,103,,,,103,103,103,103,103,104,104,103,103,104,104,103',
445
- '104,,,,,,,,,,,,,,,,,104,104,,,,,,104,,104,,104,104,,104,104,104,,104',
446
- '104,,,,,104,104,,,104,,,104,104,,,,,,,104,,,,,,104,,,,104,104,,104,104',
447
- ',,,104,104,104,104,104,105,105,104,104,105,105,104,105,,,,,,,,,,,,,',
448
- ',,,105,105,,,,,,105,,105,,105,105,,105,105,105,,105,105,,,,,105,105',
449
- ',,105,,,105,105,,,,,,,105,,,,,,105,,,,105,105,,105,105,,,,105,105,105',
450
- '105,105,106,106,105,105,106,106,105,106,,,,,,,,,,,,,,,,,106,106,,,,',
451
- ',106,,106,,106,106,,106,106,106,,106,106,,,,,106,106,,,106,,,106,106',
452
- ',,,,,,106,,,,,,106,,,,106,106,,106,106,,,,106,106,106,106,106,107,107',
453
- '106,106,107,107,106,107,,,,,,,,,,,,,,,,,107,107,,,,,,107,,107,,107,107',
454
- ',107,107,107,,107,107,,,,,107,107,,,107,,,107,107,,,,,,,107,,,,,,107',
455
- ',,,107,107,,107,107,,,,107,107,107,107,107,108,108,107,107,108,108,107',
456
- '108,,,,,,,,,,,,,,,,,108,108,,,,,,108,,108,,108,108,,108,108,108,,108',
457
- '108,,,,,108,108,,,108,,,108,108,,,,,,,108,,,,,,108,,,,108,108,,108,108',
458
- ',,,108,108,108,108,108,109,109,108,108,109,109,108,109,,,,,,,,,,,,,',
459
- ',,,109,109,,,,,,109,,109,,109,109,,109,109,109,,109,109,,,,,109,109',
460
- ',,109,,,109,109,,,,,,,109,,,,,,109,,,,109,109,,109,109,,,,109,109,109',
461
- '109,109,110,110,109,109,110,110,109,110,,,,,,,,,,,,,,,,,110,110,,,,',
462
- ',110,,110,,110,110,,110,110,110,,110,110,,,,,110,110,,,110,,,110,110',
463
- ',,,,,,110,,,,,,110,,,,110,110,,110,110,,,,110,110,110,110,110,111,111',
464
- '110,110,111,111,110,111,,,,,,,,,,,,,,,,,111,111,,,,,,111,,111,,111,111',
465
- ',111,111,111,,111,111,,,,,111,111,,,111,,,111,111,,,,,,,111,,,,,,111',
466
- ',,,111,111,,111,111,,,,111,111,111,111,111,112,112,111,111,112,112,111',
467
- '112,,,,,,,,,,,,,,,,,112,112,,,,,,112,,112,,112,112,,112,112,112,,112',
468
- '112,,,,,112,112,,,112,,,112,112,,,,,,,112,,,,,,112,,,,112,112,,112,112',
469
- ',,,112,112,112,112,112,113,113,112,112,113,113,112,113,,,,,,,,,,,,,',
470
- ',,,113,113,,,,,,113,,113,,113,113,,113,113,113,,113,113,,,,,113,113',
471
- ',,113,,,113,113,,,,,,,113,,,,,,113,,,113,113,113,,113,113,,,,113,113',
472
- '113,113,113,114,114,113,113,114,114,113,114,,,,,,,,,,,,,,,,,114,114',
473
- ',,,,,114,,114,,114,114,,114,114,114,,114,114,114,114,,,114,114,,,114',
474
- ',,114,114,,,,,,,114,,,,,,114,,,,114,114,,114,114,,,,114,114,114,114',
475
- '114,114,114,114,114,118,118,114,248,118,118,,118,,,,,,,,,,248,,248,',
476
- ',,248,118,118,,,,,,118,,118,,118,118,,118,118,118,,118,118,248,,,,118',
477
- '118,,,118,,,118,118,,,248,248,,,118,,,248,,,118,,,,118,118,,118,118',
478
- ',,,118,118,118,118,118,119,119,118,118,119,119,118,119,,,,,,,,,,,,,',
479
- ',,,119,119,,,,,,119,,119,,119,119,,119,119,119,,119,119,,,,,119,119',
480
- ',,119,,,119,119,,,,,,,119,,,,,,119,,,,119,119,,119,119,,,,119,119,119',
481
- '119,119,122,122,119,119,122,122,119,122,,,,,,,,,,,,,,,,,122,122,,,,',
482
- ',122,,122,,122,122,,122,122,122,,122,122,,,,,122,122,,,122,,,122,122',
483
- ',,,,,,122,,,,,,122,,,,122,122,,122,122,,,,122,122,122,122,122,159,159',
484
- '122,122,159,159,122,159,,,,,,,,,,,,,,,,,159,159,159,,,,,159,,159,,159',
485
- '159,,159,159,159,,159,159,159,159,,,159,159,,,159,,,159,159,,,,,,,159',
486
- ',,,,,159,,,,159,159,,159,159,,,,159,159,159,159,159,159,159,159,159',
487
- '168,168,159,,168,168,,168,168,,,,,,,,,,,,,,,,168,168,,,,,,168,,168,',
488
- '168,168,,168,168,168,,168,168,168,168,,,168,168,,,168,,,168,168,,,,',
489
- ',,168,,,,,,168,,,,168,168,,168,168,,,,168,168,168,168,168,198,198,168',
490
- '168,198,198,168,198,,,,,,,,,,,,,,,,,198,198,,,,,,198,,198,,198,198,',
491
- '198,198,198,,198,198,198,198,,,198,198,,,198,,,198,198,,,,,,,198,,,',
492
- ',,198,,,,198,198,,198,198,,,,198,198,198,198,198,201,201,198,198,201',
493
- '201,198,201,201,,,,,,,,,,,,,,,,201,201,,,,,,201,,201,,201,201,,201,201',
494
- '201,,201,201,201,201,,,201,201,,,201,,,201,201,,,,,,,201,,,,,,201,,',
495
- ',201,201,,201,201,,,,201,201,201,201,201,201,201,201,201,214,214,201',
496
- ',214,214,,214,,,214,,,,,,,,,,,,,,214,214,,,,,,214,,214,,214,214,,214',
497
- '214,214,,214,214,,,,,214,214,,,214,,,214,214,,,,,,,214,,,,,,214,,,,214',
498
- '214,,214,214,,,,214,214,214,214,214,219,219,214,214,219,219,214,219',
499
- ',,,,,,,,,,,,,,,,219,219,,,,,,219,,219,,219,219,,219,219,219,,219,219',
500
- ',,,,219,219,,,219,,,219,219,,,,,,,219,,,,,,219,,,,219,219,,219,219,',
501
- ',,219,219,219,219,219,220,220,219,219,220,220,219,220,,,,,,,,,,,,,,',
502
- ',,220,220,,,,,,220,,220,,220,220,,220,220,220,,220,220,,,,,220,220,',
503
- ',220,,,220,220,,,,,,,220,,,,,,220,,,,220,220,,220,220,,,,220,220,220',
504
- '220,220,221,221,220,220,221,221,220,221,,,,,,,,,,,,,,,,,221,221,,,,',
505
- ',221,,221,,221,221,,221,221,221,,221,221,,,,,221,221,,,221,,,221,221',
506
- ',,,,,,221,,,,,,221,,,,221,221,,221,221,,,,221,221,221,221,221,262,262',
507
- '221,221,262,262,221,262,,,,,,,,,,,,,,,,,262,262,,,,,,262,,262,,262,262',
508
- ',262,262,262,,262,262,,,,,262,262,,,262,,,262,262,,,,,,,262,,,,,,262',
509
- ',,,262,262,,262,262,,,,262,262,262,262,262,284,284,262,262,284,284,262',
510
- '284,,,,,,,,,,,,,,,,,284,284,,,,,,284,,284,,284,284,,284,284,284,,284',
511
- '284,284,284,,,284,284,,,284,,,284,284,,,,,,,284,,,,,,284,,,,284,284',
512
- ',284,284,,,,284,284,284,284,284,284,284,284,284,287,287,284,,287,287',
513
- ',287,,,,,,,,,,,,,,,,,287,287,,,,,,287,,287,,287,287,,287,287,287,,287',
514
- '287,287,287,,,287,287,,,287,,,287,287,,,,,,,287,,,,,,287,,,,287,287',
515
- ',287,287,,,,287,287,287,287,287,287,287,287,287,288,288,287,,288,288',
516
- ',288,,,,,,,,,,,,,,,,,288,288,,,,,,288,,288,,288,288,,288,288,288,,288',
517
- '288,288,288,,,288,288,,,288,,,288,288,,,,,,,288,,,,,,288,,,,288,288',
518
- ',288,288,,,,288,288,288,288,288,288,288,288,288,289,289,288,,289,289',
519
- ',289,,,,,,,,,,,,,,,,,289,289,,,,,,289,,289,,289,289,,289,289,289,,289',
520
- '289,289,289,,,289,289,,,289,,,289,289,,,,,,,289,,,,,,289,,,,289,289',
521
- ',289,289,,,,289,289,289,289,289,307,307,289,289,307,307,289,307,307',
522
- ',,,,,,,,,,,,,,,307,307,,,,,,307,,307,,307,307,,307,307,307,,307,307',
523
- '307,307,,,307,307,,,307,,,307,307,,,,,,,307,,,,,,307,,,,307,307,,307',
524
- '307,,,,307,307,307,307,307,308,308,307,307,308,308,307,308,308,,,,,',
525
- ',,,,,,,,,,308,308,,,,,,308,,308,,308,308,,308,308,308,,308,308,308,308',
526
- ',,308,308,,,308,,,308,308,,,,,,,308,,,,,,308,,,,308,308,,308,308,,,',
527
- '308,308,308,308,308,309,309,308,308,309,309,308,309,,,,,,,,,,,,,,,,',
528
- '309,309,,,,,,309,,309,,309,309,,309,309,309,,309,309,,,,,309,309,,,309',
529
- ',,309,309,,,,,,,309,,,,,,309,,,,309,309,,309,309,,,,309,309,309,309',
530
- '309,324,324,309,309,324,324,309,324,,,,,,,,,,,,,,,,,324,324,,,,,,324',
531
- ',324,,324,324,,324,324,324,,324,324,324,324,,,324,324,,,324,,,324,324',
532
- ',,,,,,324,,,,,,324,,,,324,324,,324,324,,,,324,324,324,324,324,324,324',
533
- '324,324,327,327,324,,327,327,,327,327,,,,,,,,,,,,,,,,327,327,,,,,,327',
534
- ',327,,327,327,,327,327,327,,327,327,327,327,,,327,327,,,327,,,327,327',
535
- ',,,,,,327,,,,,,327,,,,327,327,,327,327,,,,327,327,327,327,327,327,327',
536
- '327,327,332,332,327,,332,332,,332,,,,,,,,,,,,,,,,,332,332,,,,,,332,',
537
- '332,,332,332,,332,332,332,,332,332,332,332,,,332,332,,,332,,,332,332',
538
- ',,,,,,332,,,,,,332,,,,332,332,,332,332,,,,332,332,332,332,332,347,347',
539
- '332,332,347,347,332,347,,,,,,,,,,,,,,,,,347,347,,,,,,347,,347,,347,347',
540
- ',347,347,347,,347,347,,,,,347,347,,,347,,,347,347,,,,,,,347,,,,,,347',
541
- ',,,347,347,,347,347,,,,347,347,347,347,347,348,348,347,347,348,348,347',
542
- '348,,,,,,,,,,,,,,,,,348,348,,,,,,348,,348,,348,348,,348,348,348,,348',
543
- '348,,,,,348,348,,,348,,,348,348,,,,,,,348,,,,,,348,,,,348,348,,348,348',
544
- ',,,348,348,348,348,348,349,349,348,348,349,349,348,349,,,,,,,,,,,,,',
545
- ',,,349,349,,,,,,349,,349,,349,349,,349,349,349,,349,349,,,,,349,349',
546
- ',,349,,,349,349,,,,,,,349,,,,,,349,,,,349,349,,349,349,,,,349,349,349',
547
- '349,349,350,350,349,349,350,350,349,350,,,,,,,,,,,,,,,,,350,350,,,,',
548
- ',350,,350,,350,350,,350,350,350,,350,350,,,,,350,350,,,350,,,350,350',
549
- ',,,,,,350,,,,,,350,,,,350,350,,350,350,,,,350,350,350,350,350,354,354',
550
- '350,350,354,354,350,354,,,,,,,,,,,,,,,,,354,354,,,,,,354,,354,,354,354',
551
- ',354,354,354,,354,354,354,354,,,354,354,,,354,,,354,354,,,,,,,354,,',
552
- ',,,354,,,,354,354,,354,354,,,,354,354,354,354,354,354,354,354,354,375',
553
- '375,354,,375,375,,375,,,,,,,,,,,,,,,,,375,375,,,,,,375,,375,,375,375',
343
+ '10,10,303,217,10,10,199,10,181,395,181,218,242,531,130,7,7,7,130,199',
344
+ '58,58,395,303,10,10,242,199,242,216,395,10,242,10,218,10,10,1,10,10',
345
+ '10,199,10,10,10,10,217,5,10,10,130,181,10,242,130,10,10,116,8,215,227',
346
+ '232,130,10,227,7,7,7,7,10,227,51,216,10,10,242,10,10,52,217,217,10,10',
347
+ '10,10,10,503,503,10,10,503,503,10,503,503,181,227,147,243,116,227,147',
348
+ '215,318,232,463,60,463,227,144,503,503,243,227,243,224,145,503,243,503',
349
+ '145,503,503,231,503,503,503,155,503,503,503,503,144,147,503,503,318',
350
+ '147,503,243,189,503,503,189,225,147,226,230,225,503,226,230,145,165',
351
+ '165,503,145,155,224,503,503,243,503,503,145,50,231,503,503,503,503,503',
352
+ '332,332,503,503,332,332,503,332,225,406,226,230,225,305,226,230,50,379',
353
+ '406,66,225,379,226,230,332,332,78,388,305,79,12,332,388,332,12,332,332',
354
+ '12,332,332,332,498,332,332,332,332,498,83,332,332,279,85,332,379,117',
355
+ '332,332,379,134,279,379,120,134,332,166,379,12,56,166,332,12,56,279',
356
+ '332,332,121,332,332,12,137,279,332,332,332,332,332,505,505,332,332,505',
357
+ '505,332,505,134,197,197,57,134,197,166,57,138,56,166,139,134,56,123',
358
+ '123,505,505,166,194,194,56,59,505,280,505,59,505,505,142,505,505,505',
359
+ '280,505,505,505,505,143,57,505,505,146,57,505,148,280,505,505,229,229',
360
+ '57,153,229,280,505,64,64,59,62,157,505,59,62,169,505,505,171,505,505',
361
+ '59,16,16,505,505,505,505,505,99,99,505,505,99,99,505,99,320,182,320',
362
+ '229,133,402,229,402,185,62,48,48,187,62,63,63,99,99,133,203,133,62,208',
363
+ '99,133,99,229,99,99,209,99,99,99,210,99,99,229,229,167,167,99,99,429',
364
+ '429,99,133,211,99,99,317,317,158,213,317,228,99,164,164,180,180,264',
365
+ '99,65,65,158,99,99,271,99,99,273,274,158,99,99,99,99,99,100,100,99,99',
366
+ '100,100,99,100,158,277,281,317,135,285,317,290,291,292,295,301,302,310',
367
+ '311,312,100,100,135,313,135,314,316,100,135,100,317,100,100,319,100',
368
+ '100,100,323,100,100,317,317,325,337,100,100,342,343,100,135,345,100',
369
+ '100,351,353,355,357,374,377,100,381,383,386,389,390,100,393,394,401',
370
+ '100,100,403,100,100,404,414,419,100,100,100,100,100,201,201,100,100',
371
+ '201,201,100,201,201,428,430,437,241,441,444,449,450,451,457,466,467',
372
+ '469,471,474,201,201,241,477,241,478,479,201,241,201,483,201,201,486',
373
+ '201,201,201,487,201,201,201,201,492,495,201,201,496,508,201,241,510',
374
+ '201,201,512,513,520,522,524,,201,,,,,,201,,,,201,201,,201,201,,,,201',
375
+ '201,201,201,201,201,201,201,201,198,198,201,,198,198,136,198,,,,,,,',
376
+ ',,,,,136,,136,,198,198,136,,,,,198,,198,,198,198,,198,198,198,,198,198',
377
+ '198,198,,136,198,198,,,198,,,198,198,61,61,,,61,,198,,,,,,198,,,,198',
378
+ '198,,198,198,,,,198,198,198,198,198,515,515,198,198,515,515,198,515',
379
+ ',,,61,,,61,,,,,,,,,,515,515,,,,,,515,,515,61,515,515,,515,515,515,,515',
380
+ '515,61,61,,,515,515,,,515,,,515,515,,,,,,,515,,,,,,515,,,,515,515,,515',
381
+ '515,,,,515,515,515,515,515,0,0,515,515,0,0,515,0,,,,,,,,,,,,,,,,,0,0',
382
+ ',,,,,0,,0,,0,0,,0,0,0,,0,0,0,0,,,0,0,,,0,,,0,0,,,,,,,0,,,,,,0,,,,0,0',
383
+ ',0,0,0,,,0,0,0,0,0,168,168,0,0,168,168,0,168,168,,,,,,,,,,,,,,,,168',
384
+ '168,,,,,,168,,168,,168,168,,168,168,168,,168,168,168,168,,,168,168,',
385
+ ',168,,,168,168,416,416,,,416,,168,,,,,,168,,,,168,168,,168,168,,,,168',
386
+ '168,168,168,168,101,101,168,168,101,101,168,101,,,,416,,,416,,,,,,,',
387
+ ',,101,101,,,,,,101,,101,416,101,101,,101,101,101,,101,101,416,416,,',
388
+ '101,101,,,101,,,101,101,,,,,,,101,,,,,,101,,,,101,101,,101,101,,,,101',
389
+ '101,101,101,101,93,93,101,101,93,93,101,93,,,,,,,,,,,,,,,,,93,93,,,',
390
+ ',,93,,93,,93,93,,93,93,93,,93,93,93,93,,,93,93,,,93,,,93,93,,,,,,,93',
391
+ ',,,,,93,,,,93,93,,93,93,,,,93,93,93,93,93,102,102,93,93,102,102,93,102',
392
+ ',,,,,,,,,,,,,,,,102,102,,,,,,102,,102,,102,102,,102,102,102,,102,102',
393
+ ',,,,102,102,,,102,,,102,102,,,,,,,102,,,,,,102,,,,102,102,,102,102,',
394
+ ',,102,102,102,102,102,92,92,102,102,92,92,102,92,,,,,,,,,,,,,,,,,92',
395
+ '92,,,,,,92,,92,,92,92,,92,92,92,,92,92,92,92,,,92,92,,,92,,,92,92,,',
396
+ ',,,,92,,,,,,92,,,,92,92,,92,92,,,,92,92,92,92,92,347,347,92,92,347,347',
397
+ '92,347,,,,,,,,,,,,,,,,,347,347,,,,,,347,,347,,347,347,,347,347,347,',
398
+ '347,347,,,,,347,347,,,347,,,347,347,,,,,,,347,,,,,,347,,,,347,347,,347',
399
+ '347,,,,347,347,347,347,347,348,348,347,347,348,348,347,348,,,,,,,,,',
400
+ ',,,,,,,348,348,,,,,,348,,348,,348,348,,348,348,348,,348,348,,,,,348',
401
+ '348,,,348,,,348,348,,,,,,,348,,,,,,348,,,,348,348,,348,348,,,,348,348',
402
+ '348,348,348,349,349,348,348,349,349,348,349,,,,,,,,,,,,,,,,,349,349',
403
+ ',,,,,349,,349,,349,349,,349,349,349,,349,349,,,,,349,349,,,349,,,349',
404
+ '349,,,,,,,349,,,,,,349,,,,349,349,,349,349,,,,349,349,349,349,349,350',
405
+ '350,349,349,350,350,349,350,,,,,,,,,,,,,,,,,350,350,,,,,,350,,350,,350',
406
+ '350,,350,350,350,,350,350,,,,,350,350,,,350,,,350,350,,,,,,,350,,,,',
407
+ ',350,,,,350,350,,350,350,,,,350,350,350,350,350,103,103,350,350,103',
408
+ '103,350,103,,,,,,,,,,,,,,,,,103,103,,,,,,103,,103,,103,103,,103,103',
409
+ '103,,103,103,,,,,103,103,,,103,,,103,103,,,,,,,103,,,,,,103,,,,103,103',
410
+ ',103,103,,,,103,103,103,103,103,104,104,103,103,104,104,103,104,,,,',
411
+ ',,,,,,,,,,,,104,104,,,,,,104,,104,,104,104,,104,104,104,,104,104,,,',
412
+ ',104,104,,,104,,,104,104,,,,,,,104,,,,,,104,,,,104,104,,104,104,,,,104',
413
+ '104,104,104,104,354,354,104,104,354,354,104,354,,,,,,,,,,,,,,,,,354',
414
+ '354,,,,,,354,,354,,354,354,,354,354,354,,354,354,354,354,,,354,354,',
415
+ ',354,,,354,354,,,,,,,354,,,,,,354,,,,354,354,,354,354,,,,354,354,354',
416
+ '354,354,354,354,354,354,105,105,354,248,105,105,,105,,,,,,,,,,248,,248',
417
+ ',,,248,105,105,,,,,,105,,105,,105,105,,105,105,105,,105,105,248,,,,105',
418
+ '105,,,105,,,105,105,,,248,248,,,105,,,248,,,105,,,,105,105,,105,105',
419
+ ',,,105,105,105,105,105,106,106,105,105,106,106,105,106,,,,,,,,,,,,,',
420
+ ',,,106,106,,,,,,106,,106,,106,106,,106,106,106,,106,106,,,,,106,106',
421
+ ',,106,,,106,106,,,,,,,106,,,,,,106,,,,106,106,,106,106,,,,106,106,106',
422
+ '106,106,107,107,106,106,107,107,106,107,,,,,,,,,,,,,,,,,107,107,,,,',
423
+ ',107,,107,,107,107,,107,107,107,,107,107,,,,,107,107,,,107,,,107,107',
424
+ ',,,,,,107,,,,,,107,,,,107,107,,107,107,,,,107,107,107,107,107,375,375',
425
+ '107,107,375,375,107,375,,,,,,,,,,,,,,,,,375,375,,,,,,375,,375,,375,375',
554
426
  ',375,375,375,,375,375,,,,,375,375,,,375,,,375,375,,,,,,,375,,,,,,375',
555
- ',,,375,375,,375,375,,,,375,375,375,375,375,392,392,375,375,392,392,375',
556
- '392,392,,,,,,,,,,,,,,,,392,392,,,,,,392,,392,,392,392,,392,392,392,',
557
- '392,392,392,392,,,392,392,,,392,,,392,392,,,,,,,392,,,,,,392,,,,392',
558
- '392,,392,392,,,,392,392,392,392,392,396,396,392,392,396,396,392,396',
559
- ',,,,,,,,,,,,,,,,396,396,,,,,,396,,396,,396,396,,396,396,396,,396,396',
560
- ',,,,396,396,,,396,,,396,396,,,,,,,396,,,,,,396,,,,396,396,,396,396,',
561
- ',,396,396,396,396,396,399,399,396,396,399,399,396,399,,,,,,,,,,,,,,',
562
- ',,399,399,,,,,,399,,399,,399,399,,399,399,399,,399,399,399,399,,,399',
563
- '399,,,399,,,399,399,,,,,,,399,,,,,,399,,,,399,399,,399,399,,,,399,399',
564
- '399,399,399,399,399,399,399,407,407,399,,407,407,,407,407,,,,,,,,,,',
565
- ',,,,,407,407,,,,,,407,,407,,407,407,,407,407,407,,407,407,,,,,407,407',
566
- ',,407,,,407,407,,,,,,,407,,,,,,407,,,,407,407,,407,407,,,,407,407,407',
567
- '407,407,409,409,407,407,409,409,407,409,,,,,,,,,,,,,,,,,409,409,,,,',
568
- ',409,,409,,409,409,,409,409,409,,409,409,409,409,,,409,409,,,409,,,409',
569
- '409,,,,,,,409,,,,,,409,,,,409,409,,409,409,,,,409,409,409,409,409,410',
570
- '410,409,409,410,410,409,410,,,,,,,,,,,,,,,,,410,410,,,,,,410,,410,,410',
571
- '410,,410,410,410,,410,410,410,410,,,410,410,,,410,,,410,410,,,,,,,410',
572
- ',,,,,410,,,,410,410,,410,410,,,,410,410,410,410,410,412,412,410,410',
573
- '412,412,410,412,,,,,,,,,,,,,,,,,412,412,,,,,,412,,412,,412,412,,412',
574
- '412,412,,412,412,412,412,,,412,412,,,412,,,412,412,,,,,,,412,,,,,,412',
575
- ',,,412,412,,412,412,,,,412,412,412,412,412,421,421,412,412,421,421,412',
576
- '421,,,,,,,,,,,,,,,,,421,421,,,,,,421,,421,,421,421,,421,421,421,,421',
577
- '421,421,421,,,421,421,,,421,,,421,421,,,,,,,421,,,,,,421,,,,421,421',
578
- ',421,421,,,,421,421,421,421,421,421,421,421,421,438,438,421,,438,438',
579
- ',438,,,,,,,,,,,,,,,,,438,438,,,,,,438,,438,,438,438,,438,438,438,,438',
580
- '438,,,,,438,438,,,438,,,438,438,,,,,,,438,,,,,,438,,,,438,438,,438,438',
581
- ',,,438,438,438,438,438,445,445,438,438,445,445,438,445,,,,,,,,,,,,,',
582
- ',,,445,445,,,,,,445,,445,,445,445,,445,445,445,,445,445,445,445,,,445',
583
- '445,,,445,,,445,445,,,,,,,445,,,,,,445,,,,445,445,,445,445,,,,445,445',
584
- '445,445,445,453,453,445,445,453,453,445,453,,,,,,,,,,,,,,,,,453,453',
427
+ ',,,375,375,,375,375,,,,375,375,375,375,375,91,91,375,375,91,91,375,91',
428
+ ',,,,,,,,,,,,,,,,91,91,,,,,,91,,91,,91,91,,91,91,91,,91,91,91,91,,,91',
429
+ '91,,,91,,,91,91,,,,,,,91,,,,,,91,,,,91,91,,91,91,,,,91,91,91,91,91,108',
430
+ '108,91,91,108,108,91,108,,,,,,,,,,,,,,,,,108,108,,,,,,108,,108,,108',
431
+ '108,,108,108,108,,108,108,,,,,108,108,,,108,,,108,108,,,,,,,108,,,,',
432
+ ',108,,,,108,108,,108,108,,,,108,108,108,108,108,90,90,108,108,90,90',
433
+ '108,90,,,,,,,,,,,,,,,,,90,90,,,,,,90,,90,,90,90,,90,90,90,,90,90,90',
434
+ '90,,,90,90,,,90,,,90,90,,,,,,,90,,,,,,90,,,,90,90,,90,90,,,,90,90,90',
435
+ '90,90,109,109,90,90,109,109,90,109,,,,,,,,,,,,,,,,,109,109,,,,,,109',
436
+ ',109,,109,109,,109,109,109,,109,109,,,,,109,109,,,109,,,109,109,,,,',
437
+ ',,109,,,,,,109,,,,109,109,,109,109,,,,109,109,109,109,109,110,110,109',
438
+ '109,110,110,109,110,,,,,,,,,,,,,,,,,110,110,,,,,,110,,110,,110,110,',
439
+ '110,110,110,,110,110,,,,,110,110,,,110,,,110,110,,,,,,,110,,,,,,110',
440
+ ',,,110,110,,110,110,,,,110,110,110,110,110,309,309,110,110,309,309,110',
441
+ '309,,,,,,,,,,,,,,,,,309,309,,,,,,309,,309,,309,309,,309,309,309,,309',
442
+ '309,,,,,309,309,,,309,,,309,309,,,,,,,309,,,,,,309,,,,309,309,,309,309',
443
+ ',,,309,309,309,309,309,111,111,309,309,111,111,309,111,,,,,,,,,,,,,',
444
+ ',,,111,111,,,,,,111,,111,,111,111,,111,111,111,,111,111,,,,,111,111',
445
+ ',,111,,,111,111,,,,,,,111,,,,,,111,,,,111,111,,111,111,,,,111,111,111',
446
+ '111,111,308,308,111,111,308,308,111,308,308,,,,,,,,,,,,,,,,308,308,',
447
+ ',,,,308,,308,,308,308,,308,308,308,,308,308,308,308,,,308,308,,,308',
448
+ ',,308,308,,,,,,,308,,,,,,308,,,,308,308,,308,308,,,,308,308,308,308',
449
+ '308,112,112,308,308,112,112,308,112,,,,,,,,,,,,,,,,,112,112,,,,,,112',
450
+ ',112,,112,112,,112,112,112,,112,112,,,,,112,112,,,112,,,112,112,,,,',
451
+ ',,112,,,,,,112,,,,112,112,,112,112,,,,112,112,112,112,112,113,113,112',
452
+ '112,113,113,112,113,,,,,,,,,,,,,,,,,113,113,,,,,,113,,113,,113,113,',
453
+ '113,113,113,,113,113,,,,,113,113,,,113,,,113,113,,,,,,,113,,,,,,113',
454
+ ',,113,113,113,,113,113,,,,113,113,113,113,113,392,392,113,113,392,392',
455
+ '113,392,392,,,,,,,,,,,,,,,,392,392,,,,,,392,,392,,392,392,,392,392,392',
456
+ ',392,392,392,392,,,392,392,,,392,,,392,392,,,,,,,392,,,,,,392,,,,392',
457
+ '392,,392,392,,,,392,392,392,392,392,114,114,392,392,114,114,392,114',
458
+ ',,,,,,,,,,,,,,,,114,114,,,,,,114,,114,,114,114,,114,114,114,,114,114',
459
+ '114,114,,,114,114,,,114,,,114,114,,,,,,,114,,,,,,114,,,,114,114,,114',
460
+ '114,,,,114,114,114,114,114,114,114,114,114,307,307,114,,307,307,,307',
461
+ '307,,,,,,,,,,,,,,,,307,307,,,,,,307,,307,,307,307,,307,307,307,,307',
462
+ '307,307,307,,,307,307,,,307,,,307,307,,,,,,,307,,,,,,307,,,,307,307',
463
+ ',307,307,,,,307,307,307,307,307,89,89,307,307,89,89,307,89,,,,,,,,,',
464
+ ',,,,,,,89,89,,,,,,89,,89,,89,89,,89,89,89,,89,89,89,89,,,89,89,,,89',
465
+ ',,89,89,,,,,,,89,,,,,,89,,,,89,89,,89,89,,,,89,89,89,89,89,396,396,89',
466
+ '89,396,396,89,396,,,,,,,,,,,,,,,,,396,396,,,,,,396,,396,,396,396,,396',
467
+ '396,396,,396,396,,,,,396,396,,,396,,,396,396,,,,,,,396,,,,,,396,,,,396',
468
+ '396,,396,396,,,,396,396,396,396,396,399,399,396,396,399,399,396,399',
469
+ ',,,,,,,,,,,,,,,,399,399,,,,,,399,,399,,399,399,,399,399,399,,399,399',
470
+ '399,399,,,399,399,,,399,,,399,399,,,,,,,399,,,,,,399,,,,399,399,,399',
471
+ '399,,,,399,399,399,399,399,399,399,399,399,18,18,399,247,18,18,,18,',
472
+ ',,,,,,,,247,,247,,,,247,18,18,,,,,,18,,18,,18,18,,18,18,18,,18,18,247',
473
+ ',,,18,18,,,18,,,18,18,,,247,247,,,18,,,247,,,18,,,,18,18,,18,18,,,,18',
474
+ '18,18,18,18,88,88,18,18,88,88,18,88,,,,,,,,,,,,,,,,,88,88,,,,,,88,,88',
475
+ ',88,88,,88,88,88,,88,88,88,88,,,88,88,,,88,,,88,88,,,,,,,88,,,,,,88',
476
+ ',,,88,88,,88,88,,,,88,88,88,88,88,118,118,88,88,118,118,88,118,,,,,',
477
+ ',,,,,,,,,,,118,118,,,,,,118,,118,,118,118,,118,118,118,,118,118,,,,',
478
+ '118,118,,,118,,,118,118,,,,,,,118,,,,,,118,,,,118,118,,118,118,,,,118',
479
+ '118,118,118,118,119,119,118,118,119,119,118,119,,,,,,,,,,,,,,,,,119',
480
+ '119,,,,,,119,,119,,119,119,,119,119,119,,119,119,,,,,119,119,,,119,',
481
+ ',119,119,,,,,,,119,,,,,,119,,,,119,119,,119,119,,,,119,119,119,119,119',
482
+ '95,95,119,119,95,95,119,95,,,,,,,,,,,,,,,,,95,95,,,,,,95,,95,,95,95',
483
+ ',95,95,95,,95,95,,,,,95,95,,,95,,,95,95,,,,,,,95,,,,,,95,,,,95,95,,95',
484
+ '95,,,,95,95,95,95,95,87,87,95,95,87,87,95,87,,,,,,,,,,,,,,,,,87,87,',
485
+ ',,,,87,,87,,87,87,,87,87,87,,87,87,87,87,,,87,87,,,87,,,87,87,,,,,,',
486
+ '87,,,,,,87,,,,87,87,,87,87,,,,87,87,87,87,87,407,407,87,87,407,407,87',
487
+ '407,407,,,,,,,,,,,,,,,,407,407,,,,,,407,,407,,407,407,,407,407,407,',
488
+ '407,407,,,,,407,407,,,407,,,407,407,,,,,,,407,,,,,,407,,,,407,407,,407',
489
+ '407,,,,407,407,407,407,407,409,409,407,407,409,409,407,409,,,,,,,,,',
490
+ ',,,,,,,409,409,,,,,,409,,409,,409,409,,409,409,409,,409,409,409,409',
491
+ ',,409,409,,,409,,,409,409,,,,,,,409,,,,,,409,,,,409,409,,409,409,,,',
492
+ '409,409,409,409,409,410,410,409,409,410,410,409,410,,,,,,,,,,,,,,,,',
493
+ '410,410,,,,,,410,,410,,410,410,,410,410,410,,410,410,410,410,,,410,410',
494
+ ',,410,,,410,410,,,,,,,410,,,,,,410,,,,410,410,,410,410,,,,410,410,410',
495
+ '410,410,86,86,410,410,86,86,410,86,,,,,,,,,,,,,,,,,86,86,,,,,,86,,86',
496
+ ',86,86,,86,86,86,,86,86,86,86,,,86,86,,,86,,,86,86,,,,,,,86,,,,,,86',
497
+ ',,,86,86,,86,86,,,,86,86,86,86,86,412,412,86,86,412,412,86,412,,,,,',
498
+ ',,,,,,,,,,,412,412,,,,,,412,,412,,412,412,,412,412,412,,412,412,412',
499
+ '412,,,412,412,,,412,,,412,412,,,,,,,412,,,,,,412,,,,412,412,,412,412',
500
+ ',,,412,412,412,412,412,19,19,412,412,19,19,412,19,,,,,,,,,,,,,,,,,19',
501
+ '19,,,,,,19,,19,,19,19,,19,19,19,,19,19,,,,,19,19,,,19,,,19,19,,,,,,',
502
+ '19,,,,,,19,,,,19,19,,19,19,,,,19,19,19,19,19,17,17,19,19,17,17,19,17',
503
+ ',,,,,,,,,,,,,,,,17,17,,,,,,17,,17,,17,17,,17,17,17,,17,17,,,,,17,17',
504
+ ',,17,,,17,17,,,,,,,17,,,,,,17,,,,17,17,,17,17,,,,17,17,17,17,17,20,20',
505
+ '17,17,20,20,17,20,,,,,,,,,,,,,,,,,20,20,,,,,,20,,20,,20,20,,20,20,20',
506
+ ',20,20,20,20,,,20,20,,,20,,,20,20,,,,,,,20,,,,,,20,,,,20,20,,20,20,',
507
+ ',,20,20,20,20,20,421,421,20,20,421,421,20,421,,,,,,,,,,,,,,,,,421,421',
508
+ ',,,,,421,,421,,421,421,,421,421,421,,421,421,421,421,,,421,421,,,421',
509
+ ',,421,421,,,,,,,421,,,,,,421,,,,421,421,,421,421,,,,421,421,421,421',
510
+ '421,421,421,421,421,122,122,421,246,122,122,,122,,,,,,,,,,246,,246,',
511
+ ',,246,122,122,,,,,,122,,122,,122,122,,122,122,122,,122,122,246,,,,122',
512
+ '122,,,122,,,122,122,,,246,246,,,122,,,246,,,122,,,,122,122,,122,122',
513
+ ',,,122,122,122,122,122,84,84,122,122,84,84,122,84,,,,,,,,,,,,,,,,,84',
514
+ '84,,,,,,84,,84,,84,84,,84,84,84,,84,84,84,84,,,84,84,,,84,,,84,84,,',
515
+ ',,,,84,,,,,,84,,,,84,84,,84,84,,,,84,84,84,84,84,289,289,84,84,289,289',
516
+ '84,289,,,,,,,,,,,,,,,,,289,289,,,,,,289,,289,,289,289,,289,289,289,',
517
+ '289,289,289,289,,,289,289,,,289,,,289,289,,,,,,,289,,,,,,289,,,,289',
518
+ '289,,289,289,,,,289,289,289,289,289,96,96,289,289,96,96,289,96,,,,,',
519
+ ',,,,,,,,,,,96,96,,,,,,96,,96,,96,96,,96,96,96,,96,96,,,,,96,96,,,96',
520
+ ',,96,96,,,,,,,96,,,,,,96,,,,96,96,,96,96,,,,96,96,96,96,96,94,94,96',
521
+ '96,94,94,96,94,,,,,,,,,,,,,,,,,94,94,,,,,,94,94,94,94,94,94,94,94,94',
522
+ '94,,94,94,,,,,94,94,94,94,94,,,94,94,,,,,,,94,,,,,94,94,,,,94,94,,94',
523
+ '94,,,,94,94,94,94,94,94,94,94,94,97,97,94,,97,97,,97,,,,,,,,,,,,,,,',
524
+ ',97,97,,,,,,97,,97,,97,97,,97,97,97,,97,97,,,,,97,97,,,97,,,97,97,,',
525
+ ',,,,97,,,,,,97,,,,97,97,,97,97,,,,97,97,97,97,97,324,324,97,97,324,324',
526
+ '97,324,,,,,,,,,,,,,,,,,324,324,,,,,,324,,324,,324,324,,324,324,324,',
527
+ '324,324,324,324,,,324,324,,,324,,,324,324,,,,,,,324,,,,,,324,,,,324',
528
+ '324,,324,324,,,,324,324,324,324,324,324,324,324,324,288,288,324,,288',
529
+ '288,,288,,,,,,,,,,,,,,,,,288,288,,,,,,288,,288,,288,288,,288,288,288',
530
+ ',288,288,288,288,,,288,288,,,288,,,288,288,,,,,,,288,,,,,,288,,,,288',
531
+ '288,,288,288,,,,288,288,288,288,288,288,288,288,288,438,438,288,,438',
532
+ '438,,438,,,,,,,,,,,,,,,,,438,438,,,,,,438,,438,,438,438,,438,438,438',
533
+ ',438,438,,,,,438,438,,,438,,,438,438,,,,,,,438,,,,,,438,,,,438,438,',
534
+ '438,438,,,,438,438,438,438,438,287,287,438,438,287,287,438,287,,,,,',
535
+ ',,,,,,,,,,,287,287,,,,,,287,,287,,287,287,,287,287,287,,287,287,287',
536
+ '287,,,287,287,,,287,,,287,287,,,,,,,287,,,,,,287,,,,287,287,,287,287',
537
+ ',,,287,287,287,287,287,287,287,287,287,284,284,287,,284,284,,284,,,',
538
+ ',,,,,,,,,,,,,284,284,,,,,,284,,284,,284,284,,284,284,284,,284,284,284',
539
+ '284,,,284,284,,,284,,,284,284,,,,,,,284,,,,,,284,,,,284,284,,284,284',
540
+ ',,,284,284,284,284,284,284,284,284,284,445,445,284,,445,445,,445,,,',
541
+ ',,,,,,,,,,,,,445,445,,,,,,445,,445,,445,445,,445,445,445,,445,445,445',
542
+ '445,,,445,445,,,445,,,445,445,,,,,,,445,,,,,,445,,,,445,445,,445,445',
543
+ ',,,445,445,445,445,445,81,81,445,445,81,81,445,81,,,,,,,,,,,,,,,,,81',
544
+ '81,,,,,,81,,81,,81,81,,81,81,81,,81,81,,,,,81,81,,,81,,,81,81,,,,,,',
545
+ '81,,,,,,81,,,,81,81,,81,81,,,,81,81,81,81,81,11,11,81,81,11,11,81,11',
546
+ ',,,,,,,,,,,,,,,,11,11,,,,,,11,,11,,11,11,,11,11,11,,11,11,11,11,,,11',
547
+ '11,,,11,,,11,11,,,,,,,11,,,,,,11,,,,11,11,,11,11,,,,11,11,11,11,11,21',
548
+ '21,11,11,21,21,11,21,,,,,,,,,,,,,,,,,21,21,,,,,,21,,21,,21,21,,21,21',
549
+ '21,,21,21,21,21,,,21,21,,,21,,,21,21,,,,,,,21,,,,,,21,,,,21,21,,21,21',
550
+ ',,,21,21,21,21,21,453,453,21,21,453,453,21,453,,,,,,,,,,,,,,,,,453,453',
585
551
  ',,,,,453,,453,,453,453,,453,453,453,,453,453,453,453,,,453,453,,,453',
586
552
  ',,453,453,,,,,,,453,,,,,,453,,,,453,453,,453,453,,,,453,453,453,453',
587
553
  '453,453,453,453,453,456,456,453,,456,456,,456,,,,,,,,,,,,,,,,,456,456',
588
554
  ',,,,,456,,456,,456,456,,456,456,456,,456,456,456,456,,,456,456,,,456',
589
555
  ',,456,456,,,,,,,456,,,,,,456,,,,456,456,,456,456,,,,456,456,456,456',
590
- '456,459,459,456,456,459,459,456,459,,,,,,,,,,,,,,,,,459,459,,,,,,459',
591
- ',459,,459,459,,459,459,459,,459,459,459,459,,,459,459,,,459,,,459,459',
592
- ',,,,,,459,,,,,,459,,,,459,459,,459,459,,,,459,459,459,459,459,459,459',
593
- '459,459,465,465,459,,465,465,,465,,,,,,,,,,,,,,,,,465,465,,,,,,465,',
594
- '465,,465,465,,465,465,465,,465,465,,,,,465,465,,,465,,,465,465,,,,,',
595
- ',465,,,,,,465,,,,465,465,,465,465,,,,465,465,465,465,465,470,470,465',
596
- '465,470,470,465,470,,,,,,,,,,,,,,,,,470,470,,,,,,470,,470,,470,470,',
597
- '470,470,470,,470,470,,,,,470,470,,,470,,,470,470,,,,,,,470,,,,,,470',
598
- ',,,470,470,,470,470,,,,470,470,470,470,470,480,480,470,470,480,480,470',
599
- '480,480,,,,,,,,,,,,,,,,480,480,,,,,,480,,480,,480,480,,480,480,480,',
600
- '480,480,480,480,,,480,480,,,480,,,480,480,,,,,,,480,,,,,,480,,,,480',
601
- '480,,480,480,,,,480,480,480,480,480,482,482,480,480,482,482,480,482',
602
- ',,,,,,,,,,,,,,,,482,482,,,,,,482,,482,,482,482,,482,482,482,,482,482',
603
- '482,482,,,482,482,,,482,,,482,482,,,,,,,482,,,,,,482,,,,482,482,,482',
604
- '482,,,,482,482,482,482,482,501,501,482,482,501,501,482,501,501,,,,,',
605
- ',,,,,,,,,,501,501,,,,,,501,,501,,501,501,,501,501,501,,501,501,501,501',
606
- ',,501,501,,,501,,,501,501,,,,,,,501,,,,,,501,,,,501,501,,501,501,,,',
607
- '501,501,501,501,501,503,503,501,501,503,503,501,503,503,,,,,,,,,,,,',
608
- ',,,503,503,,,,,,503,,503,,503,503,,503,503,503,,503,503,503,503,,,503',
609
- '503,,,503,,,503,503,,,,,,,503,,,,,,503,,,,503,503,,503,503,,,,503,503',
610
- '503,503,503,505,505,503,503,505,505,503,505,,,,,,,,,,,,,,,,,505,505',
611
- ',,,,,505,,505,,505,505,,505,505,505,,505,505,505,505,,,505,505,,,505',
612
- ',,505,505,,,,,,,505,,,,,,505,,,,505,505,,505,505,,,,505,505,505,505',
613
- '505,515,515,505,505,515,515,505,515,,,,,,,,,,,,,,,,,515,515,,,,,,515',
614
- ',515,,515,515,,515,515,515,,515,515,,,,,515,515,,,515,,,515,515,,,,',
615
- ',,515,,,,,,515,,,,515,515,,515,515,,,,515,515,515,515,515,9,,515,515',
616
- ',,515,,,,,,9,9,9,,9,,9,,9,,9,9,9,9,,,,,,,,,,,,,,,,9,,,,9,9,,,9,9,9,9',
617
- '9,9,,9,9,160,,160,,,9,,,,,,,160,160,160,,160,,160,,160,,160,160,160',
618
- '160,,,,,,9,,,,,,,,,,160,,,,160,160,,,160,160,160,160,160,160,,160,160',
619
- '162,,162,,,160,,,,,,,162,162,162,,162,,162,,162,,162,162,162,162,,,',
620
- ',,160,,,,,,,,,,162,,,,162,162,,,162,162,162,162,162,162,,162,162,163',
621
- ',163,,,162,,,,,,,163,163,163,,163,,163,,163,,163,163,163,163,,,,,,162',
622
- ',,,,,,,,,163,,,,163,163,,,163,163,163,163,163,163,200,163,163,,,,,,163',
623
- ',,,200,200,200,,200,,200,,200,,200,200,200,200,,,,,,,,,163,,,,,,,200',
624
- ',,244,200,200,,,200,200,200,200,200,200,,200,200,244,,244,,,200,244',
625
- ',,,212,,,,,,200,200,,,,,212,212,212,212,212,244,212,,212,200,212,212',
626
- '212,212,,244,244,,,,244,244,,,,,,244,,212,,,245,212,212,,,212,212,212',
627
- '212,212,212,,212,212,245,,245,249,,212,245,244,,,,,,,,,,249,,249,250',
628
- ',,249,,,,245,,,,212,,,250,,250,245,245,,250,,245,245,249,,,,251,245',
629
- ',,249,249,249,249,,,,249,249,250,251,,251,252,249,,251,250,250,250,250',
630
- ',,245,250,250,,252,,252,,250,,252,,,,251,,,249,,,,,251,251,251,251,251',
631
- '251,,251,251,252,,,250,253,251,,,252,252,252,252,252,252,,252,252,253',
632
- '253,,253,254,252,,253,,253,,,,,251,,,254,254,,254,,,,254,,254,,253,',
633
- ',252,,,,,253,253,253,253,253,253,,253,253,254,,,,255,253,,,254,254,254',
634
- '254,254,254,,254,254,255,255,,255,256,254,,255,,255,,,,,253,,,256,256',
635
- ',256,,,,256,,256,,255,,,254,,,,,255,255,255,255,255,255,,255,255,256',
636
- ',,,,255,,,256,256,256,256,256,256,257,256,256,,,,,,256,,,,257,257,257',
637
- ',257,255,257,,257,,257,257,257,257,,,,,,,,,256,,,,,,,257,,,,,258,,,257',
638
- '257,257,257,257,257,,257,257,258,258,258,,258,257,258,,258,,258,258',
639
- '258,258,,,,,,,,,,,,,,,,258,,257,,,258,,,258,258,258,258,258,258,259',
640
- '258,258,,,259,,,258,,,,259,259,259,,259,,259,,259,,259,259,259,259,',
641
- ',,,,,,,258,,,,,,,259,,,,259,259,,,259,259,259,259,259,259,,259,259,263',
642
- '263,,,,259,263,,,,,,263,263,263,,263,,263,,263,,263,263,263,263,,,,',
643
- ',259,,,,,,,,,,263,,,,263,263,,,263,263,263,263,263,263,270,263,263,',
644
- ',,,,263,,,,270,270,270,,270,,270,,270,,270,270,270,270,,,,,,,,,263,',
645
- ',,,,,270,,,,270,270,,,270,270,270,270,270,270,275,270,270,,,,,,270,',
646
- ',,275,275,275,275,275,,275,,275,,275,275,275,275,,,,,,,,,270,,,,,,,275',
647
- ',,,275,275,,,275,275,275,275,275,275,405,275,275,,,,,,275,,,,405,405',
648
- '405,,405,,405,,405,,405,405,405,405,,,,,,,,,275,,,,,,,405,,,,405,405',
649
- ',,405,405,405,405,405,405,433,405,405,,,,,,405,,,,433,433,433,,433,',
650
- '433,,433,,433,433,433,433,,,,,,,,,405,,,,,,,433,,,,433,433,,,433,433',
651
- '433,433,433,433,434,433,433,,,,,,433,,,,434,434,434,,434,,434,,434,',
652
- '434,434,434,434,,,,,,,,,433,,,,,,,434,,,,434,434,,,434,434,434,434,434',
653
- '434,435,434,434,,,,,,434,,,,435,435,435,,435,,435,,435,,435,435,435',
654
- '435,,,,,,,,,434,,,,,,,435,,,,435,435,,,435,435,435,435,435,435,436,435',
655
- '435,,,,,,435,,,,436,436,436,,436,,436,,436,,436,436,436,436,,,,,,,,',
656
- '435,,,,,,,436,,,,436,436,,,436,436,436,436,436,436,462,436,436,,,,,',
657
- '436,,,,462,462,462,,462,,462,,462,,462,462,462,462,,,,,,,,,436,,,,,',
658
- ',462,,,,462,462,,,462,462,462,462,462,462,504,462,462,,,,,,462,,,,504',
659
- '504,504,,504,,504,,504,,504,504,504,504,,,,,,,,,462,,,,,,,504,,,,504',
660
- '504,,,504,504,504,504,504,504,,504,504,,269,269,269,269,504,269,269',
661
- '269,,269,,269,269,,,,,,,269,269,269,,,,269,,,,,504,,,,,,,269,269,,,',
662
- ',,,,,,,,269,269,269,269,269,269,269,269,344,344,344,344,,344,344,344',
663
- ',344,,344,344,,,,,,,344,344,344,,,,344,,,,,,,,,,,,344,344,,,,,,,,,,',
664
- ',344,344,344,344,344,344,344,344,346,346,346,346,,346,346,346,,346,',
665
- '346,346,,,,,,,346,346,346,,,,346,,,,,,,,,,,,346,346,,,,,,,,,,,,346,346',
666
- '346,346,346,346,346,346,376,376,376,376,,376,376,376,,376,,376,376,',
667
- ',,,,,376,376,376,,,,376,,,,,,,,,,,,376,376,,,,,,,,,,,,376,376,376,376',
668
- '376,376,376,376,384,384,384,384,,384,384,384,,384,,384,384,,,,,,,384',
669
- '384,384,,,,384,,,,,,,,,,,,384,384,,,,,,,,,,,,384,384,384,384,384,384',
670
- '384,384,411,411,411,411,,411,411,411,,411,,411,411,,,,,,,411,411,411',
671
- ',,,411,,,,,,,,,,,,411,411,,,,,,,,,,,,411,411,411,411,411,411,411,411' ]
672
- racc_action_check = arr = ::Array.new(10078, nil)
556
+ '456,76,76,456,456,76,76,456,76,,,,,,,,,,,,,,,,,76,76,,,,,,76,,76,,76',
557
+ '76,,76,76,76,,76,76,76,76,,,76,76,,,76,,,76,76,,,,,,,76,,,,,,76,,,,76',
558
+ '76,,76,76,,,,76,76,76,76,76,459,459,76,76,459,459,76,459,,,,,,,,,,,',
559
+ ',,,,,459,459,,,,,,459,,459,,459,459,,459,459,459,,459,459,459,459,,',
560
+ '459,459,,,459,,,459,459,,,,,,,459,,,,,,459,,,,459,459,,459,459,,,,459',
561
+ '459,459,459,459,459,459,459,459,98,98,459,,98,98,,98,,,,,,,,,,,,,,,',
562
+ ',98,98,,,,,,98,,98,,98,98,,98,98,98,,98,98,,,,,98,98,,,98,,,98,98,,',
563
+ ',,,,98,,,,,,98,,,,98,98,,98,98,,,,98,98,98,98,98,72,72,98,98,72,72,98',
564
+ '72,72,,,,,,,,,,,,,,,,72,72,,,,,,72,,72,,72,72,,72,72,72,,72,72,72,72',
565
+ ',,72,72,,,72,,,72,72,,,,,,,72,,,,,,72,,,,72,72,,72,72,,,,72,72,72,72',
566
+ '72,72,72,72,72,465,465,72,,465,465,,465,,,,,,,,,,,,,,,,,465,465,,,,',
567
+ ',465,,465,,465,465,,465,465,465,,465,465,,,,,465,465,,,465,,,465,465',
568
+ ',,,,,,465,,,,,,465,,,,465,465,,465,465,,,,465,465,465,465,465,49,49',
569
+ '465,465,49,49,465,49,,,,,,,,,,,,,,,,,49,49,49,,,,,49,,49,,49,49,,49',
570
+ '49,49,,49,49,49,49,,,49,49,,,49,,,49,49,,,,,,,49,,,,,,49,,,,49,49,,49',
571
+ '49,,,,49,49,49,49,49,49,49,49,49,71,71,49,,71,71,71,71,,,,,,,,,,,,,',
572
+ ',,,71,71,,,,,,71,,71,,71,71,,71,71,71,,71,71,71,71,,,71,71,,,71,,,71',
573
+ '71,,,,,,,71,,,,,,71,,,,71,71,,71,71,,,,71,71,71,71,71,71,71,71,71,262',
574
+ '262,71,,262,262,,262,,,,,,,,,,,,,,,,,262,262,,,,,,262,,262,,262,262',
575
+ ',262,262,262,,262,262,,,,,262,262,,,262,,,262,262,,,,,,,262,,,,,,262',
576
+ ',,,262,262,,262,262,,,,262,262,262,262,262,470,470,262,262,470,470,262',
577
+ '470,,,,,,,,,,,,,,,,,470,470,,,,,,470,,470,,470,470,,470,470,470,,470',
578
+ '470,,,,,470,470,,,470,,,470,470,,,,,,,470,,,,,,470,,,,470,470,,470,470',
579
+ ',,,470,470,470,470,470,,,470,470,70,70,470,,70,70,70,70,,,,,,,,,,,,',
580
+ ',,,,70,70,,,,,,70,,70,,70,70,,70,70,70,,70,70,70,70,,,70,70,,,70,,,70',
581
+ '70,,,,,,,70,,,,,,70,,,,70,70,,70,70,,,,70,70,70,70,70,70,70,70,70,221',
582
+ '221,70,,221,221,,221,,,,,,,,,,,,,,,,,221,221,,,,,,221,,221,,221,221',
583
+ ',221,221,221,,221,221,,,,,221,221,,,221,,,221,221,,,,,,,221,,,,,,221',
584
+ ',,,221,221,,221,221,,,,221,221,221,221,221,4,4,221,221,4,4,221,4,,,',
585
+ ',,,,,,,,,,,,,4,4,,,,,,4,,4,,4,4,,4,4,4,4,4,4,4,4,,,4,4,,,4,,,4,4,,,',
586
+ ',,,4,,,,,,4,,,,4,4,,4,4,,,,4,4,4,4,4,220,220,4,4,220,220,4,220,,,,,',
587
+ ',,,,,,,,,,,220,220,,,,,,220,,220,,220,220,,220,220,220,,220,220,,,,',
588
+ '220,220,,,220,,,220,220,,,,,,,220,,,,,,220,,,,220,220,,220,220,,,,220',
589
+ '220,220,220,220,53,53,220,220,53,53,220,53,,,,,,,,,,,,,,,,,53,53,,,',
590
+ ',,53,,53,,53,53,,53,53,53,,53,53,,,,,53,53,,,53,,,53,53,,,,,,,53,,,',
591
+ ',,53,,,,53,53,,53,53,,,,53,53,53,53,53,480,480,53,53,480,480,53,480',
592
+ '480,,,,,,,,,,,,,,,,480,480,,,,,,480,,480,,480,480,,480,480,480,,480',
593
+ '480,480,480,,,480,480,,,480,,,480,480,,,,,,,480,,,,,,480,,,,480,480',
594
+ ',480,480,,,,480,480,480,480,480,482,482,480,480,482,482,480,482,,,,',
595
+ ',,,,,,,,,,,,482,482,,,,,,482,,482,,482,482,,482,482,482,,482,482,482',
596
+ '482,,,482,482,,,482,,,482,482,,,,,,,482,,,,,,482,,,,482,482,,482,482',
597
+ ',,,482,482,482,482,482,54,54,482,482,54,54,482,54,,,,,,,,,,,,,,,,,54',
598
+ '54,,,,,,54,,54,,54,54,,54,54,54,,54,54,,,,,54,54,,,54,,,54,54,,,,,,',
599
+ '54,,,,,,54,,,,54,54,,54,54,,,,54,54,54,54,54,219,219,54,54,219,219,54',
600
+ '219,,,,,,,,,,,,,,,,,219,219,,,,,,219,,219,,219,219,,219,219,219,,219',
601
+ '219,,,,,219,219,,,219,,,219,219,,,,,,,219,,,,,,219,,,,219,219,,219,219',
602
+ ',,,219,219,219,219,219,55,55,219,219,55,55,219,55,,,,,,,,,,,,,,,,,55',
603
+ '55,,,,,,55,,55,,55,55,,55,55,55,,55,55,,,,,55,55,,,55,,,55,55,,,,,,',
604
+ '55,,,,,,55,,,,55,55,,55,55,,,,55,55,55,55,55,214,214,55,55,214,214,55',
605
+ '214,,,214,,,,,,,,,,,,,,214,214,,,,,,214,,214,,214,214,,214,214,214,',
606
+ '214,214,,,,,214,214,,,214,,,214,214,,,,,,,214,,,,,,214,,,,214,214,,214',
607
+ '214,,,,214,214,214,214,214,159,159,214,214,159,159,214,159,,,,,,,,,',
608
+ ',,,,,,,159,159,159,,,,,159,,159,,159,159,,159,159,159,,159,159,159,159',
609
+ ',,159,159,,,159,,,159,159,,,,,,,159,,,,,,159,,,,159,159,,159,159,,,',
610
+ '159,159,159,159,159,159,159,159,159,327,327,159,,327,327,,327,327,,',
611
+ ',,,,,,,,,,,,,327,327,,,,,,327,,327,,327,327,,327,327,327,,327,327,327',
612
+ '327,,,327,327,,,327,,,327,327,,,,,,,327,,,,,,327,,,,327,327,,327,327',
613
+ ',,,327,327,327,327,327,327,327,327,327,501,501,327,,501,501,,501,501',
614
+ ',,,,,,,,,,,,,,,501,501,,,,,,501,,501,,501,501,,501,501,501,,501,501',
615
+ '501,501,244,,501,501,,,501,,,501,501,,,,244,,244,501,,,244,,,501,,,',
616
+ '501,501,,501,501,,,,501,501,501,501,501,,244,501,501,,,501,,,,,244,244',
617
+ '405,,,244,244,,,,,,244,,405,405,405,,405,,405,,405,,405,405,405,405',
618
+ ',,,,,,,,,,244,,,,,405,,,,405,405,,,405,405,405,405,405,405,433,405,405',
619
+ ',,,,,405,,,,433,433,433,,433,,433,,433,,433,433,433,433,,,,,,,,,405',
620
+ ',,,,,,433,,,,433,433,,,433,433,433,433,433,433,434,433,433,,,,,,433',
621
+ ',,,434,434,434,,434,,434,,434,,434,434,434,434,,,,,,,,,433,,,,,,,434',
622
+ ',,,434,434,,,434,434,434,434,434,434,435,434,434,,,,,,434,,,,435,435',
623
+ '435,,435,,435,,435,,435,435,435,435,,,,,,,,,434,,,,,,,435,,,,435,435',
624
+ ',,435,435,435,435,435,435,436,435,435,,,,,,435,,,,436,436,436,,436,',
625
+ '436,,436,,436,436,436,436,,,,,,,,,435,,,,,,,436,,,,436,436,,,436,436',
626
+ '436,436,436,436,462,436,436,,,,,,436,,,,462,462,462,,462,,462,,462,',
627
+ '462,462,462,462,,,,,,,,,436,,,,,,,462,,,,462,462,,,462,462,462,462,462',
628
+ '462,,462,462,160,,160,,,462,,,,,,,160,160,160,,160,,160,,160,,160,160',
629
+ '160,160,,,,,,462,,,,,,,,,,160,,,,160,160,,,160,160,160,160,160,160,504',
630
+ '160,160,,,,,,160,,,,504,504,504,,504,,504,,504,,504,504,504,504,,,,',
631
+ ',,,,160,,,,,,,504,,,,504,504,,,504,504,504,504,504,504,,504,504,162',
632
+ ',162,,,504,,,,,,,162,162,162,,162,,162,,162,,162,162,162,162,,,,,,504',
633
+ ',,,,,,,,,162,,,,162,162,,,162,162,162,162,162,162,,162,162,163,,163',
634
+ ',,162,,,,,,,163,163,163,,163,,163,,163,,163,163,163,163,,,,,,162,,,',
635
+ ',,,,,,163,,,,163,163,,,163,163,163,163,163,163,9,163,163,,,,,,163,,',
636
+ ',9,9,9,,9,,9,,9,,9,9,9,9,,,,,,,,,163,,,,,,,9,,,,9,9,,,9,9,9,9,9,9,200',
637
+ '9,9,,,,,,9,,,,200,200,200,,200,,200,,200,,200,200,200,200,,,,,,,,,9',
638
+ ',,,,,,200,,,245,200,200,,,200,200,200,200,200,200,,200,200,245,,245',
639
+ ',,200,245,,,,212,,,,,,200,200,,,,,212,212,212,212,212,245,212,,212,200',
640
+ '212,212,212,212,,245,245,,,,245,245,,,,,,245,,212,,,249,212,212,,,212',
641
+ '212,212,212,212,212,,212,212,249,,249,250,,212,249,245,,,,,,,,,,250',
642
+ ',250,,,,250,,,,249,,,,212,,,,249,249,249,249,,,,249,249,250,,,251,,249',
643
+ ',,250,250,250,250,,,,250,250,251,,251,252,,250,251,,,,,,,,249,,,252',
644
+ ',252,,,,252,,,,251,,,,250,,,,251,251,251,251,251,251,,251,251,252,,',
645
+ ',253,251,,,252,252,252,252,252,252,,252,252,253,253,,253,254,252,,253',
646
+ ',253,,,,,251,,,254,254,,254,,,,254,,254,,253,,,252,,,,,253,253,253,253',
647
+ '253,253,,253,253,254,,,,255,253,,,254,254,254,254,254,254,,254,254,255',
648
+ '255,,255,256,254,,255,,255,,,,,253,,,256,256,,256,,,,256,,256,,255,',
649
+ ',254,,,,,255,255,255,255,255,255,,255,255,256,,,,,255,,,256,256,256',
650
+ '256,256,256,257,256,256,,,,,,256,,,,257,257,257,,257,255,257,,257,,257',
651
+ '257,257,257,,,,,,,,,256,,,,,,,257,,,,,258,,,257,257,257,257,257,257',
652
+ ',257,257,258,258,258,,258,257,258,,258,,258,258,258,258,,,,,,,,,,,,',
653
+ ',,,258,,257,,,258,,,258,258,258,258,258,258,259,258,258,,,259,,,258',
654
+ ',,,259,259,259,,259,,259,,259,,259,259,259,259,,,,,,,,,258,,,,,,,259',
655
+ ',,,259,259,,,259,259,259,259,259,259,,259,259,263,263,,,,259,263,,,',
656
+ ',,263,263,263,,263,,263,,263,,263,263,263,263,,,,,,259,,,,,,,,,,263',
657
+ ',,,263,263,,,263,263,263,263,263,263,270,263,263,,,,,,263,,,,270,270',
658
+ '270,,270,,270,,270,,270,270,270,270,,,,,,,,,263,,,,,,,270,,,,270,270',
659
+ ',,270,270,270,270,270,270,275,270,270,,,,,,270,,,,275,275,275,275,275',
660
+ ',275,,275,,275,275,275,275,,,,,,,,,270,,,,,,,275,,,,275,275,,,275,275',
661
+ '275,275,275,275,,275,275,,376,376,376,376,275,376,376,376,,376,,376',
662
+ '376,,,,,,,376,376,376,,,,376,,,,,275,,,,,,,376,376,,,,,,,,,,,,376,376',
663
+ '376,376,376,376,376,376,411,411,411,411,,411,411,411,,411,,411,411,',
664
+ ',,,,,411,411,411,,,,411,,,,,,,,,,,,411,411,,,,,,,,,,,,411,411,411,411',
665
+ '411,411,411,411,346,346,346,346,,346,346,346,,346,,346,346,,,,,,,346',
666
+ '346,346,,,,346,,,,,,,,,,,,346,346,,,,,,,,,,,,346,346,346,346,346,346',
667
+ '346,346,344,344,344,344,,344,344,344,,344,,344,344,,,,,,,344,344,344',
668
+ ',,,344,,,,,,,,,,,,344,344,,,,,,,,,,,,344,344,344,344,344,344,344,344',
669
+ '384,384,384,384,,384,384,384,,384,,384,384,,,,,,,384,384,384,,,,384',
670
+ ',,,,,,,,,,,384,384,,,,,,,,,,,,384,384,384,384,384,384,384,384,269,269',
671
+ '269,269,,269,269,269,,269,,269,269,,,,,,,269,269,269,,,,269,,,,,,,,',
672
+ ',,,269,269,,,,,,,,,,,,269,269,269,269,269,269,269,269' ]
673
+ racc_action_check = arr = ::Array.new(10090, nil)
673
674
  idx = 0
674
675
  clist.each do |str|
675
676
  str.split(',', -1).each do |i|
@@ -679,60 +680,60 @@ clist = [
679
680
  end
680
681
 
681
682
  racc_action_pointer = [
682
- -2, 13, nil, nil, 84, 24, nil, -2, 32, 8411,
683
- 170, 256, 94, nil, nil, nil, -30, 342, 428, 514,
684
- 600, 686, nil, nil, nil, nil, nil, nil, nil, nil,
683
+ 776, 37, nil, nil, 7376, 34, nil, -1, 49, 8983,
684
+ -2, 6058, 200, nil, nil, nil, 249, 4658, 3626, 4572,
685
+ 4744, 6144, nil, nil, nil, nil, nil, nil, nil, nil,
685
686
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
686
- nil, nil, nil, nil, nil, nil, nil, nil, 110, 772,
687
- 7, -25, 82, 862, 948, 1034, 66, 145, 188, 150,
688
- 114, 313, 151, 196, 234, 265, 124, nil, nil, nil,
689
- 1124, 1214, 1304, nil, nil, nil, 1394, nil, 71, 93,
690
- nil, 1480, nil, 181, 1566, 171, 1652, 1738, 1824, 1910,
691
- 1996, 2082, 2168, 2254, 2340, 2430, 2516, 2602, 2688, 2774,
692
- 2860, 2946, 3032, 3118, 3204, 3290, 3376, 3462, 3548, 3634,
693
- 3720, 3806, 3892, 3978, 4064, nil, -13, 182, 4154, 4240,
694
- 197, 210, 4326, 336, nil, nil, nil, nil, nil, nil,
695
- 152, nil, nil, 202, 180, 349, 521, 212, 223, 255,
696
- nil, nil, 258, 223, 93, 230, 309, 231, 314, nil,
697
- nil, nil, nil, 326, nil, 11, nil, 276, 194, 4412,
698
- 8469, nil, 8527, 8585, 340, 364, 236, 368, 4502, 347,
699
- nil, 343, nil, nil, nil, nil, nil, nil, nil, nil,
700
- 377, 1, 358, nil, nil, 362, nil, 368, nil, 92,
701
- nil, nil, nil, nil, 404, nil, nil, 302, 4588, 280,
702
- 8640, 4674, nil, 372, nil, nil, nil, nil, 389, 397,
703
- 406, 407, 8708, 406, 4764, -1, 5, -9, 220, 4850,
704
- 4936, 5022, nil, nil, 6, 237, 286, 95, 413, 399,
705
- 323, 7, 15, nil, nil, nil, nil, nil, nil, nil,
706
- nil, 607, 5, 91, 8684, 8752, 1059, 2428, 4152, 8769,
707
- 8786, 8814, 8831, 8876, 8893, 8938, 8955, 9010, 9056, 9111,
708
- nil, nil, 5108, 9169, 410, nil, nil, nil, nil, 9697,
709
- 9224, 375, nil, 414, 396, 9279, nil, 401, nil, 176,
710
- 262, 433, nil, nil, 5194, 415, nil, 5284, 5374, 5464,
711
- 395, 438, 398, nil, nil, 436, nil, nil, nil, nil,
712
- nil, 435, 415, -35, nil, -7, nil, 5550, 5636, 5722,
713
- 447, 448, 450, 451, 452, nil, 428, 485, 71, 410,
714
- 157, nil, nil, 468, 5808, 469, nil, 5898, nil, nil,
715
- nil, nil, 5988, nil, nil, nil, nil, 467, nil, nil,
716
- nil, nil, 469, 473, 9755, 474, 9813, 6074, 6160, 6246,
717
- 6332, 476, nil, 482, 6418, 479, nil, 482, nil, nil,
687
+ nil, nil, nil, nil, nil, nil, nil, nil, 274, 6844,
688
+ 138, -1, 51, 7548, 7806, 7978, 237, 267, -68, 286,
689
+ 97, 661, 323, 278, 234, 326, 175, nil, nil, nil,
690
+ 7200, 6934, 6668, nil, nil, nil, 6406, nil, 121, 129,
691
+ nil, 5972, nil, 219, 5006, 210, 4400, 4056, 3712, 3364,
692
+ 2414, 2242, 1206, 1034, 5264, 3970, 5178, 5354, 6582, 342,
693
+ 428, 948, 1120, 1636, 1722, 1898, 1984, 2070, 2328, 2500,
694
+ 2586, 2758, 2930, 3016, 3188, nil, 15, 217, 3798, 3884,
695
+ 224, 238, 4920, 254, nil, nil, nil, nil, nil, nil,
696
+ 12, nil, nil, 349, 228, 435, 605, 223, 246, 265,
697
+ nil, nil, 282, 232, 82, 114, 299, 95, 299, nil,
698
+ nil, nil, nil, 311, nil, 118, nil, 265, 366, 8150,
699
+ 8757, nil, 8870, 8928, 382, 127, 234, 364, 862, 317,
700
+ nil, 312, nil, nil, nil, nil, nil, nil, nil, nil,
701
+ 384, 1, 340, nil, nil, 348, nil, 351, nil, 130,
702
+ nil, nil, nil, nil, 281, nil, nil, 265, 604, -31,
703
+ 9038, 514, nil, 358, nil, nil, nil, nil, 365, 372,
704
+ 376, 389, 9106, 391, 8064, 47, 17, -9, -16, 7892,
705
+ 7462, 7290, nil, nil, 103, 142, 144, 58, 397, 313,
706
+ 145, 111, 49, nil, nil, nil, nil, nil, nil, nil,
707
+ nil, 521, 5, 91, 8371, 9082, 4918, 3624, 1896, 9150,
708
+ 9167, 9211, 9228, 9273, 9290, 9335, 9352, 9407, 9453, 9508,
709
+ nil, nil, 7024, 9566, 399, nil, nil, nil, nil, 9999,
710
+ 9621, 370, nil, 398, 380, 9676, nil, 400, nil, 194,
711
+ 262, 431, nil, nil, 5796, 415, nil, 5706, 5530, 5092,
712
+ 395, 437, 397, nil, nil, 435, nil, nil, nil, nil,
713
+ nil, 433, 413, -35, nil, 172, nil, 3278, 2844, 2672,
714
+ 442, 443, 444, 448, 449, nil, 421, 399, 61, 406,
715
+ 345, nil, nil, 463, 5440, 468, nil, 8240, nil, nil,
716
+ nil, nil, 170, nil, nil, nil, nil, 464, nil, nil,
717
+ nil, nil, 468, 471, 9883, 474, 9825, 1292, 1378, 1464,
718
+ 1550, 474, nil, 480, 1808, 476, nil, 478, nil, nil,
718
719
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
719
- nil, nil, nil, nil, 485, 6508, 9871, 487, nil, 408,
720
- nil, 484, nil, 485, 9929, nil, 428, nil, 86, 491,
721
- 493, nil, 6594, 498, 436, -28, 6680, nil, nil, 6766,
722
- nil, 499, 275, 500, 490, 9334, 93, 6856, nil, 6942,
723
- 7028, 9987, 7114, nil, 516, nil, 833, nil, nil, 517,
724
- nil, 7200, nil, nil, nil, nil, nil, nil, 457, 330,
725
- 518, nil, nil, 9389, 9444, 9499, 9554, 522, 7290, nil,
726
- nil, 523, nil, nil, 521, 7376, nil, nil, nil, 507,
727
- 508, 524, nil, 7462, nil, nil, 7552, 528, nil, 7638,
728
- nil, nil, 9609, 323, nil, 7728, 530, 509, nil, 536,
729
- 7814, 537, nil, nil, 543, nil, nil, 547, 549, 553,
730
- 7900, nil, 7986, 553, nil, nil, 557, 527, nil, nil,
731
- nil, nil, 563, nil, nil, 564, 565, nil, 172, nil,
732
- nil, 8072, nil, 8158, 9664, 8244, nil, nil, 566, nil,
733
- 567, nil, 568, 572, nil, 8330, nil, nil, nil, nil,
734
- 571, nil, 572, nil, 573, nil, nil, nil, nil, nil,
735
- nil, 541, nil, nil, nil, nil ]
720
+ nil, nil, nil, nil, 481, 2156, 9709, 483, nil, 187,
721
+ nil, 481, nil, 482, 9941, nil, 424, nil, 191, 487,
722
+ 489, nil, 3102, 493, 429, -28, 3450, nil, nil, 3536,
723
+ nil, 492, 323, 495, 474, 8424, 168, 4142, nil, 4228,
724
+ 4314, 9767, 4486, nil, 500, nil, 919, nil, nil, 501,
725
+ nil, 4830, nil, nil, nil, nil, nil, nil, 453, 313,
726
+ 513, nil, nil, 8479, 8534, 8589, 8644, 517, 5620, nil,
727
+ nil, 519, nil, nil, 517, 5886, nil, nil, nil, 503,
728
+ 504, 520, nil, 6230, nil, nil, 6320, 524, nil, 6492,
729
+ nil, nil, 8699, 71, nil, 6758, 526, 502, nil, 528,
730
+ 7110, 529, nil, nil, 529, nil, nil, 533, 532, 536,
731
+ 7634, nil, 7720, 537, nil, nil, 543, 514, nil, nil,
732
+ nil, nil, 552, nil, nil, 553, 556, nil, 205, nil,
733
+ nil, 8330, nil, 84, 8812, 256, nil, nil, 557, nil,
734
+ 560, nil, 563, 566, nil, 690, nil, nil, nil, nil,
735
+ 565, nil, 566, nil, 567, nil, nil, nil, nil, nil,
736
+ nil, -30, nil, nil, nil, nil ]
736
737
 
737
738
  racc_action_default = [
738
739
  -3, -298, -1, -2, -4, -5, -8, -10, -18, -23,
@@ -794,8 +795,8 @@ racc_goto_table = [
794
795
  2, 274, 174, 172, 141, 264, 133, 135, 136, 124,
795
796
  191, 137, 138, 213, 156, 153, 261, 374, 339, 272,
796
797
  272, 154, 335, 291, 142, 193, 440, 321, 185, 185,
797
- 295, 417, 85, 130, 408, 1, 120, 121, 271, 273,
798
- 139, 468, 160, 162, 163, 182, 187, 3, 486, 464,
798
+ 295, 417, 85, 130, 408, 333, 120, 121, 182, 187,
799
+ 139, 468, 160, 162, 163, 271, 273, 3, 486, 464,
799
800
  443, 260, 266, 164, 165, 322, 124, 391, 293, 180,
800
801
  500, 139, 139, 192, 407, 524, 351, 195, 432, 167,
801
802
  200, 337, 377, 446, 414, 166, 418, 204, 205, 206,
@@ -803,7 +804,7 @@ racc_goto_table = [
803
804
  247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
804
805
  257, 258, 259, 263, 502, 192, 286, 270, 270, 153,
805
806
  499, 275, 203, 389, 141, 154, 208, 209, 210, 211,
806
- 397, 474, 477, 153, 479, 440, 387, 281, 423, 333,
807
+ 397, 474, 477, 153, 479, 440, 387, 281, 423, 1,
807
808
  481, 124, 473, 277, 305, 334, 331, 332, 330, 191,
808
809
  196, 198, 165, nil, 180, nil, 320, nil, nil, nil,
809
810
  139, 381, 383, nil, nil, nil, nil, 492, nil, nil,
@@ -856,8 +857,8 @@ racc_goto_check = [
856
857
  2, 15, 46, 47, 8, 24, 12, 12, 12, 71,
857
858
  9, 6, 6, 13, 50, 48, 64, 16, 107, 63,
858
859
  63, 88, 90, 54, 10, 100, 25, 45, 95, 95,
859
- 56, 80, 5, 74, 61, 1, 11, 11, 67, 67,
860
- 6, 59, 12, 12, 12, 91, 91, 3, 14, 58,
860
+ 56, 80, 5, 74, 61, 96, 11, 11, 91, 91,
861
+ 6, 59, 12, 12, 12, 67, 67, 3, 14, 58,
861
862
  18, 23, 9, 71, 71, 44, 71, 55, 63, 71,
862
863
  57, 6, 6, 6, 60, 62, 65, 6, 68, 75,
863
864
  12, 56, 76, 77, 79, 74, 82, 6, 6, 6,
@@ -865,7 +866,7 @@ racc_goto_check = [
865
866
  12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
866
867
  12, 12, 12, 12, 59, 6, 50, 12, 12, 48,
867
868
  58, 12, 5, 90, 8, 88, 11, 11, 11, 11,
868
- 86, 73, 73, 48, 73, 25, 93, 71, 94, 96,
869
+ 86, 73, 73, 48, 73, 25, 93, 71, 94, 1,
869
870
  80, 71, 61, 72, 10, 97, 101, 102, 104, 9,
870
871
  105, 106, 71, nil, 71, nil, 48, nil, nil, nil,
871
872
  6, 56, 56, nil, nil, nil, nil, 73, nil, nil,
@@ -915,16 +916,16 @@ racc_goto_check = [
915
916
  nil, nil, 17, nil, nil, nil, nil, 17 ]
916
917
 
917
918
  racc_goto_pointer = [
918
- nil, 35, 0, 47, nil, 28, -9, nil, -45, -62,
919
+ nil, 129, 0, 47, nil, 28, -9, nil, -45, -62,
919
920
  -25, 26, -11, -81, -382, -121, -257, 114, -325, nil,
920
921
  nil, nil, nil, -62, -109, -328, nil, nil, nil, nil,
921
922
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
922
923
  nil, nil, nil, nil, -126, -154, -59, -58, -35, nil,
923
924
  -37, nil, nil, nil, -134, -234, -128, -405, -353, -363,
924
- -245, -275, -440, -99, -97, -196, nil, -80, -278, nil,
925
+ -245, -275, -440, -99, -97, -196, nil, -73, -278, nil,
925
926
  nil, -3, 10, -288, 17, 10, -205, -306, nil, -242,
926
927
  -286, nil, -242, -314, -221, nil, -182, nil, -29, nil,
927
- -176, -25, nil, -161, -196, -42, -68, -62, nil, nil,
928
+ -176, -32, nil, -161, -196, -42, -162, -62, nil, nil,
928
929
  -51, -58, -57, nil, -56, 62, 62, -182 ]
929
930
 
930
931
  racc_goto_default = [
@@ -3158,14 +3159,14 @@ module_eval(<<'.,.,', 'egrammar.ra', 845)
3158
3159
 
3159
3160
  module_eval(<<'.,.,', 'egrammar.ra', 848)
3160
3161
  def _reduce_256(val, _values, result)
3161
- result = Factory.SUBLOCATE(val[0], val[1]); loc result, val[0]
3162
+ result = Factory.SUBLOCATE(val[0], val[1]);
3162
3163
  result
3163
3164
  end
3164
3165
  .,.,
3165
3166
 
3166
3167
  module_eval(<<'.,.,', 'egrammar.ra', 849)
3167
3168
  def _reduce_257(val, _values, result)
3168
- result = Factory.SUBLOCATE(val[0], val[1]); loc result, val[0]
3169
+ result = Factory.SUBLOCATE(val[0], val[1]);
3169
3170
  result
3170
3171
  end
3171
3172
  .,.,