longfellow 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (289) hide show
  1. checksums.yaml +7 -0
  2. data/CODE_OF_CONDUCT.md +10 -0
  3. data/LICENSE.txt +21 -0
  4. data/README.md +152 -0
  5. data/ext/longfellow/CMakeLists.txt +76 -0
  6. data/ext/longfellow/extconf.rb +77 -0
  7. data/lib/longfellow/attribute.rb +65 -0
  8. data/lib/longfellow/c.rb +105 -0
  9. data/lib/longfellow/errors.rb +78 -0
  10. data/lib/longfellow/version.rb +5 -0
  11. data/lib/longfellow/zk_spec.rb +40 -0
  12. data/lib/longfellow.rb +162 -0
  13. data/sig/longfellow.rbs +74 -0
  14. data/vendor/longfellow-zk/LICENSE +203 -0
  15. data/vendor/longfellow-zk/lib/algebra/blas.h +121 -0
  16. data/vendor/longfellow-zk/lib/algebra/bogorng.h +68 -0
  17. data/vendor/longfellow-zk/lib/algebra/compare.h +40 -0
  18. data/vendor/longfellow-zk/lib/algebra/convolution.h +219 -0
  19. data/vendor/longfellow-zk/lib/algebra/crt.cc +42 -0
  20. data/vendor/longfellow-zk/lib/algebra/crt.h +299 -0
  21. data/vendor/longfellow-zk/lib/algebra/crt_convolution.h +114 -0
  22. data/vendor/longfellow-zk/lib/algebra/crt_test.cc +371 -0
  23. data/vendor/longfellow-zk/lib/algebra/fft.h +104 -0
  24. data/vendor/longfellow-zk/lib/algebra/fft_interpolation.h +304 -0
  25. data/vendor/longfellow-zk/lib/algebra/fft_interpolation_test.cc +168 -0
  26. data/vendor/longfellow-zk/lib/algebra/fft_test.cc +257 -0
  27. data/vendor/longfellow-zk/lib/algebra/fp.h +59 -0
  28. data/vendor/longfellow-zk/lib/algebra/fp2.h +240 -0
  29. data/vendor/longfellow-zk/lib/algebra/fp24.h +342 -0
  30. data/vendor/longfellow-zk/lib/algebra/fp24_6.h +305 -0
  31. data/vendor/longfellow-zk/lib/algebra/fp24_6_test.cc +197 -0
  32. data/vendor/longfellow-zk/lib/algebra/fp2_test.cc +280 -0
  33. data/vendor/longfellow-zk/lib/algebra/fp_generic.h +533 -0
  34. data/vendor/longfellow-zk/lib/algebra/fp_p128.h +91 -0
  35. data/vendor/longfellow-zk/lib/algebra/fp_p256.h +68 -0
  36. data/vendor/longfellow-zk/lib/algebra/fp_p256k1.h +123 -0
  37. data/vendor/longfellow-zk/lib/algebra/fp_p384.h +65 -0
  38. data/vendor/longfellow-zk/lib/algebra/fp_p521.h +62 -0
  39. data/vendor/longfellow-zk/lib/algebra/fp_test.cc +522 -0
  40. data/vendor/longfellow-zk/lib/algebra/hash.h +39 -0
  41. data/vendor/longfellow-zk/lib/algebra/interpolation.h +117 -0
  42. data/vendor/longfellow-zk/lib/algebra/interpolation_test.cc +74 -0
  43. data/vendor/longfellow-zk/lib/algebra/limb.h +153 -0
  44. data/vendor/longfellow-zk/lib/algebra/limb_test.cc +75 -0
  45. data/vendor/longfellow-zk/lib/algebra/nat.cc +32 -0
  46. data/vendor/longfellow-zk/lib/algebra/nat.h +212 -0
  47. data/vendor/longfellow-zk/lib/algebra/nat_test.cc +183 -0
  48. data/vendor/longfellow-zk/lib/algebra/nussbaumer.h +400 -0
  49. data/vendor/longfellow-zk/lib/algebra/nussbaumer_test.cc +138 -0
  50. data/vendor/longfellow-zk/lib/algebra/nussbaumerfp2_test.cc +139 -0
  51. data/vendor/longfellow-zk/lib/algebra/permutations.h +79 -0
  52. data/vendor/longfellow-zk/lib/algebra/poly.h +240 -0
  53. data/vendor/longfellow-zk/lib/algebra/poly_test.cc +123 -0
  54. data/vendor/longfellow-zk/lib/algebra/reed_solomon.h +150 -0
  55. data/vendor/longfellow-zk/lib/algebra/reed_solomon_extension.h +108 -0
  56. data/vendor/longfellow-zk/lib/algebra/reed_solomon_extension_test.cc +76 -0
  57. data/vendor/longfellow-zk/lib/algebra/reed_solomon_test.cc +473 -0
  58. data/vendor/longfellow-zk/lib/algebra/rfft.h +400 -0
  59. data/vendor/longfellow-zk/lib/algebra/rfft_test.cc +102 -0
  60. data/vendor/longfellow-zk/lib/algebra/static_string.h +29 -0
  61. data/vendor/longfellow-zk/lib/algebra/sysdep.h +495 -0
  62. data/vendor/longfellow-zk/lib/algebra/sysdep_test.cc +41 -0
  63. data/vendor/longfellow-zk/lib/algebra/twiddle.h +59 -0
  64. data/vendor/longfellow-zk/lib/algebra/utility.h +86 -0
  65. data/vendor/longfellow-zk/lib/algebra/utility_test.cc +86 -0
  66. data/vendor/longfellow-zk/lib/arrays/affine.h +56 -0
  67. data/vendor/longfellow-zk/lib/arrays/affine_test.cc +220 -0
  68. data/vendor/longfellow-zk/lib/arrays/dense.h +210 -0
  69. data/vendor/longfellow-zk/lib/arrays/eq.h +75 -0
  70. data/vendor/longfellow-zk/lib/arrays/eqs.h +137 -0
  71. data/vendor/longfellow-zk/lib/arrays/eqs_test.cc +151 -0
  72. data/vendor/longfellow-zk/lib/arrays/sparse.h +192 -0
  73. data/vendor/longfellow-zk/lib/cbor/host_decoder.h +323 -0
  74. data/vendor/longfellow-zk/lib/cbor/host_decoder_test.cc +541 -0
  75. data/vendor/longfellow-zk/lib/circuits/cbor_parser/cbor.h +594 -0
  76. data/vendor/longfellow-zk/lib/circuits/cbor_parser/cbor_byte_decoder.h +150 -0
  77. data/vendor/longfellow-zk/lib/circuits/cbor_parser/cbor_byte_decoder_test.cc +147 -0
  78. data/vendor/longfellow-zk/lib/circuits/cbor_parser/cbor_constants.h +27 -0
  79. data/vendor/longfellow-zk/lib/circuits/cbor_parser/cbor_pluck.h +110 -0
  80. data/vendor/longfellow-zk/lib/circuits/cbor_parser/cbor_pluck_test.cc +55 -0
  81. data/vendor/longfellow-zk/lib/circuits/cbor_parser/cbor_test.cc +174 -0
  82. data/vendor/longfellow-zk/lib/circuits/cbor_parser/cbor_testing.h +98 -0
  83. data/vendor/longfellow-zk/lib/circuits/cbor_parser/cbor_witness.h +312 -0
  84. data/vendor/longfellow-zk/lib/circuits/cbor_parser/mso2_test.cc +662 -0
  85. data/vendor/longfellow-zk/lib/circuits/cbor_parser/mso_test.cc +485 -0
  86. data/vendor/longfellow-zk/lib/circuits/cbor_parser/scan.h +104 -0
  87. data/vendor/longfellow-zk/lib/circuits/cbor_parser/scan_test.cc +137 -0
  88. data/vendor/longfellow-zk/lib/circuits/cbor_parser_v2/cbor.h +640 -0
  89. data/vendor/longfellow-zk/lib/circuits/cbor_parser_v2/cbor_byte_decoder.h +150 -0
  90. data/vendor/longfellow-zk/lib/circuits/cbor_parser_v2/cbor_byte_decoder_test.cc +147 -0
  91. data/vendor/longfellow-zk/lib/circuits/cbor_parser_v2/cbor_constants.h +27 -0
  92. data/vendor/longfellow-zk/lib/circuits/cbor_parser_v2/cbor_testing.h +99 -0
  93. data/vendor/longfellow-zk/lib/circuits/cbor_parser_v2/cbor_witness.h +319 -0
  94. data/vendor/longfellow-zk/lib/circuits/cbor_parser_v2/lexer_test.cc +120 -0
  95. data/vendor/longfellow-zk/lib/circuits/cbor_parser_v2/mdoc_examples_test.cc +89 -0
  96. data/vendor/longfellow-zk/lib/circuits/cbor_parser_v2/parser_circuit_test.cc +506 -0
  97. data/vendor/longfellow-zk/lib/circuits/cbor_parser_v2/parser_size_test.cc +79 -0
  98. data/vendor/longfellow-zk/lib/circuits/cbor_parser_v2/parser_test.cc +473 -0
  99. data/vendor/longfellow-zk/lib/circuits/compiler/canonicalization_test.cc +185 -0
  100. data/vendor/longfellow-zk/lib/circuits/compiler/circuit_dump.h +65 -0
  101. data/vendor/longfellow-zk/lib/circuits/compiler/compiler.h +471 -0
  102. data/vendor/longfellow-zk/lib/circuits/compiler/compiler_test.cc +110 -0
  103. data/vendor/longfellow-zk/lib/circuits/compiler/node.h +176 -0
  104. data/vendor/longfellow-zk/lib/circuits/compiler/pdqhash.h +127 -0
  105. data/vendor/longfellow-zk/lib/circuits/compiler/schedule.h +435 -0
  106. data/vendor/longfellow-zk/lib/circuits/ecdsa/verify_circuit.h +371 -0
  107. data/vendor/longfellow-zk/lib/circuits/ecdsa/verify_external_test.cc +246 -0
  108. data/vendor/longfellow-zk/lib/circuits/ecdsa/verify_test.cc +587 -0
  109. data/vendor/longfellow-zk/lib/circuits/ecdsa/verify_witness.h +201 -0
  110. data/vendor/longfellow-zk/lib/circuits/logic/bit_adder.h +140 -0
  111. data/vendor/longfellow-zk/lib/circuits/logic/bit_adder_test.cc +64 -0
  112. data/vendor/longfellow-zk/lib/circuits/logic/bit_plucker.h +247 -0
  113. data/vendor/longfellow-zk/lib/circuits/logic/bit_plucker_constants.h +35 -0
  114. data/vendor/longfellow-zk/lib/circuits/logic/bit_plucker_encoder.h +72 -0
  115. data/vendor/longfellow-zk/lib/circuits/logic/bit_plucker_test.cc +183 -0
  116. data/vendor/longfellow-zk/lib/circuits/logic/compiler_backend.h +62 -0
  117. data/vendor/longfellow-zk/lib/circuits/logic/counter.h +171 -0
  118. data/vendor/longfellow-zk/lib/circuits/logic/counter_test.cc +102 -0
  119. data/vendor/longfellow-zk/lib/circuits/logic/evaluation_backend.h +94 -0
  120. data/vendor/longfellow-zk/lib/circuits/logic/logic.h +1232 -0
  121. data/vendor/longfellow-zk/lib/circuits/logic/logic_circuit_test.cc +310 -0
  122. data/vendor/longfellow-zk/lib/circuits/logic/logic_test.cc +521 -0
  123. data/vendor/longfellow-zk/lib/circuits/logic/memcmp.h +68 -0
  124. data/vendor/longfellow-zk/lib/circuits/logic/memcmp_test.cc +148 -0
  125. data/vendor/longfellow-zk/lib/circuits/logic/polynomial.h +94 -0
  126. data/vendor/longfellow-zk/lib/circuits/logic/polynomial_test.cc +62 -0
  127. data/vendor/longfellow-zk/lib/circuits/logic/routing.h +445 -0
  128. data/vendor/longfellow-zk/lib/circuits/logic/routing_test.cc +241 -0
  129. data/vendor/longfellow-zk/lib/circuits/logic/unary.h +55 -0
  130. data/vendor/longfellow-zk/lib/circuits/logic/unary_plucker.h +77 -0
  131. data/vendor/longfellow-zk/lib/circuits/logic/unary_plucker_constants.h +37 -0
  132. data/vendor/longfellow-zk/lib/circuits/logic/unary_plucker_test.cc +53 -0
  133. data/vendor/longfellow-zk/lib/circuits/logic/unary_size_test.cc +69 -0
  134. data/vendor/longfellow-zk/lib/circuits/logic/unary_test.cc +62 -0
  135. data/vendor/longfellow-zk/lib/circuits/mac/mac_circuit.h +193 -0
  136. data/vendor/longfellow-zk/lib/circuits/mac/mac_circuit_test.cc +223 -0
  137. data/vendor/longfellow-zk/lib/circuits/mac/mac_reference.h +72 -0
  138. data/vendor/longfellow-zk/lib/circuits/mac/mac_witness.h +94 -0
  139. data/vendor/longfellow-zk/lib/circuits/mdoc/circuit_maker.cc +242 -0
  140. data/vendor/longfellow-zk/lib/circuits/mdoc/mdoc_attribute_ids.h +311 -0
  141. data/vendor/longfellow-zk/lib/circuits/mdoc/mdoc_attribute_test.cc +64 -0
  142. data/vendor/longfellow-zk/lib/circuits/mdoc/mdoc_circuit_id.cc +85 -0
  143. data/vendor/longfellow-zk/lib/circuits/mdoc/mdoc_constants.h +85 -0
  144. data/vendor/longfellow-zk/lib/circuits/mdoc/mdoc_decompress.cc +41 -0
  145. data/vendor/longfellow-zk/lib/circuits/mdoc/mdoc_decompress.h +27 -0
  146. data/vendor/longfellow-zk/lib/circuits/mdoc/mdoc_examples.h +5232 -0
  147. data/vendor/longfellow-zk/lib/circuits/mdoc/mdoc_generate_circuit.cc +199 -0
  148. data/vendor/longfellow-zk/lib/circuits/mdoc/mdoc_hash.h +554 -0
  149. data/vendor/longfellow-zk/lib/circuits/mdoc/mdoc_signature.h +143 -0
  150. data/vendor/longfellow-zk/lib/circuits/mdoc/mdoc_signature_test.cc +444 -0
  151. data/vendor/longfellow-zk/lib/circuits/mdoc/mdoc_test_attributes.h +157 -0
  152. data/vendor/longfellow-zk/lib/circuits/mdoc/mdoc_witness.h +863 -0
  153. data/vendor/longfellow-zk/lib/circuits/mdoc/mdoc_zk.cc +693 -0
  154. data/vendor/longfellow-zk/lib/circuits/mdoc/mdoc_zk.h +216 -0
  155. data/vendor/longfellow-zk/lib/circuits/mdoc/mdoc_zk_test.cc +724 -0
  156. data/vendor/longfellow-zk/lib/circuits/mdoc/zk_spec.cc +100 -0
  157. data/vendor/longfellow-zk/lib/circuits/mdoc/zk_spec_test.cc +155 -0
  158. data/vendor/longfellow-zk/lib/circuits/sha/flatsha256_circuit.h +330 -0
  159. data/vendor/longfellow-zk/lib/circuits/sha/flatsha256_circuit_test.cc +607 -0
  160. data/vendor/longfellow-zk/lib/circuits/sha/flatsha256_io.h +26 -0
  161. data/vendor/longfellow-zk/lib/circuits/sha/flatsha256_witness.cc +163 -0
  162. data/vendor/longfellow-zk/lib/circuits/sha/flatsha256_witness.h +47 -0
  163. data/vendor/longfellow-zk/lib/circuits/sha/sha256_constants.cc +34 -0
  164. data/vendor/longfellow-zk/lib/circuits/sha/sha256_constants.h +27 -0
  165. data/vendor/longfellow-zk/lib/circuits/sha/sha256_test_values.h +389 -0
  166. data/vendor/longfellow-zk/lib/circuits/tests/anoncred/ptrcred.h +171 -0
  167. data/vendor/longfellow-zk/lib/circuits/tests/anoncred/small.h +218 -0
  168. data/vendor/longfellow-zk/lib/circuits/tests/anoncred/small_examples.h +118 -0
  169. data/vendor/longfellow-zk/lib/circuits/tests/anoncred/small_io.h +25 -0
  170. data/vendor/longfellow-zk/lib/circuits/tests/anoncred/small_test.cc +208 -0
  171. data/vendor/longfellow-zk/lib/circuits/tests/anoncred/small_witness.h +130 -0
  172. data/vendor/longfellow-zk/lib/circuits/tests/base64/decode.h +508 -0
  173. data/vendor/longfellow-zk/lib/circuits/tests/base64/decode_circuit_test.cc +95 -0
  174. data/vendor/longfellow-zk/lib/circuits/tests/base64/decode_test.cc +119 -0
  175. data/vendor/longfellow-zk/lib/circuits/tests/base64/decode_util.cc +47 -0
  176. data/vendor/longfellow-zk/lib/circuits/tests/base64/decode_util.h +29 -0
  177. data/vendor/longfellow-zk/lib/circuits/tests/ec/pk_circuit.h +231 -0
  178. data/vendor/longfellow-zk/lib/circuits/tests/ec/pk_circuit_test.cc +428 -0
  179. data/vendor/longfellow-zk/lib/circuits/tests/ec/pk_witness.h +102 -0
  180. data/vendor/longfellow-zk/lib/circuits/tests/jwt/jwt.h +190 -0
  181. data/vendor/longfellow-zk/lib/circuits/tests/jwt/jwt_constants.h +26 -0
  182. data/vendor/longfellow-zk/lib/circuits/tests/jwt/jwt_test.cc +559 -0
  183. data/vendor/longfellow-zk/lib/circuits/tests/jwt/jwt_witness.h +315 -0
  184. data/vendor/longfellow-zk/lib/circuits/tests/mdoc/mdoc_1f.h +411 -0
  185. data/vendor/longfellow-zk/lib/circuits/tests/mdoc/mdoc_1f_io.h +32 -0
  186. data/vendor/longfellow-zk/lib/circuits/tests/mdoc/mdoc_1f_test.cc +364 -0
  187. data/vendor/longfellow-zk/lib/circuits/tests/mdoc/mdoc_1f_witness.h +278 -0
  188. data/vendor/longfellow-zk/lib/circuits/tests/mdoc/mdoc_revocation.h +146 -0
  189. data/vendor/longfellow-zk/lib/circuits/tests/mdoc/mdoc_revocation_constants.h +25 -0
  190. data/vendor/longfellow-zk/lib/circuits/tests/mdoc/mdoc_revocation_test.cc +315 -0
  191. data/vendor/longfellow-zk/lib/circuits/tests/mdoc/mdoc_revocation_witness.h +136 -0
  192. data/vendor/longfellow-zk/lib/circuits/tests/pq/bitaddr/bitaddr.h +250 -0
  193. data/vendor/longfellow-zk/lib/circuits/tests/pq/bitaddr/bitaddr_test.cc +333 -0
  194. data/vendor/longfellow-zk/lib/circuits/tests/pq/bitaddr/bitaddr_witness.h +152 -0
  195. data/vendor/longfellow-zk/lib/circuits/tests/pq/ml_dsa/ml_dsa_44.h +903 -0
  196. data/vendor/longfellow-zk/lib/circuits/tests/pq/ml_dsa/ml_dsa_44_circuit_test.cc +274 -0
  197. data/vendor/longfellow-zk/lib/circuits/tests/pq/ml_dsa/ml_dsa_44_eval_test.cc +440 -0
  198. data/vendor/longfellow-zk/lib/circuits/tests/pq/ml_dsa/ml_dsa_44_examples.cc +8851 -0
  199. data/vendor/longfellow-zk/lib/circuits/tests/pq/ml_dsa/ml_dsa_44_examples.h +93 -0
  200. data/vendor/longfellow-zk/lib/circuits/tests/pq/ml_dsa/ml_dsa_44_types.cc +24 -0
  201. data/vendor/longfellow-zk/lib/circuits/tests/pq/ml_dsa/ml_dsa_44_types.h +118 -0
  202. data/vendor/longfellow-zk/lib/circuits/tests/pq/ml_dsa/ml_dsa_44_witness.h +453 -0
  203. data/vendor/longfellow-zk/lib/circuits/tests/pq/ml_dsa/ml_dsa_44_witness_test.cc +49 -0
  204. data/vendor/longfellow-zk/lib/circuits/tests/pq/ml_dsa/ml_dsa_ref.cc +458 -0
  205. data/vendor/longfellow-zk/lib/circuits/tests/pq/ml_dsa/ml_dsa_ref.h +150 -0
  206. data/vendor/longfellow-zk/lib/circuits/tests/pq/ml_dsa/ml_dsa_ref_test.cc +398 -0
  207. data/vendor/longfellow-zk/lib/circuits/tests/pq/ml_dsa/ml_dsa_ref_test_vectors.inc +3618 -0
  208. data/vendor/longfellow-zk/lib/circuits/tests/pq/ml_dsa/ml_dsa_ref_test_vectors_pkdecode.inc +689 -0
  209. data/vendor/longfellow-zk/lib/circuits/tests/pq/ml_dsa/ml_dsa_ref_test_vectors_sigdecode.inc +1501 -0
  210. data/vendor/longfellow-zk/lib/circuits/tests/pq/ml_dsa/sigdecode_test_vectors.inc +540 -0
  211. data/vendor/longfellow-zk/lib/circuits/tests/ripemd/ripemd_circuit.h +394 -0
  212. data/vendor/longfellow-zk/lib/circuits/tests/ripemd/ripemd_circuit_test.cc +577 -0
  213. data/vendor/longfellow-zk/lib/circuits/tests/ripemd/ripemd_constants.h +90 -0
  214. data/vendor/longfellow-zk/lib/circuits/tests/ripemd/ripemd_witness.cc +174 -0
  215. data/vendor/longfellow-zk/lib/circuits/tests/ripemd/ripemd_witness.h +140 -0
  216. data/vendor/longfellow-zk/lib/circuits/tests/sha3/sha3_circuit.h +351 -0
  217. data/vendor/longfellow-zk/lib/circuits/tests/sha3/sha3_circuit_test.cc +466 -0
  218. data/vendor/longfellow-zk/lib/circuits/tests/sha3/sha3_reference.cc +207 -0
  219. data/vendor/longfellow-zk/lib/circuits/tests/sha3/sha3_reference.h +59 -0
  220. data/vendor/longfellow-zk/lib/circuits/tests/sha3/sha3_reference_test.cc +153 -0
  221. data/vendor/longfellow-zk/lib/circuits/tests/sha3/sha3_round_constants.cc +39 -0
  222. data/vendor/longfellow-zk/lib/circuits/tests/sha3/sha3_round_constants.h +29 -0
  223. data/vendor/longfellow-zk/lib/circuits/tests/sha3/sha3_slicing.h +31 -0
  224. data/vendor/longfellow-zk/lib/circuits/tests/sha3/sha3_witness.cc +83 -0
  225. data/vendor/longfellow-zk/lib/circuits/tests/sha3/sha3_witness.h +72 -0
  226. data/vendor/longfellow-zk/lib/circuits/tests/sha3/shake_test_vectors.h +477 -0
  227. data/vendor/longfellow-zk/lib/ec/elliptic_curve.h +596 -0
  228. data/vendor/longfellow-zk/lib/ec/elliptic_curve_test.cc +548 -0
  229. data/vendor/longfellow-zk/lib/ec/p256.cc +36 -0
  230. data/vendor/longfellow-zk/lib/ec/p256.h +60 -0
  231. data/vendor/longfellow-zk/lib/ec/p256k1.cc +34 -0
  232. data/vendor/longfellow-zk/lib/ec/p256k1.h +60 -0
  233. data/vendor/longfellow-zk/lib/gf2k/gf2_128.h +503 -0
  234. data/vendor/longfellow-zk/lib/gf2k/gf2_128_bench.cc +48 -0
  235. data/vendor/longfellow-zk/lib/gf2k/gf2_128_test.cc +416 -0
  236. data/vendor/longfellow-zk/lib/gf2k/gf2poly.h +74 -0
  237. data/vendor/longfellow-zk/lib/gf2k/lch14.h +242 -0
  238. data/vendor/longfellow-zk/lib/gf2k/lch14_bench.cc +75 -0
  239. data/vendor/longfellow-zk/lib/gf2k/lch14_reed_solomon.h +127 -0
  240. data/vendor/longfellow-zk/lib/gf2k/lch14_reed_solomon_test.cc +110 -0
  241. data/vendor/longfellow-zk/lib/gf2k/lch14_test.cc +246 -0
  242. data/vendor/longfellow-zk/lib/gf2k/sysdep.h +329 -0
  243. data/vendor/longfellow-zk/lib/ligero/ligero_param.h +449 -0
  244. data/vendor/longfellow-zk/lib/ligero/ligero_prover.h +354 -0
  245. data/vendor/longfellow-zk/lib/ligero/ligero_test.cc +136 -0
  246. data/vendor/longfellow-zk/lib/ligero/ligero_transcript.h +67 -0
  247. data/vendor/longfellow-zk/lib/ligero/ligero_verifier.h +272 -0
  248. data/vendor/longfellow-zk/lib/merkle/merkle_commitment.h +104 -0
  249. data/vendor/longfellow-zk/lib/merkle/merkle_tree.h +216 -0
  250. data/vendor/longfellow-zk/lib/merkle/merkle_tree_test.cc +240 -0
  251. data/vendor/longfellow-zk/lib/proto/circuit.h +354 -0
  252. data/vendor/longfellow-zk/lib/proto/circuit_test.cc +202 -0
  253. data/vendor/longfellow-zk/lib/random/random.h +119 -0
  254. data/vendor/longfellow-zk/lib/random/random_test.cc +189 -0
  255. data/vendor/longfellow-zk/lib/random/secure_random_engine.h +37 -0
  256. data/vendor/longfellow-zk/lib/random/transcript.h +193 -0
  257. data/vendor/longfellow-zk/lib/random/transcript_test.cc +344 -0
  258. data/vendor/longfellow-zk/lib/sumcheck/circuit.h +148 -0
  259. data/vendor/longfellow-zk/lib/sumcheck/circuit_id.h +71 -0
  260. data/vendor/longfellow-zk/lib/sumcheck/equad.h +126 -0
  261. data/vendor/longfellow-zk/lib/sumcheck/hquad.h +115 -0
  262. data/vendor/longfellow-zk/lib/sumcheck/prover.h +59 -0
  263. data/vendor/longfellow-zk/lib/sumcheck/prover_layers.h +362 -0
  264. data/vendor/longfellow-zk/lib/sumcheck/quad.h +227 -0
  265. data/vendor/longfellow-zk/lib/sumcheck/quad_builder.h +211 -0
  266. data/vendor/longfellow-zk/lib/sumcheck/quad_test.cc +169 -0
  267. data/vendor/longfellow-zk/lib/sumcheck/sumcheck_test.cc +324 -0
  268. data/vendor/longfellow-zk/lib/sumcheck/testing.h +69 -0
  269. data/vendor/longfellow-zk/lib/sumcheck/transcript_sumcheck.h +85 -0
  270. data/vendor/longfellow-zk/lib/sumcheck/verifier.h +84 -0
  271. data/vendor/longfellow-zk/lib/sumcheck/verifier_layers.h +221 -0
  272. data/vendor/longfellow-zk/lib/testing/test_main.cc +50 -0
  273. data/vendor/longfellow-zk/lib/util/ceildiv.h +164 -0
  274. data/vendor/longfellow-zk/lib/util/ceildiv_test.cc +152 -0
  275. data/vendor/longfellow-zk/lib/util/crc64.h +45 -0
  276. data/vendor/longfellow-zk/lib/util/crypto.cc +39 -0
  277. data/vendor/longfellow-zk/lib/util/crypto.h +108 -0
  278. data/vendor/longfellow-zk/lib/util/log.cc +110 -0
  279. data/vendor/longfellow-zk/lib/util/log.h +33 -0
  280. data/vendor/longfellow-zk/lib/util/panic.h +40 -0
  281. data/vendor/longfellow-zk/lib/util/readbuffer.h +67 -0
  282. data/vendor/longfellow-zk/lib/util/serialization.h +54 -0
  283. data/vendor/longfellow-zk/lib/zk/zk_common.h +455 -0
  284. data/vendor/longfellow-zk/lib/zk/zk_proof.h +378 -0
  285. data/vendor/longfellow-zk/lib/zk/zk_prover.h +202 -0
  286. data/vendor/longfellow-zk/lib/zk/zk_test.cc +340 -0
  287. data/vendor/longfellow-zk/lib/zk/zk_testing.h +154 -0
  288. data/vendor/longfellow-zk/lib/zk/zk_verifier.h +109 -0
  289. metadata +347 -0
