webruby 0.1.2 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (518) hide show
  1. checksums.yaml +4 -4
  2. data/driver/driver.c +12 -0
  3. data/lib/webruby/config.rb +3 -3
  4. data/lib/webruby/environment.rb +1 -0
  5. data/lib/webruby/rake/files.rake +22 -22
  6. data/lib/webruby/rake/general.rake +0 -1
  7. data/lib/webruby/utility.rb +2 -0
  8. data/modules/emscripten/AUTHORS +12 -1
  9. data/modules/emscripten/cmake/Platform/Emscripten.cmake +152 -15
  10. data/modules/emscripten/em++ +2 -0
  11. data/modules/emscripten/em++.bat +1 -1
  12. data/modules/emscripten/em-config.bat +1 -1
  13. data/modules/emscripten/emar.bat +1 -1
  14. data/modules/emscripten/emcc +233 -95
  15. data/modules/emscripten/emcc.bat +1 -1
  16. data/modules/emscripten/emconfigure.bat +1 -1
  17. data/modules/emscripten/emmake.bat +1 -1
  18. data/modules/emscripten/emranlib.bat +1 -1
  19. data/modules/emscripten/emscripten.py +221 -217
  20. data/modules/emscripten/package.json +7 -0
  21. data/modules/emscripten/src/analyzer.js +1437 -1385
  22. data/modules/emscripten/src/compiler.js +30 -6
  23. data/modules/emscripten/src/compiler_phase.html +33 -0
  24. data/modules/emscripten/src/fastLong.js +6 -6
  25. data/modules/emscripten/src/headless.js +47 -656
  26. data/modules/emscripten/src/headlessCanvas.js +618 -0
  27. data/modules/emscripten/src/intertyper.js +1038 -899
  28. data/modules/emscripten/src/jsifier.js +818 -714
  29. data/modules/emscripten/src/library.js +1794 -2968
  30. data/modules/emscripten/src/library_browser.js +81 -16
  31. data/modules/emscripten/src/library_egl.js +9 -3
  32. data/modules/emscripten/src/library_fs.js +1585 -0
  33. data/modules/emscripten/src/library_gl.js +445 -202
  34. data/modules/emscripten/src/library_glfw.js +4 -1
  35. data/modules/emscripten/src/library_glut.js +61 -13
  36. data/modules/emscripten/src/library_idbfs.js +216 -0
  37. data/modules/emscripten/src/library_memfs.js +279 -0
  38. data/modules/emscripten/src/library_nodefs.js +234 -0
  39. data/modules/emscripten/src/library_openal.js +131 -150
  40. data/modules/emscripten/src/library_path.js +3 -0
  41. data/modules/emscripten/src/library_sdl.js +499 -229
  42. data/modules/emscripten/src/library_sockfs.js +576 -0
  43. data/modules/emscripten/src/library_tty.js +146 -0
  44. data/modules/emscripten/src/modules.js +30 -35
  45. data/modules/emscripten/src/parseTools.js +356 -161
  46. data/modules/emscripten/src/postamble.js +76 -31
  47. data/modules/emscripten/src/preamble.js +271 -41
  48. data/modules/emscripten/src/proxyClient.js +82 -0
  49. data/modules/emscripten/src/proxyWorker.js +143 -0
  50. data/modules/emscripten/src/relooper/Relooper.cpp +60 -24
  51. data/modules/emscripten/src/relooper/Relooper.h +3 -2
  52. data/modules/emscripten/src/relooper/emscripten/glue.js +20 -10
  53. data/modules/emscripten/src/relooper/fuzzer.py +19 -10
  54. data/modules/emscripten/src/relooper/test.cpp +50 -50
  55. data/modules/emscripten/src/relooper/test.txt +147 -30
  56. data/modules/emscripten/src/relooper/test2.c +13 -13
  57. data/modules/emscripten/src/relooper/test2.txt +17 -3
  58. data/modules/emscripten/src/relooper/test3.c +7 -7
  59. data/modules/emscripten/src/relooper/test3.txt +36 -7
  60. data/modules/emscripten/src/relooper/test4.cpp +7 -7
  61. data/modules/emscripten/src/relooper/test4.txt +28 -7
  62. data/modules/emscripten/src/relooper/test5.cpp +6 -6
  63. data/modules/emscripten/src/relooper/test5.txt +34 -10
  64. data/modules/emscripten/src/relooper/test6.cpp +4 -4
  65. data/modules/emscripten/src/relooper/test6.txt +17 -3
  66. data/modules/emscripten/src/relooper/test_dead.cpp +2 -2
  67. data/modules/emscripten/src/relooper/test_debug.cpp +4 -4
  68. data/modules/emscripten/src/relooper/test_debug.txt +17 -3
  69. data/modules/emscripten/src/relooper/test_fuzz1.cpp +9 -9
  70. data/modules/emscripten/src/relooper/test_fuzz1.txt +45 -5
  71. data/modules/emscripten/src/relooper/test_fuzz2.cpp +4 -4
  72. data/modules/emscripten/src/relooper/test_fuzz2.txt +18 -1
  73. data/modules/emscripten/src/relooper/test_fuzz3.cpp +5 -5
  74. data/modules/emscripten/src/relooper/test_fuzz3.txt +16 -0
  75. data/modules/emscripten/src/relooper/test_fuzz4.cpp +5 -5
  76. data/modules/emscripten/src/relooper/test_fuzz4.txt +25 -3
  77. data/modules/emscripten/src/relooper/test_fuzz5.cpp +10 -10
  78. data/modules/emscripten/src/relooper/test_fuzz5.txt +49 -15
  79. data/modules/emscripten/src/relooper/test_fuzz6.cpp +92 -92
  80. data/modules/emscripten/src/relooper/test_fuzz6.txt +201 -18
  81. data/modules/emscripten/src/relooper/test_inf.cpp +184 -184
  82. data/modules/emscripten/src/relooper/test_inf.txt +1078 -332
  83. data/modules/emscripten/src/runtime.js +69 -45
  84. data/modules/emscripten/src/settings.js +48 -919
  85. data/modules/emscripten/src/shell.html +1 -1
  86. data/modules/emscripten/src/shell.js +14 -8
  87. data/modules/emscripten/src/shell_sharedlib.js +18 -1
  88. data/modules/emscripten/src/simd.js +958 -0
  89. data/modules/emscripten/src/struct_info.json +1045 -0
  90. data/modules/emscripten/src/utility.js +11 -0
  91. data/modules/emscripten/system/bin/sdl-config +13 -0
  92. data/modules/emscripten/system/include/compat/ctype.h +17 -0
  93. data/modules/emscripten/system/include/compat/malloc.h +48 -0
  94. data/modules/emscripten/system/include/compat/math.h +14 -0
  95. data/modules/emscripten/system/include/compat/netdb.h +22 -0
  96. data/modules/emscripten/system/include/compat/stdarg.h +16 -0
  97. data/modules/emscripten/system/include/compat/stdlib.h +16 -0
  98. data/modules/emscripten/system/include/compat/string.h +17 -0
  99. data/modules/emscripten/system/include/compat/sys/socketvar.h +14 -0
  100. data/modules/emscripten/system/include/compat/sys/stat.h +20 -0
  101. data/modules/emscripten/system/include/{libc → compat}/sys/timeb.h +3 -7
  102. data/modules/emscripten/system/include/compat/time.h +18 -0
  103. data/modules/emscripten/system/include/compat/unistd.h +16 -0
  104. data/modules/emscripten/system/include/compat/xlocale.h +19 -0
  105. data/modules/emscripten/system/include/emscripten/emscripten.h +48 -7
  106. data/modules/emscripten/system/include/emscripten/vector.h +6 -0
  107. data/modules/emscripten/system/include/libc/aio.h +69 -0
  108. data/modules/emscripten/system/include/libc/alloca.h +13 -13
  109. data/modules/emscripten/system/include/libc/ar.h +19 -63
  110. data/modules/emscripten/system/include/libc/arpa/ftp.h +35 -0
  111. data/modules/emscripten/system/include/libc/arpa/inet.h +36 -0
  112. data/modules/emscripten/system/include/libc/arpa/nameser.h +467 -0
  113. data/modules/emscripten/system/include/libc/arpa/nameser_compat.h +2 -0
  114. data/modules/emscripten/system/include/libc/arpa/telnet.h +251 -0
  115. data/modules/emscripten/system/include/libc/arpa/tftp.h +31 -0
  116. data/modules/emscripten/system/include/libc/assert.h +9 -36
  117. data/modules/emscripten/system/include/libc/bits/alltypes.h +397 -0
  118. data/modules/emscripten/system/include/libc/bits/endian.h +1 -0
  119. data/modules/emscripten/system/include/libc/bits/errno.h +134 -0
  120. data/modules/emscripten/system/include/libc/bits/fcntl.h +38 -0
  121. data/modules/emscripten/system/include/libc/bits/fenv.h +34 -0
  122. data/modules/emscripten/system/include/libc/bits/float.h +17 -0
  123. data/modules/emscripten/system/include/libc/bits/io.h +0 -0
  124. data/modules/emscripten/system/include/libc/bits/ioctl.h +197 -0
  125. data/modules/emscripten/system/include/libc/bits/ipc.h +14 -0
  126. data/modules/emscripten/system/include/libc/bits/limits.h +8 -0
  127. data/modules/emscripten/system/include/libc/bits/mman.h +62 -0
  128. data/modules/emscripten/system/include/libc/bits/msg.h +16 -0
  129. data/modules/emscripten/system/include/libc/bits/posix.h +2 -0
  130. data/modules/emscripten/system/include/libc/bits/reg.h +19 -0
  131. data/modules/emscripten/system/include/libc/bits/setjmp.h +1 -0
  132. data/modules/emscripten/system/include/libc/bits/shm.h +18 -0
  133. data/modules/emscripten/system/include/libc/bits/signal.h +112 -0
  134. data/modules/emscripten/system/include/libc/bits/socket.h +17 -0
  135. data/modules/emscripten/system/include/libc/bits/stat.h +22 -0
  136. data/modules/emscripten/system/include/libc/bits/statfs.h +7 -0
  137. data/modules/emscripten/system/include/libc/bits/stdarg.h +4 -0
  138. data/modules/emscripten/system/include/libc/bits/stdint.h +20 -0
  139. data/modules/emscripten/system/include/libc/bits/syscall.h +696 -0
  140. data/modules/emscripten/system/include/libc/bits/termios.h +160 -0
  141. data/modules/emscripten/system/include/libc/bits/user.h +48 -0
  142. data/modules/emscripten/system/include/libc/byteswap.h +26 -0
  143. data/modules/emscripten/system/include/libc/complex.h +55 -54
  144. data/modules/emscripten/system/include/libc/cpio.h +29 -0
  145. data/modules/emscripten/system/include/libc/crypt.h +20 -0
  146. data/modules/emscripten/system/include/libc/ctype.h +58 -187
  147. data/modules/emscripten/system/include/libc/dirent.h +69 -6
  148. data/modules/emscripten/system/include/libc/dlfcn.h +42 -0
  149. data/modules/emscripten/system/include/libc/elf.h +2555 -0
  150. data/modules/emscripten/system/include/libc/endian.h +80 -1
  151. data/modules/emscripten/system/include/libc/err.h +25 -0
  152. data/modules/emscripten/system/include/libc/errno.h +23 -7
  153. data/modules/emscripten/system/include/libc/fcntl.h +175 -1
  154. data/modules/emscripten/system/include/libc/features.h +32 -0
  155. data/modules/emscripten/system/include/libc/fenv.h +28 -0
  156. data/modules/emscripten/system/include/libc/float.h +34 -0
  157. data/modules/emscripten/system/include/libc/fnmatch.h +24 -50
  158. data/modules/emscripten/system/include/libc/ftw.h +42 -0
  159. data/modules/emscripten/system/include/libc/getopt.h +22 -187
  160. data/modules/emscripten/system/include/libc/glob.h +42 -83
  161. data/modules/emscripten/system/include/libc/grp.h +37 -79
  162. data/modules/emscripten/system/include/libc/iconv.h +18 -56
  163. data/modules/emscripten/system/include/libc/ifaddrs.h +24 -53
  164. data/modules/emscripten/system/include/libc/inttypes.h +208 -271
  165. data/modules/emscripten/system/include/libc/iso646.h +5 -28
  166. data/modules/emscripten/system/include/libc/langinfo.h +88 -316
  167. data/modules/emscripten/system/include/libc/lastlog.h +1 -0
  168. data/modules/emscripten/system/include/libc/libgen.h +5 -13
  169. data/modules/emscripten/system/include/libc/libintl.h +25 -0
  170. data/modules/emscripten/system/include/libc/limits.h +140 -149
  171. data/modules/emscripten/system/include/libc/link.h +54 -0
  172. data/modules/emscripten/system/include/libc/locale.h +72 -70
  173. data/modules/emscripten/system/include/libc/malloc.h +0 -169
  174. data/modules/emscripten/system/include/libc/math.h +393 -573
  175. data/modules/emscripten/system/include/libc/memory.h +1 -0
  176. data/modules/emscripten/system/include/libc/mntent.h +44 -0
  177. data/modules/emscripten/system/include/libc/monetary.h +23 -0
  178. data/modules/emscripten/system/include/libc/mqueue.h +36 -0
  179. data/modules/emscripten/system/include/libc/net/ethernet.h +55 -0
  180. data/modules/emscripten/system/include/libc/net/if.h +135 -0
  181. data/modules/emscripten/system/include/libc/net/if_arp.h +133 -0
  182. data/modules/emscripten/system/include/libc/net/route.h +124 -0
  183. data/modules/emscripten/system/include/libc/netdb.h +161 -0
  184. data/modules/emscripten/system/include/libc/netinet/ether.h +14 -0
  185. data/modules/emscripten/system/include/libc/netinet/icmp6.h +305 -0
  186. data/modules/emscripten/system/include/libc/netinet/if_ether.h +126 -0
  187. data/modules/emscripten/system/include/libc/netinet/in.h +336 -0
  188. data/modules/emscripten/system/include/libc/netinet/in_systm.h +9 -0
  189. data/modules/emscripten/system/include/libc/netinet/ip.h +186 -0
  190. data/modules/emscripten/system/include/libc/netinet/ip6.h +142 -0
  191. data/modules/emscripten/system/include/libc/netinet/ip_icmp.h +192 -0
  192. data/modules/emscripten/system/include/libc/netinet/tcp.h +71 -0
  193. data/modules/emscripten/system/include/libc/netinet/udp.h +35 -0
  194. data/modules/emscripten/system/include/libc/netpacket/packet.h +44 -0
  195. data/modules/emscripten/system/include/libc/nl_types.h +22 -0
  196. data/modules/emscripten/system/include/libc/paths.h +30 -5
  197. data/modules/emscripten/system/include/libc/poll.h +46 -0
  198. data/modules/emscripten/system/include/libc/pthread.h +191 -331
  199. data/modules/emscripten/system/include/libc/pty.h +18 -0
  200. data/modules/emscripten/system/include/libc/pwd.h +33 -62
  201. data/modules/emscripten/system/include/libc/readme.txt +2 -2
  202. data/modules/emscripten/system/include/libc/regex.h +53 -93
  203. data/modules/emscripten/system/include/libc/resolv.h +144 -0
  204. data/modules/emscripten/system/include/libc/sched.h +124 -89
  205. data/modules/emscripten/system/include/libc/search.h +40 -48
  206. data/modules/emscripten/system/include/libc/semaphore.h +35 -0
  207. data/modules/emscripten/system/include/libc/setjmp.h +35 -13
  208. data/modules/emscripten/system/include/libc/shadow.h +44 -0
  209. data/modules/emscripten/system/include/libc/signal.h +245 -20
  210. data/modules/emscripten/system/include/libc/spawn.h +74 -0
  211. data/modules/emscripten/system/include/libc/stdalign.h +15 -0
  212. data/modules/emscripten/system/include/libc/stdarg.h +18 -43
  213. data/modules/emscripten/system/include/libc/stdbool.h +14 -0
  214. data/modules/emscripten/system/include/libc/stddef.h +12 -58
  215. data/modules/emscripten/system/include/libc/stdint.h +82 -458
  216. data/modules/emscripten/system/include/libc/stdio.h +184 -679
  217. data/modules/emscripten/system/include/libc/stdio_ext.h +34 -0
  218. data/modules/emscripten/system/include/libc/stdlib.h +146 -205
  219. data/modules/emscripten/system/include/libc/stdnoreturn.h +5 -0
  220. data/modules/emscripten/system/include/libc/string.h +86 -89
  221. data/modules/emscripten/system/include/libc/strings.h +27 -27
  222. data/modules/emscripten/system/include/libc/stropts.h +139 -0
  223. data/modules/emscripten/system/include/libc/sys/acct.h +75 -0
  224. data/modules/emscripten/system/include/libc/sys/cachectl.h +22 -0
  225. data/modules/emscripten/system/include/libc/sys/dir.h +0 -8
  226. data/modules/emscripten/system/include/libc/sys/epoll.h +67 -0
  227. data/modules/emscripten/system/include/libc/sys/errno.h +2 -190
  228. data/modules/emscripten/system/include/libc/sys/eventfd.h +26 -0
  229. data/modules/emscripten/system/include/libc/sys/fcntl.h +2 -4
  230. data/modules/emscripten/system/include/libc/sys/file.h +20 -1
  231. data/modules/emscripten/system/include/libc/sys/fsuid.h +20 -0
  232. data/modules/emscripten/system/include/libc/sys/inotify.h +57 -0
  233. data/modules/emscripten/system/include/libc/sys/io.h +17 -0
  234. data/modules/emscripten/system/include/libc/sys/ioctl.h +14 -0
  235. data/modules/emscripten/system/include/libc/sys/ipc.h +42 -0
  236. data/modules/emscripten/system/include/{sys/sysctl.h → libc/sys/klog.h} +4 -4
  237. data/modules/emscripten/system/include/libc/sys/mman.h +55 -0
  238. data/modules/emscripten/system/include/libc/sys/mount.h +72 -0
  239. data/modules/emscripten/system/include/libc/sys/msg.h +52 -0
  240. data/modules/emscripten/system/include/libc/sys/mtio.h +188 -0
  241. data/modules/emscripten/system/include/libc/sys/param.h +29 -19
  242. data/modules/emscripten/system/include/libc/sys/personality.h +46 -0
  243. data/modules/emscripten/system/include/libc/sys/poll.h +2 -0
  244. data/modules/emscripten/system/include/libc/sys/prctl.h +101 -0
  245. data/modules/emscripten/system/include/libc/sys/procfs.h +65 -0
  246. data/modules/emscripten/system/include/libc/sys/ptrace.h +96 -0
  247. data/modules/emscripten/system/include/libc/sys/reboot.h +20 -0
  248. data/modules/emscripten/system/include/libc/sys/reg.h +9 -0
  249. data/modules/emscripten/system/include/libc/sys/resource.h +89 -45
  250. data/modules/emscripten/system/include/libc/sys/select.h +42 -0
  251. data/modules/emscripten/system/include/libc/sys/sem.h +82 -0
  252. data/modules/emscripten/system/include/libc/sys/sendfile.h +22 -0
  253. data/modules/emscripten/system/include/libc/sys/shm.h +61 -0
  254. data/modules/emscripten/system/include/libc/sys/signal.h +1 -315
  255. data/modules/emscripten/system/include/libc/sys/signalfd.h +44 -0
  256. data/modules/emscripten/system/include/libc/sys/socket.h +299 -0
  257. data/modules/emscripten/system/include/libc/sys/stat.h +95 -204
  258. data/modules/emscripten/system/include/libc/sys/statfs.h +32 -0
  259. data/modules/emscripten/system/include/libc/sys/statvfs.h +57 -0
  260. data/modules/emscripten/system/include/libc/sys/stropts.h +1 -0
  261. data/modules/emscripten/system/include/libc/sys/swap.h +21 -0
  262. data/modules/emscripten/system/include/libc/sys/syscall.h +6 -0
  263. data/modules/emscripten/system/include/libc/sys/sysctl.h +17 -0
  264. data/modules/emscripten/system/include/libc/sys/sysinfo.h +36 -0
  265. data/modules/emscripten/system/include/libc/sys/syslog.h +1 -0
  266. data/modules/emscripten/system/include/libc/sys/sysmacros.h +15 -0
  267. data/modules/emscripten/system/include/libc/sys/termios.h +2 -280
  268. data/modules/emscripten/system/include/libc/sys/time.h +40 -68
  269. data/modules/emscripten/system/include/libc/sys/timerfd.h +24 -0
  270. data/modules/emscripten/system/include/libc/sys/times.h +14 -16
  271. data/modules/emscripten/system/include/libc/sys/timex.h +98 -0
  272. data/modules/emscripten/system/include/libc/sys/ttydefaults.h +34 -92
  273. data/modules/emscripten/system/include/libc/sys/types.h +87 -481
  274. data/modules/emscripten/system/include/libc/sys/ucontext.h +1 -0
  275. data/modules/emscripten/system/include/libc/sys/uio.h +48 -0
  276. data/modules/emscripten/system/include/libc/sys/un.h +32 -0
  277. data/modules/emscripten/system/include/libc/sys/user.h +16 -0
  278. data/modules/emscripten/system/include/libc/sys/utsname.h +30 -0
  279. data/modules/emscripten/system/include/libc/sys/vfs.h +1 -0
  280. data/modules/emscripten/system/include/libc/sys/wait.h +41 -26
  281. data/modules/emscripten/system/include/libc/sys/xattr.h +30 -0
  282. data/modules/emscripten/system/include/libc/syscall.h +1 -0
  283. data/modules/emscripten/system/include/libc/sysexits.h +21 -0
  284. data/modules/emscripten/system/include/libc/syslog.h +104 -0
  285. data/modules/emscripten/system/include/libc/tar.h +27 -33
  286. data/modules/emscripten/system/include/libc/termios.h +40 -1
  287. data/modules/emscripten/system/include/libc/tgmath.h +270 -0
  288. data/modules/emscripten/system/include/libc/time.h +96 -237
  289. data/modules/emscripten/system/include/libc/ucontext.h +25 -0
  290. data/modules/emscripten/system/include/libc/ulimit.h +17 -0
  291. data/modules/emscripten/system/include/libc/unistd.h +517 -4
  292. data/modules/emscripten/system/include/libc/utime.h +15 -3
  293. data/modules/emscripten/system/include/libc/utmp.h +40 -1
  294. data/modules/emscripten/system/include/libc/utmpx.h +58 -0
  295. data/modules/emscripten/system/include/libc/values.h +39 -0
  296. data/modules/emscripten/system/include/libc/wchar.h +164 -175
  297. data/modules/emscripten/system/include/libc/wctype.h +67 -37
  298. data/modules/emscripten/system/include/libc/wordexp.h +31 -42
  299. data/modules/emscripten/system/include/libcxx/__locale +6 -6
  300. data/modules/emscripten/system/include/libcxx/locale +1 -1
  301. data/modules/emscripten/system/lib/libc/musl/readme.txt +9 -1
  302. data/modules/emscripten/system/lib/libc/musl/src/internal/locale_impl.h +5 -0
  303. data/modules/emscripten/system/lib/libc/musl/src/internal/stdio_impl.h +92 -0
  304. data/modules/emscripten/system/lib/libc/musl/src/locale/big5.h +1085 -0
  305. data/modules/emscripten/system/lib/libc/musl/src/locale/codepages.h +238 -0
  306. data/modules/emscripten/system/lib/libc/musl/src/locale/gb18030.h +1836 -0
  307. data/modules/emscripten/system/lib/libc/musl/src/locale/hkscs.h +390 -0
  308. data/modules/emscripten/system/lib/libc/musl/src/locale/iconv.c +454 -0
  309. data/modules/emscripten/system/lib/libc/musl/src/locale/iswalnum_l.c +6 -0
  310. data/modules/emscripten/system/lib/libc/musl/src/locale/iswalpha_l.c +6 -0
  311. data/modules/emscripten/system/lib/libc/musl/src/locale/iswblank_l.c +6 -0
  312. data/modules/emscripten/system/lib/libc/musl/src/locale/iswcntrl_l.c +6 -0
  313. data/modules/emscripten/system/lib/libc/musl/src/locale/iswctype_l.c +9 -0
  314. data/modules/emscripten/system/lib/libc/musl/src/locale/iswdigit_l.c +6 -0
  315. data/modules/emscripten/system/lib/libc/musl/src/locale/iswgraph_l.c +6 -0
  316. data/modules/emscripten/system/lib/libc/musl/src/locale/iswlower_l.c +6 -0
  317. data/modules/emscripten/system/lib/libc/musl/src/locale/iswprint_l.c +6 -0
  318. data/modules/emscripten/system/lib/libc/musl/src/locale/iswpunct_l.c +6 -0
  319. data/modules/emscripten/system/lib/libc/musl/src/locale/iswspace_l.c +6 -0
  320. data/modules/emscripten/system/lib/libc/musl/src/locale/iswupper_l.c +6 -0
  321. data/modules/emscripten/system/lib/libc/musl/src/locale/iswxdigit_l.c +6 -0
  322. data/modules/emscripten/system/lib/libc/musl/src/locale/jis0208.h +550 -0
  323. data/modules/emscripten/system/lib/libc/musl/src/locale/ksc.h +640 -0
  324. data/modules/emscripten/system/lib/libc/musl/src/locale/legacychars.h +39 -0
  325. data/modules/emscripten/system/lib/libc/musl/src/locale/strfmon.c +101 -0
  326. data/modules/emscripten/system/lib/libc/musl/src/locale/strxfrm.c +18 -0
  327. data/modules/emscripten/system/lib/libc/musl/src/locale/towctrans_l.c +6 -0
  328. data/modules/emscripten/system/lib/libc/musl/src/locale/towlower_l.c +9 -0
  329. data/modules/emscripten/system/lib/libc/musl/src/locale/towupper_l.c +9 -0
  330. data/modules/emscripten/system/lib/libc/musl/src/locale/wcscoll.c +16 -0
  331. data/modules/emscripten/system/lib/libc/musl/src/locale/wcscoll_l.c +6 -0
  332. data/modules/emscripten/system/lib/libc/musl/src/locale/wcsxfrm.c +21 -0
  333. data/modules/emscripten/system/lib/libc/musl/src/locale/wcsxfrm_l.c +6 -0
  334. data/modules/emscripten/system/lib/libc/musl/src/locale/wctrans_l.c +6 -0
  335. data/modules/emscripten/system/lib/libc/musl/src/locale/wctype_l.c +9 -0
  336. data/modules/emscripten/system/lib/libc/musl/src/stdio/fwprintf.c +13 -0
  337. data/modules/emscripten/system/lib/libc/musl/src/stdio/swprintf.c +14 -0
  338. data/modules/emscripten/system/lib/libc/musl/src/stdio/vfwprintf.c +361 -0
  339. data/modules/emscripten/system/lib/libc/musl/src/stdio/vswprintf.c +53 -0
  340. data/modules/emscripten/system/lib/libc/musl/src/stdio/vwprintf.c +7 -0
  341. data/modules/emscripten/system/lib/libc/musl/src/stdio/wprintf.c +13 -0
  342. data/modules/emscripten/system/lib/libcextra.symbols +44 -0
  343. data/modules/emscripten/system/lib/libcxx/exception.cpp +3 -3
  344. data/modules/emscripten/system/lib/libcxx/locale.cpp +12 -12
  345. data/modules/emscripten/system/lib/libcxxabi/src/cxa_new_delete.cpp +1 -1
  346. data/modules/emscripten/tools/asm_module.py +2 -0
  347. data/modules/emscripten/tools/autodebugger.py +3 -1
  348. data/modules/emscripten/tools/eliminator/asm-eliminator-test-output.js +0 -4835
  349. data/modules/emscripten/tools/eliminator/asm-eliminator-test.js +0 -6495
  350. data/modules/emscripten/tools/file_packager.py +53 -56
  351. data/modules/emscripten/tools/find_bigfuncs.py +2 -2
  352. data/modules/emscripten/tools/find_bigvars.py +24 -0
  353. data/modules/emscripten/tools/gen_struct_info.py +509 -0
  354. data/modules/emscripten/tools/gen_struct_info.pyc +0 -0
  355. data/modules/emscripten/tools/js-optimizer.js +177 -86
  356. data/modules/emscripten/tools/js_optimizer.py +54 -19
  357. data/modules/emscripten/tools/js_optimizer.pyc +0 -0
  358. data/modules/emscripten/tools/jsrun.py +17 -7
  359. data/modules/emscripten/tools/jsrun.pyc +0 -0
  360. data/modules/emscripten/tools/response_file.py +2 -2
  361. data/modules/emscripten/tools/response_file.pyc +0 -0
  362. data/modules/emscripten/tools/shared.py +257 -123
  363. data/modules/emscripten/tools/shared.pyc +0 -0
  364. data/modules/emscripten/tools/source-maps/sourcemapper.js +37 -6
  365. data/modules/emscripten/tools/tempfiles.py +1 -0
  366. data/modules/emscripten/tools/tempfiles.pyc +0 -0
  367. data/modules/emscripten/tools/test-js-optimizer-asm-minlast-output.js +2 -0
  368. data/modules/emscripten/tools/test-js-optimizer-asm-minlast.js +8 -0
  369. data/modules/emscripten/tools/test-js-optimizer-asm-outline1-output.js +412 -169
  370. data/modules/emscripten/tools/test-js-optimizer-asm-outline1.js +88 -0
  371. data/modules/emscripten/tools/test-js-optimizer-asm-outline2-output.js +311 -265
  372. data/modules/emscripten/tools/test-js-optimizer-asm-pre-output.js +0 -20
  373. data/modules/emscripten/tools/test-js-optimizer-asm-pre.js +0 -21
  374. data/modules/emscripten/tools/test-js-optimizer-asm-regs.js +2 -2
  375. data/modules/emscripten/tools/test-js-optimizer-regs-output.js +8 -8
  376. data/modules/emscripten/tools/test-js-optimizer-regs.js +1 -1
  377. data/modules/emscripten/tools/validate_asmjs.py +82 -0
  378. data/modules/mruby/Rakefile +2 -2
  379. data/modules/mruby/include/mruby/class.h +2 -2
  380. data/modules/mruby/include/mruby/compile.h +12 -4
  381. data/modules/mruby/include/mruby/data.h +8 -3
  382. data/modules/mruby/include/mruby/debug.h +65 -0
  383. data/modules/mruby/include/mruby/dump.h +10 -2
  384. data/modules/mruby/include/mruby/irep.h +1 -0
  385. data/modules/mruby/include/mruby/string.h +2 -1
  386. data/modules/mruby/include/mruby/value.h +20 -13
  387. data/modules/mruby/include/mruby/variable.h +1 -0
  388. data/modules/mruby/include/mruby.h +5 -6
  389. data/modules/mruby/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c +6 -4
  390. data/modules/mruby/mrbgems/mruby-math/src/math.c +4 -0
  391. data/modules/mruby/mrbgems/mruby-objectspace/src/mruby_objectspace.c +1 -1
  392. data/modules/mruby/mrbgems/mruby-proc-ext/src/proc.c +1 -1
  393. data/modules/mruby/mrbgems/mruby-random/src/random.c +1 -4
  394. data/modules/mruby/mrbgems/mruby-string-ext/src/string.c +25 -16
  395. data/modules/mruby/mrbgems/mruby-string-ext/test/string.rb +4 -0
  396. data/modules/mruby/mrbgems/mruby-struct/src/struct.c +1 -1
  397. data/modules/mruby/mrbgems/mruby-symbol-ext/mrblib/symbol.rb +51 -0
  398. data/modules/mruby/mrbgems/mruby-symbol-ext/test/symbol.rb +22 -0
  399. data/modules/mruby/mrbgems/mruby-time/src/time.c +38 -60
  400. data/modules/mruby/mrblib/class.rb +2 -2
  401. data/modules/mruby/src/backtrace.c +96 -23
  402. data/modules/mruby/src/class.c +43 -41
  403. data/modules/mruby/src/codegen.c +52 -46
  404. data/modules/mruby/src/debug.c +214 -0
  405. data/modules/mruby/src/dump.c +245 -17
  406. data/modules/mruby/src/error.c +14 -6
  407. data/modules/mruby/src/etc.c +17 -10
  408. data/modules/mruby/src/gc.c +9 -9
  409. data/modules/mruby/src/kernel.c +1 -1
  410. data/modules/mruby/src/load.c +137 -1
  411. data/modules/mruby/src/object.c +1 -1
  412. data/modules/mruby/src/parse.y +162 -37
  413. data/modules/mruby/src/state.c +2 -0
  414. data/modules/mruby/src/string.c +28 -19
  415. data/modules/mruby/src/symbol.c +0 -1
  416. data/modules/mruby/src/variable.c +12 -15
  417. data/modules/mruby/src/vm.c +38 -22
  418. data/modules/mruby/tasks/mrbgem_spec.rake +6 -4
  419. data/modules/mruby/tasks/mrbgems_test.rake +9 -9
  420. data/modules/mruby/tasks/mruby_build_gem.rake +9 -0
  421. data/modules/mruby/tasks/toolchains/androideabi.rake +2 -0
  422. data/modules/mruby/test/driver.c +3 -3
  423. data/modules/mruby/test/t/array.rb +13 -0
  424. data/modules/mruby/test/t/class.rb +28 -0
  425. data/modules/mruby/test/t/exception.rb +10 -0
  426. data/modules/mruby/test/t/literals.rb +50 -0
  427. data/modules/mruby/test/t/module.rb +22 -0
  428. data/modules/mruby/test/t/proc.rb +37 -0
  429. data/modules/mruby/test/t/string.rb +20 -21
  430. data/modules/mruby/tools/mrbc/mrbc.c +2 -4
  431. data/scripts/gen_post.rb +1 -0
  432. data/scripts/gen_require.rb +107 -0
  433. data/templates/minimal/Rakefile +20 -0
  434. metadata +210 -88
  435. data/driver/main.c +0 -40
  436. data/modules/emscripten/cmake/Platform/Emscripten_unix.cmake +0 -24
  437. data/modules/emscripten/emlibtool +0 -11
  438. data/modules/emscripten/emlibtool.bat +0 -2
  439. data/modules/emscripten/src/framework.js +0 -257
  440. data/modules/emscripten/system/include/bsd/float.h +0 -91
  441. data/modules/emscripten/system/include/bsd/readme.txt +0 -2
  442. data/modules/emscripten/system/include/bsd/sys/mman.h +0 -180
  443. data/modules/emscripten/system/include/bsd/sys/utsname.h +0 -70
  444. data/modules/emscripten/system/include/dlfcn.h +0 -31
  445. data/modules/emscripten/system/include/err.h +0 -95
  446. data/modules/emscripten/system/include/features.h +0 -3
  447. data/modules/emscripten/system/include/libc/_ansi.h +0 -135
  448. data/modules/emscripten/system/include/libc/_syslist.h +0 -40
  449. data/modules/emscripten/system/include/libc/argz.h +0 -33
  450. data/modules/emscripten/system/include/libc/envlock.h +0 -15
  451. data/modules/emscripten/system/include/libc/envz.h +0 -16
  452. data/modules/emscripten/system/include/libc/fastmath.h +0 -13
  453. data/modules/emscripten/system/include/libc/ieeefp.h +0 -256
  454. data/modules/emscripten/system/include/libc/machine/_default_types.h +0 -121
  455. data/modules/emscripten/system/include/libc/machine/_types.h +0 -8
  456. data/modules/emscripten/system/include/libc/machine/ansi.h +0 -1
  457. data/modules/emscripten/system/include/libc/machine/endian.h +0 -31
  458. data/modules/emscripten/system/include/libc/machine/fastmath.h +0 -100
  459. data/modules/emscripten/system/include/libc/machine/ieeefp.h +0 -376
  460. data/modules/emscripten/system/include/libc/machine/malloc.h +0 -8
  461. data/modules/emscripten/system/include/libc/machine/param.h +0 -1
  462. data/modules/emscripten/system/include/libc/machine/setjmp-dj.h +0 -43
  463. data/modules/emscripten/system/include/libc/machine/setjmp.h +0 -361
  464. data/modules/emscripten/system/include/libc/machine/stdlib.h +0 -8
  465. data/modules/emscripten/system/include/libc/machine/termios.h +0 -1
  466. data/modules/emscripten/system/include/libc/machine/time.h +0 -19
  467. data/modules/emscripten/system/include/libc/machine/types.h +0 -30
  468. data/modules/emscripten/system/include/libc/newlib.h +0 -2
  469. data/modules/emscripten/system/include/libc/process.h +0 -44
  470. data/modules/emscripten/system/include/libc/reent.h +0 -183
  471. data/modules/emscripten/system/include/libc/regdef.h +0 -7
  472. data/modules/emscripten/system/include/libc/sys/_default_fcntl.h +0 -223
  473. data/modules/emscripten/system/include/libc/sys/_types.h +0 -93
  474. data/modules/emscripten/system/include/libc/sys/cdefs.h +0 -123
  475. data/modules/emscripten/system/include/libc/sys/config.h +0 -255
  476. data/modules/emscripten/system/include/libc/sys/custom_file.h +0 -2
  477. data/modules/emscripten/system/include/libc/sys/dirent.h +0 -58
  478. data/modules/emscripten/system/include/libc/sys/features.h +0 -212
  479. data/modules/emscripten/system/include/libc/sys/iconvnls.h +0 -77
  480. data/modules/emscripten/system/include/libc/sys/lock.h +0 -24
  481. data/modules/emscripten/system/include/libc/sys/queue.h +0 -471
  482. data/modules/emscripten/system/include/libc/sys/reent.h +0 -843
  483. data/modules/emscripten/system/include/libc/sys/sched.h +0 -67
  484. data/modules/emscripten/system/include/libc/sys/stdio.h +0 -27
  485. data/modules/emscripten/system/include/libc/sys/string.h +0 -2
  486. data/modules/emscripten/system/include/libc/sys/syslimits.h +0 -65
  487. data/modules/emscripten/system/include/libc/sys/unistd.h +0 -514
  488. data/modules/emscripten/system/include/libc/sys/utime.h +0 -26
  489. data/modules/emscripten/system/include/libc/unctrl.h +0 -46
  490. data/modules/emscripten/system/include/memory.h +0 -10
  491. data/modules/emscripten/system/include/mntent.h +0 -23
  492. data/modules/emscripten/system/include/net/arpa/inet.h +0 -32
  493. data/modules/emscripten/system/include/net/arpa/nameser.h +0 -535
  494. data/modules/emscripten/system/include/net/arpa/nameser_compat.h +0 -187
  495. data/modules/emscripten/system/include/net/if.h +0 -106
  496. data/modules/emscripten/system/include/net/netinet/in.h +0 -230
  497. data/modules/emscripten/system/include/net/netinet/tcp.h +0 -246
  498. data/modules/emscripten/system/include/net/resolv.h +0 -389
  499. data/modules/emscripten/system/include/netdb.h +0 -130
  500. data/modules/emscripten/system/include/nl_types.h +0 -19
  501. data/modules/emscripten/system/include/poll.h +0 -3
  502. data/modules/emscripten/system/include/pty.h +0 -6
  503. data/modules/emscripten/system/include/semaphore.h +0 -31
  504. data/modules/emscripten/system/include/spawn.h +0 -105
  505. data/modules/emscripten/system/include/stdbool.h +0 -16
  506. data/modules/emscripten/system/include/sys/bitypes.h +0 -3
  507. data/modules/emscripten/system/include/sys/io.h +0 -14
  508. data/modules/emscripten/system/include/sys/ioctl.h +0 -78
  509. data/modules/emscripten/system/include/sys/poll.h +0 -31
  510. data/modules/emscripten/system/include/sys/select.h +0 -16
  511. data/modules/emscripten/system/include/sys/sendfile.h +0 -16
  512. data/modules/emscripten/system/include/sys/socket.h +0 -247
  513. data/modules/emscripten/system/include/sys/socketvar.h +0 -3
  514. data/modules/emscripten/system/include/sys/statvfs.h +0 -32
  515. data/modules/emscripten/system/include/sys/uio.h +0 -22
  516. data/modules/emscripten/system/include/sys/un.h +0 -66
  517. data/modules/emscripten/system/include/sysexits.h +0 -108
  518. data/modules/emscripten/system/include/xlocale.h +0 -47
