UIPixelShader.h 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806
  1. #if 0
  2. //
  3. // Generated by Microsoft (R) HLSL Shader Compiler 10.1
  4. //
  5. //
  6. // Buffer Definitions:
  7. //
  8. // cbuffer Kamera
  9. // {
  10. //
  11. // float4 kPosition; // Offset: 0 Size: 16
  12. //
  13. // }
  14. //
  15. // cbuffer Material
  16. // {
  17. //
  18. // float ambientFactor; // Offset: 0 Size: 4
  19. // float diffusFactor; // Offset: 4 Size: 4
  20. // float specularFactor; // Offset: 8 Size: 4
  21. //
  22. // }
  23. //
  24. // cbuffer LightCount
  25. // {
  26. //
  27. // int diffuseLightCount; // Offset: 0 Size: 4
  28. // int pointLightCount; // Offset: 4 Size: 4
  29. //
  30. // }
  31. //
  32. // Resource bind info for difuseLights
  33. // {
  34. //
  35. // struct DiffuseLight
  36. // {
  37. //
  38. // float3 direction; // Offset: 0
  39. // float3 color; // Offset: 12
  40. //
  41. // } $Element; // Offset: 0 Size: 24
  42. //
  43. // }
  44. //
  45. // Resource bind info for pointLights
  46. // {
  47. //
  48. // struct PointLight
  49. // {
  50. //
  51. // float3 position; // Offset: 0
  52. // float3 color; // Offset: 12
  53. // float radius; // Offset: 24
  54. //
  55. // } $Element; // Offset: 0 Size: 28
  56. //
  57. // }
  58. //
  59. //
  60. // Resource Bindings:
  61. //
  62. // Name Type Format Dim HLSL Bind Count
  63. // ------------------------------ ---------- ------- ----------- -------------- ------
  64. // SampleType sampler NA NA s0 1
  65. // shaderTexture texture float4 2d t0 1
  66. // difuseLights texture struct r/o t1 1
  67. // pointLights texture struct r/o t2 1
  68. // Kamera cbuffer NA NA cb0 1
  69. // Material cbuffer NA NA cb1 1
  70. // LightCount cbuffer NA NA cb2 1
  71. //
  72. //
  73. //
  74. // Input signature:
  75. //
  76. // Name Index Mask Register SysValue Format Used
  77. // -------------------- ----- ------ -------- -------- ------- ------
  78. // POSITION 0 xyzw 0 NONE float xyz
  79. // SV_POSITION 0 xyzw 1 POS float
  80. // TEXCOORD 0 xy 2 NONE float xy
  81. // TEXCOORD 1 xyz 3 NONE float xyz
  82. //
  83. //
  84. // Output signature:
  85. //
  86. // Name Index Mask Register SysValue Format Used
  87. // -------------------- ----- ------ -------- -------- ------- ------
  88. // SV_TARGET 0 xyzw 0 TARGET float xyzw
  89. //
  90. ps_5_0
  91. dcl_globalFlags refactoringAllowed
  92. dcl_constantbuffer CB0[1], immediateIndexed
  93. dcl_constantbuffer CB1[1], immediateIndexed
  94. dcl_constantbuffer CB2[1], immediateIndexed
  95. dcl_sampler s0, mode_default
  96. dcl_resource_texture2d (float,float,float,float) t0
  97. dcl_resource_structured t1, 24
  98. dcl_resource_structured t2, 28
  99. dcl_input_ps linear v0.xyz
  100. dcl_input_ps linear v2.xy
  101. dcl_input_ps linear v3.xyz
  102. dcl_output o0.xyzw
  103. dcl_temps 7
  104. mov r0.xyzw, l(0,0,0,0)
  105. loop
  106. ige r1.x, r0.w, cb2[0].x
  107. breakc_nz r1.x
  108. ld_structured_indexable(structured_buffer, stride=24)(mixed,mixed,mixed,mixed) r1.xyz, r0.w, l(0), t1.xyzx
  109. dp3 r1.x, v3.xyzx, -r1.xyzx
  110. lt r1.x, r1.x, l(0.000000)
  111. if_nz r1.x
  112. iadd r1.x, r0.w, l(1)
  113. mov r0.w, r1.x
  114. continue
  115. endif
  116. ld_structured_indexable(structured_buffer, stride=24)(mixed,mixed,mixed,mixed) r1.xy, r0.w, l(0), t1.xyxx
  117. ld_structured_indexable(structured_buffer, stride=24)(mixed,mixed,mixed,mixed) r2.xyzw, r0.w, l(8), t1.xyzw
  118. mov r1.z, r2.x
  119. dp3 r1.x, v3.xyzx, -r1.xyzx
  120. mad r0.xyz, r2.yzwy, r1.xxxx, r0.xyzx
  121. iadd r0.w, r0.w, l(1)
  122. endloop
  123. add r1.xyz, -v0.xyzx, cb0[0].xyzx
  124. dp3 r0.w, r1.xyzx, r1.xyzx
  125. rsq r0.w, r0.w
  126. mul r1.xyz, r0.wwww, r1.xyzx
  127. mov r2.xyz, l(0,0,0,0)
  128. mov r3.xyz, r0.xyzx
  129. mov r0.w, l(0)
  130. loop
  131. ige r1.w, r0.w, cb2[0].y
  132. breakc_nz r1.w
  133. ld_structured_indexable(structured_buffer, stride=28)(mixed,mixed,mixed,mixed) r4.xyz, r0.w, l(0), t2.xyzx
  134. add r4.xyz, r4.xyzx, -v0.xyzx
  135. dp3 r1.w, r4.xyzx, r4.xyzx
  136. rsq r2.w, r1.w
  137. mul r5.xyz, r2.wwww, r4.xyzx
  138. dp3 r2.w, v3.xyzx, r5.xyzx
  139. lt r3.w, l(0.000000), r2.w
  140. if_nz r3.w
  141. sqrt r1.w, r1.w
  142. lt r3.w, r1.w, l(1.000000)
  143. ld_structured_indexable(structured_buffer, stride=28)(mixed,mixed,mixed,mixed) r5.xyzw, r0.w, l(12), t2.xyzw
  144. div r1.w, r5.w, r1.w
  145. movc r1.w, r3.w, l(1.000000), r1.w
  146. mul r6.xyz, r2.wwww, r5.xyzx
  147. mad r3.xyz, r6.xyzx, r1.wwww, r3.xyzx
  148. dp3 r2.w, -r4.xyzx, -r4.xyzx
  149. rsq r2.w, r2.w
  150. mul r4.xyz, r2.wwww, -r4.xyzx
  151. dp3 r2.w, r4.xyzx, v3.xyzx
  152. add r2.w, r2.w, r2.w
  153. mad r4.xyz, v3.xyzx, -r2.wwww, r4.xyzx
  154. dp3 r2.w, r4.xyzx, r4.xyzx
  155. rsq r2.w, r2.w
  156. mul r4.xyz, r2.wwww, r4.xyzx
  157. dp3 r2.w, r4.xyzx, r1.xyzx
  158. lt r3.w, l(0.000000), r2.w
  159. mul r4.xyz, r2.wwww, r5.xyzx
  160. mad r4.xyz, r4.xyzx, r1.wwww, r2.xyzx
  161. movc r2.xyz, r3.wwww, r4.xyzx, r2.xyzx
  162. endif
  163. iadd r0.w, r0.w, l(1)
  164. endloop
  165. sample_indexable(texture2d)(float,float,float,float) r0.xyzw, v2.xyxx, t0.xyzw, s0
  166. mul r1.xyz, r3.xyzx, cb1[0].yyyy
  167. mad r1.yzw, r0.xxyz, cb1[0].xxxx, r1.xxyz
  168. mad_sat r1.yzw, r2.xxyz, cb1[0].zzzz, r1.yyzw
  169. ne r1.x, r1.x, r1.x
  170. movc o0.xyz, r1.xxxx, r0.xyzx, r1.yzwy
  171. mov o0.w, r0.w
  172. ret
  173. // Approximately 69 instruction slots used
  174. #endif
  175. const BYTE UIPixelShader[] =
  176. {
  177. 68, 88, 66, 67, 42, 96,
  178. 244, 22, 101, 72, 161, 44,
  179. 152, 239, 158, 135, 175, 70,
  180. 74, 114, 1, 0, 0, 0,
  181. 180, 14, 0, 0, 5, 0,
  182. 0, 0, 52, 0, 0, 0,
  183. 120, 5, 0, 0, 8, 6,
  184. 0, 0, 60, 6, 0, 0,
  185. 24, 14, 0, 0, 82, 68,
  186. 69, 70, 60, 5, 0, 0,
  187. 5, 0, 0, 0, 108, 1,
  188. 0, 0, 7, 0, 0, 0,
  189. 60, 0, 0, 0, 0, 5,
  190. 255, 255, 0, 1, 0, 0,
  191. 20, 5, 0, 0, 82, 68,
  192. 49, 49, 60, 0, 0, 0,
  193. 24, 0, 0, 0, 32, 0,
  194. 0, 0, 40, 0, 0, 0,
  195. 36, 0, 0, 0, 12, 0,
  196. 0, 0, 0, 0, 0, 0,
  197. 28, 1, 0, 0, 3, 0,
  198. 0, 0, 0, 0, 0, 0,
  199. 0, 0, 0, 0, 0, 0,
  200. 0, 0, 0, 0, 0, 0,
  201. 1, 0, 0, 0, 0, 0,
  202. 0, 0, 39, 1, 0, 0,
  203. 2, 0, 0, 0, 5, 0,
  204. 0, 0, 4, 0, 0, 0,
  205. 255, 255, 255, 255, 0, 0,
  206. 0, 0, 1, 0, 0, 0,
  207. 13, 0, 0, 0, 53, 1,
  208. 0, 0, 5, 0, 0, 0,
  209. 6, 0, 0, 0, 1, 0,
  210. 0, 0, 24, 0, 0, 0,
  211. 1, 0, 0, 0, 1, 0,
  212. 0, 0, 1, 0, 0, 0,
  213. 66, 1, 0, 0, 5, 0,
  214. 0, 0, 6, 0, 0, 0,
  215. 1, 0, 0, 0, 28, 0,
  216. 0, 0, 2, 0, 0, 0,
  217. 1, 0, 0, 0, 1, 0,
  218. 0, 0, 78, 1, 0, 0,
  219. 0, 0, 0, 0, 0, 0,
  220. 0, 0, 0, 0, 0, 0,
  221. 0, 0, 0, 0, 0, 0,
  222. 0, 0, 1, 0, 0, 0,
  223. 1, 0, 0, 0, 85, 1,
  224. 0, 0, 0, 0, 0, 0,
  225. 0, 0, 0, 0, 0, 0,
  226. 0, 0, 0, 0, 0, 0,
  227. 1, 0, 0, 0, 1, 0,
  228. 0, 0, 1, 0, 0, 0,
  229. 94, 1, 0, 0, 0, 0,
  230. 0, 0, 0, 0, 0, 0,
  231. 0, 0, 0, 0, 0, 0,
  232. 0, 0, 2, 0, 0, 0,
  233. 1, 0, 0, 0, 1, 0,
  234. 0, 0, 83, 97, 109, 112,
  235. 108, 101, 84, 121, 112, 101,
  236. 0, 115, 104, 97, 100, 101,
  237. 114, 84, 101, 120, 116, 117,
  238. 114, 101, 0, 100, 105, 102,
  239. 117, 115, 101, 76, 105, 103,
  240. 104, 116, 115, 0, 112, 111,
  241. 105, 110, 116, 76, 105, 103,
  242. 104, 116, 115, 0, 75, 97,
  243. 109, 101, 114, 97, 0, 77,
  244. 97, 116, 101, 114, 105, 97,
  245. 108, 0, 76, 105, 103, 104,
  246. 116, 67, 111, 117, 110, 116,
  247. 0, 171, 171, 171, 78, 1,
  248. 0, 0, 1, 0, 0, 0,
  249. 228, 1, 0, 0, 16, 0,
  250. 0, 0, 0, 0, 0, 0,
  251. 0, 0, 0, 0, 85, 1,
  252. 0, 0, 3, 0, 0, 0,
  253. 68, 2, 0, 0, 16, 0,
  254. 0, 0, 0, 0, 0, 0,
  255. 0, 0, 0, 0, 94, 1,
  256. 0, 0, 2, 0, 0, 0,
  257. 16, 3, 0, 0, 16, 0,
  258. 0, 0, 0, 0, 0, 0,
  259. 0, 0, 0, 0, 53, 1,
  260. 0, 0, 1, 0, 0, 0,
  261. 172, 3, 0, 0, 24, 0,
  262. 0, 0, 0, 0, 0, 0,
  263. 3, 0, 0, 0, 66, 1,
  264. 0, 0, 1, 0, 0, 0,
  265. 100, 4, 0, 0, 28, 0,
  266. 0, 0, 0, 0, 0, 0,
  267. 3, 0, 0, 0, 12, 2,
  268. 0, 0, 0, 0, 0, 0,
  269. 16, 0, 0, 0, 2, 0,
  270. 0, 0, 32, 2, 0, 0,
  271. 0, 0, 0, 0, 255, 255,
  272. 255, 255, 0, 0, 0, 0,
  273. 255, 255, 255, 255, 0, 0,
  274. 0, 0, 107, 80, 111, 115,
  275. 105, 116, 105, 111, 110, 0,
  276. 102, 108, 111, 97, 116, 52,
  277. 0, 171, 171, 171, 1, 0,
  278. 3, 0, 1, 0, 4, 0,
  279. 0, 0, 0, 0, 0, 0,
  280. 0, 0, 0, 0, 0, 0,
  281. 0, 0, 0, 0, 0, 0,
  282. 0, 0, 0, 0, 0, 0,
  283. 22, 2, 0, 0, 188, 2,
  284. 0, 0, 0, 0, 0, 0,
  285. 4, 0, 0, 0, 2, 0,
  286. 0, 0, 208, 2, 0, 0,
  287. 0, 0, 0, 0, 255, 255,
  288. 255, 255, 0, 0, 0, 0,
  289. 255, 255, 255, 255, 0, 0,
  290. 0, 0, 244, 2, 0, 0,
  291. 4, 0, 0, 0, 4, 0,
  292. 0, 0, 2, 0, 0, 0,
  293. 208, 2, 0, 0, 0, 0,
  294. 0, 0, 255, 255, 255, 255,
  295. 0, 0, 0, 0, 255, 255,
  296. 255, 255, 0, 0, 0, 0,
  297. 1, 3, 0, 0, 8, 0,
  298. 0, 0, 4, 0, 0, 0,
  299. 2, 0, 0, 0, 208, 2,
  300. 0, 0, 0, 0, 0, 0,
  301. 255, 255, 255, 255, 0, 0,
  302. 0, 0, 255, 255, 255, 255,
  303. 0, 0, 0, 0, 97, 109,
  304. 98, 105, 101, 110, 116, 70,
  305. 97, 99, 116, 111, 114, 0,
  306. 102, 108, 111, 97, 116, 0,
  307. 0, 0, 3, 0, 1, 0,
  308. 1, 0, 0, 0, 0, 0,
  309. 0, 0, 0, 0, 0, 0,
  310. 0, 0, 0, 0, 0, 0,
  311. 0, 0, 0, 0, 0, 0,
  312. 0, 0, 202, 2, 0, 0,
  313. 100, 105, 102, 102, 117, 115,
  314. 70, 97, 99, 116, 111, 114,
  315. 0, 115, 112, 101, 99, 117,
  316. 108, 97, 114, 70, 97, 99,
  317. 116, 111, 114, 0, 96, 3,
  318. 0, 0, 0, 0, 0, 0,
  319. 4, 0, 0, 0, 2, 0,
  320. 0, 0, 120, 3, 0, 0,
  321. 0, 0, 0, 0, 255, 255,
  322. 255, 255, 0, 0, 0, 0,
  323. 255, 255, 255, 255, 0, 0,
  324. 0, 0, 156, 3, 0, 0,
  325. 4, 0, 0, 0, 4, 0,
  326. 0, 0, 2, 0, 0, 0,
  327. 120, 3, 0, 0, 0, 0,
  328. 0, 0, 255, 255, 255, 255,
  329. 0, 0, 0, 0, 255, 255,
  330. 255, 255, 0, 0, 0, 0,
  331. 100, 105, 102, 102, 117, 115,
  332. 101, 76, 105, 103, 104, 116,
  333. 67, 111, 117, 110, 116, 0,
  334. 105, 110, 116, 0, 171, 171,
  335. 0, 0, 2, 0, 1, 0,
  336. 1, 0, 0, 0, 0, 0,
  337. 0, 0, 0, 0, 0, 0,
  338. 0, 0, 0, 0, 0, 0,
  339. 0, 0, 0, 0, 0, 0,
  340. 0, 0, 114, 3, 0, 0,
  341. 112, 111, 105, 110, 116, 76,
  342. 105, 103, 104, 116, 67, 111,
  343. 117, 110, 116, 0, 212, 3,
  344. 0, 0, 0, 0, 0, 0,
  345. 24, 0, 0, 0, 2, 0,
  346. 0, 0, 64, 4, 0, 0,
  347. 0, 0, 0, 0, 255, 255,
  348. 255, 255, 0, 0, 0, 0,
  349. 255, 255, 255, 255, 0, 0,
  350. 0, 0, 36, 69, 108, 101,
  351. 109, 101, 110, 116, 0, 68,
  352. 105, 102, 102, 117, 115, 101,
  353. 76, 105, 103, 104, 116, 0,
  354. 100, 105, 114, 101, 99, 116,
  355. 105, 111, 110, 0, 102, 108,
  356. 111, 97, 116, 51, 0, 171,
  357. 1, 0, 3, 0, 1, 0,
  358. 3, 0, 0, 0, 0, 0,
  359. 0, 0, 0, 0, 0, 0,
  360. 0, 0, 0, 0, 0, 0,
  361. 0, 0, 0, 0, 0, 0,
  362. 0, 0, 244, 3, 0, 0,
  363. 99, 111, 108, 111, 114, 0,
  364. 171, 171, 234, 3, 0, 0,
  365. 252, 3, 0, 0, 0, 0,
  366. 0, 0, 32, 4, 0, 0,
  367. 252, 3, 0, 0, 12, 0,
  368. 0, 0, 5, 0, 0, 0,
  369. 1, 0, 6, 0, 0, 0,
  370. 2, 0, 40, 4, 0, 0,
  371. 0, 0, 0, 0, 0, 0,
  372. 0, 0, 0, 0, 0, 0,
  373. 0, 0, 0, 0, 221, 3,
  374. 0, 0, 212, 3, 0, 0,
  375. 0, 0, 0, 0, 28, 0,
  376. 0, 0, 2, 0, 0, 0,
  377. 240, 4, 0, 0, 0, 0,
  378. 0, 0, 255, 255, 255, 255,
  379. 0, 0, 0, 0, 255, 255,
  380. 255, 255, 0, 0, 0, 0,
  381. 80, 111, 105, 110, 116, 76,
  382. 105, 103, 104, 116, 0, 112,
  383. 111, 115, 105, 116, 105, 111,
  384. 110, 0, 114, 97, 100, 105,
  385. 117, 115, 0, 171, 0, 0,
  386. 3, 0, 1, 0, 1, 0,
  387. 0, 0, 0, 0, 0, 0,
  388. 0, 0, 0, 0, 0, 0,
  389. 0, 0, 0, 0, 0, 0,
  390. 0, 0, 0, 0, 0, 0,
  391. 202, 2, 0, 0, 151, 4,
  392. 0, 0, 252, 3, 0, 0,
  393. 0, 0, 0, 0, 32, 4,
  394. 0, 0, 252, 3, 0, 0,
  395. 12, 0, 0, 0, 160, 4,
  396. 0, 0, 168, 4, 0, 0,
  397. 24, 0, 0, 0, 5, 0,
  398. 0, 0, 1, 0, 7, 0,
  399. 0, 0, 3, 0, 204, 4,
  400. 0, 0, 0, 0, 0, 0,
  401. 0, 0, 0, 0, 0, 0,
  402. 0, 0, 0, 0, 0, 0,
  403. 140, 4, 0, 0, 77, 105,
  404. 99, 114, 111, 115, 111, 102,
  405. 116, 32, 40, 82, 41, 32,
  406. 72, 76, 83, 76, 32, 83,
  407. 104, 97, 100, 101, 114, 32,
  408. 67, 111, 109, 112, 105, 108,
  409. 101, 114, 32, 49, 48, 46,
  410. 49, 0, 73, 83, 71, 78,
  411. 136, 0, 0, 0, 4, 0,
  412. 0, 0, 8, 0, 0, 0,
  413. 104, 0, 0, 0, 0, 0,
  414. 0, 0, 0, 0, 0, 0,
  415. 3, 0, 0, 0, 0, 0,
  416. 0, 0, 15, 7, 0, 0,
  417. 113, 0, 0, 0, 0, 0,
  418. 0, 0, 1, 0, 0, 0,
  419. 3, 0, 0, 0, 1, 0,
  420. 0, 0, 15, 0, 0, 0,
  421. 125, 0, 0, 0, 0, 0,
  422. 0, 0, 0, 0, 0, 0,
  423. 3, 0, 0, 0, 2, 0,
  424. 0, 0, 3, 3, 0, 0,
  425. 125, 0, 0, 0, 1, 0,
  426. 0, 0, 0, 0, 0, 0,
  427. 3, 0, 0, 0, 3, 0,
  428. 0, 0, 7, 7, 0, 0,
  429. 80, 79, 83, 73, 84, 73,
  430. 79, 78, 0, 83, 86, 95,
  431. 80, 79, 83, 73, 84, 73,
  432. 79, 78, 0, 84, 69, 88,
  433. 67, 79, 79, 82, 68, 0,
  434. 171, 171, 79, 83, 71, 78,
  435. 44, 0, 0, 0, 1, 0,
  436. 0, 0, 8, 0, 0, 0,
  437. 32, 0, 0, 0, 0, 0,
  438. 0, 0, 0, 0, 0, 0,
  439. 3, 0, 0, 0, 0, 0,
  440. 0, 0, 15, 0, 0, 0,
  441. 83, 86, 95, 84, 65, 82,
  442. 71, 69, 84, 0, 171, 171,
  443. 83, 72, 69, 88, 212, 7,
  444. 0, 0, 80, 0, 0, 0,
  445. 245, 1, 0, 0, 106, 8,
  446. 0, 1, 89, 0, 0, 4,
  447. 70, 142, 32, 0, 0, 0,
  448. 0, 0, 1, 0, 0, 0,
  449. 89, 0, 0, 4, 70, 142,
  450. 32, 0, 1, 0, 0, 0,
  451. 1, 0, 0, 0, 89, 0,
  452. 0, 4, 70, 142, 32, 0,
  453. 2, 0, 0, 0, 1, 0,
  454. 0, 0, 90, 0, 0, 3,
  455. 0, 96, 16, 0, 0, 0,
  456. 0, 0, 88, 24, 0, 4,
  457. 0, 112, 16, 0, 0, 0,
  458. 0, 0, 85, 85, 0, 0,
  459. 162, 0, 0, 4, 0, 112,
  460. 16, 0, 1, 0, 0, 0,
  461. 24, 0, 0, 0, 162, 0,
  462. 0, 4, 0, 112, 16, 0,
  463. 2, 0, 0, 0, 28, 0,
  464. 0, 0, 98, 16, 0, 3,
  465. 114, 16, 16, 0, 0, 0,
  466. 0, 0, 98, 16, 0, 3,
  467. 50, 16, 16, 0, 2, 0,
  468. 0, 0, 98, 16, 0, 3,
  469. 114, 16, 16, 0, 3, 0,
  470. 0, 0, 101, 0, 0, 3,
  471. 242, 32, 16, 0, 0, 0,
  472. 0, 0, 104, 0, 0, 2,
  473. 7, 0, 0, 0, 54, 0,
  474. 0, 8, 242, 0, 16, 0,
  475. 0, 0, 0, 0, 2, 64,
  476. 0, 0, 0, 0, 0, 0,
  477. 0, 0, 0, 0, 0, 0,
  478. 0, 0, 0, 0, 0, 0,
  479. 48, 0, 0, 1, 33, 0,
  480. 0, 8, 18, 0, 16, 0,
  481. 1, 0, 0, 0, 58, 0,
  482. 16, 0, 0, 0, 0, 0,
  483. 10, 128, 32, 0, 2, 0,
  484. 0, 0, 0, 0, 0, 0,
  485. 3, 0, 4, 3, 10, 0,
  486. 16, 0, 1, 0, 0, 0,
  487. 167, 0, 0, 139, 2, 195,
  488. 0, 128, 131, 153, 25, 0,
  489. 114, 0, 16, 0, 1, 0,
  490. 0, 0, 58, 0, 16, 0,
  491. 0, 0, 0, 0, 1, 64,
  492. 0, 0, 0, 0, 0, 0,
  493. 70, 114, 16, 0, 1, 0,
  494. 0, 0, 16, 0, 0, 8,
  495. 18, 0, 16, 0, 1, 0,
  496. 0, 0, 70, 18, 16, 0,
  497. 3, 0, 0, 0, 70, 2,
  498. 16, 128, 65, 0, 0, 0,
  499. 1, 0, 0, 0, 49, 0,
  500. 0, 7, 18, 0, 16, 0,
  501. 1, 0, 0, 0, 10, 0,
  502. 16, 0, 1, 0, 0, 0,
  503. 1, 64, 0, 0, 0, 0,
  504. 0, 0, 31, 0, 4, 3,
  505. 10, 0, 16, 0, 1, 0,
  506. 0, 0, 30, 0, 0, 7,
  507. 18, 0, 16, 0, 1, 0,
  508. 0, 0, 58, 0, 16, 0,
  509. 0, 0, 0, 0, 1, 64,
  510. 0, 0, 1, 0, 0, 0,
  511. 54, 0, 0, 5, 130, 0,
  512. 16, 0, 0, 0, 0, 0,
  513. 10, 0, 16, 0, 1, 0,
  514. 0, 0, 7, 0, 0, 1,
  515. 21, 0, 0, 1, 167, 0,
  516. 0, 139, 2, 195, 0, 128,
  517. 131, 153, 25, 0, 50, 0,
  518. 16, 0, 1, 0, 0, 0,
  519. 58, 0, 16, 0, 0, 0,
  520. 0, 0, 1, 64, 0, 0,
  521. 0, 0, 0, 0, 70, 112,
  522. 16, 0, 1, 0, 0, 0,
  523. 167, 0, 0, 139, 2, 195,
  524. 0, 128, 131, 153, 25, 0,
  525. 242, 0, 16, 0, 2, 0,
  526. 0, 0, 58, 0, 16, 0,
  527. 0, 0, 0, 0, 1, 64,
  528. 0, 0, 8, 0, 0, 0,
  529. 70, 126, 16, 0, 1, 0,
  530. 0, 0, 54, 0, 0, 5,
  531. 66, 0, 16, 0, 1, 0,
  532. 0, 0, 10, 0, 16, 0,
  533. 2, 0, 0, 0, 16, 0,
  534. 0, 8, 18, 0, 16, 0,
  535. 1, 0, 0, 0, 70, 18,
  536. 16, 0, 3, 0, 0, 0,
  537. 70, 2, 16, 128, 65, 0,
  538. 0, 0, 1, 0, 0, 0,
  539. 50, 0, 0, 9, 114, 0,
  540. 16, 0, 0, 0, 0, 0,
  541. 150, 7, 16, 0, 2, 0,
  542. 0, 0, 6, 0, 16, 0,
  543. 1, 0, 0, 0, 70, 2,
  544. 16, 0, 0, 0, 0, 0,
  545. 30, 0, 0, 7, 130, 0,
  546. 16, 0, 0, 0, 0, 0,
  547. 58, 0, 16, 0, 0, 0,
  548. 0, 0, 1, 64, 0, 0,
  549. 1, 0, 0, 0, 22, 0,
  550. 0, 1, 0, 0, 0, 9,
  551. 114, 0, 16, 0, 1, 0,
  552. 0, 0, 70, 18, 16, 128,
  553. 65, 0, 0, 0, 0, 0,
  554. 0, 0, 70, 130, 32, 0,
  555. 0, 0, 0, 0, 0, 0,
  556. 0, 0, 16, 0, 0, 7,
  557. 130, 0, 16, 0, 0, 0,
  558. 0, 0, 70, 2, 16, 0,
  559. 1, 0, 0, 0, 70, 2,
  560. 16, 0, 1, 0, 0, 0,
  561. 68, 0, 0, 5, 130, 0,
  562. 16, 0, 0, 0, 0, 0,
  563. 58, 0, 16, 0, 0, 0,
  564. 0, 0, 56, 0, 0, 7,
  565. 114, 0, 16, 0, 1, 0,
  566. 0, 0, 246, 15, 16, 0,
  567. 0, 0, 0, 0, 70, 2,
  568. 16, 0, 1, 0, 0, 0,
  569. 54, 0, 0, 8, 114, 0,
  570. 16, 0, 2, 0, 0, 0,
  571. 2, 64, 0, 0, 0, 0,
  572. 0, 0, 0, 0, 0, 0,
  573. 0, 0, 0, 0, 0, 0,
  574. 0, 0, 54, 0, 0, 5,
  575. 114, 0, 16, 0, 3, 0,
  576. 0, 0, 70, 2, 16, 0,
  577. 0, 0, 0, 0, 54, 0,
  578. 0, 5, 130, 0, 16, 0,
  579. 0, 0, 0, 0, 1, 64,
  580. 0, 0, 0, 0, 0, 0,
  581. 48, 0, 0, 1, 33, 0,
  582. 0, 8, 130, 0, 16, 0,
  583. 1, 0, 0, 0, 58, 0,
  584. 16, 0, 0, 0, 0, 0,
  585. 26, 128, 32, 0, 2, 0,
  586. 0, 0, 0, 0, 0, 0,
  587. 3, 0, 4, 3, 58, 0,
  588. 16, 0, 1, 0, 0, 0,
  589. 167, 0, 0, 139, 2, 227,
  590. 0, 128, 131, 153, 25, 0,
  591. 114, 0, 16, 0, 4, 0,
  592. 0, 0, 58, 0, 16, 0,
  593. 0, 0, 0, 0, 1, 64,
  594. 0, 0, 0, 0, 0, 0,
  595. 70, 114, 16, 0, 2, 0,
  596. 0, 0, 0, 0, 0, 8,
  597. 114, 0, 16, 0, 4, 0,
  598. 0, 0, 70, 2, 16, 0,
  599. 4, 0, 0, 0, 70, 18,
  600. 16, 128, 65, 0, 0, 0,
  601. 0, 0, 0, 0, 16, 0,
  602. 0, 7, 130, 0, 16, 0,
  603. 1, 0, 0, 0, 70, 2,
  604. 16, 0, 4, 0, 0, 0,
  605. 70, 2, 16, 0, 4, 0,
  606. 0, 0, 68, 0, 0, 5,
  607. 130, 0, 16, 0, 2, 0,
  608. 0, 0, 58, 0, 16, 0,
  609. 1, 0, 0, 0, 56, 0,
  610. 0, 7, 114, 0, 16, 0,
  611. 5, 0, 0, 0, 246, 15,
  612. 16, 0, 2, 0, 0, 0,
  613. 70, 2, 16, 0, 4, 0,
  614. 0, 0, 16, 0, 0, 7,
  615. 130, 0, 16, 0, 2, 0,
  616. 0, 0, 70, 18, 16, 0,
  617. 3, 0, 0, 0, 70, 2,
  618. 16, 0, 5, 0, 0, 0,
  619. 49, 0, 0, 7, 130, 0,
  620. 16, 0, 3, 0, 0, 0,
  621. 1, 64, 0, 0, 0, 0,
  622. 0, 0, 58, 0, 16, 0,
  623. 2, 0, 0, 0, 31, 0,
  624. 4, 3, 58, 0, 16, 0,
  625. 3, 0, 0, 0, 75, 0,
  626. 0, 5, 130, 0, 16, 0,
  627. 1, 0, 0, 0, 58, 0,
  628. 16, 0, 1, 0, 0, 0,
  629. 49, 0, 0, 7, 130, 0,
  630. 16, 0, 3, 0, 0, 0,
  631. 58, 0, 16, 0, 1, 0,
  632. 0, 0, 1, 64, 0, 0,
  633. 0, 0, 128, 63, 167, 0,
  634. 0, 139, 2, 227, 0, 128,
  635. 131, 153, 25, 0, 242, 0,
  636. 16, 0, 5, 0, 0, 0,
  637. 58, 0, 16, 0, 0, 0,
  638. 0, 0, 1, 64, 0, 0,
  639. 12, 0, 0, 0, 70, 126,
  640. 16, 0, 2, 0, 0, 0,
  641. 14, 0, 0, 7, 130, 0,
  642. 16, 0, 1, 0, 0, 0,
  643. 58, 0, 16, 0, 5, 0,
  644. 0, 0, 58, 0, 16, 0,
  645. 1, 0, 0, 0, 55, 0,
  646. 0, 9, 130, 0, 16, 0,
  647. 1, 0, 0, 0, 58, 0,
  648. 16, 0, 3, 0, 0, 0,
  649. 1, 64, 0, 0, 0, 0,
  650. 128, 63, 58, 0, 16, 0,
  651. 1, 0, 0, 0, 56, 0,
  652. 0, 7, 114, 0, 16, 0,
  653. 6, 0, 0, 0, 246, 15,
  654. 16, 0, 2, 0, 0, 0,
  655. 70, 2, 16, 0, 5, 0,
  656. 0, 0, 50, 0, 0, 9,
  657. 114, 0, 16, 0, 3, 0,
  658. 0, 0, 70, 2, 16, 0,
  659. 6, 0, 0, 0, 246, 15,
  660. 16, 0, 1, 0, 0, 0,
  661. 70, 2, 16, 0, 3, 0,
  662. 0, 0, 16, 0, 0, 9,
  663. 130, 0, 16, 0, 2, 0,
  664. 0, 0, 70, 2, 16, 128,
  665. 65, 0, 0, 0, 4, 0,
  666. 0, 0, 70, 2, 16, 128,
  667. 65, 0, 0, 0, 4, 0,
  668. 0, 0, 68, 0, 0, 5,
  669. 130, 0, 16, 0, 2, 0,
  670. 0, 0, 58, 0, 16, 0,
  671. 2, 0, 0, 0, 56, 0,
  672. 0, 8, 114, 0, 16, 0,
  673. 4, 0, 0, 0, 246, 15,
  674. 16, 0, 2, 0, 0, 0,
  675. 70, 2, 16, 128, 65, 0,
  676. 0, 0, 4, 0, 0, 0,
  677. 16, 0, 0, 7, 130, 0,
  678. 16, 0, 2, 0, 0, 0,
  679. 70, 2, 16, 0, 4, 0,
  680. 0, 0, 70, 18, 16, 0,
  681. 3, 0, 0, 0, 0, 0,
  682. 0, 7, 130, 0, 16, 0,
  683. 2, 0, 0, 0, 58, 0,
  684. 16, 0, 2, 0, 0, 0,
  685. 58, 0, 16, 0, 2, 0,
  686. 0, 0, 50, 0, 0, 10,
  687. 114, 0, 16, 0, 4, 0,
  688. 0, 0, 70, 18, 16, 0,
  689. 3, 0, 0, 0, 246, 15,
  690. 16, 128, 65, 0, 0, 0,
  691. 2, 0, 0, 0, 70, 2,
  692. 16, 0, 4, 0, 0, 0,
  693. 16, 0, 0, 7, 130, 0,
  694. 16, 0, 2, 0, 0, 0,
  695. 70, 2, 16, 0, 4, 0,
  696. 0, 0, 70, 2, 16, 0,
  697. 4, 0, 0, 0, 68, 0,
  698. 0, 5, 130, 0, 16, 0,
  699. 2, 0, 0, 0, 58, 0,
  700. 16, 0, 2, 0, 0, 0,
  701. 56, 0, 0, 7, 114, 0,
  702. 16, 0, 4, 0, 0, 0,
  703. 246, 15, 16, 0, 2, 0,
  704. 0, 0, 70, 2, 16, 0,
  705. 4, 0, 0, 0, 16, 0,
  706. 0, 7, 130, 0, 16, 0,
  707. 2, 0, 0, 0, 70, 2,
  708. 16, 0, 4, 0, 0, 0,
  709. 70, 2, 16, 0, 1, 0,
  710. 0, 0, 49, 0, 0, 7,
  711. 130, 0, 16, 0, 3, 0,
  712. 0, 0, 1, 64, 0, 0,
  713. 0, 0, 0, 0, 58, 0,
  714. 16, 0, 2, 0, 0, 0,
  715. 56, 0, 0, 7, 114, 0,
  716. 16, 0, 4, 0, 0, 0,
  717. 246, 15, 16, 0, 2, 0,
  718. 0, 0, 70, 2, 16, 0,
  719. 5, 0, 0, 0, 50, 0,
  720. 0, 9, 114, 0, 16, 0,
  721. 4, 0, 0, 0, 70, 2,
  722. 16, 0, 4, 0, 0, 0,
  723. 246, 15, 16, 0, 1, 0,
  724. 0, 0, 70, 2, 16, 0,
  725. 2, 0, 0, 0, 55, 0,
  726. 0, 9, 114, 0, 16, 0,
  727. 2, 0, 0, 0, 246, 15,
  728. 16, 0, 3, 0, 0, 0,
  729. 70, 2, 16, 0, 4, 0,
  730. 0, 0, 70, 2, 16, 0,
  731. 2, 0, 0, 0, 21, 0,
  732. 0, 1, 30, 0, 0, 7,
  733. 130, 0, 16, 0, 0, 0,
  734. 0, 0, 58, 0, 16, 0,
  735. 0, 0, 0, 0, 1, 64,
  736. 0, 0, 1, 0, 0, 0,
  737. 22, 0, 0, 1, 69, 0,
  738. 0, 139, 194, 0, 0, 128,
  739. 67, 85, 21, 0, 242, 0,
  740. 16, 0, 0, 0, 0, 0,
  741. 70, 16, 16, 0, 2, 0,
  742. 0, 0, 70, 126, 16, 0,
  743. 0, 0, 0, 0, 0, 96,
  744. 16, 0, 0, 0, 0, 0,
  745. 56, 0, 0, 8, 114, 0,
  746. 16, 0, 1, 0, 0, 0,
  747. 70, 2, 16, 0, 3, 0,
  748. 0, 0, 86, 133, 32, 0,
  749. 1, 0, 0, 0, 0, 0,
  750. 0, 0, 50, 0, 0, 10,
  751. 226, 0, 16, 0, 1, 0,
  752. 0, 0, 6, 9, 16, 0,
  753. 0, 0, 0, 0, 6, 128,
  754. 32, 0, 1, 0, 0, 0,
  755. 0, 0, 0, 0, 6, 9,
  756. 16, 0, 1, 0, 0, 0,
  757. 50, 32, 0, 10, 226, 0,
  758. 16, 0, 1, 0, 0, 0,
  759. 6, 9, 16, 0, 2, 0,
  760. 0, 0, 166, 138, 32, 0,
  761. 1, 0, 0, 0, 0, 0,
  762. 0, 0, 86, 14, 16, 0,
  763. 1, 0, 0, 0, 57, 0,
  764. 0, 7, 18, 0, 16, 0,
  765. 1, 0, 0, 0, 10, 0,
  766. 16, 0, 1, 0, 0, 0,
  767. 10, 0, 16, 0, 1, 0,
  768. 0, 0, 55, 0, 0, 9,
  769. 114, 32, 16, 0, 0, 0,
  770. 0, 0, 6, 0, 16, 0,
  771. 1, 0, 0, 0, 70, 2,
  772. 16, 0, 0, 0, 0, 0,
  773. 150, 7, 16, 0, 1, 0,
  774. 0, 0, 54, 0, 0, 5,
  775. 130, 32, 16, 0, 0, 0,
  776. 0, 0, 58, 0, 16, 0,
  777. 0, 0, 0, 0, 62, 0,
  778. 0, 1, 83, 84, 65, 84,
  779. 148, 0, 0, 0, 69, 0,
  780. 0, 0, 7, 0, 0, 0,
  781. 0, 0, 0, 0, 4, 0,
  782. 0, 0, 36, 0, 0, 0,
  783. 5, 0, 0, 0, 0, 0,
  784. 0, 0, 2, 0, 0, 0,
  785. 4, 0, 0, 0, 0, 0,
  786. 0, 0, 0, 0, 0, 0,
  787. 0, 0, 0, 0, 0, 0,
  788. 0, 0, 0, 0, 0, 0,
  789. 1, 0, 0, 0, 5, 0,
  790. 0, 0, 0, 0, 0, 0,
  791. 0, 0, 0, 0, 0, 0,
  792. 0, 0, 7, 0, 0, 0,
  793. 3, 0, 0, 0, 0, 0,
  794. 0, 0, 0, 0, 0, 0,
  795. 0, 0, 0, 0, 0, 0,
  796. 0, 0, 0, 0, 0, 0,
  797. 0, 0, 0, 0, 0, 0,
  798. 0, 0, 0, 0, 0, 0,
  799. 0, 0, 0, 0, 0, 0,
  800. 0, 0, 0, 0, 0, 0,
  801. 0, 0, 0, 0, 0, 0,
  802. 0, 0, 0, 0, 0, 0,
  803. 0, 0, 0, 0, 0, 0,
  804. 0, 0
  805. };