@@ -0,0 +1,1501 @@
1
+ extern const size_t kSignatureSize = 2420;
2
+
3
+ std::vector<MlDsa44SigDecodeTest> GetSigDecodeTests() {
4
+ return {
5
+ {
6
+ {
7
+ 49, 204, 62, 78, 69, 126, 22, 15, 238, 175, 151, 82, 150,
8
+ 108, 63, 108, 124, 94, 76, 93, 101, 164, 21, 70, 7, 135,
9
+ 155, 41, 67, 192, 238, 18, 250, 225, 41, 152, 134, 11, 28,
10
+ 52, 190, 97, 186, 192, 247, 118, 143, 235, 208, 139, 134, 201,
11
+ 13, 85, 148, 214, 6, 142, 217, 183, 207, 36, 222, 129, 10,
12
+ 205, 107, 128, 124, 216, 97, 226, 4, 241, 89, 68, 102, 149,
13
+ 39, 177, 239, 231, 63, 54, 196, 19, 202, 161, 113, 111, 215,
14
+ 20, 143, 78, 90, 244, 16, 165, 126, 81, 54, 253, 7, 129,
15
+ 184, 218, 81, 237, 45, 237, 236, 177, 126, 171, 29, 10, 235,
16
+ 157, 186, 40, 20, 153, 146, 153, 174, 174, 234, 214, 223, 122,
17
+ 104, 145, 113, 210, 44, 209, 223, 37, 38, 102, 101, 61, 168,
18
+ 140, 66, 58, 84, 187, 159, 87, 63, 0, 43, 160, 122, 170,
19
+ 11, 91, 211, 100, 217, 75, 177, 231, 212, 241, 236, 97, 61,
20
+ 87, 104, 97, 201, 50, 28, 52, 22, 41, 62, 120, 40, 214,
21
+ 53, 112, 48, 31, 224, 142, 152, 51, 60, 40, 24, 163, 192,
22
+ 220, 233, 196, 104, 49, 149, 69, 249, 205, 76, 101, 240, 112,
23
+ 85, 244, 96, 23, 181, 121, 85, 18, 70, 17, 126, 46, 251,
24
+ 18, 58, 106, 231, 62, 77, 157, 8, 33, 146, 42, 124, 143,
25
+ 92, 128, 104, 188, 182, 214, 147, 144, 112, 250, 142, 209, 69,
26
+ 80, 125, 69, 213, 200, 184, 205, 159, 31, 116, 23, 118, 28,
27
+ 141, 242, 23, 225, 28, 119, 179, 90, 123, 252, 74, 161, 110,
28
+ 42, 160, 46, 238, 4, 149, 4, 77, 253, 125, 147, 164, 63,
29
+ 181, 67, 186, 138, 219, 248, 253, 93, 74, 134, 163, 183, 100,
30
+ 143, 137, 101, 217, 54, 202, 113, 179, 213, 58, 151, 31, 196,
31
+ 142, 193, 51, 75, 104, 160, 208, 98, 34, 197, 204, 188, 101,
32
+ 84, 78, 13, 82, 144, 202, 228, 114, 107, 15, 188, 87, 137,
33
+ 248, 179, 249, 167, 33, 84, 161, 141, 103, 132, 245, 21, 201,
34
+ 179, 55, 79, 236, 216, 26, 153, 53, 218, 144, 142, 30, 195,
35
+ 127, 118, 121, 123, 232, 115, 72, 32, 233, 22, 215, 172, 0,
36
+ 39, 158, 87, 198, 222, 3, 76, 97, 178, 172, 99, 79, 174,
37
+ 33, 41, 197, 189, 225, 237, 58, 218, 246, 119, 48, 83, 180,
38
+ 254, 244, 220, 255, 224, 194, 60, 79, 67, 16, 193, 110, 147,
39
+ 131, 208, 106, 114, 64, 119, 164, 39, 63, 102, 107, 73, 246,
40
+ 1, 99, 74, 62, 38, 94, 153, 69, 207, 27, 170, 130, 49,
41
+ 11, 181, 162, 66, 161, 197, 209, 4, 166, 26, 70, 23, 50,
42
+ 224, 134, 31, 149, 129, 11, 106, 140, 22, 20, 214, 185, 105,
43
+ 8, 21, 88, 89, 77, 91, 248, 68, 21, 194, 49, 234, 175,
44
+ 72, 36, 221, 118, 188, 168, 145, 106, 119, 71, 75, 120, 105,
45
+ 127, 204, 40, 157, 35, 194, 114, 199, 23, 165, 106, 89, 188,
46
+ 180, 122, 16, 233, 66, 31, 32, 1, 49, 103, 252, 63, 105,
47
+ 134, 137, 193, 160, 102, 164, 82, 59, 255, 167, 118, 12, 176,
48
+ 137, 55, 54, 8, 197, 215, 226, 35, 192, 61, 83, 10, 189,
49
+ 29, 10, 130, 204, 85, 108, 99, 193, 144, 162, 152, 58, 40,
50
+ 62, 206, 30, 49, 231, 2, 193, 208, 46, 231, 59, 120, 170,
51
+ 58, 142, 170, 232, 159, 192, 158, 218, 128, 123, 218, 66, 9,
52
+ 223, 216, 148, 17, 163, 213, 136, 240, 50, 227, 158, 203, 167,
53
+ 78, 162, 144, 41, 59, 193, 198, 51, 166, 82, 148, 77, 54,
54
+ 85, 113, 76, 232, 134, 177, 224, 120, 192, 179, 152, 207, 48,
55
+ 59, 212, 15, 161, 238, 104, 212, 113, 169, 86, 186, 68, 80,
56
+ 152, 248, 216, 75, 66, 113, 63, 205, 250, 206, 53, 129, 173,
57
+ 33, 163, 107, 241, 184, 182, 216, 89, 29, 218, 203, 251, 217,
58
+ 173, 185, 105, 6, 143, 68, 208, 191, 117, 204, 106, 7, 242,
59
+ 130, 48, 124, 189, 123, 188, 52, 139, 188, 149, 139, 13, 183,
60
+ 244, 105, 204, 254, 12, 36, 225, 168, 58, 45, 132, 137, 48,
61
+ 85, 91, 238, 106, 106, 254, 111, 77, 96, 189, 145, 101, 122,
62
+ 44, 28, 78, 116, 158, 57, 73, 236, 226, 220, 184, 169, 148,
63
+ 108, 250, 36, 226, 96, 170, 175, 21, 113, 103, 188, 215, 150,
64
+ 30, 128, 220, 84, 204, 139, 233, 201, 54, 155, 66, 99, 179,
65
+ 106, 115, 131, 239, 136, 113, 2, 208, 155, 214, 159, 156, 52,
66
+ 238, 130, 61, 177, 97, 144, 182, 39, 104, 131, 106, 145, 117,
67
+ 242, 188, 23, 112, 224, 83, 167, 222, 27, 51, 96, 94, 95,
68
+ 0, 233, 78, 126, 53, 94, 33, 102, 224, 152, 168, 233, 156,
69
+ 125, 94, 128, 75, 54, 166, 96, 135, 139, 121, 91, 39, 30,
70
+ 119, 116, 12, 98, 173, 106, 226, 200, 188, 95, 23, 137, 202,
71
+ 59, 232, 98, 229, 70, 129, 132, 233, 16, 167, 65, 50, 66,
72
+ 163, 204, 27, 121, 99, 155, 89, 187, 172, 240, 207, 193, 225,
73
+ 26, 153, 73, 23, 191, 4, 199, 73, 214, 222, 26, 224, 18,
74
+ 109, 172, 110, 31, 39, 40, 133, 34, 216, 239, 31, 235, 35,
75
+ 81, 11, 248, 196, 128, 60, 135, 136, 135, 161, 163, 188, 124,
76
+ 143, 53, 63, 182, 15, 96, 32, 240, 43, 28, 48, 81, 128,
77
+ 190, 8, 186, 8, 195, 24, 198, 124, 50, 51, 224, 238, 144,
78
+ 217, 14, 52, 121, 217, 73, 32, 62, 202, 90, 206, 228, 246,
79
+ 195, 56, 252, 100, 189, 60, 169, 243, 194, 222, 123, 16, 232,
80
+ 192, 187, 236, 124, 221, 24, 107, 81, 235, 242, 201, 167, 140,
81
+ 160, 236, 94, 185, 114, 102, 22, 4, 21, 30, 203, 22, 11,
82
+ 207, 110, 57, 74, 240, 219, 77, 190, 164, 80, 81, 127, 222,
83
+ 44, 208, 59, 67, 84, 49, 255, 103, 40, 122, 247, 205, 6,
84
+ 167, 41, 63, 23, 212, 163, 74, 70, 20, 185, 208, 14, 246,
85
+ 8, 113, 41, 66, 197, 132, 110, 44, 180, 104, 54, 161, 79,
86
+ 199, 84, 167, 62, 154, 68, 189, 230, 84, 130, 110, 95, 218,
87
+ 82, 155, 12, 254, 216, 87, 64, 39, 65, 252, 27, 179, 156,
88
+ 108, 27, 119, 166, 178, 127, 196, 30, 142, 78, 32, 238, 234,
89
+ 31, 222, 153, 247, 78, 157, 119, 231, 151, 104, 100, 21, 233,
90
+ 58, 191, 78, 163, 89, 175, 2, 189, 29, 126, 59, 63, 48,
91
+ 28, 16, 134, 165, 217, 171, 102, 174, 219, 37, 173, 249, 24,
92
+ 113, 8, 42, 135, 236, 16, 212, 136, 156, 22, 164, 70, 166,
93
+ 228, 201, 103, 217, 242, 174, 18, 4, 129, 150, 206, 178, 28,
94
+ 16, 63, 207, 2, 1, 78, 119, 160, 8, 129, 73, 218, 156,
95
+ 182, 66, 73, 150, 146, 201, 99, 40, 46, 68, 93, 138, 164,
96
+ 243, 242, 60, 149, 26, 111, 164, 88, 33, 164, 75, 24, 159,
97
+ 4, 210, 31, 219, 19, 254, 31, 227, 144, 77, 134, 15, 151,
98
+ 36, 234, 212, 22, 221, 78, 199, 224, 179, 231, 87, 150, 162,
99
+ 113, 250, 144, 198, 5, 133, 187, 145, 121, 231, 170, 91, 141,
100
+ 249, 70, 84, 220, 55, 131, 213, 251, 212, 131, 237, 121, 103,
101
+ 164, 91, 131, 137, 52, 207, 28, 69, 143, 227, 69, 163, 51,
102
+ 218, 219, 242, 128, 180, 37, 107, 8, 181, 49, 44, 60, 153,
103
+ 60, 172, 121, 195, 20, 40, 23, 144, 150, 84, 74, 78, 154,
104
+ 216, 77, 199, 238, 148, 9, 155, 208, 198, 210, 197, 1, 128,
105
+ 62, 120, 12, 65, 241, 164, 112, 217, 161, 81, 0, 167, 101,
106
+ 77, 169, 149, 44, 56, 192, 25, 26, 192, 102, 141, 4, 137,
107
+ 77, 165, 158, 41, 238, 57, 248, 148, 0, 177, 6, 136, 181,
108
+ 29, 101, 61, 28, 150, 176, 72, 180, 8, 47, 69, 253, 48,
109
+ 134, 139, 6, 66, 25, 140, 8, 65, 119, 2, 216, 81, 84,
110
+ 1, 92, 40, 23, 2, 243, 179, 170, 57, 129, 215, 2, 82,
111
+ 78, 170, 220, 115, 204, 74, 204, 225, 196, 156, 93, 15, 139,
112
+ 55, 201, 208, 96, 60, 232, 122, 239, 110, 60, 33, 4, 193,
113
+ 7, 82, 99, 176, 26, 240, 3, 251, 95, 144, 209, 120, 252,
114
+ 163, 247, 87, 6, 66, 8, 101, 204, 215, 42, 111, 168, 176,
115
+ 43, 214, 89, 91, 73, 215, 231, 68, 20, 68, 199, 85, 220,
116
+ 114, 177, 32, 166, 249, 47, 65, 129, 188, 99, 229, 22, 54,
117
+ 207, 54, 188, 252, 119, 178, 54, 243, 86, 118, 222, 127, 176,
118
+ 141, 147, 12, 153, 178, 208, 141, 26, 236, 147, 137, 231, 22,
119
+ 175, 135, 254, 24, 39, 254, 191, 49, 96, 150, 165, 144, 56,
120
+ 174, 53, 184, 240, 97, 255, 156, 251, 85, 28, 103, 150, 130,
121
+ 145, 220, 87, 198, 121, 98, 16, 194, 215, 12, 250, 172, 104,
122
+ 253, 224, 126, 134, 123, 171, 79, 106, 84, 180, 9, 183, 80,
123
+ 9, 153, 101, 186, 163, 166, 112, 11, 167, 64, 39, 50, 131,
124
+ 107, 77, 49, 34, 38, 148, 84, 157, 203, 155, 182, 233, 193,
125
+ 123, 41, 49, 31, 202, 120, 181, 153, 146, 30, 12, 47, 129,
126
+ 28, 38, 67, 127, 124, 247, 205, 35, 11, 217, 225, 247, 155,
127
+ 30, 124, 48, 250, 197, 71, 123, 144, 128, 212, 96, 12, 255,
128
+ 97, 124, 184, 88, 4, 182, 134, 177, 178, 152, 80, 177, 214,
129
+ 89, 95, 187, 151, 19, 169, 53, 47, 54, 49, 1, 72, 215,
130
+ 89, 140, 38, 191, 196, 110, 27, 69, 193, 57, 4, 103, 133,
131
+ 250, 111, 148, 217, 53, 116, 21, 117, 122, 122, 40, 57, 193,
132
+ 230, 18, 206, 238, 110, 238, 26, 165, 150, 71, 170, 102, 161,
133
+ 22, 53, 152, 190, 48, 97, 12, 245, 244, 218, 101, 245, 165,
134
+ 179, 133, 131, 220, 174, 130, 136, 246, 5, 147, 74, 165, 121,
135
+ 241, 139, 195, 202, 95, 213, 156, 36, 163, 16, 44, 154, 181,
136
+ 208, 214, 189, 216, 16, 56, 162, 79, 228, 132, 172, 160, 119,
137
+ 1, 218, 0, 241, 181, 38, 141, 252, 233, 82, 239, 244, 168,
138
+ 229, 67, 93, 67, 198, 142, 146, 156, 239, 254, 253, 170, 52,
139
+ 152, 145, 48, 20, 0, 35, 23, 123, 22, 231, 210, 218, 99,
140
+ 57, 210, 235, 202, 130, 130, 140, 93, 89, 175, 84, 244, 146,
141
+ 21, 232, 7, 67, 66, 58, 43, 151, 45, 133, 182, 165, 101,
142
+ 110, 109, 190, 145, 215, 207, 214, 250, 110, 3, 251, 57, 177,
143
+ 229, 37, 130, 97, 17, 123, 147, 189, 251, 195, 192, 62, 193,
144
+ 121, 165, 84, 49, 19, 102, 236, 117, 0, 10, 187, 169, 16,
145
+ 255, 130, 74, 66, 42, 121, 143, 115, 13, 42, 91, 71, 251,
146
+ 62, 65, 150, 71, 13, 31, 233, 168, 40, 112, 30, 39, 254,
147
+ 20, 203, 160, 238, 102, 107, 169, 108, 61, 45, 249, 183, 14,
148
+ 94, 119, 215, 139, 125, 111, 148, 86, 139, 155, 200, 222, 96,
149
+ 107, 158, 159, 184, 115, 191, 170, 81, 79, 147, 250, 63, 228,
150
+ 174, 241, 38, 243, 108, 16, 130, 23, 13, 115, 234, 130, 104,
151
+ 226, 28, 246, 36, 182, 163, 1, 37, 47, 137, 48, 104, 51,
152
+ 106, 58, 237, 28, 201, 182, 255, 50, 176, 173, 209, 230, 107,
153
+ 122, 185, 0, 174, 242, 135, 200, 60, 88, 114, 136, 62, 43,
154
+ 158, 48, 131, 219, 35, 120, 70, 11, 234, 114, 75, 58, 224,
155
+ 188, 113, 21, 62, 202, 249, 147, 205, 63, 187, 95, 205, 206,
156
+ 244, 145, 24, 55, 120, 243, 163, 200, 129, 145, 34, 19, 35,
157
+ 9, 0, 17, 89, 36, 210, 188, 33, 219, 221, 235, 36, 48,
158
+ 215, 7, 219, 160, 112, 233, 101, 210, 246, 141, 147, 56, 212,
159
+ 172, 173, 75, 47, 204, 36, 140, 92, 16, 49, 231, 48, 81,
160
+ 124, 60, 84, 45, 206, 202, 36, 93, 121, 250, 75, 10, 76,
161
+ 96, 105, 100, 164, 223, 214, 191, 238, 41, 177, 191, 231, 38,
162
+ 96, 128, 253, 132, 179, 147, 147, 141, 226, 27, 205, 199, 192,
163
+ 148, 149, 42, 71, 21, 92, 160, 165, 155, 102, 206, 160, 139,
164
+ 227, 69, 92, 82, 97, 207, 62, 236, 197, 26, 215, 32, 47,
165
+ 143, 193, 15, 49, 5, 222, 248, 95, 118, 199, 16, 194, 197,
166
+ 7, 224, 130, 39, 239, 32, 65, 79, 65, 210, 100, 205, 22,
167
+ 123, 203, 6, 161, 141, 250, 118, 94, 118, 123, 26, 164, 208,
168
+ 143, 225, 8, 72, 122, 134, 42, 37, 106, 253, 79, 9, 102,
169
+ 179, 131, 239, 42, 225, 72, 236, 236, 182, 238, 239, 209, 81,
170
+ 247, 22, 75, 235, 56, 129, 160, 102, 115, 150, 161, 140, 14,
171
+ 180, 22, 127, 114, 135, 101, 196, 74, 60, 173, 124, 232, 33,
172
+ 254, 0, 129, 56, 211, 184, 243, 25, 56, 76, 154, 151, 202,
173
+ 236, 154, 141, 95, 220, 154, 186, 11, 98, 50, 56, 142, 124,
174
+ 101, 39, 42, 137, 155, 128, 215, 156, 184, 200, 72, 26, 80,
175
+ 149, 40, 174, 210, 48, 37, 48, 31, 85, 185, 144, 212, 220,
176
+ 91, 131, 138, 45, 89, 46, 23, 240, 132, 37, 6, 105, 119,
177
+ 165, 199, 225, 251, 28, 237, 232, 13, 189, 172, 142, 97, 207,
178
+ 4, 43, 225, 158, 111, 223, 120, 158, 221, 231, 181, 108, 149,
179
+ 204, 160, 4, 154, 223, 45, 184, 149, 49, 92, 240, 27, 55,
180
+ 177, 199, 242, 61, 60, 19, 123, 110, 185, 188, 160, 44, 176,
181
+ 120, 82, 189, 134, 113, 86, 188, 2, 69, 53, 11, 150, 212,
182
+ 136, 4, 106, 163, 159, 136, 107, 63, 85, 57, 82, 19, 192,
183
+ 183, 88, 204, 122, 21, 98, 82, 23, 185, 136, 209, 236, 168,
184
+ 172, 239, 206, 49, 75, 1, 39, 250, 47, 208, 123, 49, 239,
185
+ 153, 118, 96, 83, 226, 194, 204, 13, 200, 5, 10, 145, 107,
186
+ 149, 61, 125, 74, 234, 94, 177, 74, 248, 0, 1, 4, 8,
187
+ 40, 99, 106, 119, 121, 138, 156, 225, 254, 3, 39, 45, 50,
188
+ 52, 59, 73, 87, 105, 127, 195, 227, 12, 33, 42, 48, 62,
189
+ 75, 77, 83, 92, 98, 110, 124, 128, 147, 171, 182, 198, 200,
190
+ 236, 243, 249, 38, 45, 68, 94, 95, 108, 109, 141, 174, 183,
191
+ 187, 204, 221, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0,
192
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 25,
193
+ 46, 60,
194
+ },
195
+ {49, 204, 62, 78, 69, 126, 22, 15, 238, 175, 151,
196
+ 82, 150, 108, 63, 108, 124, 94, 76, 93, 101, 164,
197
+ 21, 70, 7, 135, 155, 41, 67, 192, 238, 18},
198
+ {{
199
+ 7686u, 23030u, 16200u, 8316721u, 83359u, 16912u,
200
+ 8333066u, 8368318u, 13946u, 60093u, 103063u, 8288713u,
201
+ 77897u, 100471u, 77656u, 8379986u, 10116u, 51048u,
202
+ 24816u, 26351u, 55403u, 1044u, 8289283u, 110832u,
203
+ 24118u, 9252u, 69299u, 38598u, 61196u, 106583u,
204
+ 8260764u, 8379362u, 9544u, 8283309u, 8327471u, 1337u,
205
+ 8372822u, 8283455u, 8344664u, 8354737u, 8341103u, 8336470u,
206
+ 658u, 24085u, 8351344u, 111820u, 8356356u, 26472u,
207
+ 115355u, 89302u, 48220u, 8347924u, 114857u, 128320u,
208
+ 8337495u, 37842u, 39725u, 109834u, 45445u, 8268858u,
209
+ 8299168u, 108011u, 8303467u, 77712u, 8369899u, 8372722u,
210
+ 8290975u, 81472u, 8323042u, 72157u, 8346686u, 8344481u,
211
+ 9024u, 8367815u, 44266u, 8256235u, 45875u, 115687u,
212
+ 8297130u, 107133u, 34379u, 31595u, 8257261u, 8254280u,
213
+ 8365551u, 8267303u, 11053u, 97246u, 120174u, 8305698u,
214
+ 8345596u, 8324368u, 93226u, 8340445u, 59153u, 48873u,
215
+ 47747u, 8367564u, 805u, 12162u, 100841u, 89273u,
216
+ 8375938u, 9101u, 8291662u, 8331491u, 8320493u, 8347480u,
217
+ 70098u, 55999u, 8260401u, 8360458u, 49244u, 8343316u,
218
+ 18261u, 8251422u, 8361380u, 5919u, 68021u, 27098u,
219
+ 8366376u, 74638u, 8270502u, 98724u, 28988u, 8327953u,
220
+ 8378749u, 29886u, 80606u, 37069u, 72378u, 47051u,
221
+ 79216u, 8323912u, 8265483u, 8370851u, 19464u, 103938u,
222
+ 8374975u, 25034u, 2684u, 69051u, 68741u, 8289360u,
223
+ 26342u, 117107u, 5911u, 244u, 8283787u, 67042u,
224
+ 8379258u, 107612u, 86825u, 8279617u, 105095u, 127109u,
225
+ 8355509u, 70868u, 8321803u, 88954u, 16955u, 8332425u,
226
+ 8286814u, 81441u, 8334254u, 8299202u, 8376324u, 68853u,
227
+ 113841u, 8269757u, 116426u, 21694u, 8298383u, 5859u,
228
+ 8354831u, 55891u, 8314379u, 8277353u, 7581u, 59803u,
229
+ 8373298u, 106326u, 8294222u, 62838u, 14943u, 32460u,
230
+ 106070u, 79779u, 8280353u, 105145u, 8339273u, 107983u,
231
+ 10732u, 8373651u, 32432u, 51867u, 67493u, 96943u,
232
+ 8338661u, 56641u, 8323805u, 8368356u, 8337127u, 57891u,
233
+ 34741u, 8306727u, 11636u, 8312691u, 8263823u, 8337084u,
234
+ 8264299u, 5422u, 8320753u, 129072u, 8310767u, 8253029u,
235
+ 8353474u, 105887u, 8353269u, 46447u, 8249542u, 8307288u,
236
+ 91392u, 75554u, 8264441u, 67403u, 8258559u, 120500u,
237
+ 8372804u, 8306559u, 8329893u, 8313460u, 89456u, 8376667u,
238
+ 72734u, 80773u, 64793u, 8268753u, 8266127u, 8336929u,
239
+ 8344007u, 8250839u, 5111u, 8379543u, 8324486u, 8265137u,
240
+ 45683u, 8344507u, 96043u, 78660u, 83474u, 50529u,
241
+ 28510u, 110902u, 8299413u, 46440u,
242
+ },
243
+ {
244
+ 8360557u, 109235u, 8346426u, 8329702u, 100128u, 8368913u,
245
+ 8311560u, 8294165u, 8339186u, 58821u, 8341732u, 8320679u,
246
+ 110524u, 8364507u, 121667u, 66107u, 8316212u, 111245u,
247
+ 8373545u, 20852u, 8333072u, 8350164u, 24107u, 8253650u,
248
+ 21031u, 26002u, 112400u, 8315072u, 8328076u, 97830u,
249
+ 8312786u, 8317457u, 82821u, 8305972u, 83621u, 8324043u,
250
+ 103948u, 8298574u, 8375745u, 71005u, 31699u, 46046u,
251
+ 8321612u, 22101u, 36866u, 8292334u, 8357606u, 85527u,
252
+ 111076u, 8353892u, 8330094u, 8285302u, 87624u, 8340700u,
253
+ 8371634u, 8337022u, 59985u, 8308261u, 37509u, 8380295u,
254
+ 109348u, 8355086u, 8287075u, 62868u, 8334494u, 74534u,
255
+ 94472u, 128570u, 8340529u, 8304652u, 8322232u, 68085u,
256
+ 106063u, 4700u, 117118u, 8362583u, 69003u, 129553u,
257
+ 49657u, 8283492u, 117989u, 8259689u, 8343548u, 1733u,
258
+ 41419u, 124536u, 8345203u, 8350811u, 106883u, 27936u,
259
+ 8377758u, 8368612u, 8291464u, 14455u, 80057u, 8333945u,
260
+ 73110u, 8253647u, 93835u, 69846u, 40216u, 110151u,
261
+ 8341433u, 8340414u, 8367552u, 8304433u, 8277573u, 8352372u,
262
+ 83111u, 8250326u, 8373221u, 8354710u, 8308920u, 16081u,
263
+ 39780u, 103557u, 60704u, 8271078u, 8351243u, 8375137u,
264
+ 8259551u, 8329222u, 60866u, 8257492u, 98108u, 8371762u,
265
+ 8374153u, 8318323u, 28804u, 28723u, 8380166u, 8265600u,
266
+ 123861u, 125876u, 95256u, 122136u, 8374078u, 90319u,
267
+ 8379598u, 8363078u, 127271u, 8356276u, 8379236u, 8304393u,
268
+ 78246u, 66119u, 8264821u, 8317550u, 8271557u, 8269637u,
269
+ 63555u, 8313953u, 70469u, 8366242u, 59727u, 8262740u,
270
+ 88119u, 8304606u, 8276499u, 26166u, 64490u, 8329340u,
271
+ 85652u, 17604u, 112071u, 8284421u, 8360989u, 47806u,
272
+ 74113u, 8317942u, 48077u, 8250172u, 8370074u, 8282659u,
273
+ 8351637u, 66394u, 8260586u, 27992u, 8277693u, 115902u,
274
+ 63242u, 95652u, 111532u, 85574u, 8353613u, 8255412u,
275
+ 45964u, 66915u, 47974u, 50769u, 8320988u, 8287876u,
276
+ 91310u, 8364158u, 129667u, 64355u, 8307717u, 8304853u,
277
+ 8285771u, 8328552u, 8330114u, 8273018u, 8322557u, 98389u,
278
+ 8275491u, 8293444u, 8349832u, 23969u, 60060u, 8261959u,
279
+ 8366870u, 8331931u, 17150u, 8323194u, 8313870u, 114576u,
280
+ 23162u, 21770u, 17690u, 8334186u, 59143u, 8347109u,
281
+ 8329103u, 8294334u, 8340345u, 22267u, 8361373u, 24793u,
282
+ 8318248u, 64341u, 38896u, 8328391u, 8310757u, 85041u,
283
+ 73712u, 8347172u, 32504u, 8300911u, 119959u, 8357596u,
284
+ 8263279u, 8279529u, 11198u, 8343000u, 68877u, 8338098u,
285
+ 8362256u, 96926u, 111708u, 55354u, 736u, 110740u,
286
+ 8306691u, 8289225u, 67484u, 93604u,
287
+ },
288
+ {
289
+ 8325911u, 8267964u, 8377229u, 8274226u, 8341930u, 8340377u,
290
+ 104177u, 8375274u, 28229u, 8332835u, 76358u, 58394u,
291
+ 8258477u, 40755u, 45123u, 8268274u, 104583u, 76055u,
292
+ 8296297u, 101572u, 8278204u, 77448u, 23750u, 8262802u,
293
+ 19328u, 8373560u, 8307889u, 69456u, 115559u, 74133u,
294
+ 8347317u, 8363941u, 8358763u, 8342639u, 74359u, 8266980u,
295
+ 8312429u, 19418u, 107220u, 8380410u, 100290u, 110525u,
296
+ 8312242u, 8345756u, 8314800u, 8291992u, 42348u, 73550u,
297
+ 8373825u, 20474u, 112426u, 51676u, 24923u, 8348791u,
298
+ 45181u, 8330239u, 30714u, 47251u, 15402u, 8330665u,
299
+ 84920u, 46142u, 8310829u, 8368617u, 48634u, 8371451u,
300
+ 8285169u, 8290296u, 43951u, 8374529u, 122510u, 8327221u,
301
+ 50774u, 84512u, 72416u, 8285528u, 8328078u, 101614u,
302
+ 13234u, 115338u, 51317u, 117710u, 8346683u, 8266262u,
303
+ 50066u, 114424u, 57220u, 8330868u, 8253415u, 8249665u,
304
+ 59131u, 8252958u, 8251486u, 97899u, 8359805u, 8290512u,
305
+ 102614u, 8319959u, 25246u, 55955u, 71721u, 64239u,
306
+ 41868u, 13455u, 8372048u, 8249752u, 125934u, 28942u,
307
+ 8374556u, 19507u, 8262718u, 8328738u, 8318155u, 8274540u,
308
+ 8312836u, 8360395u, 8341237u, 8285141u, 8330841u, 8370610u,
309
+ 8309018u, 8273430u, 8351346u, 8314889u, 8355792u, 120475u,
310
+ 8322168u, 8322859u, 8289809u, 8321218u, 15009u, 8357477u,
311
+ 93822u, 27145u, 8370277u, 8312768u, 8377130u, 8369347u,
312
+ 8376363u, 8373766u, 8270982u, 58733u, 91323u, 48420u,
313
+ 26359u, 69991u, 8312215u, 8340436u, 8370369u, 8322869u,
314
+ 8309547u, 92024u, 43884u, 8318234u, 8340632u, 4345u,
315
+ 8302296u, 8367482u, 25769u, 99766u, 53492u, 30944u,
316
+ 8252367u, 8258064u, 8305716u, 100798u, 16514u, 3974u,
317
+ 1488u, 8326672u, 128761u, 31918u, 244u, 8372457u,
318
+ 113269u, 8373545u, 85327u, 109530u, 25237u, 8319620u,
319
+ 60521u, 8262295u, 8309919u, 57340u, 108073u, 8263262u,
320
+ 8319926u, 60307u, 116287u, 42559u, 8314969u, 8288688u,
321
+ 35787u, 8340156u, 8345690u, 8313629u, 8375579u, 8266830u,
322
+ 20762u, 8357229u, 8336826u, 22439u, 31919u, 81158u,
323
+ 62367u, 8331972u, 8292772u, 8327530u, 97403u, 87113u,
324
+ 8288121u, 8360938u, 23222u, 8315811u, 86984u, 8292994u,
325
+ 8305509u, 8313817u, 8291935u, 8291519u, 75587u, 94716u,
326
+ 8362759u, 8334830u, 34912u, 117120u, 8290545u, 8366951u,
327
+ 8320517u, 50220u, 8357234u, 35569u, 8329662u, 8305502u,
328
+ 8253704u, 8336394u, 26572u, 62428u, 8368128u, 5028u,
329
+ 8321259u, 67916u, 56426u, 8303698u, 97662u, 8358046u,
330
+ 46347u, 8361008u, 8255468u, 94015u, 8334429u, 84388u,
331
+ 18811u, 8275608u, 8255787u, 8290747u,
332
+ },
333
+ {
334
+ 8325426u, 74818u, 8274001u, 8276285u, 32219u, 8330153u,
335
+ 8259274u, 8310803u, 49472u, 41360u, 8309431u, 26548u,
336
+ 100884u, 8330625u, 62821u, 8377349u, 8363447u, 8257975u,
337
+ 75976u, 37720u, 8316090u, 28593u, 76679u, 8272773u,
338
+ 120664u, 14436u, 45086u, 8346837u, 8288531u, 8304039u,
339
+ 8326187u, 8323101u, 8290803u, 8317476u, 8316969u, 42415u,
340
+ 91253u, 116814u, 6474u, 8322435u, 8331406u, 8260503u,
341
+ 8271565u, 8277762u, 8318547u, 8299320u, 122618u, 117666u,
342
+ 8320398u, 91616u, 8289843u, 8324974u, 65117u, 8361016u,
343
+ 8346873u, 22323u, 70342u, 19897u, 8302598u, 8333633u,
344
+ 8255792u, 8356199u, 8323062u, 8372279u, 115512u, 8373099u,
345
+ 8334361u, 81288u, 8258686u, 25080u, 8339277u, 53813u,
346
+ 73670u, 41873u, 89119u, 8359962u, 8298548u, 8292371u,
347
+ 8295189u, 105913u, 8284106u, 8369925u, 59364u, 111478u,
348
+ 128733u, 8362945u, 56763u, 96525u, 8258086u, 128710u,
349
+ 98957u, 8346773u, 5776u, 19303u, 50977u, 8294175u,
350
+ 8270421u, 8311855u, 81332u, 114318u, 71887u, 8309685u,
351
+ 48185u, 8300364u, 56118u, 8339882u, 88897u, 32464u,
352
+ 105367u, 18455u, 8320004u, 8330074u, 8321090u, 124919u,
353
+ 110632u, 8360243u, 8344174u, 8296713u, 127876u, 8358318u,
354
+ 47318u, 125179u, 17830u, 8300135u, 8279137u, 8310409u,
355
+ 8375004u, 66755u, 8329749u, 117306u, 68878u, 114938u,
356
+ 8379088u, 8249802u, 100507u, 8312766u, 129083u, 8008u,
357
+ 8376591u, 49916u, 77247u, 19623u, 84047u, 8346598u,
358
+ 8316276u, 26723u, 22601u, 8297841u, 73329u, 8343039u,
359
+ 8337306u, 22380u, 45059u, 75390u, 8316870u, 8280918u,
360
+ 70584u, 8270406u, 57602u, 8258234u, 8295659u, 111046u,
361
+ 8353273u, 8357428u, 8344416u, 21245u, 8304656u, 27107u,
362
+ 111932u, 8303794u, 8372602u, 130056u, 8300416u, 70092u,
363
+ 8281698u, 8353489u, 79209u, 8288582u, 14856u, 8320406u,
364
+ 8355318u, 8278517u, 8357945u, 87907u, 91255u, 8301089u,
365
+ 95351u, 104157u, 92848u, 87158u, 8359156u, 99136u,
366
+ 83627u, 8301277u, 117315u, 84438u, 8303016u, 50171u,
367
+ 105896u, 8796u, 14427u, 8298761u, 8343856u, 8317898u,
368
+ 29012u, 52264u, 8375633u, 16773u, 8349474u, 2201u,
369
+ 8328355u, 8301996u, 8379233u, 8284187u, 42110u, 36666u,
370
+ 8307729u, 5043u, 8257749u, 111376u, 37253u, 118994u,
371
+ 8314167u, 46622u, 31043u, 8309349u, 110549u, 119595u,
372
+ 76650u, 8347359u, 1482u, 20958u, 43713u, 76658u,
373
+ 8283136u, 8302239u, 8374919u, 11112u, 95343u, 8268987u,
374
+ 8270681u, 101445u, 125773u, 8255333u, 8261586u, 8262563u,
375
+ 8287843u, 45695u, 81182u, 8379534u, 90020u, 20924u,
376
+ 49771u, 8342882u, 8309267u, 8257239u,
377
+ }},
378
+ {{
379
+ true, true, false, false, true, false, false, false, true,
380
+ false, false, false, false, false, false, false, false, false,
381
+ false, false, false, false, false, false, false, false, false,
382
+ false, false, false, false, false, false, false, false, false,
383
+ false, false, false, false, true, false, false, false, false,
384
+ false, false, false, false, false, false, false, false, false,
385
+ false, false, false, false, false, false, false, false, false,
386
+ false, false, false, false, false, false, false, false, false,
387
+ false, false, false, false, false, false, false, false, false,
388
+ false, false, false, false, false, false, false, false, false,
389
+ false, false, false, false, false, false, false, false, false,
390
+ true, false, false, false, false, false, false, true, false,
391
+ false, false, false, false, false, false, false, false, false,
392
+ false, false, true, false, true, false, false, false, false,
393
+ false, false, false, false, false, false, false, false, false,
394
+ false, false, false, true, false, false, false, false, false,
395
+ false, false, false, false, false, false, false, false, false,
396
+ false, false, false, true, false, false, false, false, false,
397
+ false, false, false, false, false, false, false, false, false,
398
+ false, false, false, false, false, false, false, false, false,
399
+ false, false, false, false, false, false, false, false, false,
400
+ false, false, false, false, false, false, false, false, false,
401
+ false, false, false, false, false, false, false, false, false,
402
+ false, false, false, false, false, false, false, false, false,
403
+ false, false, false, false, false, false, false, false, false,
404
+ true, false, false, false, false, false, false, false, false,
405
+ false, false, false, false, false, false, false, false, false,
406
+ false, false, false, false, false, false, false, false, false,
407
+ false, false, true, false,
408
+ },
409
+ {
410
+ false, false, false, true, false, false, false, false, false,
411
+ false, false, false, false, false, false, false, false, false,
412
+ false, false, false, false, false, false, false, false, false,
413
+ false, false, false, false, false, false, false, false, false,
414
+ false, false, false, true, false, false, false, false, false,
415
+ true, false, false, false, false, true, false, true, false,
416
+ false, false, false, false, false, true, false, false, false,
417
+ false, false, false, false, false, false, false, false, false,
418
+ false, true, false, false, false, false, false, false, false,
419
+ false, false, false, false, false, false, true, false, false,
420
+ false, false, false, false, false, false, false, false, false,
421
+ false, false, false, false, false, false, true, false, false,
422
+ false, false, false, false, false, false, false, false, false,
423
+ false, false, false, false, false, false, false, false, false,
424
+ false, true, false, false, false, false, false, false, false,
425
+ false, false, false, false, false, false, false, false, false,
426
+ false, false, false, false, false, false, false, false, false,
427
+ false, false, false, false, false, false, false, false, false,
428
+ false, false, false, false, false, false, false, false, false,
429
+ false, false, false, false, false, false, false, false, false,
430
+ false, false, false, false, false, false, false, false, false,
431
+ false, false, false, false, false, false, true, false, false,
432
+ false, false, false, false, false, false, false, false, false,
433
+ false, false, false, false, false, false, false, false, false,
434
+ false, false, false, false, false, false, false, false, false,
435
+ false, false, true, false, false, false, false, false, false,
436
+ false, false, false, false, false, false, false, false, false,
437
+ false, false, false, false, false, false, false, false, false,
438
+ false, false, false, false,
439
+ },
440
+ {
441
+ false, false, false, false, false, false, false, false, false,
442
+ false, false, false, true, false, false, false, false, false,
443
+ false, false, false, false, false, false, false, false, false,
444
+ false, false, false, false, false, false, true, false, false,
445
+ false, false, false, false, false, false, true, false, false,
446
+ false, false, false, true, false, false, false, false, false,
447
+ false, false, false, false, false, false, false, false, true,
448
+ false, false, false, false, false, false, false, false, false,
449
+ false, false, false, true, false, true, false, false, false,
450
+ false, false, true, false, false, false, false, false, false,
451
+ false, false, true, false, false, false, false, false, true,
452
+ false, false, false, false, false, false, false, false, false,
453
+ false, false, true, false, false, false, false, false, false,
454
+ false, false, false, false, false, false, false, true, false,
455
+ false, false, true, false, false, false, false, false, false,
456
+ false, false, false, false, false, false, false, false, false,
457
+ false, false, false, true, false, false, false, false, false,
458
+ false, false, false, false, false, false, false, false, false,
459
+ false, false, false, false, false, false, false, false, false,
460
+ true, false, false, false, false, false, false, false, false,
461
+ false, false, true, false, false, false, false, false, false,
462
+ false, false, false, false, false, false, false, false, false,
463
+ true, false, true, false, false, false, false, false, false,
464
+ false, false, false, false, false, false, false, false, false,
465
+ false, false, false, false, false, false, false, false, false,
466
+ false, false, false, false, false, false, false, false, false,
467
+ false, false, true, false, false, false, false, false, false,
468
+ true, false, false, false, false, false, true, false, false,
469
+ false, false, false, false,
470
+ },
471
+ {
472
+ false, false, false, false, false, false, false, false, false,
473
+ false, false, false, false, false, false, false, false, false,
474
+ false, false, false, false, false, false, false, false, false,
475
+ false, false, false, false, false, false, false, false, false,
476
+ false, false, true, false, false, false, false, false, false,
477
+ true, false, false, false, false, false, false, false, false,
478
+ false, false, false, false, false, false, false, false, false,
479
+ false, false, false, false, false, true, false, false, false,
480
+ false, false, false, false, false, false, false, false, false,
481
+ false, false, false, false, false, false, false, false, false,
482
+ false, false, false, false, true, true, false, false, false,
483
+ false, false, false, false, false, false, false, false, false,
484
+ true, true, false, false, false, false, false, false, false,
485
+ false, false, false, false, false, false, false, false, false,
486
+ false, false, false, false, false, false, false, false, false,
487
+ false, false, false, false, false, false, true, false, false,
488
+ false, false, false, false, false, false, false, false, false,
489
+ false, false, false, false, false, false, false, false, false,
490
+ false, false, false, false, false, false, false, false, false,
491
+ false, false, false, true, false, false, false, false, false,
492
+ false, false, false, true, false, false, false, true, false,
493
+ false, false, false, false, false, false, false, false, false,
494
+ false, false, false, false, false, false, true, false, false,
495
+ false, false, false, false, false, false, false, false, false,
496
+ false, false, false, false, false, true, false, false, true,
497
+ false, false, false, false, false, false, false, false, false,
498
+ false, false, false, false, false, false, false, false, false,
499
+ false, false, false, false, false, false, false, false, false,
500
+ false, false, false, false,
501
+ }},
502
+ },
503
+ {
504
+ {
505
+ 189, 63, 13, 248, 24, 242, 114, 55, 233, 157, 131, 223, 76,
506
+ 212, 218, 202, 42, 118, 7, 240, 74, 191, 206, 164, 192, 77,
507
+ 61, 251, 248, 119, 45, 54, 178, 120, 235, 175, 150, 207, 232,
508
+ 110, 236, 168, 55, 127, 130, 39, 188, 47, 219, 56, 16, 93,
509
+ 1, 38, 184, 9, 169, 189, 153, 55, 67, 15, 242, 156, 36,
510
+ 137, 3, 239, 213, 55, 45, 9, 124, 16, 8, 149, 72, 205,
511
+ 39, 178, 139, 198, 11, 7, 231, 110, 117, 240, 26, 24, 4,
512
+ 82, 142, 123, 227, 85, 210, 33, 89, 166, 59, 150, 173, 27,
513
+ 14, 154, 11, 105, 164, 29, 219, 95, 38, 109, 3, 55, 225,
514
+ 17, 3, 152, 254, 17, 172, 163, 216, 125, 195, 139, 173, 158,
515
+ 246, 162, 67, 138, 105, 94, 50, 159, 61, 30, 216, 59, 213,
516
+ 214, 209, 213, 170, 119, 8, 36, 241, 130, 78, 85, 143, 237,
517
+ 43, 210, 147, 237, 143, 16, 68, 144, 128, 253, 4, 79, 126,
518
+ 101, 210, 74, 147, 252, 173, 108, 122, 154, 229, 249, 8, 1,
519
+ 122, 188, 135, 201, 152, 233, 82, 134, 159, 254, 118, 224, 116,
520
+ 188, 243, 18, 3, 89, 111, 247, 60, 167, 124, 93, 148, 99,
521
+ 62, 230, 81, 228, 3, 141, 170, 141, 94, 189, 114, 163, 249,
522
+ 160, 72, 111, 63, 144, 202, 229, 71, 70, 71, 187, 53, 52,
523
+ 62, 130, 107, 109, 8, 231, 139, 181, 186, 165, 30, 163, 119,
524
+ 81, 68, 194, 12, 222, 169, 233, 198, 252, 35, 161, 229, 71,
525
+ 207, 138, 138, 93, 61, 4, 73, 180, 86, 50, 150, 43, 231,
526
+ 52, 110, 139, 137, 32, 128, 158, 61, 79, 157, 246, 114, 39,
527
+ 28, 55, 134, 242, 186, 135, 205, 90, 195, 130, 50, 205, 235,
528
+ 83, 32, 184, 61, 223, 64, 111, 118, 251, 143, 156, 227, 42,
529
+ 63, 85, 138, 106, 128, 17, 247, 56, 152, 96, 190, 18, 221,
530
+ 205, 122, 150, 133, 231, 18, 107, 9, 136, 247, 224, 163, 216,
531
+ 235, 237, 80, 87, 189, 251, 199, 134, 192, 150, 250, 167, 52,
532
+ 32, 185, 224, 113, 182, 166, 146, 75, 251, 137, 182, 100, 107,
533
+ 117, 120, 220, 61, 54, 233, 203, 252, 215, 167, 127, 118, 228,
534
+ 96, 81, 107, 204, 53, 153, 218, 133, 162, 199, 243, 29, 58,
535
+ 244, 73, 151, 243, 46, 123, 218, 170, 255, 67, 157, 238, 19,
536
+ 233, 14, 78, 135, 206, 102, 140, 216, 241, 97, 98, 63, 233,
537
+ 198, 60, 154, 165, 142, 93, 171, 195, 102, 143, 159, 38, 204,
538
+ 254, 134, 188, 165, 145, 206, 30, 69, 180, 108, 7, 127, 233,
539
+ 246, 86, 230, 104, 165, 34, 102, 4, 48, 113, 52, 173, 72,
540
+ 134, 117, 212, 206, 136, 223, 197, 240, 234, 228, 113, 222, 53,
541
+ 138, 19, 204, 91, 232, 232, 246, 98, 142, 38, 20, 185, 175,
542
+ 16, 152, 203, 84, 136, 245, 129, 184, 222, 227, 206, 104, 190,
543
+ 44, 209, 114, 236, 99, 89, 33, 13, 210, 121, 178, 131, 172,
544
+ 75, 164, 119, 133, 89, 209, 87, 179, 178, 143, 169, 176, 3,
545
+ 69, 172, 59, 131, 14, 145, 251, 99, 88, 113, 220, 65, 147,
546
+ 170, 3, 56, 125, 101, 207, 208, 93, 81, 97, 36, 215, 229,
547
+ 175, 34, 124, 26, 113, 133, 134, 142, 98, 95, 22, 9, 35,
548
+ 235, 22, 172, 195, 225, 54, 30, 137, 161, 172, 42, 79, 152,
549
+ 163, 197, 166, 78, 19, 235, 97, 184, 21, 148, 93, 152, 231,
550
+ 199, 170, 47, 182, 92, 163, 67, 224, 214, 230, 104, 98, 104,
551
+ 55, 18, 32, 115, 76, 50, 9, 14, 76, 213, 252, 13, 227,
552
+ 250, 19, 6, 170, 255, 216, 97, 92, 217, 203, 236, 170, 135,
553
+ 101, 200, 124, 103, 74, 122, 115, 43, 94, 205, 136, 63, 26,
554
+ 32, 172, 100, 13, 96, 72, 57, 90, 41, 95, 96, 28, 67,
555
+ 135, 179, 253, 19, 121, 90, 72, 40, 96, 134, 230, 200, 250,
556
+ 244, 136, 184, 137, 191, 92, 207, 210, 141, 169, 38, 237, 203,
557
+ 217, 148, 236, 254, 9, 41, 241, 43, 216, 107, 141, 220, 153,
558
+ 186, 147, 38, 252, 77, 129, 220, 20, 59, 50, 48, 166, 216,
559
+ 55, 231, 216, 149, 31, 194, 228, 242, 109, 156, 243, 52, 206,
560
+ 49, 97, 218, 187, 149, 48, 64, 92, 221, 148, 62, 236, 153,
561
+ 225, 152, 57, 79, 244, 98, 185, 108, 39, 37, 36, 21, 97,
562
+ 131, 78, 186, 86, 142, 155, 251, 24, 168, 24, 74, 240, 99,
563
+ 135, 48, 154, 102, 5, 177, 119, 123, 97, 222, 52, 24, 13,
564
+ 5, 102, 156, 246, 139, 42, 120, 226, 93, 180, 169, 137, 61,
565
+ 229, 232, 108, 62, 37, 165, 5, 183, 91, 93, 0, 174, 163,
566
+ 193, 66, 156, 12, 39, 119, 232, 227, 227, 53, 200, 107, 137,
567
+ 252, 150, 16, 51, 15, 45, 13, 2, 31, 93, 204, 187, 221,
568
+ 228, 18, 89, 137, 104, 71, 57, 227, 36, 244, 217, 252, 0,
569
+ 101, 39, 92, 93, 73, 156, 185, 182, 223, 77, 202, 69, 209,
570
+ 22, 200, 65, 197, 118, 176, 240, 107, 140, 85, 219, 99, 208,
571
+ 16, 172, 29, 211, 169, 67, 80, 123, 56, 50, 11, 234, 150,
572
+ 108, 217, 25, 129, 150, 167, 51, 178, 33, 107, 13, 253, 217,
573
+ 100, 27, 7, 173, 176, 92, 215, 12, 202, 109, 154, 252, 167,
574
+ 187, 159, 235, 247, 40, 170, 206, 219, 59, 48, 161, 121, 11,
575
+ 15, 233, 103, 11, 233, 12, 179, 140, 50, 222, 75, 81, 122,
576
+ 173, 13, 95, 249, 13, 169, 137, 167, 229, 167, 210, 15, 176,
577
+ 217, 188, 154, 108, 165, 248, 130, 47, 92, 234, 111, 145, 32,
578
+ 202, 94, 178, 64, 72, 152, 239, 250, 190, 93, 136, 62, 198,
579
+ 183, 202, 54, 97, 84, 20, 24, 180, 181, 115, 12, 131, 190,
580
+ 248, 151, 181, 148, 76, 108, 18, 87, 214, 207, 43, 168, 69,
581
+ 103, 9, 79, 58, 222, 232, 132, 52, 32, 99, 9, 235, 202,
582
+ 223, 170, 168, 222, 233, 248, 254, 217, 175, 114, 182, 25, 39,
583
+ 70, 196, 199, 92, 98, 164, 17, 86, 47, 131, 148, 242, 141,
584
+ 199, 2, 123, 211, 8, 229, 197, 250, 138, 213, 227, 181, 31,
585
+ 35, 237, 143, 6, 109, 94, 230, 237, 220, 233, 2, 17, 8,
586
+ 83, 128, 183, 180, 183, 51, 100, 50, 231, 180, 206, 24, 35,
587
+ 90, 172, 96, 43, 128, 123, 77, 166, 176, 162, 245, 231, 75,
588
+ 25, 25, 7, 8, 5, 190, 76, 195, 221, 153, 170, 204, 11,
589
+ 9, 249, 158, 124, 236, 127, 29, 120, 31, 4, 175, 131, 153,
590
+ 122, 245, 66, 255, 13, 44, 7, 246, 183, 33, 105, 210, 159,
591
+ 170, 215, 101, 42, 108, 28, 240, 201, 69, 13, 246, 234, 4,
592
+ 238, 6, 101, 41, 141, 74, 154, 46, 7, 99, 230, 49, 102,
593
+ 204, 209, 202, 134, 58, 155, 47, 134, 63, 0, 18, 120, 107,
594
+ 38, 45, 206, 64, 144, 163, 10, 137, 160, 89, 45, 37, 49,
595
+ 47, 254, 227, 224, 164, 209, 157, 224, 4, 39, 129, 132, 5,
596
+ 143, 108, 210, 37, 199, 181, 123, 45, 232, 223, 61, 65, 192,
597
+ 221, 193, 238, 4, 224, 129, 202, 174, 134, 218, 133, 68, 10,
598
+ 185, 131, 54, 146, 177, 187, 79, 255, 215, 244, 94, 224, 132,
599
+ 173, 109, 250, 185, 174, 172, 61, 233, 118, 250, 130, 192, 11,
600
+ 186, 172, 163, 242, 93, 73, 88, 238, 176, 22, 24, 110, 175,
601
+ 165, 134, 47, 142, 230, 161, 203, 254, 138, 111, 101, 180, 47,
602
+ 106, 127, 249, 13, 125, 137, 218, 159, 51, 226, 233, 149, 129,
603
+ 74, 219, 23, 69, 111, 159, 0, 77, 78, 154, 93, 225, 119,
604
+ 147, 143, 211, 14, 180, 120, 143, 38, 219, 118, 231, 20, 75,
605
+ 226, 24, 40, 109, 236, 183, 41, 38, 192, 168, 167, 134, 168,
606
+ 189, 198, 233, 204, 33, 30, 61, 181, 162, 72, 171, 102, 0,
607
+ 238, 168, 163, 1, 132, 13, 106, 86, 196, 201, 176, 98, 222,
608
+ 25, 182, 214, 165, 27, 64, 206, 166, 41, 82, 122, 71, 1,
609
+ 62, 64, 66, 141, 36, 253, 60, 43, 99, 96, 55, 3, 39,
610
+ 230, 126, 83, 28, 53, 99, 161, 152, 35, 211, 18, 189, 122,
611
+ 209, 145, 63, 16, 219, 89, 33, 74, 208, 179, 67, 220, 87,
612
+ 120, 70, 111, 169, 207, 22, 130, 103, 11, 19, 162, 162, 238,
613
+ 225, 1, 71, 87, 61, 157, 184, 170, 91, 164, 119, 193, 152,
614
+ 83, 104, 190, 224, 180, 157, 171, 185, 67, 138, 7, 215, 157,
615
+ 174, 55, 131, 205, 166, 2, 98, 205, 194, 133, 247, 69, 142,
616
+ 47, 209, 229, 139, 47, 15, 195, 212, 97, 184, 243, 234, 237,
617
+ 193, 221, 116, 255, 57, 214, 205, 248, 114, 96, 21, 42, 111,
618
+ 20, 42, 198, 114, 82, 211, 165, 17, 16, 222, 81, 99, 146,
619
+ 160, 106, 240, 62, 238, 253, 55, 198, 11, 77, 67, 107, 185,
620
+ 161, 81, 249, 185, 65, 12, 30, 242, 33, 92, 186, 63, 188,
621
+ 11, 170, 194, 170, 224, 51, 204, 212, 222, 97, 244, 155, 205,
622
+ 63, 18, 146, 203, 83, 240, 30, 230, 232, 189, 60, 145, 80,
623
+ 52, 249, 65, 207, 12, 64, 221, 81, 212, 199, 82, 8, 164,
624
+ 199, 89, 250, 189, 95, 90, 155, 38, 122, 160, 7, 37, 139,
625
+ 213, 132, 158, 56, 104, 92, 68, 189, 239, 101, 130, 130, 230,
626
+ 135, 239, 183, 159, 247, 240, 251, 202, 63, 183, 99, 48, 207,
627
+ 250, 68, 233, 91, 140, 21, 107, 42, 187, 152, 15, 142, 184,
628
+ 174, 223, 156, 135, 121, 5, 122, 79, 194, 85, 101, 34, 139,
629
+ 224, 219, 113, 14, 136, 82, 236, 155, 199, 91, 196, 139, 180,
630
+ 44, 205, 147, 178, 241, 65, 67, 133, 67, 17, 228, 200, 30,
631
+ 246, 200, 34, 12, 44, 116, 29, 229, 1, 28, 62, 83, 92,
632
+ 218, 33, 197, 91, 9, 203, 7, 39, 20, 138, 30, 93, 98,
633
+ 250, 142, 248, 120, 240, 31, 232, 61, 213, 35, 120, 194, 80,
634
+ 179, 84, 139, 138, 72, 72, 164, 4, 214, 252, 82, 148, 184,
635
+ 124, 15, 87, 236, 153, 26, 50, 98, 217, 223, 252, 156, 164,
636
+ 176, 253, 88, 53, 20, 15, 12, 218, 78, 95, 176, 249, 66,
637
+ 205, 52, 77, 249, 170, 49, 44, 55, 97, 158, 147, 246, 200,
638
+ 139, 97, 182, 1, 225, 91, 185, 243, 112, 210, 152, 172, 191,
639
+ 78, 122, 52, 95, 143, 84, 174, 66, 161, 115, 3, 20, 29,
640
+ 84, 12, 218, 141, 176, 232, 178, 157, 101, 43, 233, 127, 223,
641
+ 198, 133, 198, 210, 182, 59, 253, 105, 212, 252, 202, 61, 3,
642
+ 142, 98, 8, 89, 220, 10, 245, 64, 251, 229, 81, 127, 57,
643
+ 100, 123, 163, 100, 175, 249, 94, 90, 178, 186, 120, 87, 3,
644
+ 210, 209, 150, 9, 201, 49, 253, 226, 233, 229, 57, 131, 205,
645
+ 247, 219, 204, 234, 169, 184, 112, 103, 167, 243, 238, 32, 248,
646
+ 46, 121, 80, 187, 143, 13, 164, 87, 235, 244, 108, 176, 227,
647
+ 63, 204, 235, 74, 220, 177, 99, 71, 75, 96, 61, 116, 102,
648
+ 113, 56, 243, 158, 39, 177, 228, 0, 77, 159, 221, 13, 2,
649
+ 250, 60, 29, 225, 239, 164, 136, 102, 208, 55, 139, 194, 58,
650
+ 149, 162, 246, 180, 53, 0, 36, 63, 226, 217, 16, 105, 169,
651
+ 95, 208, 8, 67, 252, 148, 240, 113, 247, 28, 215, 248, 29,
652
+ 163, 226, 146, 244, 244, 185, 113, 255, 141, 179, 244, 137, 153,
653
+ 224, 219, 232, 115, 71, 205, 217, 127, 85, 104, 4, 144, 220,
654
+ 177, 254, 12, 192, 57, 218, 122, 248, 62, 91, 180, 32, 121,
655
+ 151, 63, 150, 133, 26, 66, 21, 254, 240, 180, 224, 243, 157,
656
+ 245, 225, 226, 248, 72, 125, 207, 17, 130, 136, 29, 6, 201,
657
+ 116, 0, 9, 154, 208, 230, 126, 235, 1, 154, 50, 62, 89,
658
+ 28, 175, 164, 108, 215, 236, 73, 239, 175, 243, 199, 27, 29,
659
+ 107, 83, 188, 119, 5, 171, 11, 141, 157, 190, 109, 110, 102,
660
+ 71, 158, 155, 99, 149, 29, 149, 228, 138, 235, 144, 136, 149,
661
+ 64, 141, 126, 130, 157, 11, 49, 165, 150, 99, 165, 104, 229,
662
+ 66, 166, 236, 234, 86, 56, 185, 140, 175, 15, 82, 208, 115,
663
+ 124, 31, 236, 99, 216, 49, 191, 127, 239, 117, 78, 194, 246,
664
+ 19, 116, 162, 105, 145, 147, 165, 204, 118, 114, 174, 163, 42,
665
+ 172, 234, 225, 201, 130, 167, 35, 174, 153, 240, 164, 255, 200,
666
+ 102, 150, 17, 19, 158, 243, 12, 39, 73, 246, 23, 135, 35,
667
+ 63, 40, 94, 226, 199, 217, 93, 233, 231, 124, 225, 136, 115,
668
+ 43, 175, 67, 41, 145, 223, 211, 32, 77, 136, 179, 156, 61,
669
+ 105, 204, 98, 125, 97, 168, 59, 251, 48, 204, 237, 209, 171,
670
+ 84, 128, 164, 57, 219, 49, 12, 118, 148, 192, 129, 225, 3,
671
+ 141, 219, 249, 32, 115, 188, 226, 2, 233, 5, 122, 76, 145,
672
+ 45, 182, 90, 143, 239, 167, 118, 206, 60, 77, 237, 139, 66,
673
+ 107, 62, 254, 240, 15, 100, 58, 154, 185, 214, 200, 187, 46,
674
+ 198, 83, 115, 123, 222, 240, 41, 103, 14, 245, 33, 56, 121,
675
+ 105, 84, 67, 22, 115, 252, 62, 97, 109, 163, 237, 224, 143,
676
+ 172, 49, 163, 195, 67, 252, 10, 57, 231, 11, 189, 224, 200,
677
+ 67, 179, 117, 13, 202, 212, 212, 64, 3, 92, 115, 5, 222,
678
+ 235, 194, 157, 40, 247, 111, 101, 176, 192, 206, 34, 247, 164,
679
+ 54, 88, 17, 197, 34, 113, 41, 137, 230, 182, 196, 184, 189,
680
+ 255, 99, 217, 243, 222, 250, 145, 18, 57, 196, 95, 36, 239,
681
+ 164, 249, 251, 144, 88, 85, 2, 201, 68, 35, 213, 110, 66,
682
+ 71, 113, 78, 249, 112, 69, 76, 64, 252, 252, 166, 79, 73,
683
+ 149, 54, 217, 185, 250, 16, 31, 12, 206, 240, 183, 190, 18,
684
+ 185, 86, 69, 68, 227, 231, 112, 222, 38, 28, 47, 55, 78,
685
+ 93, 98, 136, 152, 155, 158, 159, 219, 245, 23, 24, 37, 43,
686
+ 55, 80, 84, 146, 149, 171, 183, 201, 225, 10, 24, 44, 58,
687
+ 68, 79, 113, 118, 135, 137, 146, 147, 151, 158, 169, 191, 221,
688
+ 6, 7, 10, 42, 72, 75, 95, 97, 99, 109, 128, 140, 160,
689
+ 188, 216, 235, 236, 246, 248, 0, 0, 0, 0, 0, 0, 0,
690
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 26,
691
+ 43, 62,
692
+ },
693
+ {189, 63, 13, 248, 24, 242, 114, 55, 233, 157, 131,
694
+ 223, 76, 212, 218, 202, 42, 118, 7, 240, 74, 191,
695
+ 206, 164, 192, 77, 61, 251, 248, 119, 45, 54},
696
+ {{
697
+ 8283983u, 21510u, 8344328u, 8269382u, 8300633u, 8033u,
698
+ 8315967u, 72852u, 41712u, 8377985u, 8343398u, 8354059u,
699
+ 8297674u, 8299390u, 93623u, 8266739u, 51243u, 8314294u,
700
+ 98041u, 56748u, 8370228u, 23828u, 102212u, 17508u,
701
+ 8318860u, 63994u, 72416u, 8278547u, 11691u, 27064u,
702
+ 40006u, 102730u, 8275443u, 58814u, 20006u, 91777u,
703
+ 8314004u, 100275u, 32719u, 112646u, 89172u, 73866u,
704
+ 8324933u, 8258951u, 8363103u, 8275359u, 3291u, 100106u,
705
+ 50216u, 100939u, 8336036u, 122402u, 8318685u, 44128u,
706
+ 8324876u, 8296274u, 8254062u, 64477u, 128764u, 125962u,
707
+ 33201u, 8334184u, 8263373u, 19785u, 25990u, 8364424u,
708
+ 8273905u, 8372496u, 26423u, 27462u, 8254985u, 8281638u,
709
+ 8266637u, 80708u, 8317553u, 68643u, 33625u, 72425u,
710
+ 8354843u, 8277690u, 8344318u, 8273047u, 8303660u, 8255860u,
711
+ 8296289u, 127013u, 8356696u, 59105u, 17593u, 8278772u,
712
+ 8333278u, 122443u, 29721u, 37203u, 8367639u, 47650u,
713
+ 81340u, 8349822u, 102758u, 94221u, 8256096u, 8334384u,
714
+ 10072u, 126731u, 8334264u, 29547u, 8351048u, 18221u,
715
+ 95861u, 8273913u, 68647u, 8258956u, 120974u, 29241u,
716
+ 8270041u, 8301027u, 8330407u, 8295265u, 49476u, 8322944u,
717
+ 73923u, 25648u, 65609u, 8278415u, 49366u, 8338796u,
718
+ 59386u, 72740u, 8355689u, 8297298u, 8270628u, 8374696u,
719
+ 8310042u, 8379815u, 8376457u, 8289650u, 70165u, 8292909u,
720
+ 98373u, 8314342u, 8250731u, 127703u, 8377455u, 8324666u,
721
+ 8277339u, 8347951u, 8361113u, 10835u, 9096u, 8360562u,
722
+ 8262467u, 8339618u, 100737u, 108487u, 80203u, 8354602u,
723
+ 8346151u, 69144u, 8273442u, 55344u, 8318058u, 8339766u,
724
+ 8250708u, 8350450u, 60434u, 8281159u, 71564u, 8367718u,
725
+ 3624u, 8259433u, 102765u, 8353550u, 29019u, 70953u,
726
+ 67988u, 91522u, 8315189u, 37087u, 71398u, 60293u,
727
+ 8287053u, 8355904u, 37010u, 23655u, 8371548u, 130791u,
728
+ 8296686u, 56652u, 100986u, 8367180u, 107016u, 8270910u,
729
+ 8351261u, 8344202u, 81608u, 8273554u, 8317209u, 23656u,
730
+ 8277695u, 113986u, 78952u, 40427u, 8280034u, 8278151u,
731
+ 8353587u, 111825u, 8329428u, 39537u, 8377056u, 90508u,
732
+ 8329158u, 8343251u, 31369u, 2986u, 8303820u, 8337859u,
733
+ 64592u, 8320240u, 71629u, 8253885u, 42909u, 100580u,
734
+ 8337101u, 73714u, 8288900u, 8285134u, 8375020u, 8291184u,
735
+ 8335388u, 8339705u, 108783u, 8365543u, 8355999u, 81339u,
736
+ 37198u, 8311121u, 8366368u, 105913u, 8336695u, 8355525u,
737
+ 8329822u, 76887u, 8372560u, 108831u, 107116u, 1562u,
738
+ 8316245u, 36136u, 113757u, 19016u, 8370547u, 74335u,
739
+ 8306671u, 93412u, 73581u, 8293073u,
740
+ },
741
+ {
742
+ 8311301u, 65864u, 8339360u, 8289283u, 41887u, 8301835u,
743
+ 99666u, 8306283u, 8353925u, 74094u, 7497u, 8371404u,
744
+ 124353u, 54520u, 8380203u, 72415u, 8304295u, 8308714u,
745
+ 101327u, 8251699u, 8349422u, 8375787u, 104958u, 8305767u,
746
+ 68358u, 8352223u, 13320u, 8295620u, 8337012u, 8316088u,
747
+ 45668u, 8250447u, 55031u, 8377605u, 76099u, 8353935u,
748
+ 8342599u, 8282360u, 14316u, 70573u, 8368079u, 2519u,
749
+ 29069u, 98729u, 8321855u, 8307845u, 8294600u, 80072u,
750
+ 8258976u, 121490u, 15357u, 8359052u, 5058u, 8365979u,
751
+ 68711u, 29743u, 8287048u, 63159u, 8375983u, 50675u,
752
+ 8358215u, 8321310u, 8347250u, 55198u, 8289297u, 8344544u,
753
+ 108951u, 8508u, 8355462u, 8377034u, 110383u, 8351337u,
754
+ 8344587u, 90614u, 8296995u, 8370523u, 72387u, 8275143u,
755
+ 8359342u, 8324075u, 107173u, 70784u, 119782u, 118159u,
756
+ 100569u, 67334u, 97442u, 8370770u, 92420u, 8262461u,
757
+ 77104u, 99320u, 8262564u, 51346u, 28370u, 24027u,
758
+ 8300218u, 63176u, 8262242u, 27645u, 41945u, 8310186u,
759
+ 8287336u, 51330u, 47670u, 8378957u, 109540u, 8330790u,
760
+ 103440u, 8325790u, 63939u, 8335294u, 11491u, 126742u,
761
+ 8280140u, 119608u, 92438u, 8350118u, 38895u, 78178u,
762
+ 8306255u, 8297639u, 8360546u, 123795u, 85843u, 8301098u,
763
+ 8323937u, 8252824u, 8266842u, 1305u, 8338802u, 8286407u,
764
+ 53189u, 8323481u, 8343313u, 119393u, 8311576u, 89300u,
765
+ 82461u, 5819u, 8311380u, 8282538u, 91504u, 8276323u,
766
+ 8260954u, 8352766u, 21555u, 8342095u, 8281353u, 8341750u,
767
+ 59650u, 8304511u, 85410u, 8375793u, 8270088u, 35077u,
768
+ 8364409u, 8335888u, 8375445u, 110255u, 19432u, 8307476u,
769
+ 8255441u, 8355871u, 93003u, 91373u, 39567u, 86209u,
770
+ 8297049u, 8265128u, 7260u, 8375390u, 8306637u, 8330665u,
771
+ 850u, 8338774u, 71202u, 8347715u, 8303876u, 104743u,
772
+ 113113u, 8302096u, 8362460u, 42938u, 97489u, 8282972u,
773
+ 119688u, 8294933u, 6904u, 8331600u, 8364713u, 98601u,
774
+ 8254174u, 8298078u, 8354331u, 8285258u, 64791u, 81404u,
775
+ 8284156u, 8323375u, 8354766u, 50740u, 29461u, 38772u,
776
+ 8290133u, 8323063u, 8354602u, 8344895u, 8255500u, 8362415u,
777
+ 98191u, 8316909u, 15540u, 8337802u, 82742u, 8256477u,
778
+ 99170u, 8290310u, 2175u, 8332273u, 8341118u, 82594u,
779
+ 73740u, 123728u, 18442u, 91576u, 8336900u, 26786u,
780
+ 103382u, 8348666u, 76708u, 8270889u, 8319485u, 8357568u,
781
+ 87854u, 83351u, 8355066u, 29575u, 58170u, 8373462u,
782
+ 8275143u, 8257142u, 57341u, 21024u, 8368859u, 126925u,
783
+ 87495u, 8347101u, 53927u, 8262584u, 8364063u, 8342654u,
784
+ 90671u, 16072u, 112622u, 8365035u,
785
+ },
786
+ {
787
+ 11668u, 36407u, 8325190u, 8282209u, 114371u, 100496u,
788
+ 110868u, 8378497u, 8335671u, 35167u, 89016u, 8376605u,
789
+ 28106u, 8253717u, 32780u, 33837u, 31520u, 8340630u,
790
+ 8320098u, 67918u, 8349976u, 122690u, 8273733u, 8343887u,
791
+ 41486u, 8276463u, 38130u, 18336u, 8338002u, 8279072u,
792
+ 8372633u, 8250579u, 36982u, 8254184u, 8251743u, 116763u,
793
+ 8345220u, 71690u, 8339934u, 8378794u, 8258743u, 8261308u,
794
+ 128522u, 50892u, 41574u, 74248u, 50951u, 8327110u,
795
+ 8343689u, 18743u, 45449u, 8279765u, 55272u, 1253u,
796
+ 8355174u, 8338689u, 96601u, 20630u, 78180u, 100217u,
797
+ 8334020u, 8326617u, 129430u, 8338505u, 130653u, 8346784u,
798
+ 113306u, 8330458u, 8606u, 21114u, 17827u, 8300289u,
799
+ 8369755u, 8556u, 8257517u, 63232u, 56179u, 8327362u,
800
+ 8378831u, 127779u, 8321498u, 8309538u, 8367280u, 8355196u,
801
+ 8326366u, 8335549u, 58089u, 114434u, 42533u, 126328u,
802
+ 115907u, 41103u, 8296841u, 8254886u, 122516u, 119394u,
803
+ 8338926u, 99416u, 102370u, 68259u, 8333156u, 59670u,
804
+ 125062u, 45469u, 82328u, 8286921u, 8275272u, 8369907u,
805
+ 10489u, 5209u, 75725u, 128357u, 8327839u, 7824u,
806
+ 72609u, 8297283u, 8279068u, 80949u, 8372917u, 8261920u,
807
+ 4630u, 51344u, 8273930u, 8300713u, 101640u, 8346281u,
808
+ 47374u, 8308569u, 8293775u, 104076u, 7935u, 29369u,
809
+ 8339311u, 8266727u, 8257822u, 8308514u, 8295158u, 8357169u,
810
+ 58853u, 8321052u, 8377280u, 99193u, 8272447u, 8318723u,
811
+ 8336886u, 120144u, 81090u, 8283310u, 8252320u, 8252571u,
812
+ 57053u, 45266u, 8372497u, 8283592u, 60469u, 77502u,
813
+ 8297992u, 130253u, 57900u, 8306864u, 128942u, 8351256u,
814
+ 8257628u, 38530u, 8370534u, 6114u, 85424u, 8375467u,
815
+ 116578u, 59622u, 8315949u, 8377962u, 8255871u, 1055u,
816
+ 8283654u, 8253502u, 8298551u, 124691u, 8270606u, 8272622u,
817
+ 29605u, 8340796u, 29774u, 8366019u, 8270153u, 6345u,
818
+ 108648u, 49688u, 43582u, 8329064u, 16888u, 116281u,
819
+ 109944u, 6405u, 113220u, 8326610u, 8262357u, 103260u,
820
+ 117729u, 61931u, 72687u, 30798u, 8369010u, 85968u,
821
+ 57996u, 8314760u, 52255u, 8287888u, 8264416u, 8330667u,
822
+ 8351621u, 8370097u, 8356579u, 8266089u, 8278137u, 98367u,
823
+ 49688u, 8378124u, 62425u, 44339u, 95605u, 60910u,
824
+ 40886u, 46093u, 83820u, 15393u, 24891u, 79766u,
825
+ 8259231u, 8298698u, 8312248u, 39946u, 8309708u, 8346878u,
826
+ 2835u, 8255808u, 78526u, 8359092u, 8308050u, 74576u,
827
+ 8274336u, 8364637u, 8374085u, 129319u, 42015u, 115474u,
828
+ 29401u, 8315215u, 99762u, 8259636u, 8321721u, 8346359u,
829
+ 130189u, 63675u, 24379u, 8330698u,
830
+ },
831
+ {
832
+ 19736u, 8324762u, 8249711u, 8307844u, 8329596u, 8319565u,
833
+ 8339502u, 8252592u, 8299063u, 89216u, 28538u, 119951u,
834
+ 8298252u, 99970u, 8275980u, 4720u, 8289118u, 8266134u,
835
+ 8305244u, 7446u, 8379562u, 19340u, 94055u, 8252218u,
836
+ 5662u, 78215u, 8282921u, 8301714u, 87574u, 9170u,
837
+ 8299915u, 97349u, 53512u, 8326115u, 75525u, 41328u,
838
+ 68373u, 70629u, 80898u, 54353u, 8269349u, 8326697u,
839
+ 8260093u, 26160u, 8300432u, 6212u, 8361199u, 52221u,
840
+ 8801u, 8347518u, 11313u, 8265853u, 8345437u, 3047u,
841
+ 120653u, 8358678u, 67934u, 127635u, 8252865u, 8288377u,
842
+ 38640u, 124950u, 118643u, 8358928u, 8285713u, 14531u,
843
+ 8307u, 8279413u, 68462u, 102787u, 73737u, 8260915u,
844
+ 91767u, 8366345u, 100546u, 8288460u, 109185u, 130790u,
845
+ 8307256u, 117766u, 8365633u, 8372555u, 19473u, 97583u,
846
+ 8276104u, 39537u, 122456u, 8251308u, 84752u, 8282889u,
847
+ 8372392u, 8256630u, 8282809u, 97165u, 10104u, 8305641u,
848
+ 65420u, 121214u, 8253844u, 129107u, 8367463u, 8309170u,
849
+ 8361232u, 8290895u, 8295957u, 70661u, 17281u, 21388u,
850
+ 8266670u, 8330916u, 77638u, 8316299u, 8352148u, 8277544u,
851
+ 8365640u, 100779u, 8321900u, 115998u, 42871u, 8366847u,
852
+ 32130u, 113945u, 38317u, 8342131u, 8321689u, 8304241u,
853
+ 37202u, 8321824u, 8269941u, 125821u, 8263876u, 8269700u,
854
+ 10141u, 8253493u, 8290570u, 8312520u, 125962u, 8353636u,
855
+ 50922u, 8301931u, 8351115u, 8337174u, 8336703u, 8304762u,
856
+ 8271999u, 8352889u, 8360184u, 8305667u, 27034u, 8280893u,
857
+ 78023u, 56164u, 8308747u, 8263456u, 7549u, 8306808u,
858
+ 41511u, 8300039u, 94697u, 86578u, 48209u, 8256439u,
859
+ 8377028u, 8371917u, 25421u, 8308146u, 8260053u, 8339068u,
860
+ 66757u, 8285429u, 8332003u, 8380079u, 8300125u, 8311691u,
861
+ 47264u, 8378623u, 64543u, 8349982u, 8302066u, 8279312u,
862
+ 5886u, 8307072u, 8324845u, 38184u, 8253554u, 8274520u,
863
+ 76852u, 8368204u, 8352959u, 114801u, 8363778u, 8353560u,
864
+ 76103u, 8270095u, 50078u, 4659u, 3874u, 8275511u,
865
+ 8372401u, 6944u, 8293272u, 80496u, 8253498u, 19068u,
866
+ 70237u, 8305673u, 8367335u, 61682u, 62724u, 8316467u,
867
+ 8377393u, 61661u, 35405u, 52605u, 127667u, 36851u,
868
+ 8379022u, 83209u, 8345125u, 16420u, 85915u, 85072u,
869
+ 8360079u, 40742u, 8329968u, 8356793u, 8353647u, 8310054u,
870
+ 8266313u, 8357634u, 4291u, 8362006u, 116462u, 59407u,
871
+ 8360207u, 8253467u, 42864u, 8363884u, 8367029u, 17580u,
872
+ 47294u, 8359013u, 108785u, 65231u, 8315653u, 8358936u,
873
+ 8287917u, 8321181u, 8310535u, 8281338u, 8282357u, 111878u,
874
+ 43335u, 77551u, 8311171u, 91271u,
875
+ }},
876
+ {{
877
+ false, false, false, false, false, false, false, false, false,
878
+ false, false, false, false, false, false, false, false, false,
879
+ false, false, false, false, false, false, false, false, false,
880
+ false, true, false, false, false, false, false, false, false,
881
+ false, false, false, false, false, false, false, false, false,
882
+ false, false, true, false, false, false, false, false, false,
883
+ false, true, false, false, false, false, false, false, false,
884
+ false, false, false, false, false, false, false, false, false,
885
+ false, false, false, false, false, false, true, false, false,
886
+ false, false, false, false, false, false, false, false, false,
887
+ false, false, false, true, false, false, false, false, true,
888
+ false, false, false, false, false, false, false, false, false,
889
+ false, false, false, false, false, false, false, false, false,
890
+ false, false, false, false, false, false, false, false, false,
891
+ false, false, false, false, false, false, false, false, false,
892
+ false, true, false, false, false, false, false, false, false,
893
+ false, false, false, false, false, false, false, false, true,
894
+ false, false, true, false, false, true, true, false, false,
895
+ false, false, false, false, false, false, false, false, false,
896
+ false, false, false, false, false, false, false, false, false,
897
+ false, false, false, false, false, false, false, false, false,
898
+ false, false, false, false, false, false, false, false, false,
899
+ false, false, false, false, false, false, false, false, false,
900
+ false, false, false, false, false, false, false, false, false,
901
+ false, false, false, true, false, false, false, false, false,
902
+ false, false, false, false, false, false, false, false, false,
903
+ false, false, false, false, false, false, false, false, false,
904
+ false, false, true, false, false, false, false, false, false,
905
+ false, false, false, false,
906
+ },
907
+ {
908
+ false, false, false, false, false, false, false, false, false,
909
+ false, false, false, false, false, false, false, false, false,
910
+ false, false, false, false, false, true, true, false, false,
911
+ false, false, false, false, false, false, false, false, false,
912
+ false, true, false, false, false, false, false, true, false,
913
+ false, false, false, false, false, false, false, false, false,
914
+ false, true, false, false, false, false, false, false, false,
915
+ false, false, false, false, false, false, false, false, false,
916
+ false, false, false, false, false, false, false, false, true,
917
+ false, false, false, true, false, false, false, false, false,
918
+ false, false, false, false, false, false, false, false, false,
919
+ false, false, false, false, false, false, false, false, false,
920
+ false, false, false, false, false, false, false, false, false,
921
+ false, false, false, false, false, false, false, false, false,
922
+ false, false, false, false, false, false, false, false, false,
923
+ false, false, false, false, false, false, false, false, false,
924
+ false, false, true, false, false, true, false, false, false,
925
+ false, false, false, false, false, false, false, false, false,
926
+ false, false, false, false, false, false, false, false, false,
927
+ true, false, false, false, false, false, false, false, false,
928
+ false, false, false, true, false, false, false, false, false,
929
+ false, false, false, false, false, false, false, false, false,
930
+ false, false, false, true, false, false, false, false, false,
931
+ false, false, false, false, false, false, false, false, false,
932
+ false, false, false, false, false, false, false, false, false,
933
+ true, false, false, false, false, false, false, false, false,
934
+ false, false, false, false, false, false, false, false, false,
935
+ false, false, false, false, false, false, false, false, false,
936
+ false, false, false, false,
937
+ },
938
+ {
939
+ false, false, false, false, false, false, false, false, false,
940
+ false, true, false, false, false, false, false, false, false,
941
+ false, false, false, false, false, false, true, false, false,
942
+ false, false, false, false, false, false, false, false, false,
943
+ false, false, false, false, false, false, false, false, true,
944
+ false, false, false, false, false, false, false, false, false,
945
+ false, false, false, false, true, false, false, false, false,
946
+ false, false, false, false, false, true, false, false, false,
947
+ false, false, false, false, false, false, false, true, false,
948
+ false, false, false, false, false, false, false, false, false,
949
+ false, false, false, false, false, false, false, false, false,
950
+ false, false, false, false, false, false, false, false, false,
951
+ false, false, false, false, false, true, false, false, false,
952
+ false, true, false, false, false, false, false, false, false,
953
+ false, false, false, false, false, false, false, false, false,
954
+ true, false, true, false, false, false, false, false, false,
955
+ false, false, true, true, false, false, false, true, false,
956
+ false, false, false, false, false, true, false, false, false,
957
+ false, false, false, false, false, false, false, true, false,
958
+ false, false, false, false, false, false, false, false, false,
959
+ false, false, false, false, false, false, false, false, false,
960
+ false, false, true, false, false, false, false, false, false,
961
+ false, false, false, false, false, false, false, false, false,
962
+ false, false, false, false, false, false, false, false, false,
963
+ false, false, false, false, false, true, false, false, false,
964
+ false, false, false, false, false, false, false, false, false,
965
+ false, false, false, false, false, false, false, false, false,
966
+ false, false, false, false, false, false, false, false, false,
967
+ false, false, false, false,
968
+ },
969
+ {
970
+ false, false, false, false, false, false, true, true, false,
971
+ false, true, false, false, false, false, false, false, false,
972
+ false, false, false, false, false, false, false, false, false,
973
+ false, false, false, false, false, false, false, false, false,
974
+ false, false, false, false, false, false, true, false, false,
975
+ false, false, false, false, false, false, false, false, false,
976
+ false, false, false, false, false, false, false, false, false,
977
+ false, false, false, false, false, false, false, false, false,
978
+ true, false, false, true, false, false, false, false, false,
979
+ false, false, false, false, false, false, false, false, false,
980
+ false, false, false, false, false, true, false, true, false,
981
+ true, false, false, false, false, false, false, false, false,
982
+ false, true, false, false, false, false, false, false, false,
983
+ false, false, false, false, false, false, false, false, false,
984
+ false, false, true, false, false, false, false, false, false,
985
+ false, false, false, false, false, true, false, false, false,
986
+ false, false, false, false, false, false, false, false, false,
987
+ false, false, false, false, false, false, false, true, false,
988
+ false, false, false, false, false, false, false, false, false,
989
+ false, false, false, false, false, false, false, false, false,
990
+ false, false, false, false, false, false, false, false, true,
991
+ false, false, false, false, false, false, false, false, false,
992
+ false, false, false, false, false, false, false, false, false,
993
+ false, false, false, false, false, false, false, false, false,
994
+ true, false, false, false, false, false, false, false, false,
995
+ false, false, false, false, false, false, false, false, false,
996
+ false, true, true, false, false, false, false, false, false,
997
+ false, false, false, true, false, true, false, false, false,
998
+ false, false, false, false,
999
+ }},
1000
+
1001
+ },
1002
+ {
1003
+ {
1004
+ 177, 199, 127, 226, 45, 134, 129, 162, 22, 252, 220, 11, 164,
1005
+ 173, 48, 247, 154, 83, 104, 130, 54, 12, 12, 197, 234, 1,
1006
+ 192, 46, 122, 132, 153, 222, 57, 33, 24, 64, 225, 163, 54,
1007
+ 6, 91, 98, 135, 46, 22, 156, 63, 143, 100, 183, 118, 240,
1008
+ 24, 184, 165, 51, 254, 147, 200, 2, 39, 61, 6, 119, 251,
1009
+ 101, 30, 214, 170, 12, 110, 148, 244, 161, 107, 112, 213, 134,
1010
+ 144, 94, 103, 176, 118, 230, 24, 213, 47, 134, 201, 251, 243,
1011
+ 186, 87, 142, 147, 184, 245, 147, 96, 173, 194, 9, 108, 35,
1012
+ 160, 15, 104, 94, 158, 76, 187, 233, 66, 162, 111, 231, 166,
1013
+ 13, 0, 104, 169, 123, 71, 209, 19, 240, 133, 79, 67, 236,
1014
+ 42, 152, 192, 25, 67, 40, 188, 7, 73, 110, 62, 106, 154,
1015
+ 43, 108, 224, 140, 157, 230, 2, 90, 47, 30, 70, 157, 24,
1016
+ 64, 176, 247, 46, 92, 170, 242, 48, 37, 22, 58, 166, 112,
1017
+ 55, 218, 32, 122, 2, 1, 90, 239, 231, 28, 180, 149, 114,
1018
+ 223, 4, 215, 124, 222, 213, 95, 253, 159, 76, 169, 194, 209,
1019
+ 222, 205, 8, 87, 95, 51, 88, 103, 194, 37, 81, 178, 9,
1020
+ 11, 254, 58, 60, 95, 49, 2, 115, 147, 6, 210, 95, 33,
1021
+ 141, 227, 100, 224, 167, 108, 105, 13, 73, 186, 0, 13, 8,
1022
+ 1, 90, 169, 224, 23, 184, 126, 175, 225, 172, 155, 64, 137,
1023
+ 150, 232, 83, 156, 241, 219, 81, 51, 96, 171, 4, 137, 105,
1024
+ 6, 226, 98, 37, 187, 67, 157, 199, 29, 88, 102, 83, 128,
1025
+ 9, 55, 142, 182, 131, 249, 91, 126, 126, 146, 102, 163, 235,
1026
+ 29, 185, 29, 192, 183, 138, 233, 63, 225, 230, 187, 54, 105,
1027
+ 34, 170, 201, 132, 204, 217, 198, 201, 115, 113, 42, 18, 90,
1028
+ 210, 247, 5, 236, 43, 44, 26, 162, 22, 19, 140, 109, 205,
1029
+ 202, 63, 142, 81, 127, 73, 226, 187, 109, 67, 202, 254, 91,
1030
+ 87, 99, 166, 10, 174, 247, 153, 129, 200, 130, 81, 22, 159,
1031
+ 66, 233, 153, 1, 67, 78, 239, 101, 29, 122, 241, 40, 61,
1032
+ 137, 70, 55, 185, 92, 222, 218, 115, 239, 32, 16, 227, 62,
1033
+ 177, 194, 51, 11, 85, 162, 122, 191, 114, 254, 69, 32, 186,
1034
+ 246, 34, 27, 38, 39, 16, 179, 160, 110, 83, 52, 127, 25,
1035
+ 224, 94, 161, 229, 118, 1, 37, 15, 240, 120, 239, 105, 139,
1036
+ 19, 59, 251, 79, 60, 120, 134, 218, 135, 179, 90, 158, 54,
1037
+ 242, 248, 57, 6, 218, 182, 4, 146, 209, 46, 232, 114, 57,
1038
+ 0, 191, 203, 196, 185, 197, 65, 241, 211, 40, 31, 134, 99,
1039
+ 198, 123, 59, 98, 156, 58, 199, 122, 152, 206, 130, 240, 136,
1040
+ 35, 79, 153, 159, 248, 11, 90, 213, 202, 255, 127, 71, 133,
1041
+ 123, 241, 50, 125, 98, 57, 56, 51, 140, 207, 210, 65, 31,
1042
+ 161, 158, 108, 101, 76, 26, 67, 202, 4, 196, 131, 62, 6,
1043
+ 82, 78, 218, 178, 94, 199, 180, 169, 188, 45, 163, 114, 231,
1044
+ 179, 125, 118, 23, 235, 229, 118, 96, 231, 91, 80, 180, 11,
1045
+ 113, 154, 122, 184, 9, 174, 89, 149, 183, 137, 100, 35, 11,
1046
+ 224, 120, 215, 153, 246, 23, 122, 136, 123, 243, 149, 18, 179,
1047
+ 73, 63, 88, 66, 14, 202, 177, 225, 24, 168, 106, 24, 168,
1048
+ 128, 28, 129, 14, 190, 15, 95, 146, 24, 211, 176, 184, 135,
1049
+ 218, 209, 106, 110, 167, 102, 240, 74, 50, 129, 239, 8, 3,
1050
+ 106, 42, 69, 185, 38, 213, 81, 79, 154, 214, 107, 71, 173,
1051
+ 251, 191, 37, 74, 12, 253, 132, 23, 164, 142, 228, 42, 161,
1052
+ 176, 83, 135, 163, 42, 163, 186, 183, 156, 185, 132, 248, 206,
1053
+ 60, 23, 192, 214, 116, 243, 168, 113, 230, 164, 95, 93, 35,
1054
+ 201, 199, 243, 69, 228, 105, 49, 37, 107, 154, 211, 238, 115,
1055
+ 199, 111, 87, 19, 113, 245, 119, 210, 35, 116, 143, 216, 243,
1056
+ 161, 9, 111, 169, 104, 127, 190, 55, 220, 118, 73, 191, 21,
1057
+ 169, 159, 229, 159, 89, 182, 151, 72, 121, 233, 176, 170, 29,
1058
+ 78, 40, 146, 251, 93, 219, 240, 191, 181, 44, 55, 43, 61,
1059
+ 26, 210, 254, 23, 24, 114, 29, 128, 34, 210, 23, 235, 122,
1060
+ 97, 201, 42, 178, 205, 100, 41, 77, 119, 170, 148, 71, 233,
1061
+ 154, 166, 121, 136, 253, 227, 143, 130, 30, 120, 182, 97, 11,
1062
+ 181, 178, 21, 117, 155, 232, 167, 179, 147, 25, 237, 102, 251,
1063
+ 70, 7, 43, 231, 9, 28, 72, 8, 65, 118, 51, 127, 14,
1064
+ 69, 189, 81, 160, 208, 120, 151, 69, 228, 10, 212, 190, 121,
1065
+ 180, 154, 135, 152, 198, 150, 190, 110, 14, 92, 219, 151, 224,
1066
+ 164, 112, 93, 143, 115, 103, 227, 233, 81, 14, 155, 217, 131,
1067
+ 182, 76, 27, 167, 198, 134, 84, 66, 84, 194, 77, 137, 165,
1068
+ 49, 246, 43, 187, 0, 254, 14, 235, 143, 12, 152, 8, 77,
1069
+ 158, 227, 90, 137, 147, 106, 226, 206, 89, 188, 135, 150, 47,
1070
+ 219, 28, 80, 131, 165, 221, 250, 220, 162, 65, 20, 98, 154,
1071
+ 200, 199, 174, 77, 139, 135, 188, 205, 220, 178, 132, 164, 130,
1072
+ 149, 166, 193, 253, 84, 57, 84, 99, 24, 69, 85, 229, 6,
1073
+ 147, 240, 175, 45, 94, 201, 127, 147, 247, 93, 120, 185, 84,
1074
+ 129, 254, 221, 214, 201, 113, 192, 92, 50, 99, 113, 40, 58,
1075
+ 229, 147, 80, 130, 87, 154, 232, 34, 99, 204, 223, 128, 200,
1076
+ 161, 155, 154, 46, 24, 124, 39, 233, 193, 203, 121, 143, 210,
1077
+ 172, 16, 239, 235, 170, 198, 119, 190, 165, 148, 78, 27, 158,
1078
+ 227, 175, 82, 154, 154, 26, 139, 155, 177, 165, 145, 103, 27,
1079
+ 123, 15, 52, 179, 135, 84, 27, 235, 50, 145, 168, 31, 124,
1080
+ 128, 207, 95, 61, 93, 216, 11, 43, 119, 9, 215, 22, 106,
1081
+ 201, 78, 199, 143, 51, 18, 185, 156, 209, 107, 75, 28, 28,
1082
+ 90, 175, 178, 139, 102, 85, 63, 237, 219, 140, 161, 254, 43,
1083
+ 147, 39, 116, 252, 67, 48, 193, 63, 236, 212, 122, 226, 156,
1084
+ 47, 246, 77, 193, 130, 152, 10, 92, 153, 198, 244, 221, 146,
1085
+ 209, 56, 148, 75, 212, 252, 118, 215, 151, 82, 155, 228, 26,
1086
+ 32, 171, 24, 117, 110, 153, 33, 244, 74, 180, 255, 227, 158,
1087
+ 200, 155, 179, 185, 46, 254, 243, 65, 13, 52, 236, 75, 199,
1088
+ 129, 114, 184, 252, 236, 13, 66, 241, 97, 231, 28, 21, 163,
1089
+ 3, 53, 17, 250, 190, 208, 69, 192, 46, 150, 1, 134, 28,
1090
+ 253, 210, 215, 102, 1, 85, 106, 150, 41, 234, 48, 216, 244,
1091
+ 89, 77, 252, 23, 234, 141, 157, 210, 161, 114, 120, 248, 214,
1092
+ 25, 153, 1, 191, 28, 139, 145, 198, 216, 124, 32, 189, 139,
1093
+ 149, 8, 123, 134, 198, 181, 142, 45, 188, 198, 185, 74, 79,
1094
+ 112, 121, 242, 32, 147, 49, 212, 113, 88, 189, 143, 126, 89,
1095
+ 78, 195, 232, 225, 181, 106, 51, 228, 127, 40, 95, 134, 45,
1096
+ 152, 173, 145, 52, 203, 159, 211, 23, 251, 42, 203, 158, 121,
1097
+ 183, 28, 11, 6, 178, 61, 24, 231, 13, 235, 189, 96, 153,
1098
+ 197, 58, 30, 81, 107, 221, 224, 41, 48, 191, 233, 163, 28,
1099
+ 35, 181, 246, 3, 0, 174, 5, 0, 80, 98, 59, 133, 217,
1100
+ 141, 109, 248, 137, 95, 78, 40, 88, 255, 163, 1, 60, 34,
1101
+ 28, 134, 75, 106, 72, 152, 246, 30, 118, 4, 21, 78, 10,
1102
+ 175, 178, 138, 185, 191, 103, 189, 5, 78, 205, 165, 66, 240,
1103
+ 123, 131, 233, 118, 32, 240, 86, 84, 145, 104, 50, 161, 210,
1104
+ 11, 232, 86, 195, 238, 254, 41, 111, 226, 48, 149, 205, 123,
1105
+ 178, 237, 66, 169, 210, 231, 147, 139, 84, 254, 225, 7, 16,
1106
+ 159, 192, 243, 36, 21, 96, 78, 56, 56, 24, 85, 151, 125,
1107
+ 227, 20, 109, 154, 20, 50, 125, 13, 180, 91, 103, 33, 188,
1108
+ 159, 232, 59, 195, 9, 171, 197, 4, 190, 169, 5, 187, 232,
1109
+ 21, 183, 251, 69, 71, 57, 220, 130, 248, 117, 80, 109, 6,
1110
+ 118, 182, 23, 73, 120, 149, 56, 167, 227, 127, 225, 251, 103,
1111
+ 223, 122, 156, 220, 3, 165, 28, 53, 194, 13, 243, 129, 246,
1112
+ 193, 164, 226, 83, 8, 77, 23, 105, 34, 21, 40, 245, 63,
1113
+ 242, 210, 27, 100, 100, 20, 53, 87, 135, 195, 168, 94, 226,
1114
+ 246, 78, 166, 26, 95, 185, 222, 105, 73, 201, 2, 177, 228,
1115
+ 189, 204, 238, 177, 20, 152, 230, 137, 142, 125, 243, 106, 181,
1116
+ 166, 132, 47, 21, 76, 188, 4, 195, 238, 37, 2, 100, 97,
1117
+ 111, 150, 50, 219, 165, 106, 98, 16, 155, 148, 31, 87, 175,
1118
+ 207, 252, 80, 213, 238, 214, 40, 217, 223, 74, 43, 21, 98,
1119
+ 139, 129, 255, 61, 154, 146, 72, 173, 232, 181, 204, 69, 216,
1120
+ 166, 150, 207, 206, 111, 95, 24, 116, 68, 108, 69, 8, 210,
1121
+ 1, 50, 178, 200, 208, 52, 214, 89, 2, 124, 75, 121, 153,
1122
+ 127, 247, 39, 156, 249, 120, 253, 231, 51, 190, 1, 124, 63,
1123
+ 153, 61, 71, 35, 236, 17, 58, 248, 145, 147, 170, 165, 73,
1124
+ 47, 194, 219, 180, 131, 58, 171, 6, 204, 143, 190, 115, 11,
1125
+ 176, 25, 13, 95, 60, 176, 12, 119, 243, 98, 190, 86, 87,
1126
+ 99, 107, 145, 146, 154, 127, 10, 38, 229, 167, 251, 202, 138,
1127
+ 234, 153, 134, 36, 134, 5, 169, 96, 153, 46, 58, 47, 45,
1128
+ 112, 191, 203, 242, 50, 9, 65, 40, 85, 172, 12, 120, 48,
1129
+ 6, 230, 93, 49, 86, 230, 235, 39, 160, 218, 45, 74, 121,
1130
+ 119, 155, 115, 131, 106, 253, 70, 114, 250, 139, 230, 11, 80,
1131
+ 35, 23, 254, 12, 115, 43, 181, 176, 193, 234, 69, 185, 59,
1132
+ 20, 139, 202, 209, 163, 151, 117, 104, 104, 252, 158, 152, 96,
1133
+ 83, 237, 54, 24, 19, 165, 170, 94, 176, 6, 211, 238, 33,
1134
+ 3, 149, 217, 70, 248, 166, 194, 234, 145, 62, 177, 53, 196,
1135
+ 201, 31, 180, 86, 46, 167, 12, 189, 181, 2, 24, 55, 13,
1136
+ 90, 213, 229, 176, 145, 200, 221, 2, 60, 15, 95, 61, 53,
1137
+ 93, 228, 42, 35, 16, 215, 29, 73, 69, 224, 94, 131, 74,
1138
+ 84, 191, 250, 235, 24, 224, 248, 250, 147, 215, 135, 12, 194,
1139
+ 62, 86, 26, 184, 192, 115, 200, 194, 131, 148, 114, 220, 123,
1140
+ 104, 46, 156, 213, 103, 73, 96, 193, 181, 108, 109, 109, 9,
1141
+ 87, 78, 178, 91, 99, 0, 140, 186, 74, 111, 158, 15, 184,
1142
+ 179, 32, 67, 119, 61, 167, 236, 110, 207, 106, 9, 239, 5,
1143
+ 230, 75, 49, 166, 73, 3, 7, 83, 99, 145, 182, 253, 106,
1144
+ 76, 141, 251, 140, 196, 239, 200, 162, 161, 205, 51, 233, 204,
1145
+ 69, 171, 12, 239, 84, 163, 159, 162, 236, 73, 97, 20, 149,
1146
+ 89, 152, 35, 200, 252, 6, 120, 108, 221, 4, 104, 166, 123,
1147
+ 254, 112, 156, 245, 116, 31, 157, 252, 57, 146, 7, 103, 245,
1148
+ 171, 166, 75, 238, 34, 190, 124, 128, 33, 27, 170, 253, 144,
1149
+ 226, 195, 12, 116, 248, 25, 152, 74, 59, 85, 45, 82, 214,
1150
+ 192, 91, 111, 202, 24, 42, 85, 75, 211, 106, 35, 5, 237,
1151
+ 3, 159, 137, 193, 122, 115, 149, 174, 247, 153, 47, 148, 222,
1152
+ 58, 80, 91, 220, 100, 43, 246, 147, 234, 165, 154, 92, 6,
1153
+ 189, 174, 78, 161, 224, 80, 169, 154, 151, 101, 36, 245, 97,
1154
+ 38, 86, 153, 95, 21, 98, 83, 41, 24, 5, 27, 181, 196,
1155
+ 196, 122, 189, 84, 132, 3, 172, 105, 228, 229, 174, 100, 225,
1156
+ 61, 211, 157, 3, 179, 117, 4, 211, 160, 53, 215, 165, 56,
1157
+ 224, 178, 143, 159, 179, 39, 100, 55, 84, 24, 58, 115, 81,
1158
+ 246, 78, 249, 128, 164, 239, 1, 116, 78, 41, 54, 199, 39,
1159
+ 232, 20, 216, 60, 201, 227, 65, 90, 222, 31, 118, 216, 152,
1160
+ 153, 25, 36, 254, 103, 105, 183, 18, 38, 34, 93, 50, 218,
1161
+ 87, 65, 70, 233, 144, 218, 93, 78, 163, 26, 172, 79, 182,
1162
+ 104, 145, 17, 251, 26, 208, 25, 47, 232, 151, 54, 185, 96,
1163
+ 49, 242, 73, 32, 84, 135, 109, 94, 254, 39, 122, 69, 88,
1164
+ 74, 211, 231, 61, 130, 79, 140, 183, 216, 241, 72, 79, 231,
1165
+ 232, 67, 33, 112, 81, 254, 50, 96, 5, 224, 214, 115, 108,
1166
+ 126, 231, 43, 110, 156, 94, 53, 44, 144, 135, 90, 42, 124,
1167
+ 129, 117, 145, 160, 89, 124, 146, 5, 239, 154, 156, 220, 6,
1168
+ 118, 180, 134, 40, 221, 151, 237, 0, 124, 205, 94, 220, 112,
1169
+ 209, 26, 232, 168, 232, 127, 174, 234, 44, 160, 233, 105, 161,
1170
+ 160, 241, 101, 206, 41, 127, 252, 184, 253, 30, 237, 106, 5,
1171
+ 249, 116, 14, 168, 89, 170, 208, 144, 21, 156, 182, 16, 187,
1172
+ 91, 102, 86, 6, 204, 32, 73, 51, 225, 95, 187, 8, 93,
1173
+ 77, 241, 202, 14, 246, 110, 44, 144, 243, 203, 40, 242, 100,
1174
+ 54, 113, 6, 7, 178, 178, 46, 61, 63, 53, 203, 178, 106,
1175
+ 30, 80, 146, 198, 26, 213, 134, 40, 210, 10, 21, 144, 34,
1176
+ 35, 187, 195, 112, 99, 110, 72, 190, 187, 20, 15, 84, 19,
1177
+ 212, 36, 171, 128, 6, 67, 228, 164, 240, 210, 111, 230, 86,
1178
+ 253, 174, 10, 251, 238, 34, 239, 88, 75, 122, 252, 19, 33,
1179
+ 134, 116, 126, 83, 86, 21, 121, 212, 21, 62, 239, 146, 189,
1180
+ 28, 248, 229, 185, 248, 163, 68, 31, 24, 156, 76, 2, 175,
1181
+ 176, 49, 26, 106, 93, 234, 154, 210, 222, 113, 164, 113, 6,
1182
+ 248, 32, 34, 168, 177, 161, 65, 127, 74, 41, 170, 61, 134,
1183
+ 64, 152, 129, 160, 152, 133, 169, 220, 244, 23, 33, 64, 76,
1184
+ 94, 96, 103, 118, 147, 170, 184, 207, 216, 245, 246, 249, 29,
1185
+ 30, 31, 65, 73, 98, 103, 118, 120, 205, 209, 215, 216, 228,
1186
+ 241, 8, 37, 39, 71, 78, 84, 86, 87, 96, 102, 122, 123,
1187
+ 130, 140, 172, 183, 202, 222, 225, 242, 251, 51, 57, 74, 81,
1188
+ 102, 126, 138, 149, 150, 153, 158, 197, 212, 233, 234, 235, 243,
1189
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 31,
1190
+ 52, 69,
1191
+ },
1192
+ {177, 199, 127, 226, 45, 134, 129, 162, 22, 252, 220,
1193
+ 11, 164, 173, 48, 247, 154, 83, 104, 130, 54, 12,
1194
+ 12, 197, 234, 1, 192, 46, 122, 132, 153, 222},
1195
+ {{
1196
+ 122567u, 110586u, 8287683u, 37864u, 8345759u, 8313462u,
1197
+ 68615u, 8323695u, 69514u, 37370u, 8256711u, 8306098u,
1198
+ 55550u, 15985u, 8355914u, 8292232u, 8377175u, 56037u,
1199
+ 8332770u, 8292928u, 8343419u, 124457u, 8353942u, 8293278u,
1200
+ 31185u, 65806u, 33873u, 8360392u, 8251977u, 8292317u,
1201
+ 91094u, 94800u, 127072u, 8276071u, 8268600u, 62554u,
1202
+ 8286303u, 8287816u, 8347649u, 4443u, 8261306u, 33788u,
1203
+ 117512u, 87119u, 16232u, 8376123u, 99390u, 18140u,
1204
+ 8353219u, 8312091u, 78330u, 8275339u, 8291839u, 30837u,
1205
+ 30252u, 8331009u, 119049u, 87401u, 8359154u, 71592u,
1206
+ 8286043u, 117107u, 120926u, 38908u, 71697u, 37625u,
1207
+ 2263u, 8291310u, 8580u, 8292364u, 79361u, 8312156u,
1208
+ 8495u, 15821u, 8301068u, 25248u, 55870u, 8352621u,
1209
+ 8257361u, 69397u, 8367778u, 74560u, 57239u, 96897u,
1210
+ 72819u, 2023u, 8341815u, 56267u, 65350u, 114173u,
1211
+ 8342113u, 106622u, 8282441u, 8300438u, 128582u, 8357340u,
1212
+ 109592u, 8315802u, 8301284u, 8336001u, 30460u, 97894u,
1213
+ 8358355u, 61716u, 14435u, 27129u, 129738u, 74714u,
1214
+ 8268147u, 8315297u, 8255516u, 26039u, 5213u, 8286650u,
1215
+ 8283136u, 8272343u, 8322754u, 20743u, 8370542u, 8304985u,
1216
+ 13180u, 8351307u, 8308933u, 112471u, 8261031u, 8314500u,
1217
+ 8330563u, 8345497u, 126186u, 8291486u, 8250197u, 47560u,
1218
+ 8361602u, 8286473u, 89034u, 36869u, 8354986u, 8281432u,
1219
+ 24710u, 8306171u, 8359551u, 88123u, 24940u, 62458u,
1220
+ 4274u, 8345768u, 8343786u, 8370957u, 51386u, 8276179u,
1221
+ 8299092u, 97347u, 8322289u, 86961u, 85188u, 8345261u,
1222
+ 8331399u, 32868u, 8273405u, 95270u, 8305126u, 80887u,
1223
+ 8320502u, 77491u, 124545u, 108616u, 8286631u, 93179u,
1224
+ 69617u, 8348707u, 51018u, 8254229u, 115633u, 8339043u,
1225
+ 8300420u, 8349335u, 69066u, 29058u, 8286817u, 8361967u,
1226
+ 119087u, 8356679u, 8253438u, 8309971u, 14919u, 66480u,
1227
+ 3443u, 29160u, 8283195u, 8308595u, 101463u, 8355350u,
1228
+ 97586u, 73156u, 27406u, 8256899u, 42485u, 8252748u,
1229
+ 100353u, 4587u, 52495u, 8357730u, 8301694u, 8298961u,
1230
+ 8298031u, 8271802u, 8358200u, 104143u, 79293u, 69375u,
1231
+ 105496u, 50872u, 8334631u, 52777u, 8263014u, 8344395u,
1232
+ 8255631u, 24724u, 8334986u, 9321u, 8255649u, 60394u,
1233
+ 8310598u, 5527u, 8377929u, 43413u, 91271u, 94830u,
1234
+ 73717u, 8350243u, 32919u, 8371737u, 3205u, 80731u,
1235
+ 8252262u, 63136u, 13810u, 8365973u, 8336768u, 8339360u,
1236
+ 58240u, 8281185u, 3845u, 105911u, 85805u, 8338963u,
1237
+ 8336100u, 8340040u, 8318875u, 111470u, 94472u, 22516u,
1238
+ 47830u, 46674u, 68323u, 8291736u,
1239
+ },
1240
+ {
1241
+ 47253u, 8249622u, 89509u, 8252368u, 125052u, 56407u,
1242
+ 8375635u, 45374u, 8338554u, 8337207u, 13445u, 8375579u,
1243
+ 78088u, 129585u, 8295061u, 8338484u, 72079u, 8292376u,
1244
+ 93643u, 8261858u, 7099u, 45990u, 22862u, 8266931u,
1245
+ 8263822u, 76325u, 8292592u, 8295970u, 8285150u, 68061u,
1246
+ 91617u, 8337989u, 8347801u, 8311314u, 92307u, 108803u,
1247
+ 24663u, 8353800u, 33947u, 6878u, 8335128u, 8280215u,
1248
+ 56700u, 34834u, 8253222u, 8303250u, 8334479u, 104204u,
1249
+ 8249647u, 96763u, 130601u, 8296311u, 8320234u, 8357795u,
1250
+ 8306005u, 27850u, 8295128u, 54627u, 8342408u, 8340886u,
1251
+ 30599u, 8251138u, 6104u, 8324641u, 62623u, 37715u,
1252
+ 18607u, 8339551u, 27725u, 17594u, 102474u, 87011u,
1253
+ 128537u, 8375802u, 8289265u, 819u, 47858u, 125841u,
1254
+ 8278775u, 59811u, 128284u, 8351820u, 21689u, 8355299u,
1255
+ 8341819u, 8275026u, 19008u, 8281506u, 36700u, 72745u,
1256
+ 8366474u, 47193u, 25842u, 24330u, 19253u, 8308069u,
1257
+ 8358779u, 92912u, 92964u, 80234u, 8303627u, 8282067u,
1258
+ 8335122u, 118209u, 63336u, 71789u, 92754u, 21938u,
1259
+ 12574u, 4330u, 8316569u, 101524u, 31920u, 8333464u,
1260
+ 8368690u, 110330u, 91550u, 8269327u, 84774u, 8318435u,
1261
+ 8323892u, 57044u, 42966u, 8313191u, 43779u, 76530u,
1262
+ 110202u, 8276652u, 93434u, 8287237u, 92702u, 8360450u,
1263
+ 107017u, 53666u, 8255468u, 8291466u, 101943u, 92368u,
1264
+ 8309198u, 71519u, 93211u, 8044u, 8345180u, 29557u,
1265
+ 73780u, 101856u, 22086u, 106310u, 55428u, 8318855u,
1266
+ 67684u, 8334519u, 8253681u, 21830u, 8255621u, 8359275u,
1267
+ 8373427u, 8251162u, 23254u, 103830u, 25717u, 104084u,
1268
+ 18823u, 115220u, 8269005u, 8325856u, 8302928u, 8338877u,
1269
+ 99297u, 8252449u, 11307u, 118943u, 35029u, 19006u,
1270
+ 92511u, 8307398u, 8367218u, 8303037u, 8332008u, 102099u,
1271
+ 8291813u, 8319830u, 43416u, 8268548u, 29477u, 8314969u,
1272
+ 8349391u, 8252977u, 53181u, 8310801u, 8270515u, 8350840u,
1273
+ 2513u, 85933u, 87672u, 8354449u, 2874u, 105289u,
1274
+ 48243u, 8294099u, 8284421u, 88587u, 8361548u, 98197u,
1275
+ 59221u, 8356964u, 8297960u, 8326870u, 8322050u, 8318426u,
1276
+ 8275144u, 8251207u, 48653u, 8311550u, 101186u, 13817u,
1277
+ 66376u, 97413u, 8372461u, 101475u, 8273132u, 111296u,
1278
+ 8253536u, 59582u, 8368449u, 32667u, 8261177u, 8290486u,
1279
+ 65178u, 25963u, 8338792u, 8290110u, 42508u, 237u,
1280
+ 74079u, 8295819u, 101727u, 16866u, 28259u, 8315899u,
1281
+ 29924u, 8367709u, 8378420u, 8368397u, 8312684u, 24162u,
1282
+ 70820u, 8318795u, 8332859u, 125998u, 8304746u, 8360830u,
1283
+ 11215u, 8292837u, 8255238u, 50843u,
1284
+ },
1285
+ {
1286
+ 5949u, 8336009u, 8363211u, 89601u, 31137u, 8288758u,
1287
+ 8296167u, 8347861u, 8308782u, 8328515u, 8275477u, 101667u,
1288
+ 8378870u, 8376469u, 74127u, 8317013u, 26272u, 8278352u,
1289
+ 8334064u, 8281228u, 8302552u, 66961u, 8367671u, 8258861u,
1290
+ 8380414u, 130709u, 8370945u, 8375060u, 29223u, 8348134u,
1291
+ 72200u, 40799u, 23553u, 94464u, 106046u, 22226u,
1292
+ 8341433u, 30787u, 44985u, 120520u, 8334674u, 8253855u,
1293
+ 8259974u, 51178u, 8337972u, 8315889u, 8341450u, 97829u,
1294
+ 108816u, 8371116u, 8375515u, 118966u, 8292633u, 8266833u,
1295
+ 8318306u, 81015u, 8262252u, 8287075u, 8342483u, 8274103u,
1296
+ 95341u, 98411u, 65410u, 8314245u, 56077u, 8275964u,
1297
+ 8281213u, 43936u, 8282730u, 8297161u, 46682u, 2872u,
1298
+ 8268788u, 108074u, 1086u, 69726u, 8312382u, 52886u,
1299
+ 8340513u, 8319979u, 8309273u, 33043u, 8276877u, 8377489u,
1300
+ 100872u, 25772u, 8288417u, 56226u, 92808u, 71218u,
1301
+ 8374275u, 24593u, 99617u, 67801u, 13744u, 8312621u,
1302
+ 3315u, 98912u, 8369589u, 122545u, 59571u, 46950u,
1303
+ 8293760u, 8263426u, 123950u, 59111u, 36015u, 8311268u,
1304
+ 8356185u, 8266313u, 21916u, 8321669u, 38434u, 85422u,
1305
+ 8361201u, 8301834u, 85522u, 23035u, 71522u, 8262155u,
1306
+ 8333975u, 8257240u, 81582u, 126223u, 4413u, 65399u,
1307
+ 8317419u, 79271u, 8337958u, 124774u, 46671u, 41858u,
1308
+ 77905u, 43969u, 37139u, 8289118u, 8295714u, 96950u,
1309
+ 124746u, 67586u, 93542u, 8369327u, 79010u, 8290026u,
1310
+ 8276315u, 8252494u, 31242u, 60976u, 113300u, 101246u,
1311
+ 8305889u, 8297695u, 10700u, 8314731u, 8276810u, 411u,
1312
+ 120841u, 8364442u, 8347690u, 8316722u, 8283136u, 8288690u,
1313
+ 8366990u, 112720u, 1990u, 8338205u, 91558u, 8312644u,
1314
+ 8268582u, 8327521u, 81814u, 8316354u, 128141u, 8296853u,
1315
+ 8264209u, 118080u, 8318090u, 20584u, 8366732u, 8362580u,
1316
+ 8275311u, 32097u, 8348079u, 8303635u, 5494u, 56922u,
1317
+ 108446u, 32092u, 8368488u, 8295475u, 8251647u, 8262867u,
1318
+ 63182u, 46576u, 79163u, 81440u, 6650u, 29609u,
1319
+ 8331676u, 8347490u, 8368679u, 8622u, 8300106u, 22003u,
1320
+ 8362244u, 8315237u, 82328u, 94912u, 66025u, 8323902u,
1321
+ 8311983u, 8271099u, 8267452u, 8329971u, 58200u, 8356210u,
1322
+ 104331u, 8265959u, 8377976u, 8268468u, 8308683u, 8337085u,
1323
+ 8313367u, 8295399u, 8306195u, 8354497u, 8280980u, 8312166u,
1324
+ 8343063u, 37809u, 91069u, 8327042u, 8303019u, 8297688u,
1325
+ 119973u, 74656u, 42483u, 116363u, 95973u, 128137u,
1326
+ 8310981u, 45225u, 8362542u, 95061u, 10480u, 44473u,
1327
+ 4604u, 54771u, 8331437u, 8365315u, 8278528u, 8359958u,
1328
+ 96297u, 8269694u, 23197u, 8314145u,
1329
+ },
1330
+ {
1331
+ 8329102u, 57104u, 14551u, 24081u, 25554u, 8357388u,
1332
+ 125436u, 19753u, 37523u, 8276543u, 17628u, 130675u,
1333
+ 8332661u, 8274991u, 8281864u, 97586u, 35005u, 8304178u,
1334
+ 67858u, 121429u, 8378898u, 109831u, 91549u, 123891u,
1335
+ 40109u, 8286813u, 80209u, 8253900u, 8264565u, 85445u,
1336
+ 75238u, 8272690u, 8297013u, 8264919u, 8366771u, 8344963u,
1337
+ 46612u, 47848u, 31335u, 8306547u, 129284u, 8291555u,
1338
+ 8347572u, 4455u, 102146u, 49817u, 11785u, 71694u,
1339
+ 8312943u, 8315560u, 83350u, 95303u, 99138u, 8329121u,
1340
+ 8258912u, 8279486u, 127805u, 8348132u, 87679u, 43795u,
1341
+ 8359380u, 8318924u, 88331u, 87965u, 8295596u, 75084u,
1342
+ 8327087u, 8348658u, 8330872u, 41762u, 8283416u, 82329u,
1343
+ 8323437u, 8326131u, 8360508u, 8259412u, 5485u, 8304984u,
1344
+ 8261532u, 50502u, 73567u, 8336813u, 8357512u, 8260464u,
1345
+ 8370592u, 8255916u, 8371884u, 88755u, 8313577u, 53946u,
1346
+ 8270773u, 44299u, 130172u, 58773u, 8319395u, 8280687u,
1347
+ 11459u, 81689u, 112805u, 8346805u, 10443u, 127447u,
1348
+ 66770u, 8327555u, 8289242u, 8375028u, 8301664u, 8259260u,
1349
+ 67250u, 8255201u, 8298467u, 88775u, 8263883u, 50679u,
1350
+ 8262272u, 8278237u, 8357312u, 30729u, 29305u, 104858u,
1351
+ 8249821u, 9639u, 8355542u, 35704u, 8259023u, 28587u,
1352
+ 61804u, 34966u, 8338611u, 8254715u, 8344733u, 113083u,
1353
+ 124165u, 8264077u, 33150u, 8321831u, 8367777u, 126340u,
1354
+ 101054u, 34378u, 8370179u, 8375971u, 52059u, 67681u,
1355
+ 110718u, 8368670u, 94435u, 8274628u, 48152u, 107512u,
1356
+ 8302620u, 125568u, 8259873u, 8275173u, 8331658u, 8351305u,
1357
+ 117410u, 7157u, 8338009u, 8378897u, 93835u, 8309145u,
1358
+ 108249u, 8352837u, 8323941u, 57983u, 8345494u, 8355981u,
1359
+ 130835u, 8268962u, 8311356u, 103611u, 87832u, 8273927u,
1360
+ 8327511u, 8272257u, 89751u, 33688u, 8340251u, 8252933u,
1361
+ 8315465u, 8332474u, 8277931u, 116269u, 8357465u, 117718u,
1362
+ 16039u, 113958u, 8356934u, 27239u, 8377153u, 78556u,
1363
+ 8290336u, 8297939u, 8309548u, 115925u, 102666u, 72693u,
1364
+ 8344386u, 27704u, 8351435u, 97855u, 8320214u, 66316u,
1365
+ 8328396u, 8275285u, 56063u, 103654u, 96555u, 8334199u,
1366
+ 65200u, 95094u, 80965u, 8275749u, 8256379u, 109842u,
1367
+ 8293362u, 51964u, 128334u, 62438u, 88860u, 8252229u,
1368
+ 37274u, 8332300u, 8316151u, 8263494u, 84594u, 8252952u,
1369
+ 8371950u, 8274656u, 39625u, 7083u, 8374829u, 82993u,
1370
+ 13351u, 8276001u, 8251208u, 8261337u, 15999u, 128718u,
1371
+ 20305u, 8345973u, 8337963u, 8295830u, 101922u, 25495u,
1372
+ 8376449u, 8339321u, 24143u, 8339505u, 8338797u, 8374027u,
1373
+ 26560u, 8370145u, 8341416u, 8260751u,
1374
+ }},
1375
+ {{
1376
+ false, false, false, false, false, false, false, false, false,
1377
+ false, false, false, false, false, false, false, false, false,
1378
+ false, false, false, false, false, true, false, false, false,
1379
+ false, false, false, false, false, false, true, false, false,
1380
+ false, false, false, false, false, false, false, false, false,
1381
+ false, false, false, false, false, false, false, false, false,
1382
+ false, false, false, false, false, false, false, false, false,
1383
+ false, true, false, false, false, false, false, false, false,
1384
+ false, false, false, false, true, false, false, false, false,
1385
+ false, false, false, false, false, false, false, false, false,
1386
+ false, false, false, false, true, false, true, false, false,
1387
+ false, false, false, false, true, false, false, false, false,
1388
+ false, false, false, false, false, false, false, false, false,
1389
+ false, true, false, false, false, false, false, false, false,
1390
+ false, false, false, false, false, false, false, false, false,
1391
+ false, false, false, false, false, false, false, false, false,
1392
+ false, false, false, true, false, false, false, false, false,
1393
+ false, false, false, false, false, false, false, false, false,
1394
+ false, false, false, false, false, false, false, false, true,
1395
+ false, false, false, false, false, false, false, false, false,
1396
+ false, false, false, false, true, false, false, false, false,
1397
+ false, false, false, false, false, false, false, false, false,
1398
+ false, false, false, false, false, false, false, false, false,
1399
+ true, false, false, false, false, false, false, false, false,
1400
+ true, false, false, false, false, false, false, false, false,
1401
+ false, false, false, false, false, false, false, false, false,
1402
+ false, false, false, false, false, false, false, false, false,
1403
+ false, false, true, true, false, false, true, false, false,
1404
+ false, false, false, false,
1405
+ },
1406
+ {
1407
+ false, false, false, false, false, false, false, false, false,
1408
+ false, false, false, false, false, false, false, false, false,
1409
+ false, false, false, false, false, false, false, false, false,
1410
+ false, false, true, true, true, false, false, false, false,
1411
+ false, false, false, false, false, false, false, false, false,
1412
+ false, false, false, false, false, false, false, false, false,
1413
+ false, false, false, false, false, false, false, false, false,
1414
+ false, false, true, false, false, false, false, false, false,
1415
+ false, true, false, false, false, false, false, false, false,
1416
+ false, false, false, false, false, false, false, false, false,
1417
+ false, false, false, false, false, false, false, false, true,
1418
+ false, false, false, false, true, false, false, false, false,
1419
+ false, false, false, false, false, false, false, false, false,
1420
+ false, true, false, true, false, false, false, false, false,
1421
+ false, false, false, false, false, false, false, false, false,
1422
+ false, false, false, false, false, false, false, false, false,
1423
+ false, false, false, false, false, false, false, false, false,
1424
+ false, false, false, false, false, false, false, false, false,
1425
+ false, false, false, false, false, false, false, false, false,
1426
+ false, false, false, false, false, false, false, false, false,
1427
+ false, false, false, false, false, false, false, false, false,
1428
+ false, false, false, false, false, false, false, false, false,
1429
+ false, false, false, false, false, false, false, true, false,
1430
+ false, false, true, false, false, false, false, false, true,
1431
+ true, false, false, false, false, false, false, false, false,
1432
+ false, false, false, true, false, false, false, false, false,
1433
+ false, false, false, false, false, false, false, true, false,
1434
+ false, false, false, false, false, false, false, false, false,
1435
+ false, false, false, false,
1436
+ },
1437
+ {
1438
+ false, false, false, false, false, false, false, false, true,
1439
+ false, false, false, false, false, false, false, false, false,
1440
+ false, false, false, false, false, false, false, false, false,
1441
+ false, false, false, false, false, false, false, false, false,
1442
+ false, true, false, true, false, false, false, false, false,
1443
+ false, false, false, false, false, false, false, false, false,
1444
+ false, false, false, false, false, false, false, false, false,
1445
+ false, false, false, false, false, false, false, false, true,
1446
+ false, false, false, false, false, false, true, false, false,
1447
+ false, false, false, true, false, true, true, false, false,
1448
+ false, false, false, false, false, false, true, false, false,
1449
+ false, false, false, true, false, false, false, false, false,
1450
+ false, false, false, false, false, false, false, false, false,
1451
+ false, false, false, false, false, true, true, false, false,
1452
+ false, false, false, false, true, false, false, false, false,
1453
+ false, false, false, false, false, true, false, false, false,
1454
+ false, false, false, false, false, false, false, false, false,
1455
+ false, false, false, false, false, false, false, false, false,
1456
+ false, false, false, false, false, false, false, false, false,
1457
+ false, true, false, false, false, false, false, false, false,
1458
+ false, false, false, true, false, false, false, false, false,
1459
+ false, false, false, false, false, false, false, false, false,
1460
+ false, false, false, false, true, false, false, false, false,
1461
+ false, false, false, false, false, false, false, false, false,
1462
+ false, false, false, false, false, false, true, false, false,
1463
+ true, false, false, false, false, false, false, false, false,
1464
+ false, false, false, false, false, false, false, false, true,
1465
+ false, false, false, false, false, false, false, false, true,
1466
+ false, false, false, false,
1467
+ },
1468
+ {
1469
+ false, false, false, false, false, false, false, false, false,
1470
+ false, false, false, false, false, false, false, false, false,
1471
+ false, false, false, false, false, false, false, false, false,
1472
+ false, false, false, false, false, false, false, false, false,
1473
+ false, false, false, false, false, false, false, false, false,
1474
+ false, false, false, false, false, false, true, false, false,
1475
+ false, false, false, true, false, false, false, false, false,
1476
+ false, false, false, false, false, false, false, false, false,
1477
+ false, false, true, false, false, false, false, false, false,
1478
+ true, false, false, false, false, false, false, false, false,
1479
+ false, false, false, false, false, false, false, false, false,
1480
+ false, false, false, true, false, false, false, false, false,
1481
+ false, false, false, false, false, false, false, false, false,
1482
+ false, false, false, false, false, false, false, false, false,
1483
+ true, false, false, false, false, false, false, false, false,
1484
+ false, false, false, true, false, false, false, false, false,
1485
+ false, false, false, false, false, true, true, false, false,
1486
+ true, false, false, false, false, true, false, false, false,
1487
+ false, false, false, false, false, false, false, false, false,
1488
+ false, false, false, false, false, false, false, false, false,
1489
+ false, false, false, false, false, false, false, false, false,
1490
+ false, false, false, false, false, false, false, false, true,
1491
+ false, false, false, false, false, false, false, false, false,
1492
+ false, false, false, false, false, true, false, false, false,
1493
+ false, false, false, false, false, false, false, false, false,
1494
+ false, false, false, false, false, false, false, false, true,
1495
+ true, true, false, false, false, false, false, false, false,
1496
+ true, false, false, false, false, false, false, false, false,
1497
+ false, false, false, false,
1498
+ }},
1499
+ },
1500
+ };
1501
+ }