@@ -0,0 +1,640 @@
1
+ 12288,12289,12290,183,8229,8230,168,12291,173,8213,8741,65340,8764,8216,8217,
2
+ 8220,8221,12308,12309,12296,12297,12298,12299,12300,12301,12302,12303,12304,
3
+ 12305,177,215,247,8800,8804,8805,8734,8756,176,8242,8243,8451,8491,65504,
4
+ 65505,65509,9794,9792,8736,8869,8978,8706,8711,8801,8786,167,8251,9734,9733,
5
+ 9675,9679,9678,9671,9670,9633,9632,9651,9650,9661,9660,8594,8592,8593,8595,
6
+ 8596,12307,8810,8811,8730,8765,8733,8757,8747,8748,8712,8715,8838,8839,8834,
7
+ 8835,8746,8745,8743,8744,65506,8658,8660,8704,8707,180,65374,711,728,733,730,
8
+ 729,184,731,161,191,720,8750,8721,8719,164,8457,8240,9665,9664,9655,9654,9828,
9
+ 9824,9825,9829,9831,9827,8857,9672,9635,9680,9681,9618,9636,9637,9640,9639,
10
+ 9638,9641,9832,9743,9742,9756,9758,182,8224,8225,8597,8599,8601,8598,8600,
11
+ 9837,9833,9834,9836,12927,12828,8470,13255,8482,13250,13272,8481,8364,174,0,0,
12
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65281,65282,65283,65284,65285,65286,
13
+ 65287,65288,65289,65290,65291,65292,65293,65294,65295,65296,65297,65298,65299,
14
+ 65300,65301,65302,65303,65304,65305,65306,65307,65308,65309,65310,65311,65312,
15
+ 65313,65314,65315,65316,65317,65318,65319,65320,65321,65322,65323,65324,65325,
16
+ 65326,65327,65328,65329,65330,65331,65332,65333,65334,65335,65336,65337,65338,
17
+ 65339,65510,65341,65342,65343,65344,65345,65346,65347,65348,65349,65350,65351,
18
+ 65352,65353,65354,65355,65356,65357,65358,65359,65360,65361,65362,65363,65364,
19
+ 65365,65366,65367,65368,65369,65370,65371,65372,65373,65507,12593,12594,12595,
20
+ 12596,12597,12598,12599,12600,12601,12602,12603,12604,12605,12606,12607,12608,
21
+ 12609,12610,12611,12612,12613,12614,12615,12616,12617,12618,12619,12620,12621,
22
+ 12622,12623,12624,12625,12626,12627,12628,12629,12630,12631,12632,12633,12634,
23
+ 12635,12636,12637,12638,12639,12640,12641,12642,12643,12644,12645,12646,12647,
24
+ 12648,12649,12650,12651,12652,12653,12654,12655,12656,12657,12658,12659,12660,
25
+ 12661,12662,12663,12664,12665,12666,12667,12668,12669,12670,12671,12672,12673,
26
+ 12674,12675,12676,12677,12678,12679,12680,12681,12682,12683,12684,12685,12686,
27
+ 8560,8561,8562,8563,8564,8565,8566,8567,8568,8569,0,0,0,0,0,8544,8545,8546,
28
+ 8547,8548,8549,8550,8551,8552,8553,0,0,0,0,0,0,0,913,914,915,916,917,918,919,
29
+ 920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,0,0,0,0,0,
30
+ 0,0,0,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,963,
31
+ 964,965,966,967,968,969,0,0,0,0,0,0,9472,9474,9484,9488,9496,9492,9500,9516,
32
+ 9508,9524,9532,9473,9475,9487,9491,9499,9495,9507,9523,9515,9531,9547,9504,
33
+ 9519,9512,9527,9535,9501,9520,9509,9528,9538,9490,9489,9498,9497,9494,9493,
34
+ 9486,9485,9502,9503,9505,9506,9510,9511,9513,9514,9517,9518,9521,9522,9525,
35
+ 9526,9529,9530,9533,9534,9536,9537,9539,9540,9541,9542,9543,9544,9545,9546,0,
36
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13205,13206,13207,8467,
37
+ 13208,13252,13219,13220,13221,13222,13209,13210,13211,13212,13213,13214,13215,
38
+ 13216,13217,13218,13258,13197,13198,13199,13263,13192,13193,13256,13223,13224,
39
+ 13232,13233,13234,13235,13236,13237,13238,13239,13240,13241,13184,13185,13186,
40
+ 13187,13188,13242,13243,13244,13245,13246,13247,13200,13201,13202,13203,13204,
41
+ 8486,13248,13249,13194,13195,13196,13270,13253,13229,13230,13231,13275,13225,
42
+ 13226,13227,13228,13277,13264,13267,13251,13257,13276,13254,0,0,0,0,0,0,0,0,0,
43
+ 0,0,0,0,0,0,198,208,170,294,0,306,0,319,321,216,338,186,222,358,330,0,12896,
44
+ 12897,12898,12899,12900,12901,12902,12903,12904,12905,12906,12907,12908,12909,
45
+ 12910,12911,12912,12913,12914,12915,12916,12917,12918,12919,12920,12921,12922,
46
+ 12923,9424,9425,9426,9427,9428,9429,9430,9431,9432,9433,9434,9435,9436,9437,
47
+ 9438,9439,9440,9441,9442,9443,9444,9445,9446,9447,9448,9449,9312,9313,9314,
48
+ 9315,9316,9317,9318,9319,9320,9321,9322,9323,9324,9325,9326,189,8531,8532,188,
49
+ 190,8539,8540,8541,8542,230,273,240,295,305,307,312,320,322,248,339,223,254,
50
+ 359,331,329,12800,12801,12802,12803,12804,12805,12806,12807,12808,12809,12810,
51
+ 12811,12812,12813,12814,12815,12816,12817,12818,12819,12820,12821,12822,12823,
52
+ 12824,12825,12826,12827,9372,9373,9374,9375,9376,9377,9378,9379,9380,9381,
53
+ 9382,9383,9384,9385,9386,9387,9388,9389,9390,9391,9392,9393,9394,9395,9396,
54
+ 9397,9332,9333,9334,9335,9336,9337,9338,9339,9340,9341,9342,9343,9344,9345,
55
+ 9346,185,178,179,8308,8319,8321,8322,8323,8324,12353,12354,12355,12356,12357,
56
+ 12358,12359,12360,12361,12362,12363,12364,12365,12366,12367,12368,12369,12370,
57
+ 12371,12372,12373,12374,12375,12376,12377,12378,12379,12380,12381,12382,12383,
58
+ 12384,12385,12386,12387,12388,12389,12390,12391,12392,12393,12394,12395,12396,
59
+ 12397,12398,12399,12400,12401,12402,12403,12404,12405,12406,12407,12408,12409,
60
+ 12410,12411,12412,12413,12414,12415,12416,12417,12418,12419,12420,12421,12422,
61
+ 12423,12424,12425,12426,12427,12428,12429,12430,12431,12432,12433,12434,12435,
62
+ 0,0,0,0,0,0,0,0,0,0,0,12449,12450,12451,12452,12453,12454,12455,12456,12457,
63
+ 12458,12459,12460,12461,12462,12463,12464,12465,12466,12467,12468,12469,12470,
64
+ 12471,12472,12473,12474,12475,12476,12477,12478,12479,12480,12481,12482,12483,
65
+ 12484,12485,12486,12487,12488,12489,12490,12491,12492,12493,12494,12495,12496,
66
+ 12497,12498,12499,12500,12501,12502,12503,12504,12505,12506,12507,12508,12509,
67
+ 12510,12511,12512,12513,12514,12515,12516,12517,12518,12519,12520,12521,12522,
68
+ 12523,12524,12525,12526,12527,12528,12529,12530,12531,12532,12533,12534,0,0,0,
69
+ 0,0,0,0,0,1040,1041,1042,1043,1044,1045,1025,1046,1047,1048,1049,1050,1051,
70
+ 1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,
71
+ 1067,1068,1069,1070,1071,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1072,1073,1074,1075,
72
+ 1076,1077,1105,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,
73
+ 1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,0,0,0,0,
74
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
75
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
76
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
77
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
78
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
79
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
80
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
81
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44032,44033,44036,44039,44040,44041,44042,
82
+ 44048,44049,44050,44051,44052,44053,44054,44055,44057,44058,44059,44060,44061,
83
+ 44064,44068,44076,44077,44079,44080,44081,44088,44089,44092,44096,44107,44109,
84
+ 44116,44120,44124,44144,44145,44148,44151,44152,44154,44160,44161,44163,44164,
85
+ 44165,44166,44169,44170,44171,44172,44176,44180,44188,44189,44191,44192,44193,
86
+ 44200,44201,44202,44204,44207,44208,44216,44217,44219,44220,44221,44225,44228,
87
+ 44232,44236,44245,44247,44256,44257,44260,44263,44264,44266,44268,44271,44272,
88
+ 44273,44275,44277,44278,44284,44285,44288,44292,44294,44300,44301,44303,44305,
89
+ 44312,44316,44320,44329,44332,44333,44340,44341,44344,44348,44356,44357,44359,
90
+ 44361,44368,44372,44376,44385,44387,44396,44397,44400,44403,44404,44405,44406,
91
+ 44411,44412,44413,44415,44417,44418,44424,44425,44428,44432,44444,44445,44452,
92
+ 44471,44480,44481,44484,44488,44496,44497,44499,44508,44512,44516,44536,44537,
93
+ 44540,44543,44544,44545,44552,44553,44555,44557,44564,44592,44593,44596,44599,
94
+ 44600,44602,44608,44609,44611,44613,44614,44618,44620,44621,44622,44624,44628,
95
+ 44630,44636,44637,44639,44640,44641,44645,44648,44649,44652,44656,44664,44665,
96
+ 44667,44668,44669,44676,44677,44684,44732,44733,44734,44736,44740,44748,44749,
97
+ 44751,44752,44753,44760,44761,44764,44776,44779,44781,44788,44792,44796,44807,
98
+ 44808,44813,44816,44844,44845,44848,44850,44852,44860,44861,44863,44865,44866,
99
+ 44867,44872,44873,44880,44892,44893,44900,44901,44921,44928,44932,44936,44944,
100
+ 44945,44949,44956,44984,44985,44988,44992,44999,45000,45001,45003,45005,45006,
101
+ 45012,45020,45032,45033,45040,45041,45044,45048,45056,45057,45060,45068,45072,
102
+ 45076,45084,45085,45096,45124,45125,45128,45130,45132,45134,45139,45140,45141,
103
+ 45143,45145,45149,45180,45181,45184,45188,45196,45197,45199,45201,45208,45209,
104
+ 45210,45212,45215,45216,45217,45218,45224,45225,45227,45228,45229,45230,45231,
105
+ 45233,45235,45236,45237,45240,45244,45252,45253,45255,45256,45257,45264,45265,
106
+ 45268,45272,45280,45285,45320,45321,45323,45324,45328,45330,45331,45336,45337,
107
+ 45339,45340,45341,45347,45348,45349,45352,45356,45364,45365,45367,45368,45369,
108
+ 45376,45377,45380,45384,45392,45393,45396,45397,45400,45404,45408,45432,45433,
109
+ 45436,45440,45442,45448,45449,45451,45453,45458,45459,45460,45464,45468,45480,
110
+ 45516,45520,45524,45532,45533,45535,45544,45545,45548,45552,45561,45563,45565,
111
+ 45572,45573,45576,45579,45580,45588,45589,45591,45593,45600,45620,45628,45656,
112
+ 45660,45664,45672,45673,45684,45685,45692,45700,45701,45705,45712,45713,45716,
113
+ 45720,45721,45722,45728,45729,45731,45733,45734,45738,45740,45744,45748,45768,
114
+ 45769,45772,45776,45778,45784,45785,45787,45789,45794,45796,45797,45798,45800,
115
+ 45803,45804,45805,45806,45807,45811,45812,45813,45815,45816,45817,45818,45819,
116
+ 45823,45824,45825,45828,45832,45840,45841,45843,45844,45845,45852,45908,45909,
117
+ 45910,45912,45915,45916,45918,45919,45924,45925,45927,45929,45931,45934,45936,
118
+ 45937,45940,45944,45952,45953,45955,45956,45957,45964,45968,45972,45984,45985,
119
+ 45992,45996,46020,46021,46024,46027,46028,46030,46032,46036,46037,46039,46041,
120
+ 46043,46045,46048,46052,46056,46076,46096,46104,46108,46112,46120,46121,46123,
121
+ 46132,46160,46161,46164,46168,46176,46177,46179,46181,46188,46208,46216,46237,
122
+ 46244,46248,46252,46261,46263,46265,46272,46276,46280,46288,46293,46300,46301,
123
+ 46304,46307,46308,46310,46316,46317,46319,46321,46328,46356,46357,46360,46363,
124
+ 46364,46372,46373,46375,46376,46377,46378,46384,46385,46388,46392,46400,46401,
125
+ 46403,46404,46405,46411,46412,46413,46416,46420,46428,46429,46431,46432,46433,
126
+ 46496,46497,46500,46504,46506,46507,46512,46513,46515,46516,46517,46523,46524,
127
+ 46525,46528,46532,46540,46541,46543,46544,46545,46552,46572,46608,46609,46612,
128
+ 46616,46629,46636,46644,46664,46692,46696,46748,46749,46752,46756,46763,46764,
129
+ 46769,46804,46832,46836,46840,46848,46849,46853,46888,46889,46892,46895,46896,
130
+ 46904,46905,46907,46916,46920,46924,46932,46933,46944,46948,46952,46960,46961,
131
+ 46963,46965,46972,46973,46976,46980,46988,46989,46991,46992,46993,46994,46998,
132
+ 46999,47000,47001,47004,47008,47016,47017,47019,47020,47021,47028,47029,47032,
133
+ 47047,47049,47084,47085,47088,47092,47100,47101,47103,47104,47105,47111,47112,
134
+ 47113,47116,47120,47128,47129,47131,47133,47140,47141,47144,47148,47156,47157,
135
+ 47159,47160,47161,47168,47172,47185,47187,47196,47197,47200,47204,47212,47213,
136
+ 47215,47217,47224,47228,47245,47272,47280,47284,47288,47296,47297,47299,47301,
137
+ 47308,47312,47316,47325,47327,47329,47336,47337,47340,47344,47352,47353,47355,
138
+ 47357,47364,47384,47392,47420,47421,47424,47428,47436,47439,47441,47448,47449,
139
+ 47452,47456,47464,47465,47467,47469,47476,47477,47480,47484,47492,47493,47495,
140
+ 47497,47498,47501,47502,47532,47533,47536,47540,47548,47549,47551,47553,47560,
141
+ 47561,47564,47566,47567,47568,47569,47570,47576,47577,47579,47581,47582,47585,
142
+ 47587,47588,47589,47592,47596,47604,47605,47607,47608,47609,47610,47616,47617,
143
+ 47624,47637,47672,47673,47676,47680,47682,47688,47689,47691,47693,47694,47699,
144
+ 47700,47701,47704,47708,47716,47717,47719,47720,47721,47728,47729,47732,47736,
145
+ 47747,47748,47749,47751,47756,47784,47785,47787,47788,47792,47794,47800,47801,
146
+ 47803,47805,47812,47816,47832,47833,47868,47872,47876,47885,47887,47889,47896,
147
+ 47900,47904,47913,47915,47924,47925,47926,47928,47931,47932,47933,47934,47940,
148
+ 47941,47943,47945,47949,47951,47952,47956,47960,47969,47971,47980,48008,48012,
149
+ 48016,48036,48040,48044,48052,48055,48064,48068,48072,48080,48083,48120,48121,
150
+ 48124,48127,48128,48130,48136,48137,48139,48140,48141,48143,48145,48148,48149,
151
+ 48150,48151,48152,48155,48156,48157,48158,48159,48164,48165,48167,48169,48173,
152
+ 48176,48177,48180,48184,48192,48193,48195,48196,48197,48201,48204,48205,48208,
153
+ 48221,48260,48261,48264,48267,48268,48270,48276,48277,48279,48281,48282,48288,
154
+ 48289,48292,48295,48296,48304,48305,48307,48308,48309,48316,48317,48320,48324,
155
+ 48333,48335,48336,48337,48341,48344,48348,48372,48373,48374,48376,48380,48388,
156
+ 48389,48391,48393,48400,48404,48420,48428,48448,48456,48457,48460,48464,48472,
157
+ 48473,48484,48488,48512,48513,48516,48519,48520,48521,48522,48528,48529,48531,
158
+ 48533,48537,48538,48540,48548,48560,48568,48596,48597,48600,48604,48617,48624,
159
+ 48628,48632,48640,48643,48645,48652,48653,48656,48660,48668,48669,48671,48708,
160
+ 48709,48712,48716,48718,48724,48725,48727,48729,48730,48731,48736,48737,48740,
161
+ 48744,48746,48752,48753,48755,48756,48757,48763,48764,48765,48768,48772,48780,
162
+ 48781,48783,48784,48785,48792,48793,48808,48848,48849,48852,48855,48856,48864,
163
+ 48867,48868,48869,48876,48897,48904,48905,48920,48921,48923,48924,48925,48960,
164
+ 48961,48964,48968,48976,48977,48981,49044,49072,49093,49100,49101,49104,49108,
165
+ 49116,49119,49121,49212,49233,49240,49244,49248,49256,49257,49296,49297,49300,
166
+ 49304,49312,49313,49315,49317,49324,49325,49327,49328,49331,49332,49333,49334,
167
+ 49340,49341,49343,49344,49345,49349,49352,49353,49356,49360,49368,49369,49371,
168
+ 49372,49373,49380,49381,49384,49388,49396,49397,49399,49401,49408,49412,49416,
169
+ 49424,49429,49436,49437,49438,49439,49440,49443,49444,49446,49447,49452,49453,
170
+ 49455,49456,49457,49462,49464,49465,49468,49472,49480,49481,49483,49484,49485,
171
+ 49492,49493,49496,49500,49508,49509,49511,49512,49513,49520,49524,49528,49541,
172
+ 49548,49549,49550,49552,49556,49558,49564,49565,49567,49569,49573,49576,49577,
173
+ 49580,49584,49597,49604,49608,49612,49620,49623,49624,49632,49636,49640,49648,
174
+ 49649,49651,49660,49661,49664,49668,49676,49677,49679,49681,49688,49689,49692,
175
+ 49695,49696,49704,49705,49707,49709,49711,49713,49714,49716,49736,49744,49745,
176
+ 49748,49752,49760,49765,49772,49773,49776,49780,49788,49789,49791,49793,49800,
177
+ 49801,49808,49816,49819,49821,49828,49829,49832,49836,49837,49844,49845,49847,
178
+ 49849,49884,49885,49888,49891,49892,49899,49900,49901,49903,49905,49910,49912,
179
+ 49913,49915,49916,49920,49928,49929,49932,49933,49939,49940,49941,49944,49948,
180
+ 49956,49957,49960,49961,49989,50024,50025,50028,50032,50034,50040,50041,50044,
181
+ 50045,50052,50056,50060,50112,50136,50137,50140,50143,50144,50146,50152,50153,
182
+ 50157,50164,50165,50168,50184,50192,50212,50220,50224,50228,50236,50237,50248,
183
+ 50276,50277,50280,50284,50292,50293,50297,50304,50324,50332,50360,50364,50409,
184
+ 50416,50417,50420,50424,50426,50431,50432,50433,50444,50448,50452,50460,50472,
185
+ 50473,50476,50480,50488,50489,50491,50493,50500,50501,50504,50505,50506,50508,
186
+ 50509,50510,50515,50516,50517,50519,50520,50521,50525,50526,50528,50529,50532,
187
+ 50536,50544,50545,50547,50548,50549,50556,50557,50560,50564,50567,50572,50573,
188
+ 50575,50577,50581,50583,50584,50588,50592,50601,50612,50613,50616,50617,50619,
189
+ 50620,50621,50622,50628,50629,50630,50631,50632,50633,50634,50636,50638,50640,
190
+ 50641,50644,50648,50656,50657,50659,50661,50668,50669,50670,50672,50676,50678,
191
+ 50679,50684,50685,50686,50687,50688,50689,50693,50694,50695,50696,50700,50704,
192
+ 50712,50713,50715,50716,50724,50725,50728,50732,50733,50734,50736,50739,50740,
193
+ 50741,50743,50745,50747,50752,50753,50756,50760,50768,50769,50771,50772,50773,
194
+ 50780,50781,50784,50796,50799,50801,50808,50809,50812,50816,50824,50825,50827,
195
+ 50829,50836,50837,50840,50844,50852,50853,50855,50857,50864,50865,50868,50872,
196
+ 50873,50874,50880,50881,50883,50885,50892,50893,50896,50900,50908,50909,50912,
197
+ 50913,50920,50921,50924,50928,50936,50937,50941,50948,50949,50952,50956,50964,
198
+ 50965,50967,50969,50976,50977,50980,50984,50992,50993,50995,50997,50999,51004,
199
+ 51005,51008,51012,51018,51020,51021,51023,51025,51026,51027,51028,51029,51030,
200
+ 51031,51032,51036,51040,51048,51051,51060,51061,51064,51068,51069,51070,51075,
201
+ 51076,51077,51079,51080,51081,51082,51086,51088,51089,51092,51094,51095,51096,
202
+ 51098,51104,51105,51107,51108,51109,51110,51116,51117,51120,51124,51132,51133,
203
+ 51135,51136,51137,51144,51145,51148,51150,51152,51160,51165,51172,51176,51180,
204
+ 51200,51201,51204,51208,51210,51216,51217,51219,51221,51222,51228,51229,51232,
205
+ 51236,51244,51245,51247,51249,51256,51260,51264,51272,51273,51276,51277,51284,
206
+ 51312,51313,51316,51320,51322,51328,51329,51331,51333,51334,51335,51339,51340,
207
+ 51341,51348,51357,51359,51361,51368,51388,51389,51396,51400,51404,51412,51413,
208
+ 51415,51417,51424,51425,51428,51445,51452,51453,51456,51460,51461,51462,51468,
209
+ 51469,51471,51473,51480,51500,51508,51536,51537,51540,51544,51552,51553,51555,
210
+ 51564,51568,51572,51580,51592,51593,51596,51600,51608,51609,51611,51613,51648,
211
+ 51649,51652,51655,51656,51658,51664,51665,51667,51669,51670,51673,51674,51676,
212
+ 51677,51680,51682,51684,51687,51692,51693,51695,51696,51697,51704,51705,51708,
213
+ 51712,51720,51721,51723,51724,51725,51732,51736,51753,51788,51789,51792,51796,
214
+ 51804,51805,51807,51808,51809,51816,51837,51844,51864,51900,51901,51904,51908,
215
+ 51916,51917,51919,51921,51923,51928,51929,51936,51948,51956,51976,51984,51988,
216
+ 51992,52000,52001,52033,52040,52041,52044,52048,52056,52057,52061,52068,52088,
217
+ 52089,52124,52152,52180,52196,52199,52201,52236,52237,52240,52244,52252,52253,
218
+ 52257,52258,52263,52264,52265,52268,52270,52272,52280,52281,52283,52284,52285,
219
+ 52286,52292,52293,52296,52300,52308,52309,52311,52312,52313,52320,52324,52326,
220
+ 52328,52336,52341,52376,52377,52380,52384,52392,52393,52395,52396,52397,52404,
221
+ 52405,52408,52412,52420,52421,52423,52425,52432,52436,52452,52460,52464,52481,
222
+ 52488,52489,52492,52496,52504,52505,52507,52509,52516,52520,52524,52537,52572,
223
+ 52576,52580,52588,52589,52591,52593,52600,52616,52628,52629,52632,52636,52644,
224
+ 52645,52647,52649,52656,52676,52684,52688,52712,52716,52720,52728,52729,52731,
225
+ 52733,52740,52744,52748,52756,52761,52768,52769,52772,52776,52784,52785,52787,
226
+ 52789,52824,52825,52828,52831,52832,52833,52840,52841,52843,52845,52852,52853,
227
+ 52856,52860,52868,52869,52871,52873,52880,52881,52884,52888,52896,52897,52899,
228
+ 52900,52901,52908,52909,52929,52964,52965,52968,52971,52972,52980,52981,52983,
229
+ 52984,52985,52992,52993,52996,53000,53008,53009,53011,53013,53020,53024,53028,
230
+ 53036,53037,53039,53040,53041,53048,53076,53077,53080,53084,53092,53093,53095,
231
+ 53097,53104,53105,53108,53112,53120,53125,53132,53153,53160,53168,53188,53216,
232
+ 53217,53220,53224,53232,53233,53235,53237,53244,53248,53252,53265,53272,53293,
233
+ 53300,53301,53304,53308,53316,53317,53319,53321,53328,53332,53336,53344,53356,
234
+ 53357,53360,53364,53372,53373,53377,53412,53413,53416,53420,53428,53429,53431,
235
+ 53433,53440,53441,53444,53448,53449,53456,53457,53459,53460,53461,53468,53469,
236
+ 53472,53476,53484,53485,53487,53488,53489,53496,53517,53552,53553,53556,53560,
237
+ 53562,53568,53569,53571,53572,53573,53580,53581,53584,53588,53596,53597,53599,
238
+ 53601,53608,53612,53628,53636,53640,53664,53665,53668,53672,53680,53681,53683,
239
+ 53685,53690,53692,53696,53720,53748,53752,53767,53769,53776,53804,53805,53808,
240
+ 53812,53820,53821,53823,53825,53832,53852,53860,53888,53889,53892,53896,53904,
241
+ 53905,53909,53916,53920,53924,53932,53937,53944,53945,53948,53951,53952,53954,
242
+ 53960,53961,53963,53972,53976,53980,53988,53989,54000,54001,54004,54008,54016,
243
+ 54017,54019,54021,54028,54029,54030,54032,54036,54038,54044,54045,54047,54048,
244
+ 54049,54053,54056,54057,54060,54064,54072,54073,54075,54076,54077,54084,54085,
245
+ 54140,54141,54144,54148,54156,54157,54159,54160,54161,54168,54169,54172,54176,
246
+ 54184,54185,54187,54189,54196,54200,54204,54212,54213,54216,54217,54224,54232,
247
+ 54241,54243,54252,54253,54256,54260,54268,54269,54271,54273,54280,54301,54336,
248
+ 54340,54364,54368,54372,54381,54383,54392,54393,54396,54399,54400,54402,54408,
249
+ 54409,54411,54413,54420,54441,54476,54480,54484,54492,54495,54504,54508,54512,
250
+ 54520,54523,54525,54532,54536,54540,54548,54549,54551,54588,54589,54592,54596,
251
+ 54604,54605,54607,54609,54616,54617,54620,54624,54629,54632,54633,54635,54637,
252
+ 54644,54645,54648,54652,54660,54661,54663,54664,54665,54672,54693,54728,54729,
253
+ 54732,54736,54738,54744,54745,54747,54749,54756,54757,54760,54764,54772,54773,
254
+ 54775,54777,54784,54785,54788,54792,54800,54801,54803,54804,54805,54812,54816,
255
+ 54820,54829,54840,54841,54844,54848,54853,54856,54857,54859,54861,54865,54868,
256
+ 54869,54872,54876,54887,54889,54896,54897,54900,54915,54917,54924,54925,54928,
257
+ 54932,54941,54943,54945,54952,54956,54960,54969,54971,54980,54981,54984,54988,
258
+ 54993,54996,54999,55001,55008,55012,55016,55024,55029,55036,55037,55040,55044,
259
+ 55057,55064,55065,55068,55072,55080,55081,55083,55085,55092,55093,55096,55100,
260
+ 55108,55111,55113,55120,55121,55124,55126,55127,55128,55129,55136,55137,55139,
261
+ 55141,55145,55148,55152,55156,55164,55165,55169,55176,55177,55180,55184,55192,
262
+ 55193,55195,55197,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
263
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
264
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20285,20339,20551,20729,
265
+ 21152,21487,21621,21733,22025,23233,23478,26247,26550,26551,26607,27468,29634,
266
+ 30146,31292,33499,33540,34903,34952,35382,36040,36303,36603,36838,39381,21051,
267
+ 21364,21508,24682,24932,27580,29647,33050,35258,35282,38307,20355,21002,22718,
268
+ 22904,23014,24178,24185,25031,25536,26438,26604,26751,28567,30286,30475,30965,
269
+ 31240,31487,31777,32925,33390,33393,35563,38291,20075,21917,26359,28212,30883,
270
+ 31469,33883,35088,34638,38824,21208,22350,22570,23884,24863,25022,25121,25954,
271
+ 26577,27204,28187,29976,30131,30435,30640,32058,37039,37969,37970,40853,21283,
272
+ 23724,30002,32987,37440,38296,21083,22536,23004,23713,23831,24247,24378,24394,
273
+ 24951,27743,30074,30086,31968,32115,32177,32652,33108,33313,34193,35137,35611,
274
+ 37628,38477,40007,20171,20215,20491,20977,22607,24887,24894,24936,25913,27114,
275
+ 28433,30117,30342,30422,31623,33445,33995,63744,37799,38283,21888,23458,22353,
276
+ 63745,31923,32697,37301,20520,21435,23621,24040,25298,25454,25818,25831,28192,
277
+ 28844,31067,36317,36382,63746,36989,37445,37624,20094,20214,20581,24062,24314,
278
+ 24838,26967,33137,34388,36423,37749,39467,20062,20625,26480,26688,20745,21133,
279
+ 21138,27298,30652,37392,40660,21163,24623,36850,20552,25001,25581,25802,26684,
280
+ 27268,28608,33160,35233,38548,22533,29309,29356,29956,32121,32365,32937,35211,
281
+ 35700,36963,40273,25225,27770,28500,32080,32570,35363,20860,24906,31645,35609,
282
+ 37463,37772,20140,20435,20510,20670,20742,21185,21197,21375,22384,22659,24218,
283
+ 24465,24950,25004,25806,25964,26223,26299,26356,26775,28039,28805,28913,29855,
284
+ 29861,29898,30169,30828,30956,31455,31478,32069,32147,32789,32831,33051,33686,
285
+ 35686,36629,36885,37857,38915,38968,39514,39912,20418,21843,22586,22865,23395,
286
+ 23622,24760,25106,26690,26800,26856,28330,30028,30328,30926,31293,31995,32363,
287
+ 32380,35336,35489,35903,38542,40388,21476,21481,21578,21617,22266,22993,23396,
288
+ 23611,24235,25335,25911,25925,25970,26272,26543,27073,27837,30204,30352,30590,
289
+ 31295,32660,32771,32929,33167,33510,33533,33776,34241,34865,34996,35493,63747,
290
+ 36764,37678,38599,39015,39640,40723,21741,26011,26354,26767,31296,35895,40288,
291
+ 22256,22372,23825,26118,26801,26829,28414,29736,34974,39908,27752,63748,39592,
292
+ 20379,20844,20849,21151,23380,24037,24656,24685,25329,25511,25915,29657,31354,
293
+ 34467,36002,38799,20018,23521,25096,26524,29916,31185,33747,35463,35506,36328,
294
+ 36942,37707,38982,24275,27112,34303,37101,63749,20896,23448,23532,24931,26874,
295
+ 27454,28748,29743,29912,31649,32592,33733,35264,36011,38364,39208,21038,24669,
296
+ 25324,36866,20362,20809,21281,22745,24291,26336,27960,28826,29378,29654,31568,
297
+ 33009,37979,21350,25499,32619,20054,20608,22602,22750,24618,24871,25296,27088,
298
+ 39745,23439,32024,32945,36703,20132,20689,21676,21932,23308,23968,24039,25898,
299
+ 25934,26657,27211,29409,30350,30703,32094,32761,33184,34126,34527,36611,36686,
300
+ 37066,39171,39509,39851,19992,20037,20061,20167,20465,20855,21246,21312,21475,
301
+ 21477,21646,22036,22389,22434,23495,23943,24272,25084,25304,25937,26552,26601,
302
+ 27083,27472,27590,27628,27714,28317,28792,29399,29590,29699,30655,30697,31350,
303
+ 32127,32777,33276,33285,33290,33503,34914,35635,36092,36544,36881,37041,37476,
304
+ 37558,39378,39493,40169,40407,40860,22283,23616,33738,38816,38827,40628,21531,
305
+ 31384,32676,35033,36557,37089,22528,23624,25496,31391,23470,24339,31353,31406,
306
+ 33422,36524,20518,21048,21240,21367,22280,25331,25458,27402,28099,30519,21413,
307
+ 29527,34152,36470,38357,26426,27331,28528,35437,36556,39243,63750,26231,27512,
308
+ 36020,39740,63751,21483,22317,22862,25542,27131,29674,30789,31418,31429,31998,
309
+ 33909,35215,36211,36917,38312,21243,22343,30023,31584,33740,37406,63752,27224,
310
+ 20811,21067,21127,25119,26840,26997,38553,20677,21156,21220,25027,26020,26681,
311
+ 27135,29822,31563,33465,33771,35250,35641,36817,39241,63753,20170,22935,25810,
312
+ 26129,27278,29748,31105,31165,33449,34942,34943,35167,63754,37670,20235,21450,
313
+ 24613,25201,27762,32026,32102,20120,20834,30684,32943,20225,20238,20854,20864,
314
+ 21980,22120,22331,22522,22524,22804,22855,22931,23492,23696,23822,24049,24190,
315
+ 24524,25216,26071,26083,26398,26399,26462,26827,26820,27231,27450,27683,27773,
316
+ 27778,28103,29592,29734,29738,29826,29859,30072,30079,30849,30959,31041,31047,
317
+ 31048,31098,31637,32000,32186,32648,32774,32813,32908,35352,35663,35912,36215,
318
+ 37665,37668,39138,39249,39438,39439,39525,40594,32202,20342,21513,25326,26708,
319
+ 37329,21931,20794,63755,63756,23068,25062,63757,25295,25343,63758,63759,63760,
320
+ 63761,63762,63763,37027,63764,63765,63766,63767,63768,35582,63769,63770,63771,
321
+ 63772,26262,63773,29014,63774,63775,38627,63776,25423,25466,21335,63777,26511,
322
+ 26976,28275,63778,30007,63779,63780,63781,32013,63782,63783,34930,22218,23064,
323
+ 63784,63785,63786,63787,63788,20035,63789,20839,22856,26608,32784,63790,22899,
324
+ 24180,25754,31178,24565,24684,25288,25467,23527,23511,21162,63791,22900,24361,
325
+ 24594,63792,63793,63794,29785,63795,63796,63797,63798,63799,63800,39377,63801,
326
+ 63802,63803,63804,63805,63806,63807,63808,63809,63810,63811,28611,63812,63813,
327
+ 33215,36786,24817,63814,63815,33126,63816,63817,23615,63818,63819,63820,63821,
328
+ 63822,63823,63824,63825,23273,35365,26491,32016,63826,63827,63828,63829,63830,
329
+ 63831,33021,63832,63833,23612,27877,21311,28346,22810,33590,20025,20150,20294,
330
+ 21934,22296,22727,24406,26039,26086,27264,27573,28237,30701,31471,31774,32222,
331
+ 34507,34962,37170,37723,25787,28606,29562,30136,36948,21846,22349,25018,25812,
332
+ 26311,28129,28251,28525,28601,30192,32835,33213,34113,35203,35527,35674,37663,
333
+ 27795,30035,31572,36367,36957,21776,22530,22616,24162,25095,25758,26848,30070,
334
+ 31958,34739,40680,20195,22408,22382,22823,23565,23729,24118,24453,25140,25825,
335
+ 29619,33274,34955,36024,38538,40667,23429,24503,24755,20498,20992,21040,22294,
336
+ 22581,22615,23566,23648,23798,23947,24230,24466,24764,25361,25481,25623,26691,
337
+ 26873,27330,28120,28193,28372,28644,29182,30428,30585,31153,31291,33796,35241,
338
+ 36077,36339,36424,36867,36884,36947,37117,37709,38518,38876,27602,28678,29272,
339
+ 29346,29544,30563,31167,31716,32411,35712,22697,24775,25958,26109,26302,27788,
340
+ 28958,29129,35930,38931,20077,31361,20189,20908,20941,21205,21516,24999,26481,
341
+ 26704,26847,27934,28540,30140,30643,31461,33012,33891,37509,20828,26007,26460,
342
+ 26515,30168,31431,33651,63834,35910,36887,38957,23663,33216,33434,36929,36975,
343
+ 37389,24471,23965,27225,29128,30331,31561,34276,35588,37159,39472,21895,25078,
344
+ 63835,30313,32645,34367,34746,35064,37007,63836,27931,28889,29662,32097,33853,
345
+ 63837,37226,39409,63838,20098,21365,27396,27410,28734,29211,34349,40478,21068,
346
+ 36771,23888,25829,25900,27414,28651,31811,32412,34253,35172,35261,25289,33240,
347
+ 34847,24266,26391,28010,29436,29701,29807,34690,37086,20358,23821,24480,33802,
348
+ 20919,25504,30053,20142,20486,20841,20937,26753,27153,31918,31921,31975,33391,
349
+ 35538,36635,37327,20406,20791,21237,21570,24300,24942,25150,26053,27354,28670,
350
+ 31018,34268,34851,38317,39522,39530,40599,40654,21147,26310,27511,28701,31019,
351
+ 36706,38722,24976,25088,25891,28451,29001,29833,32244,32879,34030,36646,36899,
352
+ 37706,20925,21015,21155,27916,28872,35010,24265,25986,27566,28610,31806,29557,
353
+ 20196,20278,22265,63839,23738,23994,24604,29618,31533,32666,32718,32838,36894,
354
+ 37428,38646,38728,38936,40801,20363,28583,31150,37300,38583,21214,63840,25736,
355
+ 25796,27347,28510,28696,29200,30439,32769,34310,34396,36335,36613,38706,39791,
356
+ 40442,40565,30860,31103,32160,33737,37636,40575,40595,35542,22751,24324,26407,
357
+ 28711,29903,31840,32894,20769,28712,29282,30922,36034,36058,36084,38647,20102,
358
+ 20698,23534,24278,26009,29134,30274,30637,32842,34044,36988,39719,40845,22744,
359
+ 23105,23650,27155,28122,28431,30267,32047,32311,34078,35128,37860,38475,21129,
360
+ 26066,26611,27060,27969,28316,28687,29705,29792,30041,30244,30827,35628,39006,
361
+ 20845,25134,38520,20374,20523,23833,28138,32184,36650,24459,24900,26647,63841,
362
+ 38534,21202,32907,20956,20940,26974,31260,32190,33777,38517,20442,21033,21400,
363
+ 21519,21774,23653,24743,26446,26792,28012,29313,29432,29702,29827,63842,30178,
364
+ 31852,32633,32696,33673,35023,35041,37324,37328,38626,39881,21533,28542,29136,
365
+ 29848,34298,36522,38563,40023,40607,26519,28107,29747,33256,38678,30764,31435,
366
+ 31520,31890,25705,29802,30194,30908,30952,39340,39764,40635,23518,24149,28448,
367
+ 33180,33707,37000,19975,21325,23081,24018,24398,24930,25405,26217,26364,28415,
368
+ 28459,28771,30622,33836,34067,34875,36627,39237,39995,21788,25273,26411,27819,
369
+ 33545,35178,38778,20129,22916,24536,24537,26395,32178,32596,33426,33579,33725,
370
+ 36638,37017,22475,22969,23186,23504,26151,26522,26757,27599,29028,32629,36023,
371
+ 36067,36993,39749,33032,35978,38476,39488,40613,23391,27667,29467,30450,30431,
372
+ 33804,20906,35219,20813,20885,21193,26825,27796,30468,30496,32191,32236,38754,
373
+ 40629,28357,34065,20901,21517,21629,26126,26269,26919,28319,30399,30609,33559,
374
+ 33986,34719,37225,37528,40180,34946,20398,20882,21215,22982,24125,24917,25720,
375
+ 25721,26286,26576,27169,27597,27611,29279,29281,29761,30520,30683,32791,33468,
376
+ 33541,35584,35624,35980,26408,27792,29287,30446,30566,31302,40361,27519,27794,
377
+ 22818,26406,33945,21359,22675,22937,24287,25551,26164,26483,28218,29483,31447,
378
+ 33495,37672,21209,24043,25006,25035,25098,25287,25771,26080,26969,27494,27595,
379
+ 28961,29687,30045,32326,33310,33538,34154,35491,36031,38695,40289,22696,40664,
380
+ 20497,21006,21563,21839,25991,27766,32010,32011,32862,34442,38272,38639,21247,
381
+ 27797,29289,21619,23194,23614,23883,24396,24494,26410,26806,26979,28220,28228,
382
+ 30473,31859,32654,34183,35598,36855,38753,40692,23735,24758,24845,25003,25935,
383
+ 26107,26108,27665,27887,29599,29641,32225,38292,23494,34588,35600,21085,21338,
384
+ 25293,25615,25778,26420,27192,27850,29632,29854,31636,31893,32283,33162,33334,
385
+ 34180,36843,38649,39361,20276,21322,21453,21467,25292,25644,25856,26001,27075,
386
+ 27886,28504,29677,30036,30242,30436,30460,30928,30971,31020,32070,33324,34784,
387
+ 36820,38930,39151,21187,25300,25765,28196,28497,30332,36299,37297,37474,39662,
388
+ 39747,20515,20621,22346,22952,23592,24135,24439,25151,25918,26041,26049,26121,
389
+ 26507,27036,28354,30917,32033,32938,33152,33323,33459,33953,34444,35370,35607,
390
+ 37030,38450,40848,20493,20467,63843,22521,24472,25308,25490,26479,28227,28953,
391
+ 30403,32972,32986,35060,35061,35097,36064,36649,37197,38506,20271,20336,24091,
392
+ 26575,26658,30333,30334,39748,24161,27146,29033,29140,30058,63844,32321,34115,
393
+ 34281,39132,20240,31567,32624,38309,20961,24070,26805,27710,27726,27867,29359,
394
+ 31684,33539,27861,29754,20731,21128,22721,25816,27287,29863,30294,30887,34327,
395
+ 38370,38713,63845,21342,24321,35722,36776,36783,37002,21029,30629,40009,40712,
396
+ 19993,20482,20853,23643,24183,26142,26170,26564,26821,28851,29953,30149,31177,
397
+ 31453,36647,39200,39432,20445,22561,22577,23542,26222,27493,27921,28282,28541,
398
+ 29668,29995,33769,35036,35091,35676,36628,20239,20693,21264,21340,23443,24489,
399
+ 26381,31119,33145,33583,34068,35079,35206,36665,36667,39333,39954,26412,20086,
400
+ 20472,22857,23553,23791,23792,25447,26834,28925,29090,29739,32299,34028,34562,
401
+ 36898,37586,40179,19981,20184,20463,20613,21078,21103,21542,21648,22496,22827,
402
+ 23142,23386,23413,23500,24220,63846,25206,25975,26023,28014,28325,29238,31526,
403
+ 31807,32566,33104,33105,33178,33344,33433,33705,35331,36000,36070,36091,36212,
404
+ 36282,37096,37340,38428,38468,39385,40167,21271,20998,21545,22132,22707,22868,
405
+ 22894,24575,24996,25198,26128,27774,28954,30406,31881,31966,32027,33452,36033,
406
+ 38640,63847,20315,24343,24447,25282,23849,26379,26842,30844,32323,40300,19989,
407
+ 20633,21269,21290,21329,22915,23138,24199,24754,24970,25161,25209,26000,26503,
408
+ 27047,27604,27606,27607,27608,27832,63848,29749,30202,30738,30865,31189,31192,
409
+ 31875,32203,32737,32933,33086,33218,33778,34586,35048,35513,35692,36027,37145,
410
+ 38750,39131,40763,22188,23338,24428,25996,27315,27567,27996,28657,28693,29277,
411
+ 29613,36007,36051,38971,24977,27703,32856,39425,20045,20107,20123,20181,20282,
412
+ 20284,20351,20447,20735,21490,21496,21766,21987,22235,22763,22882,23057,23531,
413
+ 23546,23556,24051,24107,24473,24605,25448,26012,26031,26614,26619,26797,27515,
414
+ 27801,27863,28195,28681,29509,30722,31038,31040,31072,31169,31721,32023,32114,
415
+ 32902,33293,33678,34001,34503,35039,35408,35422,35613,36060,36198,36781,37034,
416
+ 39164,39391,40605,21066,63849,26388,63850,20632,21034,23665,25955,27733,29642,
417
+ 29987,30109,31639,33948,37240,38704,20087,25746,27578,29022,34217,19977,63851,
418
+ 26441,26862,28183,33439,34072,34923,25591,28545,37394,39087,19978,20663,20687,
419
+ 20767,21830,21930,22039,23360,23577,23776,24120,24202,24224,24258,24819,26705,
420
+ 27233,28248,29245,29248,29376,30456,31077,31665,32724,35059,35316,35443,35937,
421
+ 36062,38684,22622,29885,36093,21959,63852,31329,32034,33394,29298,29983,29989,
422
+ 63853,31513,22661,22779,23996,24207,24246,24464,24661,25234,25471,25933,26257,
423
+ 26329,26360,26646,26866,29312,29790,31598,32110,32214,32626,32997,33298,34223,
424
+ 35199,35475,36893,37604,40653,40736,22805,22893,24109,24796,26132,26227,26512,
425
+ 27728,28101,28511,30707,30889,33990,37323,37675,20185,20682,20808,21892,23307,
426
+ 23459,25159,25982,26059,28210,29053,29697,29764,29831,29887,30316,31146,32218,
427
+ 32341,32680,33146,33203,33337,34330,34796,35445,36323,36984,37521,37925,39245,
428
+ 39854,21352,23633,26964,27844,27945,28203,33292,34203,35131,35373,35498,38634,
429
+ 40807,21089,26297,27570,32406,34814,36109,38275,38493,25885,28041,29166,63854,
430
+ 22478,22995,23468,24615,24826,25104,26143,26207,29481,29689,30427,30465,31596,
431
+ 32854,32882,33125,35488,37266,19990,21218,27506,27927,31237,31545,32048,63855,
432
+ 36016,21484,22063,22609,23477,23567,23569,24034,25152,25475,25620,26157,26803,
433
+ 27836,28040,28335,28703,28836,29138,29990,30095,30094,30233,31505,31712,31787,
434
+ 32032,32057,34092,34157,34311,35380,36877,36961,37045,37559,38902,39479,20439,
435
+ 23660,26463,28049,31903,32396,35606,36118,36895,23403,24061,25613,33984,36956,
436
+ 39137,29575,23435,24730,26494,28126,35359,35494,36865,38924,21047,63856,28753,
437
+ 30862,37782,34928,37335,20462,21463,22013,22234,22402,22781,23234,23432,23723,
438
+ 23744,24101,24833,25101,25163,25480,25628,25910,25976,27193,27530,27700,27929,
439
+ 28465,29159,29417,29560,29703,29874,30246,30561,31168,31319,31466,31929,32143,
440
+ 32172,32353,32670,33065,33585,33936,34010,34282,34966,35504,35728,36664,36930,
441
+ 36995,37228,37526,37561,38539,38567,38568,38614,38656,38920,39318,39635,39706,
442
+ 21460,22654,22809,23408,23487,28113,28506,29087,29729,29881,32901,33789,24033,
443
+ 24455,24490,24642,26092,26642,26991,27219,27529,27957,28147,29667,30462,30636,
444
+ 31565,32020,33059,33308,33600,34036,34147,35426,35524,37255,37662,38918,39348,
445
+ 25100,34899,36848,37477,23815,23847,23913,29791,33181,34664,28629,25342,32722,
446
+ 35126,35186,19998,20056,20711,21213,21319,25215,26119,32361,34821,38494,20365,
447
+ 21273,22070,22987,23204,23608,23630,23629,24066,24337,24643,26045,26159,26178,
448
+ 26558,26612,29468,30690,31034,32709,33940,33997,35222,35430,35433,35553,35925,
449
+ 35962,22516,23508,24335,24687,25325,26893,27542,28252,29060,31698,34645,35672,
450
+ 36606,39135,39166,20280,20353,20449,21627,23072,23480,24892,26032,26216,29180,
451
+ 30003,31070,32051,33102,33251,33688,34218,34254,34563,35338,36523,36763,63857,
452
+ 36805,22833,23460,23526,24713,23529,23563,24515,27777,63858,28145,28683,29978,
453
+ 33455,35574,20160,21313,63859,38617,27663,20126,20420,20818,21854,23077,23784,
454
+ 25105,29273,33469,33706,34558,34905,35357,38463,38597,39187,40201,40285,22538,
455
+ 23731,23997,24132,24801,24853,25569,27138,28197,37122,37716,38990,39952,40823,
456
+ 23433,23736,25353,26191,26696,30524,38593,38797,38996,39839,26017,35585,36555,
457
+ 38332,21813,23721,24022,24245,26263,30284,33780,38343,22739,25276,29390,40232,
458
+ 20208,22830,24591,26171,27523,31207,40230,21395,21696,22467,23830,24859,26326,
459
+ 28079,30861,33406,38552,38724,21380,25212,25494,28082,32266,33099,38989,27387,
460
+ 32588,40367,40474,20063,20539,20918,22812,24825,25590,26928,29242,32822,63860,
461
+ 37326,24369,63861,63862,32004,33509,33903,33979,34277,36493,63863,20335,63864,
462
+ 63865,22756,23363,24665,25562,25880,25965,26264,63866,26954,27171,27915,28673,
463
+ 29036,30162,30221,31155,31344,63867,32650,63868,35140,63869,35731,37312,38525,
464
+ 63870,39178,22276,24481,26044,28417,30208,31142,35486,39341,39770,40812,20740,
465
+ 25014,25233,27277,33222,20547,22576,24422,28937,35328,35578,23420,34326,20474,
466
+ 20796,22196,22852,25513,28153,23978,26989,20870,20104,20313,63871,63872,63873,
467
+ 22914,63874,63875,27487,27741,63876,29877,30998,63877,33287,33349,33593,36671,
468
+ 36701,63878,39192,63879,63880,63881,20134,63882,22495,24441,26131,63883,63884,
469
+ 30123,32377,35695,63885,36870,39515,22181,22567,23032,23071,23476,63886,24310,
470
+ 63887,63888,25424,25403,63889,26941,27783,27839,28046,28051,28149,28436,63890,
471
+ 28895,28982,29017,63891,29123,29141,63892,30799,30831,63893,31605,32227,63894,
472
+ 32303,63895,34893,36575,63896,63897,63898,37467,63899,40182,63900,63901,63902,
473
+ 24709,28037,63903,29105,63904,63905,38321,21421,63906,63907,63908,26579,63909,
474
+ 28814,28976,29744,33398,33490,63910,38331,39653,40573,26308,63911,29121,33865,
475
+ 63912,63913,22603,63914,63915,23992,24433,63916,26144,26254,27001,27054,27704,
476
+ 27891,28214,28481,28634,28699,28719,29008,29151,29552,63917,29787,63918,29908,
477
+ 30408,31310,32403,63919,63920,33521,35424,36814,63921,37704,63922,38681,63923,
478
+ 63924,20034,20522,63925,21000,21473,26355,27757,28618,29450,30591,31330,33454,
479
+ 34269,34306,63926,35028,35427,35709,35947,63927,37555,63928,38675,38928,20116,
480
+ 20237,20425,20658,21320,21566,21555,21978,22626,22714,22887,23067,23524,24735,
481
+ 63929,25034,25942,26111,26212,26791,27738,28595,28879,29100,29522,31613,34568,
482
+ 35492,39986,40711,23627,27779,29508,29577,37434,28331,29797,30239,31337,32277,
483
+ 34314,20800,22725,25793,29934,29973,30320,32705,37013,38605,39252,28198,29926,
484
+ 31401,31402,33253,34521,34680,35355,23113,23436,23451,26785,26880,28003,29609,
485
+ 29715,29740,30871,32233,32747,33048,33109,33694,35916,38446,38929,26352,24448,
486
+ 26106,26505,27754,29579,20525,23043,27498,30702,22806,23916,24013,29477,30031,
487
+ 63930,63931,20709,20985,22575,22829,22934,23002,23525,63932,63933,23970,25303,
488
+ 25622,25747,25854,63934,26332,63935,27208,63936,29183,29796,63937,31368,31407,
489
+ 32327,32350,32768,33136,63938,34799,35201,35616,36953,63939,36992,39250,24958,
490
+ 27442,28020,32287,35109,36785,20433,20653,20887,21191,22471,22665,23481,24248,
491
+ 24898,27029,28044,28263,28342,29076,29794,29992,29996,32883,33592,33993,36362,
492
+ 37780,37854,63940,20110,20305,20598,20778,21448,21451,21491,23431,23507,23588,
493
+ 24858,24962,26100,29275,29591,29760,30402,31056,31121,31161,32006,32701,33419,
494
+ 34261,34398,36802,36935,37109,37354,38533,38632,38633,21206,24423,26093,26161,
495
+ 26671,29020,31286,37057,38922,20113,63941,27218,27550,28560,29065,32792,33464,
496
+ 34131,36939,38549,38642,38907,34074,39729,20112,29066,38596,20803,21407,21729,
497
+ 22291,22290,22435,23195,23236,23491,24616,24895,25588,27781,27961,28274,28304,
498
+ 29232,29503,29783,33489,34945,36677,36960,63942,38498,39000,40219,26376,36234,
499
+ 37470,20301,20553,20702,21361,22285,22996,23041,23561,24944,26256,28205,29234,
500
+ 29771,32239,32963,33806,33894,34111,34655,34907,35096,35586,36949,38859,39759,
501
+ 20083,20369,20754,20842,63943,21807,21929,23418,23461,24188,24189,24254,24736,
502
+ 24799,24840,24841,25540,25912,26377,63944,26580,26586,63945,26977,26978,27833,
503
+ 27943,63946,28216,63947,28641,29494,29495,63948,29788,30001,63949,30290,63950,
504
+ 63951,32173,33278,33848,35029,35480,35547,35565,36400,36418,36938,36926,36986,
505
+ 37193,37321,37742,63952,63953,22537,63954,27603,32905,32946,63955,63956,20801,
506
+ 22891,23609,63957,63958,28516,29607,32996,36103,63959,37399,38287,63960,63961,
507
+ 63962,63963,32895,25102,28700,32104,34701,63964,22432,24681,24903,27575,35518,
508
+ 37504,38577,20057,21535,28139,34093,38512,38899,39150,25558,27875,37009,20957,
509
+ 25033,33210,40441,20381,20506,20736,23452,24847,25087,25836,26885,27589,30097,
510
+ 30691,32681,33380,34191,34811,34915,35516,35696,37291,20108,20197,20234,63965,
511
+ 63966,22839,23016,63967,24050,24347,24411,24609,63968,63969,63970,63971,29246,
512
+ 29669,63972,30064,30157,63973,31227,63974,32780,32819,32900,33505,33617,63975,
513
+ 63976,36029,36019,36999,63977,63978,39156,39180,63979,63980,28727,30410,32714,
514
+ 32716,32764,35610,20154,20161,20995,21360,63981,21693,22240,23035,23493,24341,
515
+ 24525,28270,63982,63983,32106,33589,63984,34451,35469,63985,38765,38775,63986,
516
+ 63987,19968,20314,20350,22777,26085,28322,36920,37808,39353,20219,22764,22922,
517
+ 23001,24641,63988,63989,31252,63990,33615,36035,20837,21316,63991,63992,63993,
518
+ 20173,21097,23381,33471,20180,21050,21672,22985,23039,23376,23383,23388,24675,
519
+ 24904,28363,28825,29038,29574,29943,30133,30913,32043,32773,33258,33576,34071,
520
+ 34249,35566,36039,38604,20316,21242,22204,26027,26152,28796,28856,29237,32189,
521
+ 33421,37196,38592,40306,23409,26855,27544,28538,30430,23697,26283,28507,31668,
522
+ 31786,34870,38620,19976,20183,21280,22580,22715,22767,22892,23559,24115,24196,
523
+ 24373,25484,26290,26454,27167,27299,27404,28479,29254,63994,29520,29835,31456,
524
+ 31911,33144,33247,33255,33674,33900,34083,34196,34255,35037,36115,37292,38263,
525
+ 38556,20877,21705,22312,23472,25165,26448,26685,26771,28221,28371,28797,32289,
526
+ 35009,36001,36617,40779,40782,29229,31631,35533,37658,20295,20302,20786,21632,
527
+ 22992,24213,25269,26485,26990,27159,27822,28186,29401,29482,30141,31672,32053,
528
+ 33511,33785,33879,34295,35419,36015,36487,36889,37048,38606,40799,21219,21514,
529
+ 23265,23490,25688,25973,28404,29380,63995,30340,31309,31515,31821,32318,32735,
530
+ 33659,35627,36042,36196,36321,36447,36842,36857,36969,37841,20291,20346,20659,
531
+ 20840,20856,21069,21098,22625,22652,22880,23560,23637,24283,24731,25136,26643,
532
+ 27583,27656,28593,29006,29728,30000,30008,30033,30322,31564,31627,31661,31686,
533
+ 32399,35438,36670,36681,37439,37523,37666,37931,38651,39002,39019,39198,20999,
534
+ 25130,25240,27993,30308,31434,31680,32118,21344,23742,24215,28472,28857,31896,
535
+ 38673,39822,40670,25509,25722,34678,19969,20117,20141,20572,20597,21576,22979,
536
+ 23450,24128,24237,24311,24449,24773,25402,25919,25972,26060,26230,26232,26622,
537
+ 26984,27273,27491,27712,28096,28136,28191,28254,28702,28833,29582,29693,30010,
538
+ 30555,30855,31118,31243,31357,31934,32142,33351,35330,35562,35998,37165,37194,
539
+ 37336,37478,37580,37664,38662,38742,38748,38914,40718,21046,21137,21884,22564,
540
+ 24093,24351,24716,25552,26799,28639,31085,31532,33229,34234,35069,35576,36420,
541
+ 37261,38500,38555,38717,38988,40778,20430,20806,20939,21161,22066,24340,24427,
542
+ 25514,25805,26089,26177,26362,26361,26397,26781,26839,27133,28437,28526,29031,
543
+ 29157,29226,29866,30522,31062,31066,31199,31264,31381,31895,31967,32068,32368,
544
+ 32903,34299,34468,35412,35519,36249,36481,36896,36973,37347,38459,38613,40165,
545
+ 26063,31751,36275,37827,23384,23562,21330,25305,29469,20519,23447,24478,24752,
546
+ 24939,26837,28121,29742,31278,32066,32156,32305,33131,36394,36405,37758,37912,
547
+ 20304,22352,24038,24231,25387,32618,20027,20303,20367,20570,23005,32964,21610,
548
+ 21608,22014,22863,23449,24030,24282,26205,26417,26609,26666,27880,27954,28234,
549
+ 28557,28855,29664,30087,31820,32002,32044,32162,33311,34523,35387,35461,36208,
550
+ 36490,36659,36913,37198,37202,37956,39376,31481,31909,20426,20737,20934,22472,
551
+ 23535,23803,26201,27197,27994,28310,28652,28940,30063,31459,34850,36897,36981,
552
+ 38603,39423,33537,20013,20210,34886,37325,21373,27355,26987,27713,33914,22686,
553
+ 24974,26366,25327,28893,29969,30151,32338,33976,35657,36104,20043,21482,21675,
554
+ 22320,22336,24535,25345,25351,25711,25903,26088,26234,26525,26547,27490,27744,
555
+ 27802,28460,30693,30757,31049,31063,32025,32930,33026,33267,33437,33463,34584,
556
+ 35468,63996,36100,36286,36978,30452,31257,31287,32340,32887,21767,21972,22645,
557
+ 25391,25634,26185,26187,26733,27035,27524,27941,28337,29645,29800,29857,30043,
558
+ 30137,30433,30494,30603,31206,32265,32285,33275,34095,34967,35386,36049,36587,
559
+ 36784,36914,37805,38499,38515,38663,20356,21489,23018,23241,24089,26702,29894,
560
+ 30142,31209,31378,33187,34541,36074,36300,36845,26015,26389,63997,22519,28503,
561
+ 32221,36655,37878,38598,24501,25074,28548,19988,20376,20511,21449,21983,23919,
562
+ 24046,27425,27492,30923,31642,63998,36425,36554,36974,25417,25662,30528,31364,
563
+ 37679,38015,40810,25776,28591,29158,29864,29914,31428,31762,32386,31922,32408,
564
+ 35738,36106,38013,39184,39244,21049,23519,25830,26413,32046,20717,21443,22649,
565
+ 24920,24921,25082,26028,31449,35730,35734,20489,20513,21109,21809,23100,24288,
566
+ 24432,24884,25950,26124,26166,26274,27085,28356,28466,29462,30241,31379,33081,
567
+ 33369,33750,33980,20661,22512,23488,23528,24425,25505,30758,32181,33756,34081,
568
+ 37319,37365,20874,26613,31574,36012,20932,22971,24765,34389,20508,63999,21076,
569
+ 23610,24957,25114,25299,25842,26021,28364,30240,33034,36448,38495,38587,20191,
570
+ 21315,21912,22825,24029,25797,27849,28154,29588,31359,33307,34214,36068,36368,
571
+ 36983,37351,38369,38433,38854,20984,21746,21894,24505,25764,28552,32180,36639,
572
+ 36685,37941,20681,23574,27838,28155,29979,30651,31805,31844,35449,35522,22558,
573
+ 22974,24086,25463,29266,30090,30571,35548,36028,36626,24307,26228,28152,32893,
574
+ 33729,35531,38737,39894,64000,21059,26367,28053,28399,32224,35558,36910,36958,
575
+ 39636,21021,21119,21736,24980,25220,25307,26786,26898,26970,27189,28818,28966,
576
+ 30813,30977,30990,31186,31245,32918,33400,33493,33609,34121,35970,36229,37218,
577
+ 37259,37294,20419,22225,29165,30679,34560,35320,23544,24534,26449,37032,21474,
578
+ 22618,23541,24740,24961,25696,32317,32880,34085,37507,25774,20652,23828,26368,
579
+ 22684,25277,25512,26894,27000,27166,28267,30394,31179,33467,33833,35535,36264,
580
+ 36861,37138,37195,37276,37648,37656,37786,38619,39478,39949,19985,30044,31069,
581
+ 31482,31569,31689,32302,33988,36441,36468,36600,36880,26149,26943,29763,20986,
582
+ 26414,40668,20805,24544,27798,34802,34909,34935,24756,33205,33795,36101,21462,
583
+ 21561,22068,23094,23601,28810,32736,32858,33030,33261,36259,37257,39519,40434,
584
+ 20596,20164,21408,24827,28204,23652,20360,20516,21988,23769,24159,24677,26772,
585
+ 27835,28100,29118,30164,30196,30305,31258,31305,32199,32251,32622,33268,34473,
586
+ 36636,38601,39347,40786,21063,21189,39149,35242,19971,26578,28422,20405,23522,
587
+ 26517,27784,28024,29723,30759,37341,37756,34756,31204,31281,24555,20182,21668,
588
+ 21822,22702,22949,24816,25171,25302,26422,26965,33333,38464,39345,39389,20524,
589
+ 21331,21828,22396,64001,25176,64002,25826,26219,26589,28609,28655,29730,29752,
590
+ 35351,37944,21585,22022,22374,24392,24986,27470,28760,28845,32187,35477,22890,
591
+ 33067,25506,30472,32829,36010,22612,25645,27067,23445,24081,28271,64003,34153,
592
+ 20812,21488,22826,24608,24907,27526,27760,27888,31518,32974,33492,36294,37040,
593
+ 39089,64004,25799,28580,25745,25860,20814,21520,22303,35342,24927,26742,64005,
594
+ 30171,31570,32113,36890,22534,27084,33151,35114,36864,38969,20600,22871,22956,
595
+ 25237,36879,39722,24925,29305,38358,22369,23110,24052,25226,25773,25850,26487,
596
+ 27874,27966,29228,29750,30772,32631,33453,36315,38935,21028,22338,26495,29256,
597
+ 29923,36009,36774,37393,38442,20843,21485,25420,20329,21764,24726,25943,27803,
598
+ 28031,29260,29437,31255,35207,35997,24429,28558,28921,33192,24846,20415,20559,
599
+ 25153,29255,31687,32232,32745,36941,38829,39449,36022,22378,24179,26544,33805,
600
+ 35413,21536,23318,24163,24290,24330,25987,32954,34109,38281,38491,20296,21253,
601
+ 21261,21263,21638,21754,22275,24067,24598,25243,25265,25429,64006,27873,28006,
602
+ 30129,30770,32990,33071,33502,33889,33970,34957,35090,36875,37610,39165,39825,
603
+ 24133,26292,26333,28689,29190,64007,20469,21117,24426,24915,26451,27161,28418,
604
+ 29922,31080,34920,35961,39111,39108,39491,21697,31263,26963,35575,35914,39080,
605
+ 39342,24444,25259,30130,30382,34987,36991,38466,21305,24380,24517,27852,29644,
606
+ 30050,30091,31558,33534,39325,20047,36924,19979,20309,21414,22799,24264,26160,
607
+ 27827,29781,33655,34662,36032,36944,38686,39957,22737,23416,34384,35604,40372,
608
+ 23506,24680,24717,26097,27735,28450,28579,28698,32597,32752,38289,38290,38480,
609
+ 38867,21106,36676,20989,21547,21688,21859,21898,27323,28085,32216,33382,37532,
610
+ 38519,40569,21512,21704,30418,34532,38308,38356,38492,20130,20233,23022,23270,
611
+ 24055,24658,25239,26477,26689,27782,28207,32568,32923,33322,64008,64009,38917,
612
+ 20133,20565,21683,22419,22874,23401,23475,25032,26999,28023,28707,34809,35299,
613
+ 35442,35559,36994,39405,39608,21182,26680,20502,24184,26447,33607,34892,20139,
614
+ 21521,22190,29670,37141,38911,39177,39255,39321,22099,22687,34395,35377,25010,
615
+ 27382,29563,36562,27463,38570,39511,22869,29184,36203,38761,20436,23796,24358,
616
+ 25080,26203,27883,28843,29572,29625,29694,30505,30541,32067,32098,32291,33335,
617
+ 34898,64010,36066,37449,39023,23377,31348,34880,38913,23244,20448,21332,22846,
618
+ 23805,25406,28025,29433,33029,33031,33698,37583,38960,20136,20804,21009,22411,
619
+ 24418,27842,28366,28677,28752,28847,29074,29673,29801,33610,34722,34913,36872,
620
+ 37026,37795,39336,20846,24407,24800,24935,26291,34137,36426,37295,38795,20046,
621
+ 20114,21628,22741,22778,22909,23733,24359,25142,25160,26122,26215,27627,28009,
622
+ 28111,28246,28408,28564,28640,28649,28765,29392,29733,29786,29920,30355,31068,
623
+ 31946,32286,32993,33446,33899,33983,34382,34399,34676,35703,35946,37804,38912,
624
+ 39013,24785,25110,37239,23130,26127,28151,28222,29759,39746,24573,24794,31503,
625
+ 21700,24344,27742,27859,27946,28888,32005,34425,35340,40251,21270,21644,23301,
626
+ 27194,28779,30069,31117,31166,33457,33775,35441,35649,36008,38772,64011,25844,
627
+ 25899,30906,30907,31339,20024,21914,22864,23462,24187,24739,25563,27489,26213,
628
+ 26707,28185,29029,29872,32008,36996,39529,39973,27963,28369,29502,35905,38346,
629
+ 20976,24140,24488,24653,24822,24880,24908,26179,26180,27045,27841,28255,28361,
630
+ 28514,29004,29852,30343,31681,31783,33618,34647,36945,38541,40643,21295,22238,
631
+ 24315,24458,24674,24724,25079,26214,26371,27292,28142,28590,28784,29546,32362,
632
+ 33214,33588,34516,35496,36036,21123,29554,23446,27243,37892,21742,22150,23389,
633
+ 25928,25989,26313,26783,28045,28102,29243,32948,37237,39501,20399,20505,21402,
634
+ 21518,21564,21897,21957,24127,24460,26429,29030,29661,36869,21211,21235,22628,
635
+ 22734,28932,29071,29179,34224,35347,26248,34216,21927,26244,29002,33841,21321,
636
+ 21913,27585,24409,24509,25582,26249,28999,35569,36637,40638,20241,25658,28875,
637
+ 30054,34407,24676,35662,40440,20807,20982,21256,27958,33016,40657,26133,27427,
638
+ 28824,30165,21507,23673,32007,35350,27424,27453,27462,21560,24688,27965,32725,
639
+ 33288,20694,20958,21916,22123,22221,23020,23305,24076,24985,24984,25137,26206,
640
+ 26342,29081,29113,29114,29351,31143,31232,32690,35440,