-
Notifications
You must be signed in to change notification settings - Fork 2
/
template_missing.p8
608 lines (587 loc) · 44.5 KB
/
template_missing.p8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
pico-8 cartridge // http://www.pico-8.com
version 7
__lua__
#insert_missing#
-- ============================
-- ============================
function _init()
cls()
map(0,0,0,0,16,16)
test_getmetatable()
test_setmetatable()
test_rawget()
test_unpack()
test_ipairs()
test_table_pack()
test_table_insert()
test_table_remove()
test_table_sort()
print("every test passed.")
end
-- ============================
-- ============================
function test_getmetatable()
printh("==> 'getmetatable'")
printh("----> with a metatable previously set")
local test = {}
test.__init = function (self, message)
self.message = message
end
test.__index = test
local mt = {
__call = function (cls, ...)
local self = setmetatable({}, cls)
self.__index = self
self:__init(...)
return self
end
}
setmetatable(test, mt)
assert(getmetatable(test) == mt, 'fail')
printh('pass')
end
function test_setmetatable()
printh("==> 'setmetatable'")
printh("----> with simple oop")
local test = {}
test.__init = function (self, message)
self.message = message
end
test.__index = test
local mt = {
__call = function (cls, ...)
local self = setmetatable({}, cls)
self.__index = self
self:__init(...)
return self
end
}
setmetatable(test, mt)
local hello_world = 'hello, world.'
local test_instance = test(hello_world)
assert(test_instance.message == hello_world, "fail")
printh("pass")
end
function test_rawget()
printh("==> 'rawget'")
printh("----> get value")
local existing_value = 3
local test = {
a = existing_value
}
test.__index = test
local default_value = "#default"
local mt = {
__index = function (tbl, key)
return default_value
end
}
setmetatable(test, mt)
assert(test.a == existing_value, "fail")
assert(test.do_not_exist == default_value, "fail")
assert(rawget(test, 'do_not_exist') == nil, "fail")
printh("pass")
end
function test_unpack()
printh("==> 'unpack'")
printh("----> unpack table")
local a, b, c, d, e, f, g, h
local unpack_table = {1,2,3,4,5}
local unpack_i = 0
local unpack_j = 0
a, b, c, d, e, f, g, h = nil, nil, nil, nil, nil, nil, nil, nil
a, b, c, d, e, f, g, h = unpack(unpack_table)
assert(a == 1, "fail")
assert(b == 2, "fail")
assert(c == 3, "fail")
assert(d == 4, "fail")
assert(e == 5, "fail")
assert(f == nil, "fail")
assert(g == nil, "fail")
assert(h == nil, "fail")
printh("----> with i as arg")
a, b, c, d, e, f, g, h = nil, nil, nil, nil, nil, nil, nil, nil
unpack_i = 3
unpack_j = 0
a, b, c, d, e, f, g, h = unpack(unpack_table, unpack_i)
assert(a == 3, "fail")
assert(b == 4, "fail")
assert(c == 5, "fail")
assert(d == nil, "fail")
assert(e == nil, "fail")
assert(f == nil, "fail")
assert(g == nil, "fail")
assert(h == nil, "fail")
printh("----> with -i as arg")
a, b, c, d, e, f, g, h = nil, nil, nil, nil, nil, nil, nil, nil
unpack_i = -2
unpack_j = 0
a, b, c, d, e, f, g, h = unpack(unpack_table, unpack_i)
assert(a == nil, "fail")
assert(b == nil, "fail")
assert(c == nil, "fail")
assert(d == 1, "fail")
assert(e == 2, "fail")
assert(f == 3, "fail")
assert(g == 4, "fail")
assert(h == 5, "fail")
printh("----> with i > #unpack_table as arg")
a, b, c, d, e, f, g, h = nil, nil, nil, nil, nil, nil, nil, nil
unpack_i = 8
unpack_j = 0
a, b, c, d, e, f, g, h = unpack(unpack_table, unpack_i)
assert(a == nil, "fail")
assert(b == nil, "fail")
assert(c == nil, "fail")
assert(d == nil, "fail")
assert(e == nil, "fail")
assert(f == nil, "fail")
assert(g == nil, "fail")
assert(h == nil, "fail")
printh("----> with i and j as arg")
a, b, c, d, e, f, g, h = nil, nil, nil, nil, nil, nil, nil, nil
unpack_i = 3
unpack_j = 5
a, b, c, d, e, f, g, h = unpack(unpack_table, unpack_i, unpack_j)
assert(a == 3, "fail")
assert(b == 4, "fail")
assert(c == 5, "fail")
assert(d == nil, "fail")
assert(e == nil, "fail")
assert(f == nil, "fail")
assert(g == nil, "fail")
assert(h == nil, "fail")
printh("----> with -i and j as arg")
a, b, c, d, e, f, g, h = nil, nil, nil, nil, nil, nil, nil, nil
unpack_i = -1
unpack_j = 3
a, b, c, d, e, f, g, h = unpack(unpack_table, unpack_i, unpack_j)
assert(a == nil, "fail")
assert(b == nil, "fail")
assert(c == 1, "fail")
assert(d == 2, "fail")
assert(e == 3, "fail")
assert(f == nil, "fail")
assert(g == nil, "fail")
assert(h == nil, "fail")
printh("----> with i > #unpack_table and j as arg")
a, b, c, d, e, f, g, h = nil, nil, nil, nil, nil, nil, nil, nil
unpack_i = 10
unpack_j = 4
a, b, c, d, e, f, g, h = unpack(unpack_table, unpack_i, unpack_j)
assert(a == nil, "fail")
assert(b == nil, "fail")
assert(c == nil, "fail")
assert(d == nil, "fail")
assert(e == nil, "fail")
assert(f == nil, "fail")
assert(g == nil, "fail")
assert(h == nil, "fail")
printh("----> with -i and -j as arg")
a, b, c, d, e, f, g, h = nil, nil, nil, nil, nil, nil, nil, nil
unpack_i = -1
unpack_j = -6
a, b, c, d, e, f, g, h = unpack(unpack_table, unpack_i, unpack_j)
assert(a == nil, "fail")
assert(b == nil, "fail")
assert(c == nil, "fail")
assert(d == nil, "fail")
assert(e == nil, "fail")
assert(f == nil, "fail")
assert(g == nil, "fail")
assert(h == nil, "fail")
printh("pass")
end
function test_ipairs()
printh("==> 'ipairs'")
printh("----> with i,v as for values")
local test_table = {2,4,8,16,32,64,128,256,512,1024}
for i,v in ipairs(test_table) do
assert(2^i == v, "fail")
end
printh("----> return an iter function")
test_table = {2,4,8,16,32,64,128,256,512,1024}
iter, i, v = ipairs(test_table)
assert(type(iter) == "function", "fail")
printh("pass")
end
function test_table_pack()
printh("==> 'table.pack'")
printh("----> pack values")
local values = table.pack(1,2,3,4,5)
assert(values[1] == 1, "fail")
assert(values[2] == 2, "fail")
assert(values[3] == 3, "fail")
assert(values[4] == 4, "fail")
assert(values[5] == 5, "fail")
printh("pass")
end
function test_table_insert()
printh("==> 'table.insert'")
printh("----> insert value")
local test_table = {22,-20,67,1009,-500}
table.insert(test_table, 10)
assert(test_table[1] == 22, "fail")
assert(test_table[2] == -20, "fail")
assert(test_table[3] == 67, "fail")
assert(test_table[4] == 1009, "fail")
assert(test_table[5] == -500, "fail")
assert(test_table[6] == 10, "fail")
printh("----> insert value at specified pos")
test_table = {-3,-2,-1,0,2,3}
table.insert(test_table, 5, 1)
assert(test_table[1] == -3, "fail")
assert(test_table[2] == -2, "fail")
assert(test_table[3] == -1, "fail")
assert(test_table[4] == 0, "fail")
assert(test_table[5] == 1, "fail")
assert(test_table[6] == 2, "fail")
assert(test_table[7] == 3, "fail")
printh("pass")
end
function test_table_remove()
printh("==> 'table.remove'")
printh("----> remove value")
local test_table = {-3,-2,-1,0,1,2,3}
table.remove(test_table)
assert(test_table[1] == -3, "fail")
assert(test_table[2] == -2, "fail")
assert(test_table[3] == -1, "fail")
assert(test_table[4] == 0, "fail")
assert(test_table[5] == 1, "fail")
assert(test_table[6] == 2, "fail")
assert(test_table[7] == nil, "fail")
printh("----> remove value at specified pos")
test_table = {-3,-2,-1,0,1,2,3}
table.remove(test_table, 1)
assert(test_table[1] == -2, "fail")
assert(test_table[2] == -1, "fail")
assert(test_table[3] == 0, "fail")
assert(test_table[4] == 1, "fail")
assert(test_table[5] == 2, "fail")
assert(test_table[6] == 3, "fail")
assert(test_table[7] == nil, "fail")
printh("pass")
end
function test_table_sort()
printh("==> 'table.sort'")
printh("----> sort simple table")
local test_table = {33,3,333,87,13,252,-29}
table.sort(test_table)
assert(test_table[1] == -29, "fail")
assert(test_table[2] == 3, "fail")
assert(test_table[3] == 13, "fail")
assert(test_table[4] == 33, "fail")
assert(test_table[5] == 87, "fail")
assert(test_table[6] == 252, "fail")
assert(test_table[7] == 333, "fail")
printh("----> sort simple table with given comp function")
local function desc(a,b)
return a > b
end
test_table = {33,3,333,87,13,252,-29}
table.sort(test_table, desc)
assert(test_table[1] == 333, "fail")
assert(test_table[2] == 252, "fail")
assert(test_table[3] == 87, "fail")
assert(test_table[4] == 33, "fail")
assert(test_table[5] == 13, "fail")
assert(test_table[6] == 3, "fail")
assert(test_table[7] == -29, "fail")
printh("pass")
end
__gfx__
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000088888800000000000000
00700700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000888888880000000000000
00077000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000888228880000000000000
00077000000000000000000066666666660000000000000000000000000000000000000000000000000000000000000000000000000882008880000000000000
0070070000000000000066666666666666600000000006666d000000000000066666666666000000000000000000000000000000000888888820000000000000
0000000000000000000666666666666666666000000006666d110000000006666666666666600000000000000000000000000000000888888888800000000000
0000000000000000000666666666666666666600000006666d1100000000666666666666666d0000000000000000666666666000000088888888880000000000
0000000000000000000666666666dd66666666d1000006666d11000000066666666666666666d000000000000066666666666600000888882228882000000000
00000000000000000006666666dd11d6666666d1000066666d11000000666666666666666666d100000000000666666666666660000888220008882000000000
0000000000000000000666666d11111d666666d1000066666d1100000066666666ddd6666666d100000000006666666666666660000888200088882000000000
000000000000000000066666d1100000066666d1000066666d110000066666666d111dd66666d100000000066666666666666666000888800888820000000000
00000000000000000006666d11000000666666d1000066666d11000006666666d111111ddddd110000000066666666ddd6666666600088888888200000000000
00000000000000000066666d11000006666666d1000066666d1100006666666d11101111111110000000006666666d111d666666660002888822000000000000
00000000000000000066666d10000006666666d100006666d1100000666666d11110000001110000000006666666d1111166666666d000222200000000000000
00000000000000000066666d1000006666666d1100066666d1100000666666d1100000000000000000000666666d11000006666666d100000000000000000000
00000000000000000066666d1000066666666d1000066666d110000666666d1110000000000000000000666666d110000000666666d100000000000000000000
0000000000000000066666d1100066666666d1100006666d110000066666d1110000000000000000000066666d1100000000666666d100000000000000000000
0000000000000000066666d1166666666666d1000006666d110000066666d1100000000000000000000066666d1100000000066666d100000000000000000000
0000000000000000066666666666666666dd11000006666d110000066666d1100000000000000000000066666d1000000000066666d100000000000000000000
000000000000000006666666666666666d1110000006666d110000066666d110000000000000000000006666d11000000000666666d100000000000000000000
0000000000000000066666666666666dd11100000066666d100000066666d110000000000000000000006666d11000000000666666d100000000000000000000
00000000000000006666666666666dd111100000006666d1100000066666d1100000000000000000000066666d1000000006666666d100000000000000000000
0000000000000000666666ddddddd11110000000006666d11000000666666d100000000000006666d00066666d1000000006666666d100000000000000000000
000000000000000066666d111111110000000000006666d11000000666666d100000000000066666d000666666d000000066666666d100000000000000000000
000000000000000066666d100000000000000000006666d110000000666666dd0000000000066666d1006666666d00000666666666d100000000000000000000
00000000000000006666d1100000000000000000006666d110000000d66666666666666666666666d10006666666d000666666666d1100000000000000000000
00000000000000066666d1000000000000000000006666d110000000166666666666666666666666d100066666666666666666666d1100000000000000000000
00000000000000066666d1000000000000000000006666d1100000000d666666666666666666666d1100016666666666666666666d1100000000000000000000
0000000000000006666d11000000000000000000006666d10000000001dd6666666666666666666d110000166666666666666666dd1000000000000000000000
0000000000000066666d10000000000000000000006666d1000000000011d66666666666666666d111000011666666666666666d111000000000000000000000
0000000000000066666d10000000000000000000066666d10000000000011dddd6666666666ddd11100000011666666666666dd1110000000000000000000000
0000000000000066666d1000000000000000000006666d1100000000000011111dddddddddd1111100000000111dddddddddd111100000000000000000000000
0000000000000066666d100000000000000000000ddddd1100000000000000001111111111111110000000000011111111111111000000000000000000000000
00000000000000ddddd1100000000000000000000111111100000000000000000001111111111000000000000000111111111100000000000000000000000000
00000000000000111111000000000000000000000011111000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000035353535353535353535300000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000005353530003535353535353535353535353535353535353535353535353530000000000000000000
00000000000000000000535353535353535353535353535353535353035353535353535353535353535353535353535353535353535353500000000000000000
00000000000000053535353535353535353535353535353535353535053535353535353535353535353535353535353535353535353535353535000000000000
00000000000353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353000000000000
00000000053535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535000000000000
000000000353535353535353535353535353535353535353535353535353535353535353535353535bbb53535353535353535353535353535353000000000000
0000000005353535353535353535353535bbb4353535353bb43535353535353535353535353535b53bbb35353535353535353535353535353535000000000000
000000000353535353bbbbb453535353bbbbb4535353535bb4535353bbb353535354bbbb534bbbbbbb4454bb535354bbb3535354bbbb53535355000000000000
00000000053535353bbbbbbb45353535bbbbb435bb353bbbb43535bbbbbb353534bbbbbbb54bbbbbb43534bbb53534bbb535354bbbbbb5353535000000000000
00000000535353535bbbbbbbb4535353bbb45353bbbbbbbb43535bbbbbbbb35354bbb4bbb34bbbbb435354bbb353534bb353534bbb4bb3535353000000000000
000000003535353535353bbbb4353535bbb43535bbbbbbb43535bbbb444bbb454bbb454bbb3444bb353534bbb535354bbb3534bbb44bbb353535000000000000
000000005353535353535bbbbb435353bbbb435354444bb45353bbb45353bb434bbb534bbb5354bb535354bbbb53534bbb5354bbb34bbb535353000000000000
000000003535353535353bbbbb45353bbbbbb43535353bb4353bbb453535bb454bb534bbbb3534bb353534bbbb353534bb354bbb354bbb353535000000000000
000000005353535353535bbbbbb4535bbb4bbb4353535bb4535bb4535353bbb4bbb34bbbbb5354bb535354bbbbb35354bb534bbb534bb3535355000000000000
0000000055353535353535bb4bbb453bb435bb4535353bb4353bbb4535bbbbb4bbb54bbbbb3534bb353534bbbbbb3534bb354bb5353535353555000000000000
0000000053535353535353bb4bbb435bb453bbb453535bbb435bbb4353bbbb44bbb34bbbbb5354bb5353534bbbbb5354bbb34bb3535353535350000000000000
0000000005353535353535bb44bb453bb435bbb435353bbb4535bb4535bbbb454bb544bbbb3534bbb535354bb4bb35354bb54bb5353535353500000000000000
0000000003535353535353bb43bbb4bbb4535bb4535353bb4353bb43534bb4534bbb5444445354bbb353534bb4bbb3534bb34bb3535bb3535300000000000000
0000000005353535353535bb453bb4bbb4353bb4353535bb4535bbb4353445354bbb35353535354bb535354bb54bb5354bb54bb54bbbbbb53500000000000000
0000000003535353535353bb435bbbbbbb435bbb435353bbb4535bbb4443535354bbbbb35353534bbb53534bb34bbb534bb34bb34bbbbbb35353000000000000
0000000035353535353535bb453bbbbbbb453bbb4535353bb4353bbbbbb4353534bbbbbb35353534bb35354bb534bb354bb54bb54bbbbbb53535000000000000
0000000353535353535353bb435bbbbbb45353bb4353535bb45353bbbbbbb45353444bbbb3535354bb53534bb354bbb34bb34bb34bbb4bb35353000000000000
0000000535353535353535bb453bbbbbb43535bb4535353bb435353535bbbb45353534bbbb353534bbb5354bb5354bb54bb54bb54bbb4bb53535000000000000
0000000353535353535353bb435bbbbbb45353bb4353535bbb435353535bbb435353534bbb535354bbb3534bb3534bb34bb34bb353534bb35353000000000000
000000053535353535353bbb4535bbbb453535bb4535353bbb4535353535bbb435444534bb3535354bb534bbb5354bb4bbb54bb535354bb53535000000000000
000000035353535353535bbb4353bbbb435353bb4353535bbb4353535353bbb454bbb353bbb353534bb354bb53534bbbbb534bb353534bb35353500000000000
000000053535353535353bb43535bbbb453535bb4535353bbb453bbb45353bb44bbbb5354bb535354bb534bb35354bbbbb354bbb3534bbb53535300000000000
000000035353535353535bb45353bbbb435353bb4353535bbb43bbbbb4535bb44bbbb3534bb353534bb354bb535354bbbb534bbb444bbb535353500000000000
0000000555555535bbb43bb43535bbbb453535bb4535353bbb45bbbbb4353bb44bbbb534bbb535354bb534bb353534bbbb3534bbbbbbbb353535300000000000
0000000555555353bbbb4bb453535bbb435353bb4bbb43bbb4535bbb4353bbb44bbb5354bbb34b534bb354bb535354bbbb5354bbbbbbb3535353500000000000
0000000555555535bbbbbbb435353bb4353535bb4bb435bbb43b4bbb453bbbb44bbb353bbb44bb44bbbbbbbb353534bbbb35354bbbb535353535500000000000
0000000000005353bbbbbbb453535bb453535bbbbbbb43bbb4bbbbbbbbbbbb434bbbbbbbbb54bbbbbbbb4bb3535354bbbb535353535353535353500000000000
0000000000353535bbbbbbb435353bb435353bbbbbbbbbbbbbbbb4bbbbbbb43534bbbbbbb43544bbbbb44bb5353534bbb5353535353535353535000000000000
0000000353535353bbbbbb4353535b4353535bbbbb4bbbbbbb444344444443535344bbb44353534444434bb3535354bbb3535353535353535353000000000000
00000035353535354444443535353435353535444434444444353535353535353535444535353535353535353535353535353535353535353535000000000000
00000053535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535355000000000000
00000035353535353535353535353535353535353535353535353535353535353555555555555535353535353535353535353535353535555555000000000000
00000053535353535353535353535353535353535353535353555555555555555555555555555555555555555555555555555555555555555550000000000000
00000035555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555550000000000000
00000055555555555555555555555555555555555555555555555555555555555000000000000055555555555555555555555555555550000000000000000000
00000055555555555555555555555555555555555555555555555000000000000000000000000000000000000000000000000000000000000000000000000000
00000055500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000999999999999999999999999999999999aaaaaaaaaaaaaaaaaa000000000000000000000000000000000000000
00000000000000000000000000000000000009955555555555555555555555555555555444444444444444449900000000000000000000000000000000000000
000000000000000000000000000000000000995999999999999999999999999999999aaaaaaaaaaaaaaaaaa95990000000000000000000000000000000000000
0000000000000000000000000000000000009599dddddddd99999999999999dd9dd9aaaaaaaaaaaaaaaaaa999590000000000000000000000000000000000000
000000000000000000000000000000000000959d66666667d999999999999d66d67daaaaaaaaaaaaaaaaa9999590000000000000000000000000000000000000
0000000000000000000000000000000000009599d66666777d99999999ddddd6dd7daaddddaaaaaaaaa999999590000000000000000000000000000000000000
0000000000000000000000000000000000009599d66dddd77d99999999d66dd7dd7ddad77daaaaaaaa9999999590000000000000000000000000000000000000
0000000000000000000000000000000000009599d66dddd66d99999999d77dd777777dd77daaaaaa999999999590000000000000000000000000000000000000
0000000000000000000000000000000000009599d66776666ddd999ddaddddd7dd7ddadddddadddd9dddd9999590000000000000000000000000000000000000
0000000000000000000000000000000000009599d6776666dd66d9d67d777dd7dd7dad677d7d7776d6666d999590000000000000000000000000000000000000
0000000000000000000000000000000000009599d77ddd666dd6d9d77dd77dd7dd7d9ad77dd7776666dd66d99590000000000000000000000000000000000000
0000000000000000000000000000000000009599d66d99d666d6d9d77dd77dd7dd6daad77dd77dd66666dd9a9590000000000000000000000000000000000000
0000000000000000000000000000000000009599d66d99d666d6dad77dd77dd6dd7ddad77dd6d9d66dd667da9590000000000000000000000000000000000000
0000000000000000000000000000000000009599d66dddd666d67d777dd77dd6dd7d7dd77dd6d9d66dddd7d99590000000000000000000000000000000000000
000000000000000000000000000000000000959d66666666dd9d777d777766667d777d7766666d6666667d999590000000000000000000000000000000000000
0000000000000000000000000000000000009599dddddddd9aaadddaddddddddddddddddddddddddddddd9999590000000000000000000000000000000000000
000000000000000000000000000000000000995999999999aaaaaaaaaa9999aaaaaaaaa99999999999a999995990000000000000000000000000000000000000
00000000000000000000000000000000000009955555555544444444445555444444444455555555544555559900000000000000000000000000000000000000
0000000000000000000000000000000000000099999999aaaaaaaaaa99999aaaaaaaaaaa99999999999999999000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
__gff__
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
__map__
0001000000000000000000000000000f10100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000102030405060708090a0b0c0d0e0f10200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001112131415161718191a1b1c1d1e1f20300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
002122232425262728292a2b2c2d2e2f30400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
003132333435363738393a3b3c3d3e3f40500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
004142434445464748494a4b4c4d4e4f50600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
005152535455565758595a5b5c5d5e5f60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
606162636465666768696a6b6c6d6e6f70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
707172737475767778797a7b7c7d7e7f80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
808182838485868788898a8b8c8d8e8f90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
909192939495969798999a9b9c9d9e9fa0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
a0a1a2a3a4a5a6a7a8a9aaabacadaeafb0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000b2b3b4b5b6b7b8b9babbbcbdbebfc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000c2c3c4c5c6c7c8c9cacbcccdcecfd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
c0b1b2b3d4d5d6d7d8d9dadb00cdcecf00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00c1c2c300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
__sfx__
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
__music__
00 01424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344