home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1994 March / Source_Code_CD-ROM_Walnut_Creek_March_1994.iso / compsrcs / games / volume14 / xpilot / part14 < prev    next >
Encoding:
Internet Message Format  |  1992-08-30  |  57.6 KB

  1. Path: uunet!zephyr.ens.tek.com!master!saab!billr
  2. From: billr@saab.CNA.TEK.COM (Bill Randle)
  3. Newsgroups: comp.sources.games
  4. Subject: v14i016:  xpilot - Multiplayer gravity war game hand-shake program, Part14/24
  5. Message-ID: <3311@master.CNA.TEK.COM>
  6. Date: 4 Aug 92 19:29:47 GMT
  7. Sender: news@master.CNA.TEK.COM
  8. Lines: 1369
  9. Approved: billr@saab.CNA.TEK.COM
  10.  
  11. Submitted-by: Bjoern Stabell <bjoerns@staff.cs.uit.no>
  12. Posting-number: Volume 14, Issue 16
  13. Archive-name: xpilot/Part14
  14. Environment: X11, ANSI C
  15.  
  16.  
  17.  
  18. #! /bin/sh
  19. # This is a shell archive.  Remove anything before this line, then unpack
  20. # it by saving it into a file and typing "sh file".  To overwrite existing
  21. # files, type "sh file -c".  You can also feed this as standard input via
  22. # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
  23. # will see the following message at the end:
  24. #        "End of archive 14 (of 24)."
  25. # Contents:  maps/planetx.uue.3 src/collision.c src/config.h
  26. #   src/dbuff.c
  27. # Wrapped by billr@saab on Tue Aug  4 10:38:57 1992
  28. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  29. if test -f 'maps/planetx.uue.3' -a "${1}" != "-c" ; then 
  30.   echo shar: Will not clobber existing file \"'maps/planetx.uue.3'\"
  31. else
  32. echo shar: Extracting \"'maps/planetx.uue.3'\" \(37650 characters\)
  33. sed "s/^X//" >'maps/planetx.uue.3' <<'END_OF_FILE'
  34. XM("!A>'AX>'AX>'AX>'AX>'<@("`@<7AX>'AX>'AX>'AX<R`@("`@("`@("`@
  35. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  36. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  37. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  38. XM("`@("`@('%X>$9X>'AX>'AX>'AX>'AX>'AX>'AX>'AX<R`@("`@("`@("`@
  39. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@>`IX("`@("`@
  40. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  41. XM(&%X>'AX>'AX>'AX>'A&>'AX>'AX>'AX>'AX>',@("`@("`@("`@("`@("`@
  42. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  43. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  44. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('%X>'AX
  45. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AS("`@("`@("`@("`@("`@("`@
  46. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!X"G@@("`@("`@("`@
  47. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  48. XM87AX>'AX>'AX>'AX>'AX>'AX>'AX<R`@("`@("`@("`@("`@("`@("`@("`@
  49. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  50. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  51. XM("`@("`@("`@("`@("`@("`@("!X>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
  52. XM>'AX>'AX>'AX>'AX>'AX<R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  53. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@('@*>"`@("`@("`@("`@("`@
  54. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@(&%X
  55. XM>'AX>'AX>'AX>'AX>'AS("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  56. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  57. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  58. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  59. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  60. XM("`@("`@("`@("`@("`@("`@("`@("`@>`IX("`@("`@("`@("`@("`@("`@
  61. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!A>'AX
  62. XM>'AX>'AX>',@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  63. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('%X
  64. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX=R`@("`@("`@("`@("`@("`@("`@
  65. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  66. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  67. XM("`@("`@("`@("`@("`@("`@("!X"G@@("`@("`@("`@("`@("`@("`@("`@
  68. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@87AX>'AX
  69. XM>'AS("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  70. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@87AX>'AX
  71. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'<@("`@("`@("`@("`@("`@("`@
  72. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  73. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  74. XM("`@("`@("`@("`@("`@('@*>"`@("`@("`@("`@("`@("`@("`@("`@("`@
  75. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@(&%X>'AS("`@
  76. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  77. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  78. XM("`@("`@("!A>'AX>'AX>'AX>'AX>'AX>'AX>'AW("`@("`@("`@("`@("`@
  79. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  80. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  81. XM("`@("`@("`@("`@>`IX("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  82. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  83. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  84. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  85. XM("`@("`@("`@("`@(&%X>'AX>'AX>'AX>'AX>'AX>'AW("`@("`@("`@("`@
  86. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  87. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  88. XM("`@("`@("!X"G@@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  89. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  90. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  91. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  92. XM("`@("`@("`@("`@("`@(&%X>'AX>'AX>'AX>'AX>'AX>'<@("`@("`@("`@
  93. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  94. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  95. XM("`@('@*>"`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  96. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  97. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  98. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  99. XM("`@("`@("`@("`@("!A>'AX>'AX>'AX>'AX>'AX>"`@("`@("`@("`@("`@
  100. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  101. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  102. XM>`IX("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  103. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  104. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  105. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  106. XM("`@("`@("`@("!X>'AX>'AX>'AX>'AX>'AX("`@("`@("`@("`@("`@("`@
  107. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  108. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!X"G@@
  109. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  110. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  111. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  112. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  113. XM("`@("`@('AX>'AX>'AX>'AX>'AX>',@("`@("`@("`@("`@("`@("`@("`@
  114. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  115. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('@*>"`@("`@
  116. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  117. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  118. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  119. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@<7<@("`@("`@("`@("`@
  120. XM("!Q>'AX>'AX>'AX>'AX>',@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  121. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  122. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@>`IX("`@("`@("`@
  123. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  124. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  125. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  126. XM("`@("`@("`@("`@("`@("`@("`@("`@("!A>'AX=R`@("`@("`@("`@<7AX
  127. XM>'AX>'AX>'AX>'AS("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  128. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  129. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("!X"G@@("`@("`@("`@("`@
  130. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  131. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  132. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  133. XM("`@("`@("`@("`@("`@("`@("`@("!A>'AX>'AX>$9X>'AX>'AX>'AX>'AX
  134. XM>'AX>'AS("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  135. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  136. XM("`@("`@("`@("`@("`@("`@("`@("`@('@*>"`@("`@("`@("`@("`@("`@
  137. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  138. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  139. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  140. XM("`@("`@("`@("`@("`@("`@("!A>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AS
  141. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  142. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  143. XM("`@("`@("`@("`@("`@("`@("`@>`IX("`@("`@("`@("`@("`@("`@("`@
  144. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  145. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  146. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  147. XM("`@("`@("`@("`@("`@("!A>'AX>'AX>'AX>'AX>'AX>'AX>'AS("`@("`@
  148. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  149. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  150. XM("`@("`@("`@("`@("`@("!X"G@@("`@("`@("`@("`@("`@("`@("`@("`@
  151. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  152. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  153. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  154. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  155. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  156. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  157. XM("`@("`@("`@("`@('@*>"`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  158. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  159. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  160. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  161. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  162. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  163. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  164. XM("`@("`@("`@>`IX("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  165. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  166. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  167. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  168. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  169. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  170. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  171. XM("`@("!X"G@@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  172. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  173. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  174. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  175. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  176. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  177. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  178. XM('@*>"`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  179. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  180. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  181. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  182. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  183. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  184. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@>`IX
  185. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  186. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  187. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  188. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  189. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  190. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  191. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!X"G@@("`@
  192. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  193. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  194. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  195. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  196. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  197. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  198. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('@*>"`@("`@("`@
  199. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  200. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  201. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  202. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  203. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  204. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  205. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@>`IX("`@("`@("`@("`@
  206. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  207. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  208. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  209. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  210. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  211. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  212. XM("`@("`@("`@("`@("`@("`@("`@("`@("!X"G@@("`@("`@("`@("`@("`@
  213. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  214. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  215. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  216. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  217. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  218. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  219. XM("`@("`@("`@("`@("`@("`@("`@('@*>"`@("`@("`@("`@("`@("`@("`@
  220. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@<7AX>'AX>'AX>'AW("`@
  221. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  222. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  223. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  224. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  225. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  226. XM("`@("`@("`@("`@("`@("`@>`IX("`@("`@("`@("`@("`@("`@("`@("`@
  227. XM("`@("`@("`@("`@("`@("`@("`@("!Q>'AX>'AX>'AX>'AX>'AX=R`@("`@
  228. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  229. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@(&%X>'AX
  230. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AS("`@("`@("`@("`@("`@("`@("`@("`@
  231. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  232. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  233. XM("`@("`@("`@("`@("!X"G@@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  234. XM("`@("`@("`@("`@("`@("!Q>'AX>'AX>'AX>'AX>'AX>'AX=R`@("`@("`@
  235. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  236. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!A>'AX>'AX
  237. XM>'AX>'AX>'AX>'AX>'AS("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  238. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  239. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  240. XM("`@("`@("`@('@*>"`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  241. XM("`@("`@("`@("`@<7AX>'AX>'AX>'AX>'AX>'AX>'AX>'<@("`@("`@("`@
  242. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  243. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@(&%X>'AX>'AX
  244. XM>'AX>'AX>'AX<R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  245. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  246. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  247. XM("`@("`@>`IX("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  248. XM("`@("`@("!A>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AW("`@("`@("`@("`@
  249. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  250. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  251. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  252. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  253. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  254. XM("!X"G@@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  255. XM("`@("`@(&%X>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'<@("`@("`@("`@("`@
  256. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  257. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  258. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  259. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  260. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('@*
  261. XM>"`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  262. XM("`@("!A>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'<@("`@("`@("`@("`@("`@
  263. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  264. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  265. XM("`@("`@("`@("`@("!Q>'AX>'AX>'AX>'AX>'AX>'AW("`@("`@("`@("`@
  266. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  267. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@>`IX("`@
  268. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  269. XM("!A>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'<@("`@("`@("`@("`@("`@("`@
  270. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  271. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  272. XM("`@("`@("`@<7AX>'AX>'AX>'AX>'AX>'AX>'AX=R`@("`@("`@("`@("`@
  273. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  274. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!X"G@@("`@("`@
  275. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!A
  276. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>"`@("`@("`@("`@("`@("`@("`@("`@
  277. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  278. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  279. XM("`@("!X>'AX>'AX>'AX>'AX>'AX>'AX>'AX("`@("`@("`@("`@("`@("`@
  280. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  281. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('@*>"`@("`@("`@("`@
  282. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@87AX
  283. XM>'AX>'AX>'AX>'AX>'AX>'AS("`@("`@("`@("`@("`@("`@("`@("`@("`@
  284. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  285. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  286. XM(&%X>'AX>'AX>'AX>'AX>'AX>'AX>',@("`@("`@("`@("`@("`@("`@("`@
  287. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  288. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@>`IX("`@("`@("`@("`@("`@
  289. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@87AX>'AX
  290. XM>'AX>'AX>'AX1GAS("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  291. XM<7AX>'AX>'AX>'AW("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  292. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@(&%X
  293. XM>'AX>'AX>'AX>'AX>'AX>'AS("`@("`@("`@("`@("`@("`@("`@("`@("`@
  294. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  295. XM("`@("`@("`@("`@("`@("`@("`@("!X"G@@("`@("`@("`@("`@("`@("`@
  296. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@87AX>'AX
  297. XM>'AS("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!A>'AX
  298. XM1GAX>'AX>'AX>'AX>'AX>'AX>'AW("`@("`@("`@("`@("`@("`@("`@("`@
  299. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!A>'AX
  300. XM>'AX>'AX>'AX>'AX<R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  301. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  302. XM("`@("`@("`@("`@("`@("`@('@*>"`@("`@("`@("`@("`@("`@("`@("`@
  303. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@>'AX>'AX>"`@
  304. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  305. XM(&%X>'AX>'AX>'AX>'AX>'@@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  306. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!A>'AX>'AX
  307. XM>'AX>'AX<R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  308. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  309. XM("`@("`@("`@("`@("`@>`IX("`@("`@("`@("`@("`@("`@("`@("`@("`@
  310. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('%X>'AX>'AS("`@("`@
  311. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@(&%X
  312. XM>'AX>'AX>'AX>'AX>"`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  313. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  314. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  315. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  316. XM("`@("`@("`@("!X"G@@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  317. XM("`@("`@("`@("`@("`@("`@("`@("`@("!Q>'AX>'AX>"`@("`@("`@("`@
  318. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!A>'AX
  319. XM>'AX>'AX>'AS("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  320. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  321. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  322. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  323. XM("`@("`@('@*>"`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  324. XM("`@("`@("`@("`@("`@("`@('%&>'AX>'AX>'AX=R`@("`@("`@("`@("`@
  325. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!A>'AX>'AX
  326. XM>'AX<R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  327. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  328. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  329. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  330. XM("`@>`IX("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  331. XM("`@("`@("`@("`@('%X>'AX>'AX>'AX>'AX=R`@("`@("`@("`@("`@("`@
  332. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!X>'AX>'AX>',@
  333. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  334. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  335. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  336. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!X
  337. XM"G@@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!Q
  338. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX("`@("`@("`@("`@("`@("`@("`@
  339. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@<7AX>'AX>'AS("`@("`@
  340. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  341. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  342. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  343. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('@*>"`@
  344. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!Q>'AX>'AX
  345. XM>'AX>'AX>'AX>'AX>'AX>'AX>',@("`@("`@("`@("`@("`@("`@("`@("`@
  346. XM("`@("`@("`@("`@("`@("`@("`@("`@('%X>'AX>'AX<R`@("`@("`@("`@
  347. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  348. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  349. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  350. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@>`IX("`@("`@
  351. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('AX>'AX>'AX>'AX
  352. XM>'AX>'AX>'AX>'AS("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  353. XM("`@("`@("`@("`@("`@("`@("!Q>'AX>'AX>"`@("`@("`@("`@("`@("`@
  354. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  355. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  356. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  357. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!X"G@@("`@("`@("`@
  358. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!A>'AX>'AX>'AX
  359. XM>'AX>'AS("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  360. XM("`@("`@("`@("`@("`@('AX>'AX>'AX=R`@("`@("`@("`@("`@("`@("`@
  361. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  362. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  363. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  364. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@('@*>"`@("`@("`@("`@("`@
  365. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!A>'AX>'AX>'AX
  366. XM>"`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  367. XM("`@("`@("`@("`@87AX>'AX>'AX>'<@("`@("`@("`@("`@("`@("`@("`@
  368. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  369. XM("`@("`@("`@("`@("`@("`@("`@<7AX>'AX>'AX>'AX>'AX>'<@("`@("`@
  370. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  371. XM("`@("`@("`@("`@("`@("`@("`@("`@>`IX("`@("`@("`@("`@("`@("`@
  372. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@87AX>'AX>'AX=R`@
  373. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  374. XM("`@("`@("`@87AX>'AX>'AX>'<@("`@("`@("`@("`@("`@("`@("`@("`@
  375. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  376. XM("`@("`@("`@("`@("`@<7AX>'AX>'AX>'AX>'AX>'AX>'AW("`@("`@("`@
  377. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  378. XM("`@("`@("`@("`@("`@("`@("!X"G@@("`@("`@("`@("`@("`@("`@("`@
  379. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@(&%X>'AX>'AX=R`@("`@
  380. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  381. XM("`@("`@87AX>'AX>'AX>'<@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  382. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  383. XM("`@("`@("`@<7AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'<@("`@("`@("`@
  384. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  385. XM("`@("`@("`@("`@("`@('@*>"`@("`@("`@("`@("`@("`@("`@("`@("`@
  386. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("!A>'AX>'AX>'<@("`@("`@
  387. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  388. XM("`@87AX>'AX>'AX>'<@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  389. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  390. XM("`@<7AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX=R`@("`@("`@("`@
  391. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  392. XM("`@("`@("`@("`@>`IX("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  393. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@87AX>'AX>"`@("`@("`@("`@
  394. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  395. XM87AX>'AX>'AX>'<@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  396. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!X
  397. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX("`@("`@("`@("`@("`@
  398. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  399. XM("`@("`@("!X"G@@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  400. XM("`@("`@("`@("`@("`@("`@("`@("`@(&%X>'AS("`@("`@("`@("`@*B`@
  401. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@87AX
  402. XM>'AX>'AX>'<@("`@("`@("`@("`@("`@("`@("`@("`@('AX>'AX>'AX>'AX
  403. XM>'AX>'AX=R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@(&%X>'AX
  404. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>',@("`@("`@("`@("`@("`@("`@
  405. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  406. XM("`@('@*>"`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  407. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('%X>'AX>'AX>'AX>'AW
  408. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@87AX>'AX
  409. XM>'AX>'<@("`@("`@("`@("`@("`@("`@("`@("`@>'AX>'AX>'AX>'AX>'AX
  410. XM>'AX>'AX=R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!X>'AX>'AX
  411. XM>'AX>'AX>'AX>'AX>'AX>'AX>',@("`@("`@("`@("`@("`@("`@("`@("`@
  412. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  413. XM>`IX("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  414. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@>'AX>'AX>'AX>'AX>'AX=R`@
  415. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@87AX>'AX>'AX
  416. XM>'<@("`@("`@("`@("`@("`@("`@("`@("!A>'AX>'AX>'AX>'AX>'AX>'AX
  417. XM>'AX>'<@("`@("`J("`@("`@("`@("`@("`@("`@("`@('AX>'AX>'AX>'AX
  418. XM>'AX>'AX>'AX>'AX>',@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  419. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!X"G@@
  420. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  421. XM("`@("`@("`@("`@("`@("`@("`@("!A>'AX>'AX>'AX>'AX>'AX>'<@("`@
  422. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@87AX>'AX>'AX>'<@
  423. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@(&%X>'AX>'AX>'AX>'AX
  424. XM>'AX>'AX>'AX>'AX>'AW("`@("`@("`@("`@("`@>'AX>'AX>'AX>'AX>'AX
  425. XM>'AX>'AX>',@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  426. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('@*>"`@("`@
  427. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  428. XM("`@("`@("`@("`@("`@("`@("`@("`@("!A>'AX>'AX>'AX>"`@("`@("`@
  429. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@('%X>'AX>'AX>'AX>"`@("`@
  430. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@87AX>'AX>'AX>'AX
  431. XM>'AX>'AX>'AX>'AX>'AW("`@("`@("`@('%X>'AX>'AX>'AX>'AX>'AX>'AX
  432. XM<R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  433. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@>`IX("`@("`@("`@
  434. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  435. XM("`@("`@("`@("`@("`@("`@("`@("`@87AX>'AX>'AX("`@("`@("`@("`@
  436. XM("`@("`@("`@("`@("`@("`@("`@("`@>'AX>'AX>'AX>'AS("`@("`@("`@
  437. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!A>'AX>'AX>'AX
  438. XM>'AX>'AX>'AX>'AX>'AW("`@<7AX>'AX>'AX>'AX>'AX>'AX>'AS("`@("`@
  439. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  440. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("!X"G@@("`@("`@("`@("`@
  441. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  442. XM("`@("`@("`@("`@("`@("`@("`@>'AX>'AX>',@("`@("`@("`@("`@("`@
  443. XM("`@("`@("`@("`@("`@("`@("!A>'AX>'AX>'AX<R`@("`@("`@("`@("`@
  444. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@(&%X>'AX>'AX
  445. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX<R`@("`@("`@("`@
  446. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  447. XM("`@("`@("`@("`@("`@("`@("`@("`@('@*>"`@("`@("`@("`@("`@("`@
  448. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  449. XM("`@("`@("`@("`@("`@("!X>'AX>'AS("`@("`@("`@("`@("`@("`@("`@
  450. XM("`@("`@("`@("`@("`@("!A>'AX>'AX>'@@("`@("`@("`@("`@("`@("`@
  451. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!A>'AX>'AX>'AX
  452. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>',@("`@("`@("`@("`@("`@("`@
  453. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  454. XM("`@("`@("`@("`@("`@("`@("`@>`IX("`@("`@("`@("`@("`@("`@("`@
  455. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  456. XM("`@("`@("`@("`@<7AX>'AX>"`@("`@("`@("`@("`@("`@("`@("`@("`@
  457. XM("`@("`@("`@("`@("`@87AX>'AX>"`@("`@("`@("`@("`@("`@("`@("`@
  458. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@87AX>'AX>'AX>'AX
  459. XM>'AX>'AX>',@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  460. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  461. XM("`@("`@("`@("`@("`@("!X"G@@("`@("`@("`@("`@("`@("`@("`@("`@
  462. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  463. XM("`@("`@<7AX>'AX>'AX("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  464. XM("`@("`@("`@("`@87AX>'AX1GAW("`@("`@("`@("`@("`@("`@("`@("`@
  465. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@(&%X>'AX>'AX>'AX>'AS
  466. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  467. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  468. XM("`@("`@("`@("`@('@*>"`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  469. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  470. XM('%X>'AX>'AX>'@@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  471. XM("`@("`@("`@(&%X>'AX>'AW("`@("`@("`@("`@("`@("`@("`@("`@("`@
  472. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("!A>'AX>'AX>'AX>"`@("`@
  473. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  474. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  475. XM("`@("`@("`@>`IX("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  476. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!Q>'AX
  477. XM>'AX>'AX<R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  478. XM("`@("`@(&%X>'AX>'@@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  479. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@(&%X>'AX>'AX=R`@("`@("`@
  480. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  481. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  482. XM("`@("!X"G@@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  483. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!Q>'AX>'AX>'AX
  484. XM>',@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  485. XM("`@(&%X>'AX<R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  486. XM("`@("`@("`@("`@("`@("`@("`@("`@(&%X>'AX>'AX>'<@("`@("`@("`@
  487. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  488. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  489. XM('@*>"`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  490. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("!Q>'AX>'AX>'AX>'AS("`@
  491. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  492. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  493. XM("`@("`@("`@("`@("`@("`@("`@("!A>'AX>'AX>'AW("`@("`@("`@("`@
  494. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  495. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@>`IX
  496. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  497. XM("`@("`@("`@("`@("`@("`@("`@("`@<7AX>'AX>'AX>'AX<R`@("`@("`@
  498. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  499. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  500. XM("`@("`@("`@("`@("`@("`@("`@("!A>'AX>'AX>'AW("`@("`@("`@("`@
  501. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  502. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!X"G@@("`@
  503. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  504. XM("`@("`@("`@("`@("`@("`@<7AX>'AX>'AX>'AX<R`@("`@("`@("`@("`@
  505. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  506. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  507. XM("`@("`@("`@("`@("`@("`@("`@("`@87AX>'AX>'<@("`@("`@("`@<7AW
  508. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  509. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('@*>"`@("`@("`@
  510. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  511. XM("`@("`@("`@("`@('%X>'AX>'AX>'AX<R`@("`@("`@("`@("`@("`@("`@
  512. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  513. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  514. XM("`@("`@("`@("`@("`@("`@("`@("`@87AX>'AX>'A&>'AX>'AX>'@@("`@
  515. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  516. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@>`IX("`@("`@("`@("`@
  517. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  518. XM("`@("`@('%X>'AX>'AX>'AX<R`@("`@("`@("`@("`@("`@("`@("`@("`@
  519. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  520. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  521. XM("`@("`@("`@("`@("`@("`@("`@87AX>'AX>'AX>'AX>'AX<R`@("`@("`@
  522. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  523. XM("`@("`@("`@("`@("`@("`@("`@("`@("!X"G@@("`@("`@("`@("`@("`@
  524. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  525. XM('%X>'AX>'AX>'AS("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  526. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  527. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  528. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  529. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  530. XM("`@("`@("`@("`@("`@("`@("`@('@*>"`@("`@("`@("`@("`@("`@("`@
  531. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('%X>'AX>'AX
  532. XM>'AX>',@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  533. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  534. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  535. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  536. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  537. XM("`@("`@("`@("`@("`@("`@>`IX("`@("`@("`@("`@("`@("`@("`@("`@
  538. XM("`@("`@("`@("`@("`@("`@("`@("`@("!Q>'AX>'AX>'AX>'AX>'AX<R`@
  539. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  540. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  541. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  542. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  543. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  544. XM("`@("`@("`@("`@("!X"G@@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  545. XM("`@("`@("`@("`@("!Q>'AX>'AX>'AX>'AX>'AX>'AX>'AX>',@("`@("`@
  546. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  547. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  548. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  549. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  550. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  551. XM("`@("`@("`@('@*>"`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  552. XM("!Q>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>',@("`@("`@("`@("`@
  553. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  554. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  555. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  556. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  557. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  558. XM("`@("`@>`IX("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@>'AX>'AX
  559. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AS("`@("`@("`@("`@("`@("`@("`@
  560. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  561. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  562. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  563. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  564. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  565. XM("!X"G@@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  566. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  567. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  568. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  569. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  570. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  571. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('@*
  572. XM>"`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  573. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  574. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  575. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  576. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  577. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  578. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@>`IX("`@
  579. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  580. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  581. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  582. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  583. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  584. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  585. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!X"G@@("`@("`@
  586. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  587. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  588. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  589. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  590. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  591. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  592. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('@*>"`@("`@("`@("`@
  593. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  594. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  595. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  596. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  597. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  598. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  599. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@>`IX("`@("`@("`@("`@("`@
  600. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  601. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  602. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  603. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  604. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  605. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  606. XM("`@("`@("`@("`@("`@("`@("`@("!X"G@@("`@("`@("`@("`@("`@("`@
  607. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  608. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  609. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  610. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  611. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  612. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  613. XM("`@("`@("`@("`@("`@("`@('@*>"`@("`@("`@("`@("`@("`@("`@("`@
  614. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  615. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  616. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  617. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  618. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  619. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  620. XM("`@("`@("`@("`@("`@>`IX("`@("`@("`@("`@("`@("`@("`@("`@("`@
  621. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  622. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  623. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  624. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  625. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  626. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  627. XM("`@("`@("`@("!X"G@@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  628. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  629. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  630. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  631. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  632. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  633. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  634. XM("`@("`@('@*>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
  635. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
  636. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
  637. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
  638. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
  639. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
  640. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
  641. X%>'AX>`IX
  642. X`
  643. Xend
  644. END_OF_FILE
  645. if test 37650 -ne `wc -c <'maps/planetx.uue.3'`; then
  646.     echo shar: \"'maps/planetx.uue.3'\" unpacked with wrong size!
  647. fi
  648. # end of 'maps/planetx.uue.3'
  649. fi
  650. if test -f 'src/collision.c' -a "${1}" != "-c" ; then 
  651.   echo shar: Will not clobber existing file \"'src/collision.c'\"
  652. else
  653. echo shar: Extracting \"'src/collision.c'\" \(11156 characters\)
  654. sed "s/^X//" >'src/collision.c' <<'END_OF_FILE'
  655. X/* collision.c,v 1.10 1992/06/28 05:38:07 bjoerns Exp
  656. X *
  657. X *    This file is part of the XPilot project, written by
  658. X *
  659. X *        Bjxrn Stabell (bjoerns@stud.cs.uit.no)
  660. X *        Ken Ronny Schouten (kenrsc@stud.cs.uit.no)
  661. X *
  662. X *    Copylefts are explained in the LICENSE file.
  663. X */
  664. X
  665. X#include "global.h"
  666. X#include "map.h"
  667. X#include "score.h"
  668. X#include "robot.h"
  669. X
  670. X#ifndef    lint
  671. Xstatic char sourceid[] =
  672. X    "@(#)collision.c,v 1.10 1992/06/28 05:38:07 bjoerns Exp";
  673. X#endif
  674. X
  675. X#define in_range(o1, o2, r)    ( \
  676. X    (ABS((o1)->pos.x-(o2)->pos.x)<(r) && ABS((o1)->pos.y-(o2)->pos.y)<(r)) \
  677. X                 ? true : false)
  678. X
  679. X
  680. Xextern long KILLING_SHOTS;
  681. Xstatic char msg[MSG_LEN];
  682. X
  683. X
  684. X
  685. Xint Rate(int winner, int looser)
  686. X{
  687. X    int t;
  688. X
  689. X
  690. X    t = ((RATE_SIZE/2) * RATE_RANGE) / (ABS(looser-winner) + RATE_RANGE);
  691. X
  692. X    if (looser > winner)
  693. X    t = RATE_SIZE - t;
  694. X
  695. X    return (t);
  696. X}
  697. X
  698. X
  699. Xvoid Check_collision(void)
  700. X{
  701. X    int i, j, x, y, killer, range, sc, t;
  702. X    player *pl;
  703. X    int xd, yd;
  704. X    bool labels=false;
  705. X
  706. X
  707. X    /*
  708. X     * Collision detection.
  709. X     */
  710. X    for (i=0; i<NumPlayers; i++) {
  711. X    pl=Players[i];
  712. X    if (!BIT(pl->status, PLAYING) || BIT(pl->status, GAME_OVER))
  713. X        continue;
  714. X
  715. X    if (pl->pos.x<0 || pl->pos.y<0 ||
  716. X        pl->pos.x>=(World.x*BLOCK_SZ) ||
  717. X        pl->pos.y>=(World.y*BLOCK_SZ))
  718. X        SET_BIT(pl->status, KILLED);
  719. X
  720. X    /* Player - player */
  721. X    if (BIT(World.rules->mode, CRASH_WITH_PLAYER)) {
  722. X        for (j=i+1; j<NumPlayers; j++)
  723. X        if (in_range((object *)pl,
  724. X                 (object *)Players[j], 2*SHIP_SZ-6) &&
  725. X            (BIT(Players[j]->status, PLAYING) &&
  726. X             !BIT(Players[j]->status, GAME_OVER)))
  727. X            if (!TEAM(i, j)) {
  728. X            sprintf(msg, "%s and %s crashed.",
  729. X                pl->name, Players[j]->name);
  730. X            Set_message(msg);
  731. X/*            if (!BIT(pl->status, KILLED))
  732. X                SCORE(i, PTS_PR_PL_CRASH);
  733. X            if (!BIT(Players[j]->status, KILLED))
  734. X                SCORE(j, PTS_PR_PL_CRASH);
  735. X*/            ENERGY(i, ED_PL_CRASH);
  736. X            ENERGY(j, ED_PL_CRASH);
  737. X            SET_BIT(pl->status, KILLED);
  738. X            SET_BIT(Players[j]->status, KILLED);
  739. X            }
  740. X    }
  741. X
  742. X    /* Player checkpoint */
  743. X    if (BIT(World.rules->mode, TIMING))
  744. X        if (LENGTH(Players[i]->pos.x -
  745. X               (World.check[Players[i]->check].x*BLOCK_SZ),
  746. X               Players[i]->pos.y -
  747. X               (World.check[Players[i]->check].y*BLOCK_SZ))
  748. X        < 200) {
  749. X
  750. X        if (Players[i]->check == 0) {
  751. X            Players[i]->round++;
  752. X            if (((Players[i]->best_lap > 
  753. X              Players[i]->time - Players[i]->last_lap) ||
  754. X             (Players[i]->best_lap == 0)) && 
  755. X            (Players[i]->time != 0))
  756. X            Players[i]->best_lap = 
  757. X                Players[i]->time - Players[i]->last_lap;
  758. X            Players[i]->last_lap_time = Players[i]->time 
  759. X            - Players[i]->last_lap;
  760. X            Players[i]->last_lap = Players[i]->time;
  761. X        }
  762. X
  763. X        Players[i]->check++;
  764. X
  765. X        if (Players[i]->check == World.NumChecks)
  766. X            Players[i]->check = 0;
  767. X        }
  768. X
  769. X    /*
  770. X     * Collision between a player and an object.
  771. X     */
  772. X    for (j=0; j<NumObjs; j++) {
  773. X        range=SHIP_SZ;
  774. X        if (Obj[j]->type == OBJ_SMART_SHOT)
  775. X        range+=4;
  776. X        if (Obj[j]->type == OBJ_MINE)
  777. X        range+=100;
  778. X
  779. X        if (BIT(pl->status, KILLED) ||
  780. X        (!in_range((object *)pl, Obj[j], range)))
  781. X        continue;
  782. X
  783. X        if ((Obj[j]->type==OBJ_SPARK && Obj[j]->id==pl->id) ||
  784. X        (Obj[j]->type==OBJ_MINE &&
  785. X         (Obj[j]->id==pl->id || TEAM(GetInd[Obj[j]->id], i))))
  786. X        continue;
  787. X
  788. X        if ((Obj[j]->id != -1) &&
  789. X        (TEAM(i, GetInd[Obj[j]->id])) &&
  790. X        (pl->id != Obj[j]->id))
  791. X        continue;
  792. X        else
  793. X        Obj[j]->life=0;
  794. X        
  795. X        Delta_mv((object *)pl, (object *)Obj[j]);
  796. X
  797. X        /*
  798. X         * Object collision.
  799. X         */
  800. X        switch (Obj[j]->type) {
  801. X        case OBJ_WIDEANGLE_SHOT:
  802. X        pl->extra_shots++;
  803. X        break;
  804. X        case OBJ_SENSOR_PACK:
  805. X        pl->sensors++;
  806. X        pl->updateVisibility = 1;
  807. X        break;
  808. X        case OBJ_REAR_SHOT:
  809. X        SET_BIT(pl->have, OBJ_REAR_SHOT);
  810. X        break;
  811. X        case OBJ_SMART_SHOT_PACK:
  812. X        pl->missiles += 4;
  813. X        break;
  814. X        case OBJ_CLOAKING_DEVICE:
  815. X        SET_BIT(pl->have, OBJ_CLOAKING_DEVICE);
  816. X        pl->cloaks++;
  817. X        pl->updateVisibility = 1;
  818. X        break;
  819. X        case OBJ_ENERGY_PACK:
  820. X        pl->fuel += 500+(rand()%500);
  821. X        pl->fuel_count = 150;
  822. X        pl->fuel = MIN(pl->max_fuel, pl->fuel);
  823. X        break;
  824. X        case OBJ_MINE_PACK:
  825. X        pl->mines++;
  826. X        break;
  827. X
  828. X        case OBJ_MINE:
  829. X        sprintf(msg, "%s hit mine dropped by %s.", pl->name,
  830. X            Players[killer=GetInd[Obj[j]->id]]->name);
  831. X        sc = Rate(Players[killer]->score, pl->score) / 6;
  832. X        SCORE(killer, sc);
  833. X        SCORE(i, -sc);
  834. X        Set_message(msg);
  835. X        break;
  836. X        default:
  837. X        break;
  838. X        }
  839. X
  840. X        if (!BIT(Obj[j]->type, KILLING_SHOTS))
  841. X        continue;
  842. X
  843. X        if (BIT(pl->used, OBJ_SHIELD)) {
  844. X        switch (Obj[j]->type) {
  845. X        case OBJ_SMART_SHOT:
  846. X            pl->fuel+=ED_SMART_SHOT_HIT;
  847. X            pl->forceVisible += 2;
  848. X            break;
  849. X
  850. X        case OBJ_SHOT:
  851. X        case OBJ_CANNON_SHOT:
  852. X            pl->fuel+=ED_SHOT_HIT;
  853. X            pl->forceVisible += 1;
  854. X            break;
  855. X
  856. X        default:
  857. X            printf("You were hit by what?\n");
  858. X            break;
  859. X        }
  860. X        } else
  861. X        if (BIT(Obj[j]->type, (OBJ_SHOT|OBJ_SMART_SHOT))) {
  862. X            sprintf(msg, "%s was shot down by %s.", pl->name,
  863. X                Players[killer=GetInd[Obj[j]->id]]->name);
  864. X            SET_BIT(pl->status, KILLED);
  865. X            if (killer == i) {
  866. X                strcat(msg, " How strange!...");
  867. X                SCORE(i, PTS_PR_PL_SHOT);
  868. X            } else {
  869. X                sc = Rate(Players[killer]->score, pl->score);
  870. X                SCORE(killer, sc);
  871. X                SCORE(i, -sc);
  872. X            }
  873. X            Set_message(msg);
  874. X            }
  875. X        else if (BIT(Obj[j]->type, OBJ_CANNON_SHOT)) {
  876. X            sprintf(msg, "%s was hit by cannonfire.", pl->name);
  877. X            Set_message(msg);
  878. X            SCORE(i, -Rate(CANNON_RATING, pl->score)/4);
  879. X            SET_BIT(pl->status, KILLED);
  880. X        }
  881. X    }
  882. X
  883. X
  884. X
  885. X    /* Player - wall */
  886. X    if (!(BIT(pl->used, OBJ_TRAINER) || BIT(pl->status, KILLED))) {
  887. X        for(j=0; j<3 && !BIT(pl->status, KILLED); j++) {
  888. X        switch (World.block
  889. X    [x = (int) ((pl->pos.x + ships[pl->dir].pts[j].x) / BLOCK_SZ)]
  890. X    [y = (int) ((pl->pos.y + ships[pl->dir].pts[j].y) / BLOCK_SZ)]) {
  891. X        case FUEL:
  892. X        case FILLED:
  893. X        case FILLED_NO_DRAW:
  894. X            if (!Landing(i, j)) {
  895. X            SET_BIT(pl->status, KILLED);
  896. X            SCORE(i, -Rate(WALL_RATING, pl->score));
  897. X            }
  898. X            break;
  899. X        case REC_LU:
  900. X            if ((((int)(pl->pos.x
  901. X                +ships[pl->dir].pts[j].x))
  902. X             % BLOCK_SZ)
  903. X            <= (((int)(pl->pos.y
  904. X                   +ships[pl->dir].pts[j].y))
  905. X                % BLOCK_SZ)) {
  906. X            if (!Landing(i, j)) {
  907. X                SET_BIT(pl->status, KILLED);
  908. X                SCORE(i, -Rate(WALL_RATING, pl->score));
  909. X            }
  910. X            }
  911. X            break;
  912. X        case REC_RU:
  913. X            if ((((int)(pl->pos.x
  914. X                +ships[pl->dir].pts[j].x)) % BLOCK_SZ)
  915. X                >= BLOCK_SZ - (((int)(pl->pos.y
  916. X            +ships[pl->dir].pts[j].y)) % BLOCK_SZ)) {
  917. X            if (!Landing(i, j)) {
  918. X                SET_BIT(pl->status, KILLED);
  919. X                SCORE(i, -Rate(WALL_RATING, pl->score));
  920. X            }
  921. X            }
  922. X            break;
  923. X        case REC_LD:
  924. X            if ((((int)(pl->pos.x
  925. X                +ships[pl->dir].pts[j].x)) % BLOCK_SZ)
  926. X            <= BLOCK_SZ - (((int)(pl->pos.y
  927. X            +ships[pl->dir].pts[j].y)) % BLOCK_SZ)) {
  928. X            SET_BIT(pl->status, KILLED);
  929. X            sprintf(msg,"%s crashed into the wall.",
  930. X                pl->name);
  931. X            Set_message(msg);
  932. X            SCORE(i, -Rate(WALL_RATING, pl->score));
  933. X            }
  934. X            break;
  935. X        case REC_RD:
  936. X            if ((((int)(pl->pos.x
  937. X                +ships[pl->dir].pts[j].x)) % BLOCK_SZ)
  938. X            >= (((int)(pl->pos.y
  939. X            +ships[pl->dir].pts[j].y)) % BLOCK_SZ)) {
  940. X            SET_BIT(pl->status, KILLED);
  941. X            sprintf(msg, "%s crashed into the wall.",
  942. X                pl->name);
  943. X            Set_message(msg);
  944. X            SCORE(i, -Rate(WALL_RATING, pl->score));
  945. X            }
  946. X            break;
  947. X        case CANNON:
  948. X            xd = pl->pos.x + ships[pl->dir].pts[j].x;
  949. X            yd = pl->pos.y + ships[pl->dir].pts[j].y;
  950. X
  951. X            for(t=0; World.cannon[t].pos.x!=x ||
  952. X            World.cannon[t].pos.y!=y; t++);
  953. X
  954. X            if (World.cannon[t].dead_time > 0)
  955. X            break;
  956. X
  957. X            if (((World.cannon[t].dir == DIR_UP) &&
  958. X            (yd%BLOCK_SZ < BLOCK_SZ/3)) ||
  959. X            ((World.cannon[t].dir == DIR_DOWN) &&
  960. X            (yd%BLOCK_SZ > 2*BLOCK_SZ/3)) ||
  961. X            ((World.cannon[t].dir == DIR_RIGHT) &&
  962. X            (xd%BLOCK_SZ < BLOCK_SZ/3)) ||
  963. X            ((World.cannon[t].dir == DIR_LEFT) &&
  964. X            (xd%BLOCK_SZ > 2*BLOCK_SZ/3))) {
  965. X            SET_BIT(pl->status, KILLED);
  966. X            sprintf(msg, "%s crashed with a cannon.",
  967. X                pl->name);
  968. X            SCORE(i, -Rate(WALL_RATING, pl->score));
  969. X            Set_message(msg);
  970. X            World.cannon[t].dead_time = CANNON_DEAD_TIME;
  971. X            World.cannon[t].active = false;
  972. X            Explode_object((double)(x*BLOCK_SZ),
  973. X                       (double)(y*BLOCK_SZ),
  974. X                       World.cannon[t].dir, RES*0.4,
  975. X                       120);
  976. X            }
  977. X
  978. X            break;
  979. X        case WORMHOLE:
  980. X            SET_BIT(pl->status, WARPING);
  981. X            pl->forceVisible += 15;
  982. X            break;
  983. X        default:
  984. X            break;
  985. X        }
  986. X        }
  987. X        if (BIT(pl->status, KILLED) && pl->score < 0
  988. X        && pl->robot_mode != RM_NOT_ROBOT) {
  989. X        pl->home_base = -1;
  990. X        Pick_startpos(i);
  991. X        }
  992. X    }
  993. X    }
  994. X
  995. X
  996. X
  997. X    /* Shot - wall, and out of bounds */
  998. X    for (i=0; i<NumObjs; i++) {
  999. X    x=(int)(Obj[i]->pos.x/BLOCK_SZ);
  1000. X    y=(int)(Obj[i]->pos.y/BLOCK_SZ);
  1001. X
  1002. X    if (x<0 || x>=World.x || y<0 || y>=World.y)
  1003. X        Obj[i]->life=0;
  1004. X    else
  1005. X        switch (World.block[x][y]) {
  1006. X
  1007. X    case FUEL:
  1008. X    case FILLED:
  1009. X    case FILLED_NO_DRAW:
  1010. X        Obj[i]->life=0;
  1011. X        break;
  1012. X
  1013. X    case REC_LU:
  1014. X        if ((int)Obj[i]->pos.x % BLOCK_SZ
  1015. X        <= (int)Obj[i]->pos.y % BLOCK_SZ)
  1016. X        Obj[i]->life=0;
  1017. X        break;
  1018. X
  1019. X    case REC_RU:
  1020. X        if ((int)Obj[i]->pos.x % BLOCK_SZ
  1021. X        >= BLOCK_SZ - ((int)Obj[i]->pos.x % BLOCK_SZ))
  1022. X        Obj[i]->life=0;
  1023. X        break;
  1024. X
  1025. X    case REC_LD:
  1026. X        if ((int)Obj[i]->pos.x % BLOCK_SZ
  1027. X        <= BLOCK_SZ - ((int)Obj[i]->pos.y % BLOCK_SZ))
  1028. X        Obj[i]->life=0;
  1029. X        break;
  1030. X
  1031. X    case REC_RD:
  1032. X        if ((int)Obj[i]->pos.x % BLOCK_SZ
  1033. X        >= ((int)Obj[i]->pos.y % BLOCK_SZ))
  1034. X        Obj[i]->life=0;
  1035. X        break;
  1036. X
  1037. X    case CANNON:
  1038. X        if (!BIT(Obj[i]->type, KILLING_SHOTS&(~OBJ_CANNON_SHOT)))
  1039. X        break;
  1040. X
  1041. X        xd=Obj[i]->pos.x;
  1042. X        yd=Obj[i]->pos.y;
  1043. X
  1044. X        for(t=0; World.cannon[t].pos.x!=x ||
  1045. X        World.cannon[t].pos.y!=y; t++);
  1046. X
  1047. X        if (World.cannon[t].dead_time > 0)
  1048. X        break;
  1049. X
  1050. X        if (((World.cannon[t].dir == DIR_UP) &&
  1051. X         (yd%BLOCK_SZ <= BLOCK_SZ/3)) ||
  1052. X        ((World.cannon[t].dir == DIR_DOWN) &&
  1053. X         (yd%BLOCK_SZ >= 2*BLOCK_SZ/3)) ||
  1054. X        ((World.cannon[t].dir == DIR_RIGHT) &&
  1055. X         (xd%BLOCK_SZ <= BLOCK_SZ/3)) ||
  1056. X        ((World.cannon[t].dir == DIR_LEFT) &&
  1057. X         (xd%BLOCK_SZ >= 2*BLOCK_SZ/3))) {
  1058. X
  1059. X        World.cannon[t].dead_time = CANNON_DEAD_TIME;
  1060. X        World.cannon[t].active    = false;
  1061. X        Explode_object((double)(x*BLOCK_SZ+BLOCK_SZ/2),
  1062. X                   (double)(y*BLOCK_SZ+BLOCK_SZ/2),
  1063. X                   World.cannon[t].dir, RES*0.4, 80);
  1064. X        killer = GetInd[Obj[i]->id];
  1065. X        SCORE(killer, Rate(pl->score, CANNON_RATING)/4);
  1066. X        }
  1067. X
  1068. X        break;
  1069. X
  1070. X    default:
  1071. X        break;
  1072. X    }
  1073. X    }
  1074. X
  1075. X    if (labels)
  1076. X    Set_label_strings();
  1077. X}
  1078. X
  1079. X
  1080. X
  1081. Xbool Landing(int ind, int point)
  1082. X{
  1083. X    double y;
  1084. X    player *pl = Players[ind];
  1085. X
  1086. X
  1087. X    if (point == 0) {                /* Head first? Sorry.. :) */
  1088. X    sprintf(msg, "%s had a head first landing.", Players[ind]->name);
  1089. X    Set_message(msg);
  1090. X    return False;
  1091. X    }
  1092. X
  1093. X    if (ABS(pl->vel.y) > 6.0) {            /* Too fast? */
  1094. X    sprintf(msg, "%s had a heavy landing.", Players[ind]->name);
  1095. X    Set_message(msg);
  1096. X    return False;
  1097. X    }
  1098. X
  1099. X    if ((pl->dir >= (1.3*RES/4)) ||    /* Right angle? */
  1100. X    (pl->dir <= (0.7*RES/4))) {
  1101. X    sprintf(msg, "%s had a bad landing.", Players[ind]->name);
  1102. X    Set_message(msg);
  1103. X    return False;
  1104. X    }
  1105. X
  1106. X    if (((int)(y=pl->pos.y+ships[pl->dir].pts[point].y) % BLOCK_SZ)
  1107. X    < (BLOCK_SZ*0.80)) {            /* Right position? */
  1108. X    sprintf(msg, "%s crashed.", Players[ind]->name);
  1109. X    Set_message(msg);
  1110. X    return False;
  1111. X    }
  1112. X
  1113. X    pl->vel.x*=0.95;
  1114. X    pl->dir-=((pl->dir - (RES/4))*0.2);
  1115. X    pl->pos.y = (1+(int)(y/BLOCK_SZ))*BLOCK_SZ
  1116. X    - ships[pl->dir].pts[point].y;
  1117. X
  1118. X    pl->vel.y = 0.90*ABS(pl->vel.y);
  1119. X
  1120. X
  1121. X    return True;
  1122. X}
  1123. END_OF_FILE
  1124. echo shar: 1 control character may be missing from \"'src/collision.c'\"
  1125. if test 11156 -ne `wc -c <'src/collision.c'`; then
  1126.     echo shar: \"'src/collision.c'\" unpacked with wrong size!
  1127. fi
  1128. # end of 'src/collision.c'
  1129. fi
  1130. if test -f 'src/config.h' -a "${1}" != "-c" ; then 
  1131.   echo shar: Will not clobber existing file \"'src/config.h'\"
  1132. else
  1133. echo shar: Extracting \"'src/config.h'\" \(1454 characters\)
  1134. sed "s/^X//" >'src/config.h' <<'END_OF_FILE'
  1135. X/* config.h,v 1.10 1992/06/26 17:04:14 bjoerns Exp
  1136. X *
  1137. X *    This file is part of the XPilot project, written by
  1138. X *
  1139. X *        Bjxrn Stabell (bjoerns@stud.cs.uit.no)
  1140. X *        Ken Ronny Schouten (kenrsc@stud.cs.uit.no)
  1141. X *
  1142. X *    Copylefts are explained in the LICENSE file.
  1143. X */
  1144. X
  1145. X/*
  1146. X * Configure these variables, that's what they're here for.
  1147. X */
  1148. X#ifndef LOCALGURU
  1149. X#    define LOCALGURU        "bjoerns@stud.cs.uit.no"
  1150. X#endif
  1151. X
  1152. X#ifndef LIBDIR
  1153. X#    define LIBDIR        "/usr/local/games/lib/xpilot/"
  1154. X#endif
  1155. X
  1156. X#ifndef MOTDFILE
  1157. X#    define MOTDFILE        LIBDIR "motd"
  1158. X#endif
  1159. X#ifndef LOGFILE
  1160. X#    define LOGFILE        LIBDIR "log"
  1161. X#endif
  1162. X#ifndef MAPDIR
  1163. X#    define MAPDIR        LIBDIR "maps/"
  1164. X#endif
  1165. X
  1166. X#ifndef    UPDATES_PR_FRAME
  1167. X#    define UPDATES_PR_FRAME    1
  1168. X#endif
  1169. X
  1170. X/*
  1171. X * If XHOST is defined, the hand-shake program will open a connection to the
  1172. X * specified host by executing XHOST_OPEN (%s will be substituted with the
  1173. X * server host) and closing it again with XHOST_CLOSE.  Note however that this
  1174. X * will only be done if the server complains that it couldn't open the display.
  1175. X *
  1176. X * All in all, a not perfect, but adequate solution, highly recommended for
  1177. X * X environments where Xauthority is used.
  1178. X */
  1179. X#define    XHOST
  1180. X#define XHOST_OPEN    "/usr/bin/X11/xhost +%s >/dev/null"
  1181. X#define XHOST_CLOSE    "/usr/bin/X11/xhost -%s >/dev/null"
  1182. X
  1183. X/*
  1184. X * Leave these alone.
  1185. X */
  1186. X#define REPORT_ADDRESS    "bjoerns@stud.cs.uit.no"
  1187. X
  1188. X#ifdef    DEBUG
  1189. X#    define D(x)    { {x}; fflush(stdout); }
  1190. X#else
  1191. X#    define D(x)    { ; }
  1192. X#endif
  1193. END_OF_FILE
  1194. echo shar: 1 control character may be missing from \"'src/config.h'\"
  1195. if test 1454 -ne `wc -c <'src/config.h'`; then
  1196.     echo shar: \"'src/config.h'\" unpacked with wrong size!
  1197. fi
  1198. # end of 'src/config.h'
  1199. fi
  1200. if test -f 'src/dbuff.c' -a "${1}" != "-c" ; then 
  1201.   echo shar: Will not clobber existing file \"'src/dbuff.c'\"
  1202. else
  1203. echo shar: Extracting \"'src/dbuff.c'\" \(4025 characters\)
  1204. sed "s/^X//" >'src/dbuff.c' <<'END_OF_FILE'
  1205. X/* $Id: dbuff.c,v 1.13 1992/07/10 21:40:58 bjoerns Exp $
  1206. X *
  1207. X *    This file is part of the XPilot project, written by
  1208. X *
  1209. X *        Bjxrn Stabell (bjoerns@stud.cs.uit.no)
  1210. X *        Ken Ronny Schouten (kenrsc@stud.cs.uit.no)
  1211. X *
  1212. X *    Copylefts are explained in the LICENSE file.
  1213. X */
  1214. X
  1215. X#include <stdio.h>
  1216. X#ifdef    apollo
  1217. X#    include <stdlib.h>
  1218. X#else
  1219. X#    include <malloc.h>
  1220. X#endif
  1221. X
  1222. X#include <X11/Xproto.h>
  1223. X#include <X11/Xlib.h>
  1224. X#include <X11/Xos.h>
  1225. X
  1226. X#include "global.h"
  1227. X#include "draw.h"
  1228. X#include "config.h"
  1229. X
  1230. X#ifndef    lint
  1231. Xstatic char sourceid[] =
  1232. X    "@(#)$Id: dbuff.c,v 1.13 1992/07/10 21:40:58 bjoerns Exp $";
  1233. X#endif
  1234. X
  1235. X
  1236. Xstatic void release(register dbuff_state_t *state)
  1237. X{
  1238. X    if (state != NULL) {
  1239. X    if (state->colormaps[0] != NULL) free(state->colormaps[0]);
  1240. X    if (state->colormaps[1] != NULL) free(state->colormaps[1]);
  1241. X    if (state->planes != NULL) free(state->planes);
  1242. X    free(state);
  1243. X    }
  1244. X}
  1245. X
  1246. X
  1247. Xstatic long color(register dbuff_state_t *state, register long simple_color)
  1248. X{
  1249. X    register long i, plane, computed_color;
  1250. X
  1251. X    computed_color = state->pixel;
  1252. X    for(plane=1, i=0; simple_color != 0; plane <<= 1, i++) {
  1253. X    if (plane & simple_color) {
  1254. X        computed_color |= state->planes[i];
  1255. X        simple_color &= ~plane;
  1256. X    }
  1257. X    }
  1258. X    return(computed_color);
  1259. X}
  1260. X
  1261. X
  1262. Xdbuff_state_t *start_dbuff(int ind, Display *display, Colormap cmap,
  1263. X               unsigned long planes, XColor *colors)
  1264. X{
  1265. X    register dbuff_state_t *state;
  1266. X    register i, high_mask, low_mask;
  1267. X
  1268. X
  1269. X    state = (dbuff_state_t *) malloc(sizeof(dbuff_state_t));
  1270. X    if (state == NULL)
  1271. X    return NULL;
  1272. X
  1273. X    state->map_size = 1 << (2 * planes);
  1274. X    state->colormaps[0] = (XColor *) malloc(state->map_size * sizeof(XColor));
  1275. X    state->colormaps[1] = (XColor *) malloc(state->map_size * sizeof(XColor));
  1276. X    state->planes = (unsigned long *) malloc ((2*planes) * sizeof(long));
  1277. X    if (state->colormaps[1] == NULL || state->colormaps[0] == NULL ||
  1278. X    state->planes == NULL) {
  1279. X    release(state);
  1280. X    return(NULL);
  1281. X    }
  1282. X    state->display = display;
  1283. X    state->cmap = cmap;
  1284. X
  1285. X    if (BIT(Players[ind]->disp_type, DT_HAVE_COLOR)) {
  1286. X    if (XAllocColorCells(state->display, state->cmap, False,
  1287. X                 state->planes, 2*planes, &state->pixel, 1) == 0) {
  1288. X        release(state);
  1289. X        return NULL;
  1290. X    }
  1291. X    }
  1292. X
  1293. X    state->masks[0] = AllPlanes;
  1294. X    state->masks[1] = AllPlanes;
  1295. X
  1296. X    for (i=0; i<planes; i++) {
  1297. X    state->masks[0] &= ~state->planes[i];
  1298. X    state->masks[1] &= ~state->planes[planes + i];
  1299. X    }
  1300. X
  1301. X    if (BIT(Players[ind]->disp_type, DT_HAVE_COLOR)) {
  1302. X    for (i=0; i<(1 << planes); i++) {
  1303. X        colors[i].pixel = color(state, i | (i << planes));
  1304. X        colors[i].flags = DoRed | DoGreen | DoBlue;
  1305. X    }
  1306. X    }
  1307. X    else {
  1308. X    colors[WHITE].pixel = WhitePixel(display, DefaultScreen(display));
  1309. X    colors[BLACK].pixel = BlackPixel(display, DefaultScreen(display));
  1310. X    colors[BLUE].pixel  = WhitePixel(display, DefaultScreen(display));
  1311. X    colors[RED].pixel   = WhitePixel(display, DefaultScreen(display));
  1312. X    }
  1313. X
  1314. X
  1315. X    low_mask = (1 << planes) - 1;
  1316. X    high_mask = low_mask << planes;
  1317. X    for (i=state->map_size-1; i>=0; i--) {
  1318. X    state->colormaps[0][i] = colors[i & low_mask];
  1319. X    state->colormaps[0][i].pixel = color(state, i);
  1320. X    state->colormaps[1][i] = colors[(i & high_mask) >> planes];
  1321. X    state->colormaps[1][i].pixel = color(state, i);
  1322. X    }
  1323. X
  1324. X    state->buffer = 0;
  1325. X    state->drawing_planes = state->masks[state->buffer];
  1326. X    if (BIT(Players[ind]->disp_type, DT_HAVE_COLOR))
  1327. X    XStoreColors(state->display, state->cmap,
  1328. X             state->colormaps[state->buffer], state->map_size);
  1329. X
  1330. X    return (state);
  1331. X}
  1332. X    
  1333. X
  1334. X
  1335. Xvoid dbuff_switch(register int ind, register dbuff_state_t *state)
  1336. X{
  1337. X    state->buffer ^= 1;
  1338. X
  1339. X    if (BIT(Players[ind]->disp_type, DT_HAVE_COLOR))
  1340. X    XStoreColors(state->display, state->cmap,
  1341. X             state->colormaps[state->buffer], state->map_size);
  1342. X
  1343. X    state->drawing_planes = state->masks[state->buffer];
  1344. X}
  1345. X
  1346. X
  1347. X
  1348. Xvoid end_dbuff(int ind, dbuff_state_t *state)
  1349. X{
  1350. X    if (BIT(Players[ind]->disp_type, DT_HAVE_COLOR))
  1351. X    XFreeColors(state->display, state->cmap,
  1352. X            &state->pixel, 1, ~(state->masks[0] & state->masks[1]));
  1353. X    release(state);
  1354. X}
  1355. END_OF_FILE
  1356. echo shar: 1 control character may be missing from \"'src/dbuff.c'\"
  1357. if test 4025 -ne `wc -c <'src/dbuff.c'`; then
  1358.     echo shar: \"'src/dbuff.c'\" unpacked with wrong size!
  1359. fi
  1360. # end of 'src/dbuff.c'
  1361. fi
  1362. echo shar: End of archive 14 \(of 24\).
  1363. cp /dev/null ark14isdone
  1364. MISSING=""
  1365. for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ; do
  1366.     if test ! -f ark${I}isdone ; then
  1367.     MISSING="${MISSING} ${I}"
  1368.     fi
  1369. done
  1370. if test "${MISSING}" = "" ; then
  1371.     echo You have unpacked all 24 archives.
  1372.     echo "\nNow run 'bldmaps.sh' to build the map files"
  1373.     rm -f ark[1-9]isdone ark[1-9][0-9]isdone
  1374. else
  1375.     echo You still need to unpack the following archives:
  1376.     echo "        " ${MISSING}
  1377. fi
  1378. ##  End of shell archive.
  1379. exit 0
  1380.