graphql 1.8.0.pre4 → 1.8.0.pre5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/graphql/base_type.rb +10 -27
- data/lib/graphql/compatibility/query_parser_specification.rb +7 -0
- data/lib/graphql/field.rb +3 -3
- data/lib/graphql/internal_representation/node.rb +32 -13
- data/lib/graphql/internal_representation/visit.rb +3 -6
- data/lib/graphql/language.rb +1 -0
- data/lib/graphql/language/block_string.rb +47 -0
- data/lib/graphql/language/lexer.rb +129 -68
- data/lib/graphql/language/lexer.rl +13 -4
- data/lib/graphql/language/nodes.rb +6 -3
- data/lib/graphql/language/printer.rb +1 -1
- data/lib/graphql/language/token.rb +1 -1
- data/lib/graphql/query.rb +1 -1
- data/lib/graphql/relay.rb +1 -0
- data/lib/graphql/relay/connection_type.rb +5 -3
- data/lib/graphql/relay/edge_type.rb +2 -1
- data/lib/graphql/relay/type_extensions.rb +30 -0
- data/lib/graphql/schema.rb +25 -0
- data/lib/graphql/schema/build_from_definition.rb +2 -0
- data/lib/graphql/schema/field.rb +3 -0
- data/lib/graphql/schema/finder.rb +153 -0
- data/lib/graphql/schema/member.rb +3 -1
- data/lib/graphql/schema/printer.rb +1 -1
- data/lib/graphql/static_validation/rules/fields_will_merge.rb +15 -8
- data/lib/graphql/static_validation/rules/variables_are_used_and_defined.rb +11 -1
- data/lib/graphql/tracing/data_dog_tracing.rb +13 -9
- data/lib/graphql/upgrader/member.rb +19 -8
- data/lib/graphql/version.rb +1 -1
- data/spec/graphql/backtrace_spec.rb +10 -0
- data/spec/graphql/directive_spec.rb +3 -1
- data/spec/graphql/language/block_string_spec.rb +70 -0
- data/spec/graphql/language/lexer_spec.rb +9 -0
- data/spec/graphql/query_spec.rb +1 -1
- data/spec/graphql/schema/field_spec.rb +8 -0
- data/spec/graphql/schema/finder_spec.rb +135 -0
- data/spec/graphql/schema/printer_spec.rb +48 -5
- data/spec/graphql/schema_spec.rb +7 -0
- data/spec/graphql/upgrader/member_spec.rb +25 -0
- metadata +23 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f08af6fe85ac8b3665acc0a2b8a38ab165dd418a
|
4
|
+
data.tar.gz: f4be355d3ba05a0566ff508d4f00621acafa0f77
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0a6b65f5db04ad1c127e3328d0ab5dce93430cfb20f6be9cf08e95e9cfbf681d653a1d1277a81347dbbf04d95541010956d7711f14a865bc9e00bad16db62a78
|
7
|
+
data.tar.gz: e5f307b33f3136c71fcd538a9e5e957271bf1a0aaf622287e0e991a5e1a0d3dbc23621df0307332ed3af4840e80eee8b5b3f2ee94deec3f274dadfe3c1eadb72
|
data/lib/graphql/base_type.rb
CHANGED
@@ -1,9 +1,13 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
require "graphql/relay/type_extensions"
|
3
|
+
|
2
4
|
module GraphQL
|
3
5
|
# The parent for all type classes.
|
4
6
|
class BaseType
|
5
7
|
include GraphQL::Define::NonNullWithBang
|
6
8
|
include GraphQL::Define::InstanceDefinable
|
9
|
+
include GraphQL::Relay::TypeExtensions
|
10
|
+
|
7
11
|
accepts_definitions :name, :description,
|
8
12
|
:introspection,
|
9
13
|
:default_scalar,
|
@@ -60,12 +64,9 @@ module GraphQL
|
|
60
64
|
|
61
65
|
# @param other [GraphQL::BaseType] compare to this object
|
62
66
|
# @return [Boolean] are these types equivalent? (incl. non-null, list)
|
67
|
+
# @see {ModifiesAnotherType#==} for override on List & NonNull types
|
63
68
|
def ==(other)
|
64
|
-
|
65
|
-
self.to_s == other.to_s
|
66
|
-
else
|
67
|
-
super
|
68
|
-
end
|
69
|
+
other.is_a?(GraphQL::BaseType) && self.name == other.name
|
69
70
|
end
|
70
71
|
|
71
72
|
# If this type is modifying an underlying type,
|
@@ -88,6 +89,10 @@ module GraphQL
|
|
88
89
|
def unwrap
|
89
90
|
self.of_type.unwrap
|
90
91
|
end
|
92
|
+
|
93
|
+
def ==(other)
|
94
|
+
other.is_a?(ModifiesAnotherType) && other.of_type == of_type
|
95
|
+
end
|
91
96
|
end
|
92
97
|
|
93
98
|
# Find out which possible type to use for `value`.
|
@@ -184,28 +189,6 @@ module GraphQL
|
|
184
189
|
end
|
185
190
|
end
|
186
191
|
|
187
|
-
# @return [GraphQL::ObjectType] The default connection type for this object type
|
188
|
-
def connection_type
|
189
|
-
@connection_type ||= define_connection
|
190
|
-
end
|
191
|
-
|
192
|
-
# Define a custom connection type for this object type
|
193
|
-
# @return [GraphQL::ObjectType]
|
194
|
-
def define_connection(**kwargs, &block)
|
195
|
-
GraphQL::Relay::ConnectionType.create_type(self, **kwargs, &block)
|
196
|
-
end
|
197
|
-
|
198
|
-
# @return [GraphQL::ObjectType] The default edge type for this object type
|
199
|
-
def edge_type
|
200
|
-
@edge_type ||= define_edge
|
201
|
-
end
|
202
|
-
|
203
|
-
# Define a custom edge type for this object type
|
204
|
-
# @return [GraphQL::ObjectType]
|
205
|
-
def define_edge(**kwargs, &block)
|
206
|
-
GraphQL::Relay::EdgeType.create_type(self, **kwargs, &block)
|
207
|
-
end
|
208
|
-
|
209
192
|
# Return a GraphQL string for the type definition
|
210
193
|
# @param schema [GraphQL::Schema]
|
211
194
|
# @param printer [GraphQL::Schema::Printer]
|
@@ -67,6 +67,10 @@ module GraphQL
|
|
67
67
|
nullValue: null
|
68
68
|
nullValueInObject: {a: null, b: "b"}
|
69
69
|
nullValueInArray: ["a", null, "b"]
|
70
|
+
blockString: """
|
71
|
+
Hello,
|
72
|
+
World
|
73
|
+
"""
|
70
74
|
)
|
71
75
|
}
|
72
76
|
|
|
@@ -100,6 +104,9 @@ module GraphQL
|
|
100
104
|
assert_equal 'a', values[0]
|
101
105
|
assert_instance_of GraphQL::Language::Nodes::NullValue, values[1]
|
102
106
|
assert_equal 'b', values[2]
|
107
|
+
|
108
|
+
block_str_value = inputs[12].value
|
109
|
+
assert_equal "Hello,\n World", block_str_value
|
103
110
|
end
|
104
111
|
|
105
112
|
def test_it_doesnt_parse_nonsense_variables
|
data/lib/graphql/field.rb
CHANGED
@@ -102,7 +102,7 @@ module GraphQL
|
|
102
102
|
# @example Calculating the complexity of a list field
|
103
103
|
# field :items, types[ItemType] do
|
104
104
|
# argument :limit, !types.Int
|
105
|
-
# #
|
105
|
+
# # Multiply the child complexity by the possible items on the list
|
106
106
|
# complexity ->(ctx, args, child_complexity) { child_complexity * args[:limit] }
|
107
107
|
# end
|
108
108
|
#
|
@@ -289,8 +289,8 @@ module GraphQL
|
|
289
289
|
"<Field name:#{name || "not-named"} desc:#{description} resolve:#{resolve_proc}>"
|
290
290
|
end
|
291
291
|
|
292
|
-
# If {#resolve} returned
|
293
|
-
# this method will be called later force the object to return its value.
|
292
|
+
# If {#resolve} returned an object which should be handled lazily,
|
293
|
+
# this method will be called later to force the object to return its value.
|
294
294
|
# @param obj [Object] The {#resolve}-provided object, registered with {Schema#lazy_resolve}
|
295
295
|
# @param args [GraphQL::Query::Arguments] Arguments to this field
|
296
296
|
# @param ctx [GraphQL::Query::Context] Context for this field
|
@@ -4,6 +4,19 @@ module GraphQL
|
|
4
4
|
class Node
|
5
5
|
# @api private
|
6
6
|
DEFAULT_TYPED_CHILDREN = Proc.new { |h, k| h[k] = {} }
|
7
|
+
|
8
|
+
# A specialized, reusable object for leaf nodes.
|
9
|
+
# Behaves like a Hash, but doesn't copy itself.
|
10
|
+
# @api private
|
11
|
+
class NoTypedChildren
|
12
|
+
CHILDREN = [].freeze
|
13
|
+
def dup; self; end
|
14
|
+
def any?; false; end
|
15
|
+
def [](key); CHILDREN; end
|
16
|
+
def each; end
|
17
|
+
end
|
18
|
+
NO_TYPED_CHILDREN = NoTypedChildren.new
|
19
|
+
|
7
20
|
# @return [String] the name this node has in the response
|
8
21
|
attr_reader :name
|
9
22
|
|
@@ -17,8 +30,8 @@ module GraphQL
|
|
17
30
|
# @return [Hash<GraphQL::ObjectType, Hash<String => Node>>]
|
18
31
|
def typed_children
|
19
32
|
@typed_children ||= begin
|
20
|
-
new_tc = Hash.new(&DEFAULT_TYPED_CHILDREN)
|
21
33
|
if @scoped_children.any?
|
34
|
+
new_tc = Hash.new(&DEFAULT_TYPED_CHILDREN)
|
22
35
|
all_object_types = Set.new
|
23
36
|
scoped_children.each_key { |t| all_object_types.merge(@query.possible_types(t)) }
|
24
37
|
# Remove any scoped children which don't follow this return type
|
@@ -27,8 +40,11 @@ module GraphQL
|
|
27
40
|
all_object_types.each do |t|
|
28
41
|
new_tc[t] = get_typed_children(t)
|
29
42
|
end
|
43
|
+
new_tc
|
44
|
+
else
|
45
|
+
NO_TYPED_CHILDREN
|
30
46
|
end
|
31
|
-
|
47
|
+
|
32
48
|
end
|
33
49
|
end
|
34
50
|
|
@@ -125,17 +141,20 @@ module GraphQL
|
|
125
141
|
@ast_nodes |= new_parent.ast_nodes
|
126
142
|
@definitions |= new_parent.definitions
|
127
143
|
end
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
prev_node
|
137
|
-
|
138
|
-
|
144
|
+
new_sc = new_parent.scoped_children
|
145
|
+
if new_sc.any?
|
146
|
+
scope ||= Scope.new(@query, @return_type.unwrap)
|
147
|
+
new_sc.each do |obj_type, new_fields|
|
148
|
+
inner_scope = scope.enter(obj_type)
|
149
|
+
inner_scope.each do |scoped_type|
|
150
|
+
prev_fields = @scoped_children[scoped_type]
|
151
|
+
new_fields.each do |name, new_node|
|
152
|
+
prev_node = prev_fields[name]
|
153
|
+
if prev_node
|
154
|
+
prev_node.deep_merge_node(new_node)
|
155
|
+
else
|
156
|
+
prev_fields[name] = new_node
|
157
|
+
end
|
139
158
|
end
|
140
159
|
end
|
141
160
|
end
|
@@ -24,12 +24,9 @@ module GraphQL
|
|
24
24
|
# visiting the node itself and each of its typed children.
|
25
25
|
def each_node(node)
|
26
26
|
yield(node)
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
children.each do |name, node|
|
31
|
-
each_node(node, &visit_block)
|
32
|
-
end
|
27
|
+
node.typed_children.each do |obj_type, children|
|
28
|
+
children.each do |name, node|
|
29
|
+
each_node(node) { |n| yield(n) }
|
33
30
|
end
|
34
31
|
end
|
35
32
|
end
|
data/lib/graphql/language.rb
CHANGED
@@ -0,0 +1,47 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
module GraphQL
|
3
|
+
module Language
|
4
|
+
module BlockString
|
5
|
+
# Remove leading and trailing whitespace from a block string.
|
6
|
+
# See "Block Strings" in https://github.com/facebook/graphql/blob/master/spec/Section%202%20--%20Language.md
|
7
|
+
def self.trim_whitespace(str)
|
8
|
+
lines = str.split("\n")
|
9
|
+
common_indent = nil
|
10
|
+
|
11
|
+
# find the common whitespace
|
12
|
+
lines.each_with_index do |line, idx|
|
13
|
+
if idx == 0
|
14
|
+
next
|
15
|
+
end
|
16
|
+
line_length = line.size
|
17
|
+
line_indent = line[/\A */].size
|
18
|
+
if line_indent < line_length && (common_indent.nil? || line_indent < common_indent)
|
19
|
+
common_indent = line_indent
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
# Remove the common whitespace
|
24
|
+
if common_indent
|
25
|
+
lines.each_with_index do |line, idx|
|
26
|
+
if idx == 0
|
27
|
+
next
|
28
|
+
else
|
29
|
+
line[0, common_indent] = ""
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
# Remove leading & trailing blank lines
|
35
|
+
while lines.first.empty?
|
36
|
+
lines.shift
|
37
|
+
end
|
38
|
+
while lines.last.empty?
|
39
|
+
lines.pop
|
40
|
+
end
|
41
|
+
|
42
|
+
# Rebuild the string
|
43
|
+
lines.join("\n")
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
@@ -20,7 +20,7 @@ class << self
|
|
20
20
|
private :_graphql_lexer_trans_keys, :_graphql_lexer_trans_keys=
|
21
21
|
end
|
22
22
|
self._graphql_lexer_trans_keys = [
|
23
|
-
4, 20, 4, 20, 12, 13, 12, 13, 9, 13, 11, 11, 0, 45, 0, 0, 4, 20, 1, 1, 12, 13, 9, 26, 12, 13, 9, 26, 9, 26, 11, 11, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 0 ,
|
23
|
+
4, 20, 4, 20, 4, 4, 4, 4, 4, 4, 12, 13, 12, 13, 9, 13, 11, 11, 0, 45, 0, 0, 4, 20, 4, 20, 4, 4, 4, 4, 1, 1, 12, 13, 9, 26, 12, 13, 9, 26, 9, 26, 11, 11, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 0 ,
|
24
24
|
]
|
25
25
|
|
26
26
|
class << self
|
@@ -36,7 +36,7 @@ class << self
|
|
36
36
|
private :_graphql_lexer_index_offsets, :_graphql_lexer_index_offsets=
|
37
37
|
end
|
38
38
|
self._graphql_lexer_index_offsets = [
|
39
|
-
0, 17, 34, 36,
|
39
|
+
0, 17, 34, 35, 36, 37, 39, 41, 46, 47, 93, 94, 111, 128, 129, 130, 131, 133, 151, 153, 171, 189, 190, 221, 252, 283, 314, 345, 376, 407, 438, 469, 500, 531, 562, 593, 624, 655, 686, 717, 748, 779, 810, 841, 872, 903, 934, 965, 996, 1027, 1058, 1089, 1120, 1151, 1182, 1213, 1244, 1275, 1306, 1337, 1368, 1399, 1430, 1461, 1492, 1523, 1554, 1585, 1616, 1647, 1678, 1709, 1740, 1771, 1802, 1833, 1864, 1895, 1926, 1957, 1988, 2019, 2050, 2081, 2112, 2143, 2174, 2205, 2236, 2267, 2298, 2329, 2360, 2391, 2422, 2453, 2484, 2515, 2546, 2577, 2608, 2639, 2670, 2701, 0 ,
|
40
40
|
]
|
41
41
|
|
42
42
|
class << self
|
@@ -44,7 +44,7 @@ class << self
|
|
44
44
|
private :_graphql_lexer_indicies, :_graphql_lexer_indicies=
|
45
45
|
end
|
46
46
|
self._graphql_lexer_indicies = [
|
47
|
-
2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 5, 5, 7, 7, 8, 8, 0, 5, 5, 10, 12, 13, 11, 14, 15, 16, 17, 18, 19, 11, 20, 21, 22, 23, 24, 25, 26, 27, 27, 28, 11, 29, 27, 27, 27, 30, 31, 32, 27, 27, 33, 27, 34, 35, 36, 27, 37, 27, 38, 39, 40, 27, 27, 41, 42, 43, 12, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 45, 22, 23, 8, 8, 48, 5, 5, 47, 47, 47, 47, 49, 47, 47, 47, 47, 47, 47, 47, 49, 5, 5, 8, 8, 50, 7, 7, 50, 50, 50, 50, 49, 50, 50, 50, 50, 50, 50, 50, 49, 8, 8, 48, 23, 23, 47, 47, 47, 47, 49, 47, 47, 47, 47, 47, 47, 47, 49, 51, 27, 27, 0, 0, 0, 27, 27, 0, 0, 0, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 53, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 54, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 55, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 56, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 57, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 58, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 59, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 60, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 61, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 62, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 63, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 64, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 65, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 66, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 67, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 68, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 69, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 70, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 71, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 72, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 73, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 74, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 75, 76, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 77, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 78, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 79, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 80, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 81, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 82, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 83, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 84, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 85, 27, 27, 27, 86, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 87, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 88, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 89, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 90, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 91, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 92, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 93, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 94, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 95, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 96, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 97, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 98, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 99, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 100, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 101, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 102, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 103, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 104, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 105, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 106, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 107, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 108, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 109, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 110, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 111, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 112, 27, 27, 27, 27, 27, 27, 113, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 114, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 115, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 116, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 117, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 118, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 119, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 120, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 121, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 122, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 123, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 124, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 125, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 126, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 127, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 128, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 129, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 130, 27, 27, 27, 27, 131, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 132, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 133, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 134, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 135, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 136, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 137, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 138, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 139, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0 ,
|
47
|
+
2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 6, 7, 8, 9, 9, 11, 11, 12, 12, 0, 9, 9, 14, 16, 17, 15, 18, 19, 20, 21, 22, 23, 15, 24, 25, 26, 27, 28, 29, 30, 31, 31, 32, 15, 33, 31, 31, 31, 34, 35, 36, 31, 31, 37, 31, 38, 39, 40, 31, 41, 31, 42, 43, 44, 31, 31, 45, 46, 47, 16, 50, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 5, 8, 53, 26, 27, 12, 12, 55, 9, 9, 54, 54, 54, 54, 56, 54, 54, 54, 54, 54, 54, 54, 56, 9, 9, 12, 12, 57, 11, 11, 57, 57, 57, 57, 56, 57, 57, 57, 57, 57, 57, 57, 56, 12, 12, 55, 27, 27, 54, 54, 54, 54, 56, 54, 54, 54, 54, 54, 54, 54, 56, 58, 31, 31, 0, 0, 0, 31, 31, 0, 0, 0, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 60, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 61, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 62, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 63, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 64, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 65, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 66, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 67, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 68, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 69, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 70, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 71, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 72, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 73, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 74, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 75, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 76, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 77, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 78, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 79, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 80, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 81, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 82, 83, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 84, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 85, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 86, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 87, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 88, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 89, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 90, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 91, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 92, 31, 31, 31, 93, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 94, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 95, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 96, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 97, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 98, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 99, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 100, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 101, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 102, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 103, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 104, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 105, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 106, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 107, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 108, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 109, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 110, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 111, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 112, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 113, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 114, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 115, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 116, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 117, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 118, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 119, 31, 31, 31, 31, 31, 31, 120, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 121, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 122, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 123, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 124, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 125, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 126, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 127, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 128, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 129, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 130, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 131, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 132, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 133, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 134, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 135, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 136, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 137, 31, 31, 31, 31, 138, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 139, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 140, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 141, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 142, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 143, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 144, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 145, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 59, 59, 59, 31, 31, 59, 59, 59, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 146, 31, 31, 31, 31, 31, 31, 31, 31, 31, 0 ,
|
48
48
|
]
|
49
49
|
|
50
50
|
class << self
|
@@ -52,7 +52,7 @@ class << self
|
|
52
52
|
private :_graphql_lexer_index_defaults, :_graphql_lexer_index_defaults=
|
53
53
|
end
|
54
54
|
self._graphql_lexer_index_defaults = [
|
55
|
-
1, 1, 0,
|
55
|
+
1, 1, 5, 5, 5, 0, 10, 0, 13, 15, 48, 1, 1, 51, 5, 20, 49, 54, 57, 57, 54, 49, 0, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 0 ,
|
56
56
|
]
|
57
57
|
|
58
58
|
class << self
|
@@ -60,7 +60,7 @@ class << self
|
|
60
60
|
private :_graphql_lexer_trans_cond_spaces, :_graphql_lexer_trans_cond_spaces=
|
61
61
|
end
|
62
62
|
self._graphql_lexer_trans_cond_spaces = [
|
63
|
-
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0 ,
|
63
|
+
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0 ,
|
64
64
|
]
|
65
65
|
|
66
66
|
class << self
|
@@ -68,7 +68,7 @@ class << self
|
|
68
68
|
private :_graphql_lexer_cond_targs, :_graphql_lexer_cond_targs=
|
69
69
|
end
|
70
70
|
self._graphql_lexer_cond_targs = [
|
71
|
-
|
71
|
+
9, 0, 9, 1, 12, 2, 3, 4, 14, 18, 9, 19, 5, 9, 9, 9, 10, 9, 9, 11, 15, 9, 9, 9, 16, 21, 17, 20, 9, 9, 9, 22, 9, 9, 23, 31, 34, 44, 62, 69, 72, 73, 77, 95, 100, 9, 9, 9, 9, 9, 13, 9, 9, 9, 9, 6, 7, 9, 8, 9, 24, 25, 26, 27, 28, 29, 30, 22, 32, 33, 22, 35, 38, 36, 37, 22, 39, 40, 41, 42, 43, 22, 45, 53, 46, 47, 48, 49, 50, 51, 52, 22, 54, 56, 55, 22, 57, 58, 59, 60, 61, 22, 63, 64, 65, 66, 67, 68, 22, 70, 71, 22, 22, 74, 75, 76, 22, 78, 85, 79, 82, 80, 81, 22, 83, 84, 22, 86, 87, 88, 89, 90, 91, 92, 93, 94, 22, 96, 98, 97, 22, 99, 22, 101, 102, 103, 22, 0 ,
|
72
72
|
]
|
73
73
|
|
74
74
|
class << self
|
@@ -76,7 +76,7 @@ class << self
|
|
76
76
|
private :_graphql_lexer_cond_actions, :_graphql_lexer_cond_actions=
|
77
77
|
end
|
78
78
|
self._graphql_lexer_cond_actions = [
|
79
|
-
1, 0, 2, 0, 3, 0,
|
79
|
+
1, 0, 2, 0, 3, 0, 0, 0, 4, 0, 5, 6, 0, 7, 8, 11, 0, 12, 13, 14, 0, 15, 16, 17, 0, 18, 19, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 27, 28, 29, 30, 3, 31, 32, 33, 34, 0, 0, 35, 0, 36, 0, 0, 0, 0, 0, 0, 0, 37, 0, 0, 38, 0, 0, 0, 0, 39, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 42, 0, 0, 0, 0, 0, 43, 0, 0, 0, 0, 0, 0, 44, 0, 0, 45, 46, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 48, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, 0, 0, 51, 0, 52, 0, 0, 0, 53, 0 ,
|
80
80
|
]
|
81
81
|
|
82
82
|
class << self
|
@@ -84,7 +84,7 @@ class << self
|
|
84
84
|
private :_graphql_lexer_to_state_actions, :_graphql_lexer_to_state_actions=
|
85
85
|
end
|
86
86
|
self._graphql_lexer_to_state_actions = [
|
87
|
-
0, 0, 0, 0, 0, 0,
|
87
|
+
0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ,
|
88
88
|
]
|
89
89
|
|
90
90
|
class << self
|
@@ -92,7 +92,7 @@ class << self
|
|
92
92
|
private :_graphql_lexer_from_state_actions, :_graphql_lexer_from_state_actions=
|
93
93
|
end
|
94
94
|
self._graphql_lexer_from_state_actions = [
|
95
|
-
0, 0, 0, 0, 0, 0,
|
95
|
+
0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ,
|
96
96
|
]
|
97
97
|
|
98
98
|
class << self
|
@@ -100,7 +100,7 @@ class << self
|
|
100
100
|
private :_graphql_lexer_eof_trans, :_graphql_lexer_eof_trans=
|
101
101
|
end
|
102
102
|
self._graphql_lexer_eof_trans = [
|
103
|
-
1, 1, 1,
|
103
|
+
1, 1, 1, 1, 1, 1, 11, 1, 14, 0, 49, 50, 52, 52, 53, 54, 50, 55, 58, 58, 55, 50, 1, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 0 ,
|
104
104
|
]
|
105
105
|
|
106
106
|
class << self
|
@@ -116,7 +116,7 @@ class << self
|
|
116
116
|
private :_graphql_lexer_nfa_offsets, :_graphql_lexer_nfa_offsets=
|
117
117
|
end
|
118
118
|
self._graphql_lexer_nfa_offsets = [
|
119
|
-
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ,
|
119
|
+
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ,
|
120
120
|
]
|
121
121
|
|
122
122
|
class << self
|
@@ -138,12 +138,12 @@ self._graphql_lexer_nfa_pop_trans = [
|
|
138
138
|
class << self
|
139
139
|
attr_accessor :graphql_lexer_start
|
140
140
|
end
|
141
|
-
self.graphql_lexer_start =
|
141
|
+
self.graphql_lexer_start = 9;
|
142
142
|
|
143
143
|
class << self
|
144
144
|
attr_accessor :graphql_lexer_first_final
|
145
145
|
end
|
146
|
-
self.graphql_lexer_first_final =
|
146
|
+
self.graphql_lexer_first_final = 9;
|
147
147
|
|
148
148
|
class << self
|
149
149
|
attr_accessor :graphql_lexer_error
|
@@ -153,7 +153,7 @@ self.graphql_lexer_error = -1;
|
|
153
153
|
class << self
|
154
154
|
attr_accessor :graphql_lexer_en_main
|
155
155
|
end
|
156
|
-
self.graphql_lexer_en_main =
|
156
|
+
self.graphql_lexer_en_main = 9;
|
157
157
|
|
158
158
|
def self.run_lexer(query_string)
|
159
159
|
data = query_string.unpack("c*")
|
@@ -226,7 +226,7 @@ def self.run_lexer(query_string)
|
|
226
226
|
when -2 then
|
227
227
|
begin
|
228
228
|
end
|
229
|
-
when
|
229
|
+
when 10 then
|
230
230
|
begin
|
231
231
|
begin
|
232
232
|
begin
|
@@ -272,7 +272,7 @@ def self.run_lexer(query_string)
|
|
272
272
|
when -2 then
|
273
273
|
begin
|
274
274
|
end
|
275
|
-
when
|
275
|
+
when 18 then
|
276
276
|
begin
|
277
277
|
begin
|
278
278
|
begin
|
@@ -283,7 +283,7 @@ def self.run_lexer(query_string)
|
|
283
283
|
end
|
284
284
|
|
285
285
|
end
|
286
|
-
when
|
286
|
+
when 28 then
|
287
287
|
begin
|
288
288
|
begin
|
289
289
|
begin
|
@@ -297,7 +297,7 @@ def self.run_lexer(query_string)
|
|
297
297
|
end
|
298
298
|
|
299
299
|
end
|
300
|
-
when
|
300
|
+
when 26 then
|
301
301
|
begin
|
302
302
|
begin
|
303
303
|
begin
|
@@ -311,7 +311,7 @@ def self.run_lexer(query_string)
|
|
311
311
|
end
|
312
312
|
|
313
313
|
end
|
314
|
-
when
|
314
|
+
when 17 then
|
315
315
|
begin
|
316
316
|
begin
|
317
317
|
begin
|
@@ -325,7 +325,7 @@ def self.run_lexer(query_string)
|
|
325
325
|
end
|
326
326
|
|
327
327
|
end
|
328
|
-
when
|
328
|
+
when 16 then
|
329
329
|
begin
|
330
330
|
begin
|
331
331
|
begin
|
@@ -339,7 +339,7 @@ def self.run_lexer(query_string)
|
|
339
339
|
end
|
340
340
|
|
341
341
|
end
|
342
|
-
when
|
342
|
+
when 25 then
|
343
343
|
begin
|
344
344
|
begin
|
345
345
|
begin
|
@@ -353,7 +353,7 @@ def self.run_lexer(query_string)
|
|
353
353
|
end
|
354
354
|
|
355
355
|
end
|
356
|
-
when
|
356
|
+
when 24 then
|
357
357
|
begin
|
358
358
|
begin
|
359
359
|
begin
|
@@ -367,7 +367,7 @@ def self.run_lexer(query_string)
|
|
367
367
|
end
|
368
368
|
|
369
369
|
end
|
370
|
-
when
|
370
|
+
when 20 then
|
371
371
|
begin
|
372
372
|
begin
|
373
373
|
begin
|
@@ -387,7 +387,7 @@ def self.run_lexer(query_string)
|
|
387
387
|
begin
|
388
388
|
te = p+1;
|
389
389
|
begin
|
390
|
-
emit_string(ts
|
390
|
+
emit_string(ts, te, meta, block: false)
|
391
391
|
end
|
392
392
|
|
393
393
|
end
|
@@ -395,7 +395,7 @@ def self.run_lexer(query_string)
|
|
395
395
|
end
|
396
396
|
|
397
397
|
end
|
398
|
-
when
|
398
|
+
when 15 then
|
399
399
|
begin
|
400
400
|
begin
|
401
401
|
begin
|
@@ -409,7 +409,7 @@ def self.run_lexer(query_string)
|
|
409
409
|
end
|
410
410
|
|
411
411
|
end
|
412
|
-
when
|
412
|
+
when 22 then
|
413
413
|
begin
|
414
414
|
begin
|
415
415
|
begin
|
@@ -423,7 +423,7 @@ def self.run_lexer(query_string)
|
|
423
423
|
end
|
424
424
|
|
425
425
|
end
|
426
|
-
when
|
426
|
+
when 8 then
|
427
427
|
begin
|
428
428
|
begin
|
429
429
|
begin
|
@@ -437,7 +437,7 @@ def self.run_lexer(query_string)
|
|
437
437
|
end
|
438
438
|
|
439
439
|
end
|
440
|
-
when
|
440
|
+
when 21 then
|
441
441
|
begin
|
442
442
|
begin
|
443
443
|
begin
|
@@ -451,7 +451,7 @@ def self.run_lexer(query_string)
|
|
451
451
|
end
|
452
452
|
|
453
453
|
end
|
454
|
-
when
|
454
|
+
when 13 then
|
455
455
|
begin
|
456
456
|
begin
|
457
457
|
begin
|
@@ -465,7 +465,7 @@ def self.run_lexer(query_string)
|
|
465
465
|
end
|
466
466
|
|
467
467
|
end
|
468
|
-
when
|
468
|
+
when 27 then
|
469
469
|
begin
|
470
470
|
begin
|
471
471
|
begin
|
@@ -479,7 +479,7 @@ def self.run_lexer(query_string)
|
|
479
479
|
end
|
480
480
|
|
481
481
|
end
|
482
|
-
when
|
482
|
+
when 12 then
|
483
483
|
begin
|
484
484
|
begin
|
485
485
|
begin
|
@@ -495,7 +495,7 @@ def self.run_lexer(query_string)
|
|
495
495
|
end
|
496
496
|
|
497
497
|
end
|
498
|
-
when
|
498
|
+
when 11 then
|
499
499
|
begin
|
500
500
|
begin
|
501
501
|
begin
|
@@ -509,7 +509,7 @@ def self.run_lexer(query_string)
|
|
509
509
|
end
|
510
510
|
|
511
511
|
end
|
512
|
-
when
|
512
|
+
when 34 then
|
513
513
|
begin
|
514
514
|
begin
|
515
515
|
begin
|
@@ -524,7 +524,7 @@ def self.run_lexer(query_string)
|
|
524
524
|
end
|
525
525
|
|
526
526
|
end
|
527
|
-
when
|
527
|
+
when 35 then
|
528
528
|
begin
|
529
529
|
begin
|
530
530
|
begin
|
@@ -539,7 +539,37 @@ def self.run_lexer(query_string)
|
|
539
539
|
end
|
540
540
|
|
541
541
|
end
|
542
|
-
when
|
542
|
+
when 31 then
|
543
|
+
begin
|
544
|
+
begin
|
545
|
+
begin
|
546
|
+
te = p;
|
547
|
+
p = p - 1;
|
548
|
+
begin
|
549
|
+
emit_string(ts, te, meta, block: false)
|
550
|
+
end
|
551
|
+
|
552
|
+
end
|
553
|
+
|
554
|
+
end
|
555
|
+
|
556
|
+
end
|
557
|
+
when 32 then
|
558
|
+
begin
|
559
|
+
begin
|
560
|
+
begin
|
561
|
+
te = p;
|
562
|
+
p = p - 1;
|
563
|
+
begin
|
564
|
+
emit_string(ts, te, meta, block: true)
|
565
|
+
end
|
566
|
+
|
567
|
+
end
|
568
|
+
|
569
|
+
end
|
570
|
+
|
571
|
+
end
|
572
|
+
when 36 then
|
543
573
|
begin
|
544
574
|
begin
|
545
575
|
begin
|
@@ -554,7 +584,7 @@ def self.run_lexer(query_string)
|
|
554
584
|
end
|
555
585
|
|
556
586
|
end
|
557
|
-
when
|
587
|
+
when 33 then
|
558
588
|
begin
|
559
589
|
begin
|
560
590
|
begin
|
@@ -569,7 +599,7 @@ def self.run_lexer(query_string)
|
|
569
599
|
end
|
570
600
|
|
571
601
|
end
|
572
|
-
when
|
602
|
+
when 29 then
|
573
603
|
begin
|
574
604
|
begin
|
575
605
|
begin
|
@@ -599,7 +629,7 @@ def self.run_lexer(query_string)
|
|
599
629
|
end
|
600
630
|
|
601
631
|
end
|
602
|
-
when
|
632
|
+
when 5 then
|
603
633
|
begin
|
604
634
|
begin
|
605
635
|
begin
|
@@ -613,7 +643,7 @@ def self.run_lexer(query_string)
|
|
613
643
|
end
|
614
644
|
|
615
645
|
end
|
616
|
-
when
|
646
|
+
when 7 then
|
617
647
|
begin
|
618
648
|
begin
|
619
649
|
begin
|
@@ -791,11 +821,19 @@ def self.run_lexer(query_string)
|
|
791
821
|
begin
|
792
822
|
p = ((te))-1;
|
793
823
|
begin
|
794
|
-
emit_string(ts
|
824
|
+
emit_string(ts, te, meta, block: false)
|
825
|
+
end
|
826
|
+
|
827
|
+
end
|
828
|
+
when 28 then
|
829
|
+
begin
|
830
|
+
p = ((te))-1;
|
831
|
+
begin
|
832
|
+
emit_string(ts, te, meta, block: true)
|
795
833
|
end
|
796
834
|
|
797
835
|
end
|
798
|
-
when
|
836
|
+
when 35 then
|
799
837
|
begin
|
800
838
|
p = ((te))-1;
|
801
839
|
begin
|
@@ -803,7 +841,7 @@ def self.run_lexer(query_string)
|
|
803
841
|
end
|
804
842
|
|
805
843
|
end
|
806
|
-
when
|
844
|
+
when 39 then
|
807
845
|
begin
|
808
846
|
p = ((te))-1;
|
809
847
|
begin
|
@@ -820,7 +858,7 @@ def self.run_lexer(query_string)
|
|
820
858
|
end
|
821
859
|
|
822
860
|
end
|
823
|
-
when
|
861
|
+
when 19 then
|
824
862
|
begin
|
825
863
|
begin
|
826
864
|
begin
|
@@ -838,7 +876,7 @@ def self.run_lexer(query_string)
|
|
838
876
|
end
|
839
877
|
|
840
878
|
end
|
841
|
-
when
|
879
|
+
when 6 then
|
842
880
|
begin
|
843
881
|
begin
|
844
882
|
begin
|
@@ -856,7 +894,7 @@ def self.run_lexer(query_string)
|
|
856
894
|
end
|
857
895
|
|
858
896
|
end
|
859
|
-
when
|
897
|
+
when 46 then
|
860
898
|
begin
|
861
899
|
begin
|
862
900
|
begin
|
@@ -874,7 +912,7 @@ def self.run_lexer(query_string)
|
|
874
912
|
end
|
875
913
|
|
876
914
|
end
|
877
|
-
when
|
915
|
+
when 40 then
|
878
916
|
begin
|
879
917
|
begin
|
880
918
|
begin
|
@@ -892,7 +930,7 @@ def self.run_lexer(query_string)
|
|
892
930
|
end
|
893
931
|
|
894
932
|
end
|
895
|
-
when
|
933
|
+
when 51 then
|
896
934
|
begin
|
897
935
|
begin
|
898
936
|
begin
|
@@ -910,7 +948,7 @@ def self.run_lexer(query_string)
|
|
910
948
|
end
|
911
949
|
|
912
950
|
end
|
913
|
-
when
|
951
|
+
when 39 then
|
914
952
|
begin
|
915
953
|
begin
|
916
954
|
begin
|
@@ -928,7 +966,7 @@ def self.run_lexer(query_string)
|
|
928
966
|
end
|
929
967
|
|
930
968
|
end
|
931
|
-
when
|
969
|
+
when 45 then
|
932
970
|
begin
|
933
971
|
begin
|
934
972
|
begin
|
@@ -946,7 +984,7 @@ def self.run_lexer(query_string)
|
|
946
984
|
end
|
947
985
|
|
948
986
|
end
|
949
|
-
when
|
987
|
+
when 47 then
|
950
988
|
begin
|
951
989
|
begin
|
952
990
|
begin
|
@@ -964,7 +1002,7 @@ def self.run_lexer(query_string)
|
|
964
1002
|
end
|
965
1003
|
|
966
1004
|
end
|
967
|
-
when
|
1005
|
+
when 44 then
|
968
1006
|
begin
|
969
1007
|
begin
|
970
1008
|
begin
|
@@ -982,7 +1020,7 @@ def self.run_lexer(query_string)
|
|
982
1020
|
end
|
983
1021
|
|
984
1022
|
end
|
985
|
-
when
|
1023
|
+
when 50 then
|
986
1024
|
begin
|
987
1025
|
begin
|
988
1026
|
begin
|
@@ -1000,7 +1038,7 @@ def self.run_lexer(query_string)
|
|
1000
1038
|
end
|
1001
1039
|
|
1002
1040
|
end
|
1003
|
-
when
|
1041
|
+
when 49 then
|
1004
1042
|
begin
|
1005
1043
|
begin
|
1006
1044
|
begin
|
@@ -1018,7 +1056,7 @@ def self.run_lexer(query_string)
|
|
1018
1056
|
end
|
1019
1057
|
|
1020
1058
|
end
|
1021
|
-
when
|
1059
|
+
when 48 then
|
1022
1060
|
begin
|
1023
1061
|
begin
|
1024
1062
|
begin
|
@@ -1036,7 +1074,7 @@ def self.run_lexer(query_string)
|
|
1036
1074
|
end
|
1037
1075
|
|
1038
1076
|
end
|
1039
|
-
when
|
1077
|
+
when 52 then
|
1040
1078
|
begin
|
1041
1079
|
begin
|
1042
1080
|
begin
|
@@ -1054,7 +1092,7 @@ def self.run_lexer(query_string)
|
|
1054
1092
|
end
|
1055
1093
|
|
1056
1094
|
end
|
1057
|
-
when
|
1095
|
+
when 41 then
|
1058
1096
|
begin
|
1059
1097
|
begin
|
1060
1098
|
begin
|
@@ -1072,7 +1110,7 @@ def self.run_lexer(query_string)
|
|
1072
1110
|
end
|
1073
1111
|
|
1074
1112
|
end
|
1075
|
-
when
|
1113
|
+
when 43 then
|
1076
1114
|
begin
|
1077
1115
|
begin
|
1078
1116
|
begin
|
@@ -1090,7 +1128,7 @@ def self.run_lexer(query_string)
|
|
1090
1128
|
end
|
1091
1129
|
|
1092
1130
|
end
|
1093
|
-
when
|
1131
|
+
when 53 then
|
1094
1132
|
begin
|
1095
1133
|
begin
|
1096
1134
|
begin
|
@@ -1108,7 +1146,7 @@ def self.run_lexer(query_string)
|
|
1108
1146
|
end
|
1109
1147
|
|
1110
1148
|
end
|
1111
|
-
when
|
1149
|
+
when 38 then
|
1112
1150
|
begin
|
1113
1151
|
begin
|
1114
1152
|
begin
|
@@ -1126,7 +1164,7 @@ def self.run_lexer(query_string)
|
|
1126
1164
|
end
|
1127
1165
|
|
1128
1166
|
end
|
1129
|
-
when
|
1167
|
+
when 42 then
|
1130
1168
|
begin
|
1131
1169
|
begin
|
1132
1170
|
begin
|
@@ -1144,7 +1182,7 @@ def self.run_lexer(query_string)
|
|
1144
1182
|
end
|
1145
1183
|
|
1146
1184
|
end
|
1147
|
-
when
|
1185
|
+
when 37 then
|
1148
1186
|
begin
|
1149
1187
|
begin
|
1150
1188
|
begin
|
@@ -1180,7 +1218,7 @@ def self.run_lexer(query_string)
|
|
1180
1218
|
end
|
1181
1219
|
|
1182
1220
|
end
|
1183
|
-
when
|
1221
|
+
when 4 then
|
1184
1222
|
begin
|
1185
1223
|
begin
|
1186
1224
|
begin
|
@@ -1191,14 +1229,14 @@ def self.run_lexer(query_string)
|
|
1191
1229
|
end
|
1192
1230
|
begin
|
1193
1231
|
begin
|
1194
|
-
act =
|
1232
|
+
act = 28;
|
1195
1233
|
|
1196
1234
|
end
|
1197
1235
|
|
1198
1236
|
end
|
1199
1237
|
|
1200
1238
|
end
|
1201
|
-
when
|
1239
|
+
when 23 then
|
1202
1240
|
begin
|
1203
1241
|
begin
|
1204
1242
|
begin
|
@@ -1209,7 +1247,25 @@ def self.run_lexer(query_string)
|
|
1209
1247
|
end
|
1210
1248
|
begin
|
1211
1249
|
begin
|
1212
|
-
act =
|
1250
|
+
act = 35;
|
1251
|
+
|
1252
|
+
end
|
1253
|
+
|
1254
|
+
end
|
1255
|
+
|
1256
|
+
end
|
1257
|
+
when 14 then
|
1258
|
+
begin
|
1259
|
+
begin
|
1260
|
+
begin
|
1261
|
+
te = p+1;
|
1262
|
+
|
1263
|
+
end
|
1264
|
+
|
1265
|
+
end
|
1266
|
+
begin
|
1267
|
+
begin
|
1268
|
+
act = 39;
|
1213
1269
|
|
1214
1270
|
end
|
1215
1271
|
|
@@ -1222,7 +1278,7 @@ def self.run_lexer(query_string)
|
|
1222
1278
|
when -2 then
|
1223
1279
|
begin
|
1224
1280
|
end
|
1225
|
-
when
|
1281
|
+
when 9 then
|
1226
1282
|
begin
|
1227
1283
|
begin
|
1228
1284
|
begin
|
@@ -1303,8 +1359,13 @@ VALID_STRING = /\A(?:[^\\]|#{ESCAPES}|#{UTF_8})*\z/o
|
|
1303
1359
|
PACK_DIRECTIVE = "c*"
|
1304
1360
|
UTF_8_ENCODING = "UTF-8"
|
1305
1361
|
|
1306
|
-
def self.emit_string(ts, te, meta)
|
1307
|
-
|
1362
|
+
def self.emit_string(ts, te, meta, block:)
|
1363
|
+
quotes_length = block ? 3 : 1
|
1364
|
+
ts += quotes_length
|
1365
|
+
value = meta[:data][ts...te - quotes_length].pack(PACK_DIRECTIVE).force_encoding(UTF_8_ENCODING)
|
1366
|
+
if block
|
1367
|
+
value = GraphQL::Language::BlockString.trim_whitespace(value)
|
1368
|
+
end
|
1308
1369
|
if value !~ VALID_STRING
|
1309
1370
|
meta[:tokens] << token = GraphQL::Language::Token.new(
|
1310
1371
|
name: :BAD_UNICODE_ESCAPE,
|