14auto load_ttf(
gfx::font_manager* _fm,
const char* _filePath) -> gfx::true_type_handle
26 gfx::true_type_handle
invalid = BGFX_INVALID_HANDLE;
30template<
typename T, std::
size_t N>
31constexpr std::size_t countof(T
const (&)[N])
noexcept
85static void unpack_accumulative_offsets_into_ranges(
int base_codepoint,
86 const short* accumulative_offsets,
87 size_t accumulative_offsets_count,
90 for(
size_t n = 0; n < accumulative_offsets_count; n++, out_ranges += 2)
92 out_ranges[0] = out_ranges[1] =
gfx::code_point(base_codepoint + accumulative_offsets[n]);
93 base_codepoint += accumulative_offsets[n];
111 static const short accumulative_offsets[] = {
112 0, 1, 2, 4, 1, 1, 1, 1, 2, 1, 3, 2, 1, 2, 2, 1, 1, 1, 1, 1, 5, 2, 1, 2,
113 3, 3, 3, 2, 2, 4, 1, 1, 1, 2, 1, 5, 2, 3, 1, 2, 1, 2, 1, 1, 2, 1, 1, 2,
114 2, 1, 4, 1, 1, 1, 1, 5, 10, 1, 2, 19, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 5, 1,
115 6, 3, 2, 1, 2, 2, 1, 1, 1, 4, 8, 5, 1, 1, 4, 1, 1, 3, 1, 2, 1, 5, 1, 2,
116 1, 1, 1, 10, 1, 1, 5, 2, 4, 6, 1, 4, 2, 2, 2, 12, 2, 1, 1, 6, 1, 1, 1, 4,
117 1, 1, 4, 6, 5, 1, 4, 2, 2, 4, 10, 7, 1, 1, 4, 2, 4, 2, 1, 4, 3, 6, 10, 12,
118 5, 7, 2, 14, 2, 9, 1, 1, 6, 7, 10, 4, 7, 13, 1, 5, 4, 8, 4, 1, 1, 2, 28, 5,
119 6, 1, 1, 5, 2, 5, 20, 2, 2, 9, 8, 11, 2, 9, 17, 1, 8, 6, 8, 27, 4, 6, 9, 20,
120 11, 27, 6, 68, 2, 2, 1, 1, 1, 2, 1, 2, 2, 7, 6, 11, 3, 3, 1, 1, 3, 1, 2, 1,
121 1, 1, 1, 1, 3, 1, 1, 8, 3, 4, 1, 5, 7, 2, 1, 4, 4, 8, 4, 2, 1, 2, 1, 1,
122 4, 5, 6, 3, 6, 2, 12, 3, 1, 3, 9, 2, 4, 3, 4, 1, 5, 3, 3, 1, 3, 7, 1, 5,
123 1, 1, 1, 1, 2, 3, 4, 5, 2, 3, 2, 6, 1, 1, 2, 1, 7, 1, 7, 3, 4, 5, 15, 2,
124 2, 1, 5, 3, 22, 19, 2, 1, 1, 1, 1, 2, 5, 1, 1, 1, 6, 1, 1, 12, 8, 2, 9, 18,
125 22, 4, 1, 1, 5, 1, 16, 1, 2, 7, 10, 15, 1, 1, 6, 2, 4, 1, 2, 4, 1, 6, 1, 1,
126 3, 2, 4, 1, 6, 4, 5, 1, 2, 1, 1, 2, 1, 10, 3, 1, 3, 2, 1, 9, 3, 2, 5, 7,
127 2, 19, 4, 3, 6, 1, 1, 1, 1, 1, 4, 3, 2, 1, 1, 1, 2, 5, 3, 1, 1, 1, 2, 2,
128 1, 1, 2, 1, 1, 2, 1, 3, 1, 1, 1, 3, 7, 1, 4, 1, 1, 2, 1, 1, 2, 1, 2, 4,
129 4, 3, 8, 1, 1, 1, 2, 1, 3, 5, 1, 3, 1, 3, 4, 6, 2, 2, 14, 4, 6, 6, 11, 9,
130 1, 15, 3, 1, 28, 5, 2, 5, 5, 3, 1, 3, 4, 5, 4, 6, 14, 3, 2, 3, 5, 21, 2, 7,
131 20, 10, 1, 2, 19, 2, 4, 28, 28, 2, 3, 2, 1, 14, 4, 1, 26, 28, 42, 12, 40, 3, 52, 79,
132 5, 14, 17, 3, 2, 2, 11, 3, 4, 6, 3, 1, 8, 2, 23, 4, 5, 8, 10, 4, 2, 7, 3, 5,
133 1, 1, 6, 3, 1, 2, 2, 2, 5, 28, 1, 1, 7, 7, 20, 5, 3, 29, 3, 17, 26, 1, 8, 4,
134 27, 3, 6, 11, 23, 5, 3, 4, 6, 13, 24, 16, 6, 5, 10, 25, 35, 7, 3, 2, 3, 3, 14, 3,
135 6, 2, 6, 1, 4, 2, 3, 8, 2, 1, 1, 3, 3, 3, 4, 1, 1, 13, 2, 2, 4, 5, 2, 1,
136 14, 14, 1, 2, 2, 1, 4, 5, 2, 3, 1, 14, 3, 12, 3, 17, 2, 16, 5, 1, 2, 1, 8, 9,
137 3, 19, 4, 2, 2, 4, 17, 25, 21, 20, 28, 75, 1, 10, 29, 103, 4, 1, 2, 1, 1, 4, 2, 4,
138 1, 2, 3, 24, 2, 2, 2, 1, 1, 2, 1, 3, 8, 1, 1, 1, 2, 1, 1, 3, 1, 1, 1, 6,
139 1, 5, 3, 1, 1, 1, 3, 4, 1, 1, 5, 2, 1, 5, 6, 13, 9, 16, 1, 1, 1, 1, 3, 2,
140 3, 2, 4, 5, 2, 5, 2, 2, 3, 7, 13, 7, 2, 2, 1, 1, 1, 1, 2, 3, 3, 2, 1, 6,
141 4, 9, 2, 1, 14, 2, 14, 2, 1, 18, 3, 4, 14, 4, 11, 41, 15, 23, 15, 23, 176, 1, 3, 4,
142 1, 1, 1, 1, 5, 3, 1, 2, 3, 7, 3, 1, 1, 2, 1, 2, 4, 4, 6, 2, 4, 1, 9, 7,
143 1, 10, 5, 8, 16, 29, 1, 1, 2, 2, 3, 1, 3, 5, 2, 4, 5, 4, 1, 1, 2, 2, 3, 3,
144 7, 1, 6, 10, 1, 17, 1, 44, 4, 6, 2, 1, 1, 6, 5, 4, 2, 10, 1, 6, 9, 2, 8, 1,
145 24, 1, 2, 13, 7, 8, 8, 2, 1, 4, 1, 3, 1, 3, 3, 5, 2, 5, 10, 9, 4, 9, 12, 2,
146 1, 6, 1, 10, 1, 1, 7, 7, 4, 10, 8, 3, 1, 13, 4, 3, 1, 6, 1, 3, 5, 2, 1, 2,
147 17, 16, 5, 2, 16, 6, 1, 4, 2, 1, 3, 3, 6, 8, 5, 11, 11, 1, 3, 3, 2, 4, 6, 10,
148 9, 5, 7, 4, 7, 4, 7, 1, 1, 4, 2, 1, 3, 6, 8, 7, 1, 6, 11, 5, 5, 3, 24, 9,
149 4, 2, 7, 13, 5, 1, 8, 82, 16, 61, 1, 1, 1, 4, 2, 2, 16, 10, 3, 8, 1, 1, 6, 4,
150 2, 1, 3, 1, 1, 1, 4, 3, 8, 4, 2, 2, 1, 1, 1, 1, 1, 6, 3, 5, 1, 1, 4, 6,
151 9, 2, 1, 1, 1, 2, 1, 7, 2, 1, 6, 1, 5, 4, 4, 3, 1, 8, 1, 3, 3, 1, 3, 2,
152 2, 2, 2, 3, 1, 6, 1, 2, 1, 2, 1, 3, 7, 1, 8, 2, 1, 2, 1, 5, 2, 5, 3, 5,
153 10, 1, 2, 1, 1, 3, 2, 5, 11, 3, 9, 3, 5, 1, 1, 5, 9, 1, 2, 1, 5, 7, 9, 9,
154 8, 1, 3, 3, 3, 6, 8, 2, 3, 2, 1, 1, 32, 6, 1, 2, 15, 9, 3, 7, 13, 1, 3, 10,
155 13, 2, 14, 1, 13, 10, 2, 1, 3, 10, 4, 15, 2, 15, 15, 10, 1, 3, 9, 6, 9, 32, 25, 26,
156 47, 7, 3, 2, 3, 1, 6, 3, 4, 3, 2, 8, 5, 4, 1, 9, 4, 2, 2, 19, 10, 6, 2, 3,
157 8, 1, 2, 2, 4, 2, 1, 9, 4, 4, 4, 6, 4, 8, 9, 2, 3, 1, 1, 1, 1, 3, 5, 5,
158 1, 3, 8, 4, 6, 2, 1, 4, 12, 1, 5, 3, 7, 13, 2, 5, 8, 1, 6, 1, 2, 5, 14, 6,
159 1, 5, 2, 4, 8, 15, 5, 1, 23, 6, 62, 2, 10, 1, 1, 8, 1, 2, 2, 10, 4, 2, 2, 9,
160 2, 1, 1, 3, 2, 3, 1, 5, 3, 3, 2, 1, 3, 8, 1, 1, 1, 11, 3, 1, 1, 4, 3, 7,
161 1, 14, 1, 2, 3, 12, 5, 2, 5, 1, 6, 7, 5, 7, 14, 11, 1, 3, 1, 8, 9, 12, 2, 1,
162 11, 8, 4, 4, 2, 6, 10, 9, 13, 1, 1, 3, 1, 5, 1, 3, 2, 4, 4, 1, 18, 2, 3, 14,
163 11, 4, 29, 4, 2, 7, 1, 3, 13, 9, 2, 2, 5, 3, 5, 20, 7, 16, 8, 5, 72, 34, 6, 4,
164 22, 12, 12, 28, 45, 36, 9, 7, 39, 9, 191, 1, 1, 1, 4, 11, 8, 4, 9, 2, 3, 22, 1, 1,
165 1, 1, 4, 17, 1, 7, 7, 1, 11, 31, 10, 2, 4, 8, 2, 3, 2, 1, 4, 2, 16, 4, 32, 2,
166 3, 19, 13, 4, 9, 1, 5, 2, 14, 8, 1, 1, 3, 6, 19, 6, 5, 1, 16, 6, 2, 10, 8, 5,
167 1, 2, 3, 1, 5, 5, 1, 11, 6, 6, 1, 3, 3, 2, 6, 3, 8, 1, 1, 4, 10, 7, 5, 7,
168 7, 5, 8, 9, 2, 1, 3, 4, 1, 1, 3, 1, 3, 3, 2, 6, 16, 1, 4, 6, 3, 1, 10, 6,
169 1, 3, 15, 2, 9, 2, 10, 25, 13, 9, 16, 6, 2, 2, 10, 11, 4, 3, 9, 1, 2, 6, 6, 5,
170 4, 30, 40, 1, 10, 7, 12, 14, 33, 6, 3, 6, 7, 3, 1, 3, 1, 11, 14, 4, 9, 5, 12, 11,
171 49, 18, 51, 31, 140, 31, 2, 2, 1, 5, 1, 8, 1, 10, 1, 4, 4, 3, 24, 1, 10, 1, 3, 6,
172 6, 16, 3, 4, 5, 2, 1, 4, 2, 57, 10, 6, 22, 2, 22, 3, 7, 22, 6, 10, 11, 36, 18, 16,
173 33, 36, 2, 5, 5, 1, 1, 1, 4, 10, 1, 4, 13, 2, 7, 5, 2, 9, 3, 4, 1, 7, 43, 3,
174 7, 3, 9, 14, 7, 9, 1, 11, 1, 1, 3, 7, 4, 18, 13, 1, 14, 1, 3, 6, 10, 73, 2, 2,
175 30, 6, 1, 11, 18, 19, 13, 22, 3, 46, 42, 37, 89, 7, 3, 16, 34, 2, 2, 3, 9, 1, 7, 1,
176 1, 1, 2, 2, 4, 10, 7, 3, 10, 3, 9, 5, 28, 9, 2, 6, 13, 7, 3, 1, 3, 10, 2, 7,
177 2, 11, 3, 6, 21, 54, 85, 2, 1, 4, 2, 2, 1, 39, 3, 21, 2, 2, 5, 1, 1, 1, 4, 1,
178 1, 3, 4, 15, 1, 3, 2, 4, 4, 2, 3, 8, 2, 20, 1, 8, 7, 13, 4, 1, 26, 6, 2, 9,
179 34, 4, 21, 52, 10, 4, 4, 1, 5, 12, 2, 11, 1, 7, 2, 30, 12, 44, 2, 30, 1, 1, 3, 6,
180 16, 9, 17, 39, 82, 2, 2, 24, 7, 1, 7, 3, 16, 9, 14, 44, 2, 1, 2, 1, 2, 3, 5, 2,
181 4, 1, 6, 7, 5, 3, 2, 6, 1, 11, 5, 11, 2, 1, 18, 19, 8, 1, 3, 24, 29, 2, 1, 3,
182 5, 2, 2, 1, 13, 6, 5, 1, 46, 11, 3, 5, 1, 1, 5, 8, 2, 10, 6, 12, 6, 3, 7, 11,
183 2, 4, 16, 13, 2, 5, 1, 1, 2, 2, 5, 2, 28, 5, 2, 23, 10, 8, 4, 4, 22, 39, 95, 38,
184 8, 14, 9, 5, 1, 13, 5, 4, 3, 13, 12, 11, 1, 9, 1, 27, 37, 2, 5, 4, 4, 63, 211, 95,
185 2, 2, 2, 1, 3, 5, 2, 1, 1, 2, 2, 1, 1, 1, 3, 2, 4, 1, 2, 1, 1, 5, 2, 2,
186 1, 1, 2, 3, 1, 3, 1, 1, 1, 3, 1, 4, 2, 1, 3, 6, 1, 1, 3, 7, 15, 5, 3, 2,
187 5, 3, 9, 11, 4, 2, 22, 1, 6, 3, 8, 7, 1, 4, 28, 4, 16, 3, 3, 25, 4, 4, 27, 27,
188 1, 4, 1, 2, 2, 7, 1, 3, 5, 2, 28, 8, 2, 14, 1, 8, 6, 16, 25, 3, 3, 3, 14, 3,
189 3, 1, 1, 2, 1, 4, 6, 3, 8, 4, 1, 1, 1, 2, 3, 6, 10, 6, 2, 3, 18, 3, 2, 5,
190 5, 4, 3, 1, 5, 2, 5, 4, 23, 7, 6, 12, 6, 4, 17, 11, 9, 5, 1, 1, 10, 5, 12, 1,
191 1, 11, 26, 33, 7, 3, 6, 1, 17, 7, 1, 5, 12, 1, 11, 2, 4, 1, 8, 14, 17, 23, 1, 2,
192 1, 7, 8, 16, 11, 9, 6, 5, 2, 6, 4, 16, 2, 8, 14, 1, 11, 8, 9, 1, 1, 1, 9, 25,
193 4, 11, 19, 7, 2, 15, 2, 12, 8, 52, 7, 5, 19, 2, 16, 4, 36, 8, 1, 16, 8, 24, 26, 4,
194 6, 2, 9, 5, 4, 36, 3, 28, 12, 25, 15, 37, 27, 17, 12, 59, 38, 5, 32, 127, 1, 2, 9, 17,
195 14, 4, 1, 2, 1, 1, 8, 11, 50, 4, 14, 2, 19, 16, 4, 17, 5, 4, 5, 26, 12, 45, 2, 23,
196 45, 104, 30, 12, 8, 3, 10, 2, 2, 3, 3, 1, 4, 20, 7, 2, 9, 6, 15, 2, 20, 1, 3, 16,
197 4, 11, 15, 6, 134, 2, 5, 59, 1, 2, 2, 2, 1, 9, 17, 3, 26, 137, 10, 211, 59, 1, 2, 4,
198 1, 4, 1, 1, 1, 2, 6, 2, 3, 1, 1, 2, 3, 2, 3, 1, 3, 4, 4, 2, 3, 3, 1, 4,
199 3, 1, 7, 2, 2, 3, 1, 2, 1, 3, 3, 3, 2, 2, 3, 2, 1, 3, 14, 6, 1, 3, 2, 9,
200 6, 15, 27, 9, 34, 145, 1, 1, 2, 1, 1, 1, 1, 2, 1, 1, 1, 1, 2, 2, 2, 3, 1, 2,
201 1, 1, 1, 2, 3, 5, 8, 3, 5, 2, 4, 1, 3, 2, 2, 2, 12, 4, 1, 1, 1, 10, 4, 5,
202 1, 20, 4, 16, 1, 15, 9, 5, 12, 2, 9, 2, 5, 4, 2, 26, 19, 7, 1, 26, 4, 30, 12, 15,
203 42, 1, 6, 8, 172, 1, 1, 4, 2, 1, 1, 11, 2, 2, 4, 2, 1, 2, 1, 10, 8, 1, 2, 1,
204 4, 5, 1, 2, 5, 1, 8, 4, 1, 3, 4, 2, 1, 6, 2, 1, 3, 4, 1, 2, 1, 1, 1, 1,
205 12, 5, 7, 2, 4, 3, 1, 1, 1, 3, 3, 6, 1, 2, 2, 3, 3, 3, 2, 1, 2, 12, 14, 11,
206 6, 6, 4, 12, 2, 8, 1, 7, 10, 1, 35, 7, 4, 13, 15, 4, 3, 23, 21, 28, 52, 5, 26, 5,
207 6, 1, 7, 10, 2, 7, 53, 3, 2, 1, 1, 1, 2, 163, 532, 1, 10, 11, 1, 3, 3, 4, 8, 2,
208 8, 6, 2, 2, 23, 22, 4, 2, 2, 4, 2, 1, 3, 1, 3, 3, 5, 9, 8, 2, 1, 2, 8, 1,
209 10, 2, 12, 21, 20, 15, 105, 2, 3, 1, 1, 3, 2, 3, 1, 1, 2, 5, 1, 4, 15, 11, 19, 1,
210 1, 1, 1, 5, 4, 5, 1, 1, 2, 5, 3, 5, 12, 1, 2, 5, 1, 11, 1, 1, 15, 9, 1, 4,
211 5, 3, 26, 8, 2, 1, 3, 1, 1, 15, 19, 2, 12, 1, 2, 5, 2, 7, 2, 19, 2, 20, 6, 26,
212 7, 5, 2, 2, 7, 34, 21, 13, 70, 2, 128, 1, 1, 2, 1, 1, 2, 1, 1, 3, 2, 2, 2, 15,
213 1, 4, 1, 3, 4, 42, 10, 6, 1, 49, 85, 8, 1, 2, 1, 1, 4, 4, 2, 3, 6, 1, 5, 7,
214 4, 3, 211, 4, 1, 2, 1, 2, 5, 1, 2, 4, 2, 2, 6, 5, 6, 10, 3, 4, 48, 100, 6, 2,
215 16, 296, 5, 27, 387, 2, 2, 3, 7, 16, 8, 5, 38, 15, 39, 21, 9, 10, 3, 7, 59, 13, 27, 21,
227 static gfx::code_point full_ranges[countof(base_ranges) + countof(accumulative_offsets) * 2 + 1] = {0};
230 memcpy(full_ranges, base_ranges,
sizeof(base_ranges));
231 unpack_accumulative_offsets_into_ranges(0x4E00,
232 accumulative_offsets,
233 countof(accumulative_offsets),
234 full_ranges + countof(base_ranges));
236 return &full_ranges[0];
245 static const short accumulative_offsets[] = {
246 0, 1, 2, 4, 1, 1, 1, 1, 2, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 4, 2,
247 1, 2, 3, 1, 2, 3, 2, 2, 4, 1, 1, 1, 2, 1, 4, 1, 2, 3, 1, 2, 1, 1, 1, 1, 1, 2,
248 1, 1, 2, 2, 1, 3, 1, 1, 1, 1, 1, 5, 3, 7, 1, 2, 5, 6, 8, 2, 1, 2, 1, 1, 1, 1,
249 2, 1, 1, 1, 1, 3, 2, 1, 4, 2, 1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 1, 4, 1, 2, 1, 2,
250 1, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 2, 1, 3, 2, 1, 1, 1, 1, 1, 1, 4, 1,
251 1, 2, 2, 1, 1, 3, 2, 1, 1, 4, 2, 1, 2, 1, 1, 4, 2, 2, 2, 7, 1, 1, 1, 2, 1, 1,
252 1, 1, 6, 1, 1, 1, 1, 3, 1, 1, 2, 1, 1, 1, 1, 1, 3, 1, 2, 2, 1, 2, 2, 2, 2, 2,
253 2, 1, 1, 3, 2, 3, 7, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1,
254 1, 4, 3, 3, 1, 3, 1, 2, 2, 2, 1, 1, 1, 1, 1, 2, 1, 1, 1, 4, 1, 2, 2, 2, 2, 3,
255 3, 1, 3, 2, 3, 3, 2, 1, 1, 1, 1, 1, 2, 2, 1, 5, 1, 4, 6, 4, 1, 1, 5, 3, 1, 1,
256 1, 1, 6, 1, 1, 1, 2, 1, 1, 1, 2, 2, 3, 2, 1, 1, 1, 2, 1, 1, 2, 2, 2, 1, 2, 2,
257 4, 14, 1, 2, 3, 1, 1, 1, 3, 1, 1, 2, 2, 1, 2, 4, 1, 1, 1, 1, 1, 2, 1, 1, 6, 6,
258 1, 1, 2, 3, 2, 4, 1, 4, 2, 1, 4, 2, 5, 2, 5, 4, 7, 1, 3, 2, 4, 1, 4, 3, 1, 1,
259 3, 2, 3, 1, 4, 5, 3, 14, 2, 2, 1, 1, 3, 6, 8, 1, 12, 7, 1, 5, 2, 4, 12, 1, 5, 1,
260 1, 2, 3, 2, 6, 11, 1, 4, 7, 15, 5, 13, 1, 11, 1, 1, 2, 1, 1, 1, 2, 1, 2, 2, 4, 3,
261 1, 1, 4, 2, 6, 3, 3, 3, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 3, 1, 4,
262 3, 1, 3, 1, 2, 3, 2, 1, 2, 2, 2, 1, 4, 2, 2, 1, 7, 2, 1, 1, 1, 1, 1, 2, 1, 1,
263 4, 1, 1, 3, 4, 2, 1, 2, 2, 1, 3, 2, 2, 5, 3, 2, 3, 1, 3, 7, 2, 2, 1, 3, 3, 2,
264 1, 1, 1, 1, 1, 2, 1, 1, 2, 3, 1, 1, 2, 3, 1, 3, 1, 4, 1, 1, 1, 1, 1, 2, 3, 4,
265 4, 1, 2, 1, 1, 1, 2, 3, 3, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 2, 5, 1, 1, 1, 3,
266 1, 3, 1, 1, 6, 2, 1, 2, 4, 2, 2, 1, 5, 3, 11, 2, 2, 1, 2, 4, 8, 3, 8, 2, 1, 1,
267 1, 1, 1, 1, 5, 1, 1, 1, 1, 1, 4, 1, 1, 9, 2, 1, 4, 4, 2, 2, 2, 3, 2, 2, 2, 2,
268 2, 5, 1, 4, 12, 10, 4, 1, 1, 5, 1, 2, 5, 2, 1, 5, 1, 1, 2, 3, 1, 3, 1, 2, 3, 4,
269 4, 11, 1, 1, 1, 2, 1, 2, 2, 2, 2, 1, 1, 1, 4, 1, 2, 1, 1, 2, 1, 1, 3, 2, 2, 1,
270 1, 1, 1, 1, 1, 2, 1, 4, 1, 2, 1, 1, 1, 2, 1, 1, 2, 1, 2, 5, 3, 2, 1, 1, 3, 2,
271 1, 1, 8, 1, 2, 2, 3, 2, 3, 1, 2, 1, 2, 1, 5, 13, 3, 1, 2, 1, 4, 1, 1, 1, 1, 1,
272 1, 1, 4, 3, 1, 1, 1, 1, 1, 1, 1, 4, 1, 3, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1,
273 1, 1, 1, 2, 1, 1, 1, 1, 2, 1, 1, 4, 2, 1, 2, 2, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
274 2, 1, 1, 4, 2, 1, 1, 1, 1, 2, 3, 1, 1, 1, 2, 1, 1, 1, 1, 2, 1, 2, 1, 3, 1, 2,
275 1, 1, 1, 2, 3, 3, 1, 1, 2, 1, 5, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 6, 1, 1, 2, 2,
276 9, 1, 1, 2, 1, 1, 1, 3, 1, 1, 3, 2, 2, 2, 1, 2, 2, 1, 1, 1, 1, 1, 2, 2, 1, 1,
277 3, 1, 1, 2, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 2, 2, 1, 4, 2, 1, 2, 2, 1, 1,
278 1, 1, 1, 2, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 3, 1, 1, 3, 3, 1,
279 1, 1, 1, 1, 3, 1, 3, 1, 1, 7, 2, 1, 2, 2, 5, 1, 2, 6, 1, 1, 3, 7, 2, 3, 2, 1,
280 1, 3, 3, 2, 2, 1, 1, 1, 2, 2, 2, 5, 2, 1, 2, 2, 1, 2, 3, 1, 6, 5, 1, 6, 5, 3,
281 1, 1, 1, 3, 1, 1, 1, 1, 2, 4, 1, 1, 1, 1, 3, 1, 2, 2, 1, 1, 1, 1, 2, 1, 1, 1,
282 1, 1, 4, 2, 3, 4, 1, 3, 1, 2, 5, 3, 10, 2, 2, 2, 2, 2, 2, 1, 6, 1, 4, 3, 1, 3,
283 1, 1, 1, 1, 2, 6, 1, 1, 1, 2, 2, 1, 1, 1, 2, 2, 1, 1, 3, 3, 1, 2, 2, 6, 1, 2,
284 1, 7, 1, 3, 2, 1, 9, 2, 1, 3, 1, 2, 2, 1, 3, 5, 1, 4, 1, 2, 2, 3, 2, 4, 1, 2,
285 5, 5, 1, 1, 6, 3, 1, 1, 3, 6, 2, 4, 1, 1, 1, 1, 5, 5, 5, 1, 8, 1, 1, 8, 1, 4,
286 7, 9, 10, 2, 8, 5, 14, 10, 6, 1, 3, 1, 1, 1, 1, 2, 7, 2, 3, 1, 3, 1, 2, 2, 1, 3,
287 1, 1, 4, 1, 2, 2, 1, 1, 2, 4, 9, 3, 3, 3, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1,
288 6, 1, 1, 3, 2, 2, 5, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 3, 1, 1, 1, 1, 1, 1, 1,
289 3, 1, 1, 2, 1, 1, 1, 1, 1, 2, 1, 3, 4, 4, 1, 1, 5, 1, 1, 2, 2, 3, 1, 1, 1, 1,
290 3, 1, 2, 4, 1, 1, 3, 1, 1, 1, 1, 1, 1, 2, 1, 2, 2, 2, 1, 1, 2, 1, 2, 1, 3, 2,
291 4, 1, 3, 1, 3, 1, 4, 1, 2, 1, 3, 2, 1, 2, 1, 1, 1, 3, 2, 1, 4, 6, 1, 2, 2, 5,
292 1, 3, 1, 1, 2, 1, 5, 1, 3, 1, 2, 2, 1, 1, 1, 2, 1, 4, 4, 5, 2, 1, 3, 3, 1, 2,
293 6, 2, 3, 7, 1, 1, 6, 1, 1, 6, 1, 4, 3, 4, 5, 1, 7, 6, 1, 5, 13, 2, 1, 2, 2, 3,
294 1, 7, 2, 1, 2, 3, 1, 1, 4, 1, 2, 2, 3, 2, 1, 19, 5, 4, 12, 4, 15, 7, 1, 2, 2, 3,
295 3, 2, 1, 11, 3, 6, 2, 1, 4, 1, 1, 3, 1, 2, 3, 5, 1, 2, 2, 1, 1, 1, 1, 1, 1, 2,
296 3, 3, 1, 1, 1, 2, 5, 1, 2, 3, 1, 1, 2, 3, 1, 2, 2, 1, 1, 1, 1, 1, 2, 6, 1, 1,
297 3, 8, 6, 1, 2, 2, 1, 4, 4, 1, 1, 1, 2, 1, 1, 2, 3, 5, 1, 3, 1, 1, 1, 5, 5, 1,
298 1, 2, 1, 1, 1, 1, 2, 1, 1, 3, 7, 2, 3, 8, 2, 2, 1, 5, 1, 1, 1, 1, 3, 1, 2, 2,
299 1, 1, 5, 1, 1, 3, 4, 2, 3, 5, 3, 2, 2, 2, 1, 1, 2, 1, 1, 1, 1, 1, 1, 3, 5, 2,
300 5, 4, 3, 1, 3, 2, 4, 8, 1, 2, 1, 1, 6, 4, 6, 3, 1, 2, 1, 8, 3, 2, 4, 2, 2, 2,
301 3, 3, 1, 8, 1, 1, 1, 1, 3, 1, 1, 3, 3, 2, 2, 12, 1, 3, 4, 1, 3, 12, 3, 4, 1, 1,
302 2, 3, 6, 3, 1, 2, 5, 3, 6, 2, 1, 1, 2, 2, 2, 4, 1, 2, 3, 3, 1, 1, 2, 4, 12, 12,
303 13, 1, 4, 10, 7, 8, 3, 8, 1, 5, 11, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1,
304 1, 1, 1, 3, 1, 2, 4, 1, 2, 2, 5, 3, 4, 2, 1, 1, 2, 1, 1, 2, 1, 3, 4, 2, 2, 1,
305 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 4, 3, 1, 1, 1, 2, 1, 4, 1,
306 1, 2, 1, 2, 1, 1, 1, 5, 4, 2, 1, 10, 1, 1, 2, 3, 1, 3, 6, 2, 8, 1, 1, 1, 1, 3,
307 2, 3, 2, 3, 1, 5, 2, 3, 1, 1, 2, 2, 2, 1, 5, 2, 1, 2, 1, 2, 2, 5, 3, 4, 1, 1,
308 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 1, 1, 3, 1, 1, 1, 4, 4, 5, 2, 1, 2, 2, 1,
309 9, 2, 8, 1, 2, 2, 1, 2, 1, 6, 2, 2, 1, 3, 1, 3, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2,
310 1, 5, 1, 2, 1, 1, 4, 2, 2, 2, 1, 5, 2, 2, 1, 1, 1, 7, 7, 5, 1, 1, 2, 6, 2, 1,
311 1, 1, 1, 1, 2, 3, 3, 1, 10, 4, 1, 1, 1, 1, 1, 2, 1, 5, 2, 4, 2, 2, 4, 1, 3, 1,
312 2, 3, 2, 1, 2, 4, 1, 6, 2, 7, 1, 1, 2, 4, 2, 3, 1, 1, 2, 8, 2, 2, 1, 2, 12, 2,
313 1, 3, 3, 2, 14, 3, 8, 5, 1, 6, 4, 2, 7, 12, 5, 14, 2, 2, 4, 16, 1, 3, 1, 3, 1, 1,
314 1, 1, 2, 3, 1, 2, 1, 1, 1, 3, 6, 1, 3, 1, 1, 2, 1, 2, 4, 3, 1, 1, 3, 1, 1, 2,
315 1, 1, 1, 1, 1, 4, 5, 1, 1, 5, 1, 3, 6, 1, 3, 1, 1, 5, 2, 1, 7, 8, 1, 1, 5, 3,
316 3, 1, 8, 8, 1, 1, 2, 2, 2, 1, 1, 1, 2, 5, 2, 1, 3, 1, 4, 1, 1, 2, 1, 1, 1, 1,
317 2, 1, 2, 2, 1, 1, 4, 1, 1, 1, 6, 4, 2, 2, 1, 1, 1, 1, 3, 2, 8, 3, 1, 1, 6, 1,
318 1, 3, 3, 2, 13, 2, 12, 1, 3, 5, 1, 1, 1, 1, 1, 2, 1, 1, 2, 1, 4, 2, 2, 2, 2, 1,
319 3, 4, 1, 2, 3, 1, 1, 1, 1, 4, 2, 2, 5, 2, 1, 1, 2, 4, 18, 1, 2, 1, 1, 1, 5, 2,
320 3, 2, 2, 1, 2, 1, 2, 1, 3, 1, 2, 4, 2, 2, 1, 4, 1, 1, 2, 1, 2, 1, 1, 1, 1, 5,
321 2, 3, 2, 1, 1, 2, 1, 5, 7, 2, 3, 1, 7, 2, 5, 1, 6, 2, 1, 3, 3, 1, 2, 1, 1, 1,
322 4, 1, 1, 1, 4, 1, 2, 1, 3, 3, 3, 1, 2, 1, 3, 2, 2, 3, 2, 1, 2, 1, 1, 1, 1, 1,
323 1, 1, 1, 1, 4, 3, 1, 1, 3, 2, 1, 1, 3, 2, 1, 1, 3, 1, 4, 1, 1, 1, 1, 1, 1, 4,
324 6, 6, 1, 3, 2, 1, 1, 8, 2, 3, 2, 1, 1, 1, 4, 1, 3, 5, 1, 1, 3, 1, 1, 1, 1, 1,
325 1, 2, 1, 3, 3, 2, 1, 1, 1, 1, 1, 2, 4, 1, 2, 2, 1, 3, 1, 5, 2, 2, 4, 1, 2, 2,
326 1, 2, 1, 3, 2, 3, 1, 1, 2, 1, 1, 1, 2, 4, 3, 1, 9, 1, 1, 3, 1, 3, 3, 3, 1, 3,
327 1, 1, 1, 1, 1, 2, 1, 6, 1, 1, 1, 2, 1, 1, 1, 1, 1, 3, 1, 2, 3, 1, 6, 1, 2, 3,
328 2, 1, 4, 1, 1, 1, 4, 1, 5, 5, 1, 3, 1, 2, 1, 4, 2, 18, 7, 2, 2, 2, 2, 3, 4, 8,
329 5, 3, 2, 1, 4, 1, 3, 5, 2, 20, 3, 6, 1, 4, 14, 1, 1, 3, 1, 10, 3, 4, 4, 6, 2, 1,
330 6, 1, 2, 18, 15, 10, 7, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 2, 1, 4, 2, 1,
331 1, 1, 1, 5, 2, 1, 1, 5, 1, 3, 6, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1,
332 3, 1, 1, 1, 4, 3, 3, 5, 3, 1, 2, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 1, 2, 1, 1, 1,
333 1, 3, 1, 5, 1, 7, 1, 1, 1, 1, 1, 1, 1, 2, 1, 4, 1, 1, 1, 2, 1, 3, 3, 1, 5, 4,
334 4, 2, 1, 1, 2, 3, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 2, 2, 1, 1, 2, 1, 1, 1, 2,
335 1, 3, 3, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 2, 2, 1, 2, 1, 5, 1, 1, 1, 2, 1, 5,
336 1, 1, 5, 3, 2, 3, 4, 1, 2, 1, 1, 1, 1, 2, 1, 1, 1, 2, 2, 1, 4, 3, 7, 1, 3, 5,
337 1, 2, 1, 3, 2, 1, 1, 1, 1, 1, 5, 9, 1, 2, 1, 1, 4, 2, 4, 1, 1, 7, 1, 3, 1, 2,
338 3, 2, 5, 1, 1, 1, 2, 2, 1, 1, 2, 4, 2, 6, 2, 2, 1, 2, 2, 1, 1, 1, 2, 1, 1, 2,
339 3, 1, 3, 1, 2, 2, 2, 6, 2, 3, 4, 2, 1, 2, 3, 1, 10, 1, 2, 6, 1, 3, 6, 1, 2, 2,
340 5, 2, 1, 1, 1, 3, 6, 1, 3, 1, 2, 1, 1, 7, 1, 2, 2, 1, 5, 4, 2, 1, 7, 6, 3, 4,
341 3, 1, 1, 1, 1, 2, 5, 3, 2, 4, 3, 3, 9, 2, 4, 7, 4, 1, 4, 5, 2, 1, 2, 10, 1, 3,
342 1, 3, 5, 6, 5, 3, 1, 1, 2, 5, 2, 1, 2, 2, 4, 2, 3, 8, 1, 2, 2, 6, 6, 4, 2, 2,
343 25, 1, 9, 9, 6, 13, 6, 3, 1, 7, 2, 1, 2, 2, 1, 1, 6, 3, 1, 3, 3, 2, 3, 1, 1, 3,
344 2, 2, 1, 4, 1, 3, 3, 2, 1, 4, 2, 2, 3, 16, 4, 1, 4, 1, 2, 4, 2, 2, 1, 1, 2, 1,
345 1, 3, 1, 2, 2, 2, 2, 2, 1, 6, 3, 3, 1, 4, 2, 1, 1, 1, 5, 1, 2, 1, 1, 2, 4, 1,
346 7, 2, 2, 3, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 2, 1, 4, 1, 2, 1, 1,
347 2, 1, 1, 1, 1, 2, 2, 1, 3, 1, 1, 1, 4, 4, 2, 1, 1, 2, 1, 1, 2, 1, 2, 1, 2, 2,
348 2, 2, 1, 1, 1, 4, 2, 1, 1, 3, 2, 2, 5, 1, 1, 3, 1, 2, 1, 1, 1, 1, 1, 2, 1, 4,
349 1, 2, 1, 2, 2, 2, 2, 1, 3, 1, 1, 1, 3, 2, 1, 3, 4, 4, 2, 1, 2, 5, 5, 4, 1, 1,
350 6, 10, 1, 6, 4, 2, 1, 1, 3, 5, 1, 9, 4, 13, 2, 1, 1, 9, 3, 7, 2, 1, 1, 3, 2, 3,
351 2, 1, 1, 8, 1, 2, 2, 2, 1, 3, 1, 1, 2, 4, 2, 2, 7, 2, 2, 1, 1, 1, 2, 2, 2, 1,
352 1, 3, 2, 3, 3, 2, 1, 1, 2, 2, 1, 3, 2, 1, 1, 1, 2, 2, 1, 3, 3, 2, 1, 1, 1, 4,
353 2, 1, 1, 1, 3, 2, 1, 2, 1, 2, 2, 4, 1, 2, 1, 2, 3, 1, 2, 2, 2, 2, 3, 5, 2, 1,
354 2, 2, 1, 1, 4, 1, 2, 2, 1, 2, 1, 2, 2, 1, 2, 1, 2, 1, 1, 1, 1, 8, 2, 1, 4, 2,
355 5, 1, 1, 1, 1, 1, 2, 2, 1, 1, 2, 1, 1, 2, 2, 3, 4, 3, 3, 1, 1, 2, 1, 3, 6, 2,
356 1, 5, 2, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 3, 1, 6, 2, 2, 8, 1, 8, 1, 1, 3, 1,
357 1, 2, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 2, 2, 2, 1, 2, 1, 1, 11, 1, 1, 1,
358 1, 1, 1, 1, 1, 1, 2, 4, 3, 2, 2, 1, 2, 8, 2, 2, 1, 6, 3, 4, 4, 9, 2, 1, 3, 1,
359 1, 5, 2, 1, 3, 1, 1, 7, 1, 1, 1, 1, 1, 1, 7, 2, 2, 3, 2, 1, 2, 3, 2, 6, 3, 1,
360 4, 2, 1, 1, 2, 2, 1, 4, 4, 1, 1, 1, 1, 3, 1, 4, 1, 5, 2, 1, 2, 1, 1, 1, 12, 1,
361 4, 6, 3, 3, 4, 4, 1, 4, 2, 3, 16, 2, 3, 2, 1, 3, 1, 2, 3, 3, 3, 1, 1, 3, 1, 8,
362 1, 1, 3, 6, 1, 1, 1, 1, 1, 1, 1, 4, 4, 3, 1, 1, 5, 1, 11, 1, 3, 2, 3, 1, 3, 3,
363 4, 6, 2, 7, 2, 2, 2, 4, 6, 1, 1, 3, 1, 13, 4, 1, 11, 2, 11, 13, 1, 7, 2, 7, 2, 5,
364 2, 4, 8, 1, 6, 3, 9, 1, 7, 1, 2, 3, 3, 4, 1, 11, 8, 3, 4, 4, 10, 2, 1, 6, 7, 2,
365 9, 2, 1, 26, 60, 30, 1, 1, 1, 1, 3, 11, 6, 1, 1, 1, 3, 5, 2, 1, 1, 2, 3, 13, 9, 1,
366 1, 1, 1, 1, 3, 15, 2, 1, 5, 1, 1, 1, 2, 1, 2, 1, 1, 2, 5, 1, 3, 4, 1, 6, 2, 7,
367 9, 1, 1, 2, 8, 2, 1, 3, 6, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 2, 2, 6, 9, 1, 4, 4,
368 2, 4, 4, 8, 1, 1, 6, 2, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 4, 2, 1, 2, 2, 1, 1, 1,
369 1, 4, 1, 1, 2, 2, 4, 6, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 5, 4, 1, 2, 4, 1, 1, 1,
370 1, 1, 1, 3, 3, 1, 1, 1, 1, 2, 3, 2, 2, 2, 3, 4, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1,
371 3, 3, 1, 3, 1, 4, 1, 1, 1, 4, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 3, 2, 5, 1,
372 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 2, 2, 1, 2, 4, 3, 1, 1, 1, 1, 2, 1, 1, 1, 2, 2,
373 1, 1, 1, 2, 3, 2, 1, 3, 1, 1, 1, 2, 2, 2, 1, 2, 1, 1, 1, 1, 3, 3, 3, 1, 3, 1,
374 2, 3, 1, 1, 4, 1, 1, 1, 1, 3, 4, 1, 2, 2, 1, 2, 1, 2, 1, 3, 1, 1, 1, 1, 3, 1,
375 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1,
376 1, 1, 2, 1, 1, 1, 2, 2, 1, 3, 1, 2, 1, 1, 1, 1, 2, 2, 3, 1, 4, 6, 2, 1, 3, 1,
377 3, 1, 1, 2, 1, 2, 1, 1, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 3, 1,
378 3, 2, 1, 3, 7, 1, 4, 1, 1, 1, 4, 1, 3, 2, 5, 2, 1, 3, 1, 1, 1, 1, 1, 3, 2, 5,
379 1, 2, 1, 2, 2, 1, 3, 2, 2, 1, 9, 5, 2, 1, 1, 2, 1, 3, 3, 3, 3, 2, 1, 1, 2, 1,
380 1, 4, 2, 2, 2, 1, 2, 2, 4, 2, 2, 7, 1, 5, 4, 1, 3, 2, 1, 2, 2, 3, 1, 1, 2, 4,
381 8, 3, 4, 2, 10, 1, 2, 2, 2, 1, 1, 2, 4, 2, 1, 8, 2, 2, 2, 1, 1, 2, 3, 1, 1, 3,
382 5, 2, 1, 2, 1, 1, 1, 2, 1, 1, 2, 4, 1, 1, 3, 1, 2, 2, 2, 2, 2, 2, 1, 1, 2, 1,
383 2, 4, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 9, 5, 9, 4, 2, 1, 2, 4, 4, 1, 1, 1,
384 10, 4, 2, 3, 1, 1, 2, 2, 2, 2, 1, 2, 1, 2, 2, 1, 2, 8, 1, 4, 2, 2, 7, 2, 4, 2,
385 1, 3, 4, 3, 4, 1, 4, 2, 1, 3, 2, 2, 1, 1, 4, 2, 4, 1, 3, 1, 1, 13, 1, 5, 4, 2,
386 3, 3, 6, 1, 2, 3, 3, 1, 3, 2, 7, 2, 6, 1, 12, 2, 1, 8, 5, 1, 29, 1, 4, 3, 6, 1,
387 8, 14, 4, 4, 3, 12, 4, 3, 15, 13, 2, 2, 1, 5, 1, 2, 4, 2, 1, 1, 5, 1, 3, 1, 2, 2,
388 4, 2, 1, 1, 2, 1, 3, 1, 2, 4, 8, 1, 1, 1, 1, 2, 2, 4, 1, 1, 2, 1, 1, 3, 1, 1,
389 1, 5, 2, 10, 4, 1, 2, 1, 1, 2, 1, 4, 2, 1, 1, 1, 2, 1, 1, 2, 7, 1, 2, 1, 1, 2,
390 9, 3, 1, 2, 4, 3, 2, 1, 1, 1, 1, 1, 2, 2, 8, 9, 1, 1, 5, 11, 2, 2, 5, 1, 1, 2,
391 5, 9, 2, 1, 5, 2, 1, 1, 6, 4, 1, 1, 4, 2, 3, 7, 3, 3, 5, 5, 4, 1, 2, 1, 3, 1,
392 5, 3, 4, 9, 4, 2, 8, 7, 1, 3, 1, 5, 1, 5, 6, 5, 2, 7, 11, 13, 1, 13, 6, 3, 2, 9,
393 2, 2, 4, 1, 4, 1, 1, 1, 1, 2, 2, 2, 2, 1, 5, 1, 4, 1, 5, 4, 3, 1, 1, 2, 2, 2,
394 1, 2, 1, 1, 1, 2, 5, 1, 3, 3, 4, 1, 1, 3, 1, 1, 1, 3, 3, 3, 1, 2, 2, 3, 13, 9,
395 4, 3, 1, 4, 2, 1, 1, 1, 8, 1, 1, 1, 4, 1, 4, 1, 2, 2, 5, 2, 4, 1, 2, 1, 7, 1,
396 3, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 2, 1, 1, 5, 2, 1, 3, 3, 4, 7, 1, 1, 4, 1, 1,
397 1, 3, 1, 3, 4, 1, 1, 1, 2, 1, 1, 1, 3, 3, 2, 1, 4, 1, 14, 3, 2, 5, 9, 12, 1, 2,
398 5, 10, 5, 1, 3, 2, 2, 3, 3, 1, 1, 2, 1, 2, 1, 1, 1, 3, 1, 1, 1, 1, 2, 1, 1, 3,
399 2, 2, 1, 1, 1, 1, 1, 1, 3, 1, 2, 1, 1, 1, 3, 1, 2, 3, 2, 1, 1, 1, 1, 1, 1, 2,
400 1, 1, 1, 3, 1, 3, 2, 2, 1, 2, 2, 1, 2, 1, 1, 2, 1, 1, 2, 3, 2, 3, 2, 1, 1, 1,
401 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 4, 1, 1, 4, 6, 1, 4, 2, 1, 2, 1, 1, 2, 2, 1, 1,
402 1, 1, 1, 1, 2, 1, 1, 1, 1, 6, 4, 1, 1, 1, 1, 1, 1, 11, 2, 1, 1, 1, 1, 2, 1, 1,
403 1, 1, 1, 1, 3, 5, 1, 4, 1, 3, 1, 2, 3, 1, 7, 2, 1, 2, 3, 1, 1, 3, 3, 2, 2, 6,
404 4, 2, 1, 1, 5, 2, 1, 1, 1, 2, 2, 3, 1, 8, 6, 18, 4, 2, 4, 2, 2, 2, 1, 1, 2, 8,
405 1, 5, 2, 1, 4, 4, 5, 9, 2, 2, 2, 4, 1, 2, 2, 3, 2, 4, 1, 2, 1, 1, 1, 1, 1, 2,
406 1, 1, 1, 1, 2, 2, 1, 2, 1, 3, 2, 5, 3, 3, 1, 2, 1, 5, 2, 3, 1, 1, 1, 8, 1, 1,
407 4, 2, 3, 3, 2, 4, 1, 6, 2, 2, 3, 7, 2, 1, 1, 3, 2, 1, 2, 1, 3, 2, 1, 1, 1, 1,
408 1, 1, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 3, 1, 1, 4, 1, 1, 1, 2, 1, 1, 1,
409 3, 5, 1, 1, 1, 3, 3, 3, 4, 1, 1, 2, 1, 1, 2, 1, 5, 1, 3, 5, 3, 3, 1, 1, 2, 2,
410 1, 4, 2, 4, 5, 2, 1, 1, 2, 4, 1, 2, 2, 1, 1, 3, 1, 1, 2, 3, 3, 1, 1, 3, 4, 2,
411 1, 1, 3, 9, 1, 7, 2, 1, 5, 2, 5, 8, 4, 9, 3, 2, 1, 1, 3, 2, 2, 1, 1, 3, 3, 3,
412 2, 2, 1, 3, 2, 3, 6, 2, 7, 1, 3, 1, 2, 11, 3, 3, 1, 2, 1, 1, 3, 1, 1, 1, 1, 1,
413 2, 2, 1, 1, 3, 4, 6, 1, 8, 1, 2, 1, 2, 3, 1, 1, 3, 2, 3, 3, 3, 1, 1, 1, 1, 2,
414 12, 1, 5, 1, 2, 4, 2, 1, 3, 1, 2, 6, 1, 1, 1, 2, 2, 4, 1, 2, 1, 3, 7, 2, 1, 9,
415 1, 6, 1, 1, 2, 1, 2, 3, 1, 13, 4, 1, 1, 1, 4, 1, 6, 1, 1, 1, 3, 1, 13, 1, 2, 3,
416 2, 2, 1, 1, 1, 1, 3, 3, 2, 6, 2, 2, 14, 10, 4, 1, 2, 4, 1, 2, 2, 2, 2, 1, 1, 1,
417 2, 3, 3, 2, 3, 1, 2, 1, 1, 1, 1, 2, 2, 3, 3, 1, 4, 1, 2, 2, 1, 1, 2, 2, 1, 2,
418 1, 3, 2, 2, 4, 1, 1, 1, 2, 4, 1, 2, 1, 1, 1, 1, 1, 2, 2, 1, 4, 2, 3, 2, 1, 1,
419 2, 2, 2, 1, 1, 1, 2, 1, 3, 13, 1, 1, 1, 1, 14, 3, 4, 4, 1, 1, 3, 1, 1, 1, 2, 2,
420 4, 1, 2, 1, 1, 3, 2, 2, 2, 2, 1, 8, 1, 1, 1, 1, 2, 3, 5, 3, 4, 4, 1, 1, 4, 1,
421 4, 1, 4, 3, 5, 7, 4, 6, 2, 3, 2, 2, 6, 4, 7, 7, 11, 22, 1, 5, 2, 2, 2, 1, 2, 3,
422 1, 1, 1, 1, 1, 3, 1, 1, 3, 2, 1, 1, 3, 1, 1, 1, 1, 1, 1, 2, 3, 2, 1, 5, 2, 3,
423 5, 1, 2, 2, 2, 2, 1, 3, 1, 5, 1, 4, 3, 2, 4, 2, 1, 9, 3, 12, 6, 1, 1, 2, 1, 2,
424 1, 2, 3, 3, 2, 2, 4, 1, 3, 3, 7, 4, 1, 2, 1, 2, 2, 1, 1, 2, 1, 8, 3, 2, 1, 2,
425 2, 1, 3, 5, 1, 1, 1, 3, 3, 3, 2, 1, 4, 2, 3, 16, 4, 2, 2, 1, 1, 2, 5, 2, 11, 6,
426 2, 3, 3, 17, 4, 2, 1, 1, 1, 1, 5, 1, 1, 2, 1, 1, 3, 2, 3, 1, 3, 1, 3, 1, 1, 1,
427 4, 1, 2, 1, 3, 2, 1, 2, 4, 1, 6, 5, 7, 12, 6, 5, 2, 1, 5, 1, 1, 3, 2, 1, 5, 2,
428 2, 10, 1, 3, 2, 4, 1, 2, 2, 2, 1, 4, 2, 3, 1, 4, 2, 3, 2, 4, 1, 1, 2, 2, 1, 1,
429 2, 1, 2, 2, 5, 2, 2, 2, 2, 5, 2, 2, 2, 1, 3, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 3,
430 2, 2, 1, 1, 8, 3, 1, 3, 1, 1, 2, 2, 1, 2, 2, 5, 8, 3, 3, 1, 1, 1, 1, 5, 5, 1,
431 4, 1, 1, 1, 1, 1, 1, 1, 4, 3, 4, 9, 5, 1, 5, 5, 2, 6, 1, 3, 4, 4, 1, 4, 4, 1,
432 2, 6, 5, 2, 5, 4, 2, 2, 1, 3, 6, 1, 7, 2, 1, 7, 3, 6, 8, 7, 1, 1, 12, 24, 14, 1,
433 7, 1, 1, 12, 8, 1, 3, 2, 1, 4, 1, 1, 1, 3, 2, 1, 5, 4, 3, 1, 1, 6, 3, 1, 1, 1,
434 2, 4, 2, 1, 2, 2, 1, 5, 3, 1, 1, 2, 3, 3, 1, 8, 7, 6, 6, 15, 22, 2, 5, 4, 4, 45,
435 18, 9, 47, 8, 114, 2, 25, 6, 3, 3, 59, 25, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
436 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,
437 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,
438 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
439 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
440 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,
441 1, 1, 1, 2, 2, 8, 2, 1, 8, 3, 1, 3, 1, 2, 1, 2, 5, 2, 1, 6, 1, 1, 4, 3, 1, 2,
442 2, 3, 4, 1, 3, 9, 2, 2, 3, 2, 1, 1, 1, 4, 3, 1, 1, 2, 3, 3, 8, 1, 1, 1, 6, 1,
443 3, 1, 2, 1, 1, 1, 1, 2, 3, 2, 2, 2, 6, 1, 3, 1, 1, 1, 4, 1, 1, 4, 1, 3, 5, 1,
444 1, 1, 2, 4, 4, 1, 2, 2, 1, 2, 1, 1, 1, 1, 4, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 1,
445 1, 3, 4, 2, 2, 1, 1, 1, 1, 1, 1, 6, 1, 2, 2, 1, 1, 1, 3, 2, 2, 3, 1, 3, 4, 1,
446 1, 1, 5, 2, 4, 2, 15, 1, 7, 14, 4, 1, 2, 1, 2, 2, 1, 7, 3, 2, 2, 1, 2, 2, 1, 1,
447 1, 2, 1, 4, 1, 1, 2, 1, 1, 2, 1, 2, 3, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2,
448 4, 1, 1, 8, 1, 2, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1,
449 1, 1, 1, 2, 2, 2, 2, 1, 5, 4, 3, 1, 3, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 4, 1, 10,
450 3, 3, 2, 1, 4, 2, 6, 1, 7, 2, 2, 1, 1, 4, 1, 1, 1, 1, 1, 3, 1, 1, 6, 5, 2, 1,
451 1, 4, 1, 1, 1, 1, 3, 5, 1, 1, 1, 1, 1, 1, 1, 2, 6, 2, 5, 2, 7, 1, 2, 1, 1, 9,
452 2, 11, 7, 1, 5, 2, 1, 3, 4, 2, 5, 11, 7, 4, 3, 2, 1, 6, 1, 7, 1, 2, 2, 1, 1, 2,
453 1, 1, 6, 1, 3, 2, 2, 7, 1, 2, 1, 1, 2, 1, 2, 5, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1,
454 1, 1, 1, 1, 2, 3, 6, 1, 2, 2, 2, 3, 1, 9, 2, 5, 9, 6, 1, 1, 2, 1, 1, 6, 3, 1,
455 1, 3, 1, 1, 4, 2, 1, 2, 1, 1, 2, 1, 5, 1, 1, 3, 1, 2, 1, 1, 2, 1, 1, 1, 2, 1,
456 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 3, 1, 1, 3, 1, 1, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1,
457 1, 2, 1, 1, 1, 1, 2, 1, 3, 1, 2, 1, 1, 1, 2, 1, 1, 1, 1, 4, 4, 2, 3, 3, 2, 2,
458 3, 2, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 2, 1, 1, 2, 3, 1, 1, 1, 10, 1, 3,
459 1, 1, 2, 2, 2, 1, 1, 1, 2, 1, 1, 2, 1, 3, 1, 2, 1, 2, 1, 2, 6, 1, 1, 1, 1, 1,
460 2, 3, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8, 1, 3, 1,
461 1, 8, 1, 3, 5, 4, 1, 5, 1, 2, 1, 1, 1, 2, 8, 1, 1, 1, 5, 1, 1, 1, 1, 2, 1, 1,
462 1, 1, 2, 1, 2, 1, 1, 1, 3, 2, 2, 1, 2, 1, 2, 5, 2, 2, 4, 1, 2, 1, 1, 4, 4, 1,
463 6, 1, 1, 7, 3, 1, 4, 2, 1, 2, 5, 1, 1, 1, 1, 2, 7, 2, 2, 1, 6, 1, 1, 1, 1, 1,
464 1, 8, 2, 5, 1, 3, 1, 9, 8, 3, 5, 1, 2, 1, 1, 1, 5, 2, 6, 2, 1, 1, 3, 1, 2, 1,
465 1, 1, 2, 2, 8, 2, 3, 1, 1, 2, 1, 2, 2, 7, 2, 3, 3, 2, 7, 7, 2, 1, 2, 4, 1, 1,
466 1, 2, 2, 2, 1, 2, 3, 2, 1, 3, 2, 1, 1, 2, 3, 7, 2, 1, 2, 1, 2, 1, 6, 4, 12, 3,
467 1, 3, 5, 2, 2, 5, 2, 4, 3, 5, 2, 10, 1, 11, 1, 1, 1, 1, 1, 1, 6, 5, 1, 1, 12, 1,
468 2, 5, 6, 4, 8, 2, 2, 5, 1, 1, 3, 3, 3, 1, 2, 8, 12, 1, 6, 2, 4, 2, 4, 1, 1, 3,
469 4, 1, 1, 6, 2, 8, 6, 1, 3, 2, 7, 3, 1, 4, 2, 2, 1, 18, 4, 6, 12, 5, 2, 15, 2, 15,
470 4, 18, 1, 1, 1, 1, 1, 1, 6, 4, 4, 2, 7, 1, 2, 3, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1,
471 1, 1, 2, 2, 4, 1, 1, 1, 6, 2, 7, 1, 6, 1, 3, 1, 1, 1, 2, 3, 1, 1, 1, 2, 2, 4,
472 6, 3, 1, 2, 1, 2, 1, 1, 3, 1, 1, 1, 3, 4, 1, 2, 3, 1, 5, 5, 4, 1, 2, 1, 1, 1,
473 1, 4, 1, 5, 2, 2, 1, 4, 1, 1, 1, 3, 1, 2, 2, 1, 2, 2, 1, 2, 2, 2, 3, 1, 1, 2,
474 4, 5, 3, 3, 3, 4, 3, 1, 8, 1, 1, 3, 2, 5, 4, 1, 1, 7, 3, 1, 1, 9, 2, 2, 2, 2,
475 5, 1, 1, 1, 4, 1, 2, 3, 3, 2, 10, 8, 1, 3, 5, 3, 1, 1, 2, 2, 2, 2, 5, 3, 3, 6,
476 4, 1, 4, 2, 1, 9, 5, 5, 5, 1, 3, 11, 5, 5, 7, 1, 8, 2, 1, 11, 1, 16, 7, 3, 4, 3,
477 1, 1, 7, 1, 1, 4, 2, 3, 2, 7, 1, 1, 1, 2, 3, 1, 2, 1, 2, 2, 2, 5, 6, 1, 1, 2,
478 1, 2, 1, 1, 2, 3, 2, 5, 4, 1, 5, 6, 2, 6, 1, 2, 2, 2, 6, 5, 5, 1, 3, 1, 2, 1,
479 5, 4, 2, 1, 3, 1, 2, 4, 3, 1, 1, 1, 3, 8, 1, 2, 1, 4, 1, 3, 2, 4, 8, 6, 2, 1,
480 2, 4, 1, 1, 4, 2, 4, 5, 1, 4, 1, 4, 2, 11, 3, 17, 5, 2, 2, 1, 7, 5, 16, 4, 2, 2,
481 3, 59, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 4, 4, 2, 2, 1, 4, 2, 1,
482 5, 2, 2, 2, 2, 12, 1, 4, 3, 19, 36, 10, 23, 26, 16, 1, 9, 116, 95, 6, 53, 1, 1, 1, 1, 1,
483 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
484 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,
485 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
486 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1,
487 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
488 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 3, 2, 5, 1, 2, 3, 9, 5, 7, 1, 6, 2, 1, 3, 5,
489 5, 1, 1, 8, 3, 1, 3, 1, 2, 8, 4, 133, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
490 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,
491 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,
492 1, 1, 1, 1, 2, 1, 3, 1, 2, 3, 3, 1, 1, 1, 1, 10, 3, 1, 5, 1, 6, 3, 11, 4, 12, 2,
493 2, 1, 1, 3, 2, 2, 2, 1, 3, 1, 1, 2, 5, 1, 2, 1, 1, 1, 5, 1, 3, 1, 2, 1, 1, 4,
494 1, 4, 2, 2, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 8, 4, 1, 2, 3, 3, 2, 9, 1, 1, 3,
495 1, 3, 3, 1, 2, 2, 1, 2, 4, 1, 3, 1, 3, 3, 1, 1, 2, 1, 2, 1, 1, 1, 1, 5, 1, 1,
496 7, 1, 2, 6, 4, 3, 3, 1, 2, 1, 2, 2, 2, 6, 1, 1, 1, 2, 4, 2, 8, 1, 4, 8, 2, 13,
497 1, 3, 3, 8, 172, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
498 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,
499 1, 1, 1, 1, 1, 1, 1, 2, 1, 4, 5, 1, 2, 5, 1, 8, 4, 1, 1, 2, 1, 2, 1, 2, 1, 6,
500 2, 1, 2, 1, 1, 3, 1, 2, 1, 1, 1, 1, 3, 2, 1, 1, 2, 1, 1, 1, 2, 1, 2, 3, 4, 1,
501 1, 1, 3, 3, 1, 1, 1, 1, 1, 1, 3, 1, 1, 2, 2, 1, 1, 1, 2, 2, 1, 3, 1, 2, 1, 1,
502 1, 1, 1, 4, 7, 1, 1, 5, 1, 1, 2, 3, 1, 2, 3, 1, 2, 2, 1, 6, 2, 1, 1, 1, 1, 4,
503 1, 3, 7, 1, 2, 3, 5, 1, 6, 1, 4, 4, 2, 1, 2, 1, 5, 3, 6, 2, 2, 2, 1, 1, 2, 2,
504 3, 1, 1, 1, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 2, 2,
505 1, 1, 2, 1, 2, 4, 1, 1, 1, 2, 4, 3, 1, 1, 1, 4, 1, 2, 2, 1, 1, 2, 1, 2, 2, 5,
506 4, 5, 1, 1, 1, 2, 1, 1, 1, 7, 5, 6, 1, 1, 1, 2, 2, 2, 2, 1, 8, 4, 2, 8, 9, 1,
507 2, 1, 3, 1, 1, 1, 1, 1, 1, 1, 2, 5, 3, 3, 1, 3, 1, 1, 1, 1, 1, 3, 1, 2, 2, 1,
508 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 3, 1, 1, 6, 2, 2, 2, 1, 1, 3, 1, 1, 8, 1, 7, 6,
509 2, 3, 1, 1, 5, 1, 5, 4, 9, 2, 1, 2, 1, 1, 1, 1, 1, 11, 152, 26, 32, 24, 2, 118, 44, 37,
510 59, 12, 104, 45, 27, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
511 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, 2,
512 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3,
513 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
514 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,
515 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1,
516 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,
517 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, 2,
518 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
519 1, 9, 105, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
520 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2,
521 3, 2, 9, 4, 3, 1, 1, 1, 1, 1, 5, 1, 1, 2, 1, 2, 2, 1, 1, 1, 1, 1, 2, 1, 1, 1,
522 2, 1, 3, 1, 6, 3, 1, 2, 1, 2, 3, 1, 1, 1, 2, 6, 2, 1, 1, 1, 12, 2, 1, 2, 3, 2,
523 2, 1, 4, 3, 1, 1, 3, 11, 2, 7, 3, 3, 3, 1, 2, 1, 1, 2, 1, 3, 1, 1, 1, 2, 1, 2,
524 1, 1, 1, 3, 3, 11, 8, 1, 1, 5, 2, 2, 3, 1, 2, 5, 2, 1, 3, 1, 1, 1, 1, 1, 4, 1,
525 1, 4, 3, 6, 2, 10, 2, 3, 3, 2, 6, 1, 5, 20, 1, 3, 3, 2, 3, 2, 1, 1, 3, 4, 3, 4,
526 3, 1, 2, 2, 2, 2, 1, 2, 2, 4, 6, 2, 4, 1, 2, 4, 8, 1, 2, 4, 1, 3, 1, 1, 1, 1,
527 3, 1, 1, 14, 36, 1, 1, 1, 1, 1, 1, 1, 6, 2, 1, 127, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
528 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1,
529 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 39, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 5, 1, 8, 1,
530 37, 3, 30, 38, 1, 16, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
531 1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
532 1, 4, 1, 7, 2, 1, 196, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
533 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1,
534 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8, 1, 5, 1, 1, 2, 2, 4, 1, 1, 1, 2,
535 6, 1, 2, 3, 2, 5, 9, 1, 4, 5, 2, 2, 10, 2, 2, 6, 5, 7, 3, 1, 5, 7, 4, 12, 3, 4,
536 1, 4, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 296, 1, 1, 1, 1, 1, 1, 1, 2,
537 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
538 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1,
539 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
540 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 315, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
541 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
542 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
543 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 10, 1, 1, 2, 5, 1, 3, 6,
544 1, 1, 3, 7, 2, 7, 18, 1, 2, 2, 1, 6, 3, 2, 4, 1, 1, 2, 3, 4, 3, 1, 1, 2, 1, 1,
545 1, 3, 2, 2, 1, 5, 10, 2, 1, 2, 13, 2, 1, 2, 2, 1, 4, 2, 7, 2, 7, 2, 1, 3, 2, 6,
546 2, 2, 2, 1, 3, 6, 2, 7, 1, 46, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 13, 1, 1,
558 static gfx::code_point full_ranges[countof(base_ranges) + countof(accumulative_offsets) * 2 + 1] = {0};
561 memcpy(full_ranges, base_ranges,
sizeof(base_ranges));
562 unpack_accumulative_offsets_into_ranges(0x4E00,
563 accumulative_offsets,
564 countof(accumulative_offsets),
565 full_ranges + countof(base_ranges));
567 return &full_ranges[0];
592 static const short accumulative_offsets[] = {
593 0, 1, 2, 4, 1, 1, 1, 1, 2, 1, 3, 3, 2, 2, 1, 5, 3, 5, 7, 5, 6, 1, 2, 1, 7, 2,
594 6, 3, 1, 8, 1, 1, 4, 1, 1, 18, 2, 11, 2, 6, 2, 1, 2, 1, 5, 1, 2, 1, 3, 1, 2, 1,
595 2, 3, 3, 1, 1, 2, 3, 1, 1, 1, 12, 7, 9, 1, 4, 5, 1, 1, 2, 1, 10, 1, 1, 9, 2, 2,
596 4, 5, 6, 9, 3, 1, 1, 1, 1, 9, 3, 18, 5, 2, 2, 2, 2, 1, 6, 3, 7, 1, 1, 1, 1, 2,
597 2, 4, 2, 1, 23, 2, 10, 4, 3, 5, 2, 4, 10, 2, 4, 13, 1, 6, 1, 9, 3, 1, 1, 6, 6, 7,
598 6, 3, 1, 2, 11, 3, 2, 2, 3, 2, 15, 2, 2, 5, 4, 3, 6, 4, 1, 2, 5, 2, 12, 16, 6, 13,
599 9, 13, 2, 1, 1, 7, 16, 4, 7, 1, 19, 1, 5, 1, 2, 2, 7, 7, 8, 2, 6, 5, 4, 9, 18, 7,
600 4, 5, 9, 13, 11, 8, 15, 2, 1, 1, 1, 2, 1, 2, 2, 1, 2, 2, 8, 2, 9, 3, 3, 1, 1, 4,
601 4, 1, 1, 1, 4, 9, 1, 4, 3, 5, 5, 2, 7, 5, 3, 4, 8, 2, 1, 13, 2, 3, 3, 1, 14, 1,
602 1, 4, 5, 1, 3, 6, 1, 5, 2, 1, 1, 3, 3, 3, 3, 1, 1, 2, 7, 6, 6, 7, 1, 4, 7, 6,
603 1, 1, 1, 1, 1, 12, 3, 3, 9, 5, 2, 6, 1, 5, 6, 1, 2, 3, 18, 2, 4, 14, 4, 1, 3, 6,
604 1, 1, 6, 3, 5, 5, 3, 2, 2, 2, 2, 12, 3, 1, 4, 2, 3, 2, 3, 11, 1, 7, 4, 1, 2, 1,
605 3, 17, 1, 9, 1, 24, 1, 1, 4, 2, 2, 4, 1, 2, 7, 1, 1, 1, 3, 1, 2, 2, 4, 15, 1, 1,
606 2, 1, 1, 2, 1, 5, 2, 5, 20, 2, 5, 9, 1, 10, 8, 7, 6, 1, 1, 1, 1, 1, 1, 6, 2, 1,
607 2, 8, 1, 1, 1, 1, 5, 1, 1, 3, 1, 1, 1, 1, 3, 1, 1, 12, 4, 1, 3, 1, 1, 1, 1, 1,
608 10, 3, 1, 7, 5, 13, 1, 2, 3, 4, 6, 1, 1, 30, 2, 9, 9, 1, 15, 38, 11, 3, 1, 8, 24, 7,
609 1, 9, 8, 10, 2, 1, 9, 31, 2, 13, 6, 2, 9, 4, 49, 5, 2, 15, 2, 1, 10, 2, 1, 1, 1, 2,
610 2, 6, 15, 30, 35, 3, 14, 18, 8, 1, 16, 10, 28, 12, 19, 45, 38, 1, 3, 2, 3, 13, 2, 1, 7, 3,
611 6, 5, 3, 4, 3, 1, 5, 7, 8, 1, 5, 3, 18, 5, 3, 6, 1, 21, 4, 24, 9, 24, 40, 3, 14, 3,
612 21, 3, 2, 1, 2, 4, 2, 3, 1, 15, 15, 6, 5, 1, 1, 3, 1, 5, 6, 1, 9, 7, 3, 3, 2, 1,
613 4, 3, 8, 21, 5, 16, 4, 5, 2, 10, 11, 11, 3, 6, 3, 2, 9, 3, 6, 13, 1, 2, 1, 1, 1, 1,
614 11, 12, 6, 6, 1, 4, 2, 6, 5, 2, 1, 1, 3, 3, 6, 13, 3, 1, 1, 5, 1, 2, 3, 3, 14, 2,
615 1, 2, 2, 2, 5, 1, 9, 5, 1, 1, 6, 12, 3, 12, 3, 4, 13, 2, 14, 2, 8, 1, 17, 5, 1, 16,
616 4, 2, 2, 21, 8, 9, 6, 23, 20, 12, 25, 19, 9, 38, 8, 3, 21, 40, 25, 33, 13, 4, 3, 1, 4, 1,
617 2, 4, 1, 2, 5, 26, 2, 1, 1, 2, 1, 3, 6, 2, 1, 1, 1, 1, 1, 1, 2, 3, 1, 1, 1, 9,
618 2, 3, 1, 1, 1, 3, 6, 3, 2, 1, 1, 6, 6, 1, 8, 2, 2, 2, 1, 4, 1, 2, 3, 2, 7, 3,
619 2, 4, 1, 2, 1, 2, 2, 1, 1, 1, 1, 1, 3, 1, 2, 5, 4, 10, 9, 4, 9, 1, 1, 1, 1, 1,
620 1, 5, 3, 2, 1, 6, 4, 9, 6, 1, 10, 2, 31, 17, 8, 3, 7, 5, 40, 1, 7, 7, 1, 6, 5, 2,
621 10, 7, 8, 4, 15, 39, 25, 6, 28, 47, 18, 10, 7, 1, 3, 1, 1, 2, 1, 1, 1, 3, 3, 3, 1, 1,
622 1, 3, 4, 2, 1, 4, 1, 3, 6, 10, 7, 8, 6, 2, 2, 1, 3, 3, 2, 5, 8, 7, 9, 12, 2, 15,
623 1, 1, 4, 1, 2, 1, 1, 1, 3, 2, 1, 3, 3, 5, 6, 2, 3, 2, 10, 1, 4, 2, 8, 1, 1, 1,
624 11, 6, 1, 21, 4, 16, 3, 1, 3, 1, 4, 2, 3, 6, 5, 1, 3, 1, 1, 3, 3, 4, 6, 1, 1, 10,
625 4, 2, 7, 10, 4, 7, 4, 2, 9, 4, 3, 1, 1, 1, 4, 1, 8, 3, 4, 1, 3, 1, 6, 1, 4, 2,
626 1, 4, 7, 2, 1, 8, 1, 4, 5, 1, 1, 2, 2, 4, 6, 2, 7, 1, 10, 1, 1, 3, 4, 11, 10, 8,
627 21, 4, 6, 1, 3, 5, 2, 1, 2, 28, 5, 5, 2, 3, 13, 1, 2, 3, 1, 4, 2, 1, 5, 20, 3, 8,
628 11, 1, 3, 3, 3, 1, 8, 10, 9, 2, 10, 9, 2, 3, 1, 1, 2, 4, 1, 8, 3, 6, 1, 7, 8, 6,
629 11, 1, 4, 29, 8, 4, 3, 1, 2, 7, 13, 1, 4, 1, 6, 2, 6, 12, 12, 2, 20, 3, 2, 3, 6, 4,
630 8, 9, 2, 7, 34, 5, 1, 18, 6, 1, 1, 4, 4, 5, 7, 9, 1, 2, 2, 4, 3, 4, 1, 7, 2, 2,
631 2, 6, 2, 3, 25, 5, 3, 6, 1, 4, 6, 7, 4, 2, 1, 4, 2, 13, 6, 4, 4, 3, 1, 5, 3, 4,
632 4, 3, 2, 1, 1, 4, 1, 2, 1, 1, 3, 1, 11, 1, 6, 3, 1, 7, 3, 6, 2, 8, 8, 6, 9, 3,
633 4, 11, 3, 2, 10, 12, 2, 5, 11, 1, 6, 4, 5, 3, 1, 8, 5, 4, 6, 6, 3, 5, 1, 1, 3, 2,
634 1, 2, 2, 6, 17, 12, 1, 10, 1, 6, 12, 1, 6, 6, 19, 9, 6, 16, 1, 13, 4, 4, 15, 7, 17, 6,
635 11, 9, 15, 12, 6, 7, 2, 1, 2, 2, 15, 9, 3, 21, 4, 6, 49, 18, 7, 3, 2, 3, 1, 6, 8, 2,
636 2, 6, 2, 9, 1, 3, 6, 4, 4, 1, 2, 16, 2, 5, 2, 1, 6, 2, 3, 5, 3, 1, 2, 5, 1, 2,
637 1, 9, 3, 1, 8, 6, 4, 8, 11, 3, 1, 1, 1, 1, 3, 1, 13, 8, 4, 1, 3, 2, 2, 1, 4, 1,
638 11, 1, 5, 2, 1, 5, 2, 5, 8, 6, 1, 1, 7, 4, 3, 8, 3, 2, 7, 2, 1, 5, 1, 5, 2, 4,
639 7, 6, 2, 8, 5, 1, 11, 4, 5, 3, 6, 18, 1, 2, 13, 3, 3, 1, 21, 1, 1, 4, 1, 4, 1, 1,
640 1, 8, 1, 2, 2, 7, 1, 2, 4, 2, 2, 9, 2, 1, 1, 1, 4, 3, 6, 3, 12, 5, 1, 1, 1, 5,
641 6, 3, 2, 4, 8, 2, 2, 4, 2, 7, 1, 8, 9, 5, 2, 3, 2, 1, 3, 2, 13, 7, 14, 6, 5, 1,
642 1, 2, 1, 4, 2, 23, 2, 1, 1, 6, 3, 1, 4, 1, 15, 3, 1, 7, 3, 9, 14, 1, 3, 1, 4, 1,
643 1, 5, 8, 1, 3, 8, 3, 8, 15, 11, 4, 14, 4, 4, 2, 5, 5, 1, 7, 1, 6, 14, 7, 7, 8, 5,
644 15, 4, 8, 6, 5, 6, 2, 1, 13, 1, 20, 15, 11, 9, 2, 5, 6, 2, 11, 2, 6, 2, 5, 1, 5, 8,
645 4, 13, 19, 25, 4, 1, 1, 11, 1, 34, 2, 5, 9, 14, 6, 2, 2, 6, 1, 1, 14, 1, 3, 14, 13, 1,
646 6, 12, 21, 14, 14, 6, 32, 17, 8, 32, 9, 28, 1, 2, 4, 11, 8, 3, 1, 14, 2, 5, 15, 1, 1, 1,
647 1, 3, 6, 4, 1, 3, 4, 11, 3, 1, 1, 11, 30, 1, 5, 1, 4, 1, 5, 8, 1, 1, 3, 2, 4, 3,
648 17, 35, 2, 6, 12, 17, 3, 1, 6, 2, 1, 1, 12, 2, 7, 3, 3, 2, 1, 16, 2, 8, 3, 6, 5, 4,
649 7, 3, 3, 8, 1, 9, 8, 5, 1, 2, 1, 3, 2, 8, 1, 2, 9, 12, 1, 1, 2, 3, 8, 3, 24, 12,
650 4, 3, 7, 5, 8, 3, 3, 3, 3, 3, 3, 1, 23, 10, 3, 1, 2, 2, 6, 3, 1, 16, 1, 16, 22, 3,
651 10, 4, 11, 6, 9, 7, 7, 3, 6, 2, 2, 2, 4, 10, 2, 1, 1, 2, 8, 7, 1, 6, 4, 1, 3, 3,
652 3, 5, 10, 12, 12, 2, 3, 12, 8, 15, 1, 1, 16, 6, 6, 1, 5, 9, 11, 4, 11, 4, 2, 6, 12, 1,
653 17, 5, 13, 1, 4, 9, 5, 1, 11, 2, 1, 8, 1, 5, 7, 28, 8, 3, 5, 10, 2, 17, 3, 38, 22, 1,
654 2, 18, 12, 10, 4, 38, 18, 1, 4, 44, 19, 4, 1, 8, 4, 1, 12, 1, 4, 31, 12, 1, 14, 7, 75, 7,
655 5, 10, 6, 6, 13, 3, 2, 11, 11, 3, 2, 5, 28, 15, 6, 18, 18, 5, 6, 4, 3, 16, 1, 7, 18, 7,
656 36, 3, 5, 3, 1, 7, 1, 9, 1, 10, 7, 2, 4, 2, 6, 2, 9, 7, 4, 3, 32, 12, 3, 7, 10, 2,
657 23, 16, 3, 1, 12, 3, 31, 4, 11, 1, 3, 8, 9, 5, 1, 30, 15, 6, 12, 3, 2, 2, 11, 19, 9, 14,
658 2, 6, 2, 3, 19, 13, 17, 5, 3, 3, 25, 3, 14, 1, 1, 1, 36, 1, 3, 2, 19, 3, 13, 36, 9, 13,
659 31, 6, 4, 16, 34, 2, 5, 4, 2, 3, 3, 5, 1, 1, 1, 4, 3, 1, 17, 3, 2, 3, 5, 3, 1, 3,
660 2, 3, 5, 6, 3, 12, 11, 1, 3, 1, 2, 26, 7, 12, 7, 2, 14, 3, 3, 7, 7, 11, 25, 25, 28, 16,
661 4, 36, 1, 2, 1, 6, 2, 1, 9, 3, 27, 17, 4, 3, 4, 13, 4, 1, 3, 2, 2, 1, 10, 4, 2, 4,
662 6, 3, 8, 2, 1, 18, 1, 1, 24, 2, 2, 4, 33, 2, 3, 63, 7, 1, 6, 40, 7, 3, 4, 4, 2, 4,
663 15, 18, 1, 16, 1, 1, 11, 2, 41, 14, 1, 3, 18, 13, 3, 2, 4, 16, 2, 17, 7, 15, 24, 7, 18, 13,
664 44, 2, 2, 3, 6, 1, 1, 7, 5, 1, 7, 1, 4, 3, 3, 5, 10, 8, 2, 3, 1, 8, 1, 1, 27, 4,
665 2, 1, 12, 1, 2, 1, 10, 6, 1, 6, 7, 5, 2, 3, 7, 11, 5, 11, 3, 6, 6, 2, 3, 15, 4, 9,
666 1, 1, 2, 1, 2, 11, 2, 8, 12, 8, 5, 4, 2, 3, 1, 5, 2, 2, 1, 14, 1, 12, 11, 4, 1, 11,
667 17, 17, 4, 3, 2, 5, 5, 7, 3, 1, 5, 9, 9, 8, 2, 5, 6, 6, 13, 13, 2, 1, 2, 6, 1, 2,
668 2, 49, 4, 9, 1, 2, 10, 16, 7, 8, 4, 3, 2, 23, 4, 58, 3, 29, 1, 14, 19, 19, 11, 11, 2, 7,
669 5, 1, 3, 4, 6, 2, 18, 5, 12, 12, 17, 17, 3, 3, 2, 4, 1, 6, 2, 3, 4, 3, 1, 1, 1, 1,
670 5, 1, 1, 9, 1, 3, 1, 3, 6, 1, 8, 1, 1, 2, 6, 4, 14, 3, 1, 4, 11, 4, 1, 3, 32, 1,
671 2, 4, 13, 4, 1, 2, 4, 2, 1, 3, 1, 11, 1, 4, 2, 1, 4, 4, 6, 3, 5, 1, 6, 5, 7, 6,
672 3, 23, 3, 5, 3, 5, 3, 3, 13, 3, 9, 10, 1, 12, 10, 2, 3, 18, 13, 7, 160, 52, 4, 2, 2, 3,
673 2, 14, 5, 4, 12, 4, 6, 4, 1, 20, 4, 11, 6, 2, 12, 27, 1, 4, 1, 2, 2, 7, 4, 5, 2, 28,
674 3, 7, 25, 8, 3, 19, 3, 6, 10, 2, 2, 1, 10, 2, 5, 4, 1, 3, 4, 1, 5, 3, 2, 6, 9, 3,
675 6, 2, 16, 3, 3, 16, 4, 5, 5, 3, 2, 1, 2, 16, 15, 8, 2, 6, 21, 2, 4, 1, 22, 5, 8, 1,
676 1, 21, 11, 2, 1, 11, 11, 19, 13, 12, 4, 2, 3, 2, 3, 6, 1, 8, 11, 1, 4, 2, 9, 5, 2, 1,
677 11, 2, 9, 1, 1, 2, 14, 31, 9, 3, 4, 21, 14, 4, 8, 1, 7, 2, 2, 2, 5, 1, 4, 20, 3, 3,
678 4, 10, 1, 11, 9, 8, 2, 1, 4, 5, 14, 12, 14, 2, 17, 9, 6, 31, 4, 14, 1, 20, 13, 26, 5, 2,
679 7, 3, 6, 13, 2, 4, 2, 19, 6, 2, 2, 18, 9, 3, 5, 12, 12, 14, 4, 6, 2, 3, 6, 9, 5, 22,
680 4, 5, 25, 6, 4, 8, 5, 2, 6, 27, 2, 35, 2, 16, 3, 7, 8, 8, 6, 6, 5, 9, 17, 2, 20, 6,
681 19, 2, 13, 3, 1, 1, 1, 4, 17, 12, 2, 14, 7, 1, 4, 18, 12, 38, 33, 2, 10, 1, 1, 2, 13, 14,
682 17, 11, 50, 6, 33, 20, 26, 74, 16, 23, 45, 50, 13, 38, 33, 6, 6, 7, 4, 4, 2, 1, 3, 2, 5, 8,
683 7, 8, 9, 3, 11, 21, 9, 13, 1, 3, 10, 6, 7, 1, 2, 2, 18, 5, 5, 1, 9, 9, 2, 68, 9, 19,
684 13, 2, 5, 1, 4, 4, 7, 4, 13, 3, 9, 10, 21, 17, 3, 26, 2, 1, 5, 2, 4, 5, 4, 1, 7, 4,
685 7, 3, 4, 2, 1, 6, 1, 1, 20, 4, 1, 9, 2, 2, 1, 3, 3, 2, 3, 2, 1, 1, 1, 20, 2, 3,
686 1, 6, 2, 3, 6, 2, 4, 8, 1, 3, 2, 10, 3, 5, 3, 4, 4, 3, 4, 16, 1, 6, 1, 10, 2, 4,
687 2, 1, 1, 2, 10, 11, 2, 2, 3, 1, 24, 31, 4, 10, 10, 2, 5, 12, 16, 164, 15, 4, 16, 7, 9, 15,
688 19, 17, 1, 2, 1, 1, 5, 1, 1, 1, 1, 1, 3, 1, 4, 3, 1, 3, 1, 3, 1, 2, 1, 1, 3, 3,
689 7, 2, 8, 1, 2, 2, 2, 1, 3, 4, 3, 7, 8, 12, 92, 2, 10, 3, 1, 3, 14, 5, 25, 16, 42, 4,
690 7, 7, 4, 2, 21, 5, 27, 26, 27, 21, 25, 30, 31, 2, 1, 5, 13, 3, 22, 5, 6, 6, 11, 9, 12, 1,
691 5, 9, 7, 5, 5, 22, 60, 3, 5, 13, 1, 1, 8, 1, 1, 3, 3, 2, 1, 9, 3, 3, 18, 4, 1, 2,
692 3, 7, 6, 3, 1, 2, 3, 9, 1, 3, 1, 3, 2, 1, 3, 1, 1, 1, 2, 1, 11, 3, 1, 6, 9, 1,
693 3, 2, 3, 1, 2, 1, 5, 1, 1, 4, 3, 4, 1, 2, 2, 4, 4, 1, 7, 2, 1, 2, 2, 3, 5, 13,
694 18, 3, 4, 14, 9, 9, 4, 16, 3, 7, 5, 8, 2, 6, 48, 28, 3, 1, 1, 4, 2, 14, 8, 2, 9, 2,
695 1, 15, 2, 4, 3, 2, 10, 16, 12, 8, 7, 1, 1, 3, 1, 1, 1, 2, 7, 4, 1, 6, 4, 38, 39, 16,
696 23, 7, 15, 15, 3, 2, 12, 7, 21, 37, 27, 6, 5, 4, 8, 2, 10, 8, 8, 6, 5, 1, 2, 1, 3, 24,
697 1, 16, 17, 9, 23, 10, 17, 6, 1, 51, 55, 44, 13, 294, 9, 3, 6, 2, 4, 2, 2, 15, 1, 1, 1, 13,
698 21, 17, 68, 14, 8, 9, 4, 1, 4, 9, 3, 11, 7, 1, 1, 1, 5, 6, 3, 2, 1, 1, 1, 2, 3, 8,
699 1, 2, 2, 4, 1, 5, 5, 2, 1, 4, 3, 7, 13, 4, 1, 4, 1, 3, 1, 1, 1, 5, 5, 10, 1, 6,
700 1, 5, 2, 1, 5, 2, 4, 1, 4, 5, 7, 3, 18, 2, 9, 11, 32, 4, 3, 3, 2, 4, 7, 11, 16, 9,
701 11, 8, 13, 38, 32, 8, 4, 2, 1, 1, 2, 1, 2, 4, 4, 1, 1, 1, 4, 1, 21, 3, 11, 1, 16, 1,
702 1, 6, 1, 3, 2, 4, 9, 8, 57, 7, 44, 1, 3, 3, 13, 3, 10, 1, 1, 7, 5, 2, 7, 21, 47, 63,
703 3, 15, 4, 7, 1, 16, 1, 1, 2, 8, 2, 3, 42, 15, 4, 1, 29, 7, 22, 10, 3, 78, 16, 12, 20, 18,
704 4, 67, 11, 5, 1, 3, 15, 6, 21, 31, 32, 27, 18, 13, 71, 35, 5, 142, 4, 10, 1, 2, 50, 19, 33, 16,
705 35, 37, 16, 19, 27, 7, 1, 133, 19, 1, 4, 8, 7, 20, 1, 4, 4, 1, 10, 3, 1, 6, 1, 2, 51, 5,
706 40, 15, 24, 43, 22928, 11, 1, 13, 154, 70, 3, 1, 1, 7, 4, 10, 1, 2, 1, 1, 2, 1, 2, 1, 2, 2,
707 1, 1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1,
708 3, 2, 1, 1, 1, 1, 2, 1, 1,
719 static gfx::code_point full_ranges[countof(base_ranges) + countof(accumulative_offsets) * 2 + 1] = {0};
722 memcpy(full_ranges, base_ranges,
sizeof(base_ranges));
723 unpack_accumulative_offsets_into_ranges(0x4E00,
724 accumulative_offsets,
725 countof(accumulative_offsets),
726 full_ranges + countof(base_ranges));
728 return &full_ranges[0];
807 return get_glyph_ranges_latin();