-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcleaninguptheroad.p8
964 lines (852 loc) · 49.6 KB
/
cleaninguptheroad.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
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
pico-8 cartridge // http://www.pico-8.com
version 39
__lua__
--cleaning up the road
--a simple game for kids
--copyright tom troyer 2022
--all rights reserved
--released under mit license
-- global lists
players = {}
trashes = {}
cars = {}
-- global timers
car_timer = nil
title_screen_timer = nil
-- global state
title_screen = true
level_screen = false
level = 1
level_timer = 300
total_trash_cleaned = 0
trash_cleaned = 0
end_of_level_timer = 60
gameover_timer = nil
music_on = true
is_swap_cont = false
-- utility methods
function random(minimum, maximum)
return rnd(maximum-minimum) + minimum
end
function random_int(low, high)
return flr(rnd(high+1-low))+low
end
function log(msg)
printh(msg, "log.txt", false)
end
function debug(msg)
print(msg, 20, 20, 7)
end
-- px9 compression import
#include px9_decomp.lua
-- global game logic functions
function handle_controllers()
for j,player in pairs(players) do
if (is_swap_cont) then
if (j==1) then i = 2 end
if (j==2) then i = 1 end
else
i = j
end
local mov_x = 0
if(btn(⬅️,i-1)) then
mov_x = -1
elseif(btn(➡️,i-1)) then
mov_x = 1
end
local mov_y = 0
if(btn(⬆️,i-1)) then mov_y = -1
elseif(btn(⬇️,i-1)) then mov_y = 1 end
player:move(mov_x, mov_y)
if(btnp(❎,i-1)) then
player:pickup(trashes)
end
if(btnp(🅾️,i-1)) then
player:throw_trash()
end
end
end
function is_any_trash_dropped_in_can()
for i,trash in pairs(trashes) do
local is_held = false
for j,player in pairs(players) do
if trash == player.trash_obj then
is_held = true
end
end
if (not is_held) and trash.z < 1 then
if (trash.x > 4) and (trash.x < 13)
and (trash.y > 80) and (trash.y < 90) then
del(trashes, trash)
trash_cleaned += 1
total_trash_cleaned += 1
end
if (trash.x > 124 or trash.x < 0
or trash.y > 124 or trash.y < 0) then
del(trashes, trash)
end
end
end
end
function move_cars()
for i,car in pairs(cars) do
car:move()
if car:should_destroy() then
del(cars, car)
end
end
end
function spawn_car()
if (car_timer <= 0) then
add(cars, car:new())
car_timer = random(5*30, 20*30)
end
car_timer -= 1
end
function draw_level_screen()
level_timer -= 1
if level == "gameover" then
if level_timer < 250 then
print('gameover',
45, 35, 7)
end
if level_timer < 200 then
print('total cleaned up: ',
25, 55, 7)
end
if level_timer < 160 then
print('total cleaned up: ' .. total_trash_cleaned,
25, 55, 7)
end
if level_timer <= 0 then
-- reset global states
trashes = {}
players = {}
cars = {}
title_screen = true
level_screen = false
level_timer = 300
level = 1
draw_title_screen()
level_start(1)
total_trash_cleaned = 0
trash_cleaned = 0
end
return
end
if (level_timer <= 0) then
level_screen = false
trash_cleaned = 0
end_of_level_timer = 60
end
if level_timer < 250 then
print('level ' .. level,
45, 35, 7)
end
if level == 1 then
if level_timer < 150 then
level_timer = 0
end
return
end
if level_timer < 200 then
print('trash cleaned up: ',
25, 55, 7)
end
if level_timer < 160 then
print('trash cleaned up: ' .. trash_cleaned,
25, 55, 7)
end
if level_timer < 100 then
print('total cleaned up: ',
25, 65, 7)
end
if level_timer < 60 then
print('total cleaned up: ' .. total_trash_cleaned,
25, 65, 7)
end
end
-- recursive
function create_a_trash()
t = trash:new()
--avoid generating in top right
if t.x < 20 and t.y < 20 then
return create_a_trash()
end
-- prefer generating trash beside road
if t.x > 20 and t.x < 104 then
if random_int(0,100) > 5 then
return create_a_trash()
end
end
return t
end
function trash_gen(c)
for i = 1,c,1 do
add(trashes, create_a_trash())
end
end
function cars_collision()
for _,car in pairs(cars) do
car:collide(players)
end
end
function title_controllers()
if not title_timer == nil then
return
end
if(btnp(❎,0)
or btnp(❎,1)
or btnp(🅾️,0)
or btnp(🅾️,1)) then
title_timer = 30
sfx(1)
end
end
function update_trash()
for t in all(trashes) do
t:update()
end
end
function level_start(l)
players = {}
add(players, player:new(10,rnd(20)+20,1))
add(players, player:new(5,rnd(20)+40,2))
trash_gen((l * 3) + 3)
end
function out_of_hearts()
if not (gameover_timer == nil) then
gameover_timer -= 1
if (gameover_timer <= 0) then
level_screen = true
level = "gameover"
level_timer = 300
gameover_timer = nil
end
return
end
for p in all(players) do
if p.hearts == 0 then
gameover_timer = 80
end
end
end
function toggle_music()
music_on = not music_on
if (music_on) then
start_music()
else
stop_music()
end
end
function swap_controllers()
is_swap_cont = not is_swap_cont
end
function start_music()
if (music_on) then
music(0)
end
end
function stop_music()
music(-1,300)
end
-- pico-8 hooks
function _init()
menuitem(2, "toggle music", toggle_music)
menuitem(3, "swap controllers", swap_controllers)
title_screen = true
level = 1
draw_title_screen()
level_start(1)
car_timer = random(1*30, 3*30)
end
function _update()
if title_screen then
title_controllers()
if not (title_timer == nil) then
title_timer -= 1
end
if title_timer == 0 then
title_screen = false
start_music()
level_screen = true
level_timer = 300
end
return
end
if level_screen then
return
end
handle_controllers()
is_any_trash_dropped_in_can()
spawn_car()
move_cars()
cars_collision()
update_trash()
level_complete()
out_of_hearts()
end
function level_complete()
if count(trashes) == 0 and level_screen == false then
end_of_level_timer -= 1
if end_of_level_timer <= 0 then
level += 1
level_timer = 300
level_screen = true
level_start(level)
end
end
end
function draw_title_screen()
cls()
px9_decomp(0,0,0x0800,pget,pset)
map(0,16)
print('cleaning up the road', 26, 16, 0)
print('cleaning up the road', 25, 15, 7)
print('press ❎ / 🅾️', 39, 116, 0)
print('press ❎ / 🅾️', 38, 115, 7)
return
end
function _draw()
if title_screen then
return
end
if level_screen then
cls()
draw_level_screen()
return
end
cls()
map(((level-1)%3)*16,0)
foreach(trashes, function(o) o:draw() end)
foreach(players, function(o) o:draw() end)
foreach(cars, function(o) o:draw() end)
end
-->8
-- player object
player = {}
function player:new(x,y,player_id)
local o = {}
setmetatable(o,self)
self.__index = self
o.x = x or 10
o.y = y or 20
o.dx = 0
o.dy = 0
o.is_looking_left = false
o.trash_obj = nil
o.walk_timer = nil
o.walk_state = 0
o.hearts = 3
o.player_id = player_id
o.hit_timer = nil
o.flicker = false
o.sprite_id = 55
if(player_id == 1) then
o.sprite_id = 52
end
return o
end
function player:draw()
self:countdown_timer()
if (self.hearts <= 0) then
return
end
sprite_id = self.sprite_id
if (self.walk_state == 1) then
sprite_id += 1
elseif (self.walk_state == 3) then
sprite_id += 2
end
if not (self.hit_timer == nil) then
self.flicker = not self.flicker
if (self.flicker == false) then
spr(sprite_id, self.x, self.y, 1, 1, self.is_looking_left)
end
else
spr(sprite_id, self.x, self.y, 1, 1, self.is_looking_left)
end
self:draw_hearts()
end
function player:countdown_timer()
-- countdown hit timer
if not (self.hit_timer == nil) then
self.hit_timer -= 1
if (self.hit_timer <= 0) then
self.hit_timer = nil
self.flicker = false
end
end
end
function player:move(mov_x, mov_y)
if (mov_x == 0 and mov_y == 0) then
self.walk_timer = nil
self.walk_state = 0
return
end
if (self.walk_timer == nil) then
self.walk_timer = 5
end
if (self.walk_timer == 0) then
self.walk_timer = 5
self.walk_state += 1
if self.walk_state > 3 then
self.walk_state = 0
end
end
if not (self.hit_timer == nil) then
self.dx = mov_x * 0.3
self.dy = mov_y * 0.3
else
self.dx = mov_x
self.dy = mov_y
end
if (mov_x == 1) then
self.is_looking_left = false
elseif (mov_x == -1) then
self.is_looking_left = true
end
self.x += self.dx
self.y += self.dy
self:move_carried_trash()
self.walk_timer -= 1
-- boundries
if self.y > 130 then
self.y = 130
elseif self.y < -8 then
self.y = -8
end
if self.x > 130 then
self.x = 130
elseif self.x < -8 then
self.x = -8
end
end
function player:move_carried_trash()
if self.trash_obj != nil then
if self.is_looking_left then
self.trash_obj.x = self.x - 6
else
self.trash_obj.x = self.x + 6
end
self.trash_obj.y = self.y + 2
end
end
function player:pickup(trashes)
if (self.trash_obj != nil) then
self.trash_obj = nil
sfx(1)
return
end
for i,trash in pairs(trashes) do
if (trash.x > (self.x-8)) and (trash.x < (self.x+8)) then
if (trash.y > (self.y-8)) and (trash.y < (self.y+8)) then
self.trash_obj = trash
sfx(2)
break
end
end
end
self:move_carried_trash()
end
function player:run_over()
if self.hit_timer == nil then
sfx(3)
self.hit_timer = 150
self.hearts -= 1
end
end
function player:throw_trash()
if self.trash_obj == nil then
return
end
if (self.is_looking_left) then
self.trash_obj.dx = -2
else
self.trash_obj.dx = 2
end
self.trash_obj.dz = 5
self.trash_obj = nil
end
function player:draw_hearts()
spr(24+self.player_id, 0, (self.player_id * 10) - 7)
for i = 1,self.hearts,1 do
spr(24, 7 + ((i-1)*5), (self.player_id * 8)-8 + 3)
end
end
-->8
-- trash object
trash = {}
function trash:new(x, y)
local o = {}
setmetatable(o,self)
self.__index = self
o.x = rnd(115) + 5
o.y = rnd(115) + 5
o.sprite_id = rnd(7)+3
o.is_recyclable = false
o.z = 0
o.shadow = true
o.dx = 0
o.dz = 0
o.grav = -0.5
return o
end
function trash:update()
self.x += self.dx
self.dz += self.grav
self.z += self.dz
if (self.z <= 0) then
self.z = 0
self.dx = 0
end
end
function trash:draw()
self.shadow = not self.shadow
spr(self.sprite_id, self.x, self.y-(self.z/2))
if (self.z ~= 0 and self.shadow) then
spr(20, self.x, self.y)
end
end
-->8
-- car object
car = {}
car_pal = {
{[2]=14,[3]=7}, -- pink
{[2]=14,[3]=7}, -- pink
{[2]=14,[3]=7}, -- pink
{[2]=8,[3]=14}, -- red
{[2]=6,[3]=7}, -- gray
{[2]=9,[3]=10}, -- orange
{[2]=7,[3]=7}, -- white
}
function car:new()
local o = {}
setmetatable(o,self)
self.__index = self
o.sprite_id = 14
o.moving_up = random_int(1,2) == 1
if o.moving_up then
o.dy = -3
o.y = 250
o.x = random_int(67,73)
else
o.x = random_int(28,43)
o.y = -200
o.dy = 3
end
car_color = flr(rnd(count(car_pal))) + 1
return o
end
function car:move()
self.y += self.dy
end
function car:draw()
pal(car_pal[car_color])
if self.moving_up then
spr(self.sprite_id, self.x, self.y, 2, 4)
if (self.y > 128+20 and self.y < 128+40)
or (self.y > 128+60 and self.y < 128+80)
or (self.y > 128+100 and self.y < 128+120) then
rectfill(40, 120, 80, 121, 8)
end
else
spr(self.sprite_id, self.x, self.y, 2, 4, false, true)
if (self.y < -20-48 and self.y > -40-48)
or(self.y < -60-48 and self.y > -80-48)
or(self.y < -100-48 and self.y > -120-48) then
rectfill(40, 5, 80, 6, 8)
end
end
pal()
end
function car:collide(players)
for i,player in pairs(players) do
if (player.x+8 > self.x) and (self.x+16 > player.x) then
if (player.y+5 > self.y) and (self.y+31 > player.y) then
player:run_over()
end
end
end
end
function car:should_destroy()
if self.moving_up then
return (self.y < -50)
end
return (self.y > 150)
end
__gfx__
00000000000444000088008800000000000000000000000000000000000000000000000000000000000000000000000000008888888800000000222222220000
000000000044ff00008e88e800000000000000000000000000000000000000000000000000000000000000000000000000888888888888000022222222222200
00700700004ff1000008ee1000000000000000000000000000067000000000000000000000000000000000000000000003668888888866300266222222226620
000770000404ff000008ee80068ee70000aaa000000ccc00007677000008e00000eee000000dd00000000000000000008a888888888888a82a222222222222a2
000770004040880800008e0806888600009aa000000ccc0007767000000880000088e000001ddd00000000000000000088888888888888882222222222222222
007007000400888000008e8005288600000900000001cc0000dd6000000880000000000000010000000000000000000088888888888888882222222222222222
0000000000001110000088e000000000000000000000000000000000000000000000000000000000000000000000000088881111111188882222111111112222
00000000000100100008008000000000000000000000000000000000000000000000000000000000000000000000000018111111111111811211111111111121
555555555555555555577555555555550000000000000000000a0a00000000000000000000000000088000880000000011111111111161111111111111116111
5557755555555555555775555555555500000000000000000000a00000000000000000000004440008e888e80000000011111111111111111111111111111111
555775555555555555577555555555550000000000000000011a11100000000000000000004fff40008eee8000000000e11111111111111e2111111111111112
55577555555555555557755577777777000110000000000011111111000000000000000004f5f5f408e1e1e800000000eeeeeeeeeeeeeeee2222222222222222
55577555555555555557755577777777001111000000000011111611000000000008080004fffff408ee8ee800000000e1eeeeeeee77771e2122222222333312
5557755555555555555775555555555500011000000000001111111100000000008e878004f888f408eeeee800000000e1eeeeeeeeeeee1e2122222222222212
55577555555555555557755555555555000000000000000011111111000000000008e800040fff04008eee8000000000e1eeeeeeeeeeee1e2122222222222212
555555555555555555577555555555550000000000000000011111100000000000008000040000040000000000000000e1eeeeeeeeeeee1e2122222222222212
6666666666666666bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb000000000000000000000000000000000000000000000000e1eeeeeeeeeeee1e2122222222222212
6666666666666666bbbbbbbbbbbbbbbbbbb3bbbbbbbbabbb000000000000000000000000000000000000000000000000e1eeeeeeeeeeee1e2122222222222212
6666666666666666bbbbbb3bbbbbbbbbbbb3bbbbbbbaaabb000000000000000000000000000000000000000000000000e1eeeeeeeeeeee1e2122222222222212
6666666666666666bbbbbb3bbbbbbbbbbbbbbb3bbbbb3bbb000000000000000000000000000000000000000000000000e1eeeeeeeeeeee1e2122222222222212
5555555566666666b3bbbbbbbbbbb3bbb3bbbb3bbbb333bb000000000000000000000000000000000000000000000000ee1eeeeeeeeee1ee2212222222222122
6666666666666666b3bbbbbbbbbbb3bbb3bbbbbbbbbb3bbb0000000000000000000000000000000000000000000000001eeeeeeeeeeeeee11222222222222221
6666666666666666bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb0000000000000000000000000000000000000000000000001ee1111111111ee11221111111111221
6666666666666666bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb0000000000000000000000000000000000000000000000001e111111111111e11211111111111121
0000000033333333b000000b0000000000044400000444000004440000880088008800880088008800000000000000001ee1111111111ee11221111111111221
0000000031111113b011110b000000000044ff000044ff000044ff00008e88e8008e88e8008e88e80000000000000000eeeeeeeeeeeeeeee2222222222222222
0000000031111113a011110b00000000004ff100004ff100004ff1000008ee100008ee100008ee100000000000000000eeeeeeeeeeeeeeee2222222222222222
0000000033333336a000000b000000000404ff000404ff000404ff000008ee800008ee800008ee800000000000000000eeeeeeeeeeeeeeee2222222222222222
0000000033333336000005000000000040408808404088084040880800008e0800008e0800008e0800000000000000000e99eeeeeeee99e00299222222229920
0000000055533336000000000000000004008880040088800400888000008e8000008e8000008e800000000000000000000eeeeeeeeee0000002222222222000
000000005a5333360000000000000000000011100000111000001110000088e0000088e0000088e0000000000000000000000000000000000000000000000000
0000000055533336b000000b00000000000010100001001000001001000080800008008000008008000000000000000000000000000000000000000000000000
ffff8ff7ffff78fdf912b0c6e4a1df8b86022880022880a5846b80022880840248286180120228801212062800176f8d1040011440004e23d68c6203a0000800
a00072062100158002d8fc08b00c0124e01011821b053e0ae0088201481a0c01899340480c3268001c12bb0009090b54b426ec105da0e10001214115105480e6
0832e504a0600e2180e518cc2b3f875417180d10064041a440686868480e9021780a5012120c020e809a408bc34e907002954c4557000228b8805061988c80e0
02084b1480b800091a3c29832484074001d13088a44184800324e0040910a34202028e4ec1c55b0c4149a0302001047790b090608022c428711c808509144050
485cb42507380503834052f12420a083930d12e490f0cc21c14095c10949b02498003a0ce4001a9142484e109465808814404048485869d244c1043808c6b109
8101053a20140c611080820c14e00e0115101342d40809a8a2002e300942e1004048500a8485b0645828e802424261a4944e249c20048d48744648092ba2a242
52447891c60b080d084986a3008101b4c68485172024f05294200a439412cd90068201141824201474004c4a264c4bb87090420798429498217240614494062e
904a59134402686001380068481ac649224a5609e348281211602b82830e424828700558522820f80080c4e00417461bcc9ae006c8820be70720204724548442
082880020ae2be8a4a88958000428142e29522027521001d9022348b1044942132990296a01bb321353b0bba1076000b48481c945d7d449405530b07b031c13f
110124212a140c010458151021063b680928510c8480b83102025b01444a5450e70009c0a2d114305180e4e02da4098003030404953ab98054420da829c029b0
12d0264a82901040b0114c1ac0b029a1005888010604a22bda5a2b420142181a01294219229442d8227820b2d5f538bc25810882108037546b246901279440ae
1c581702145c948139241aa48a4e054045ea0a010b0416400bc9be20ec941146582b44219425114207481b664b24348845756869bc404271840b15822e95536b
519861429a401c22f4661940588c4ca485074056443388484601523a214800a48a69ca561510521442c1081a38464c51c17788213588e02151630802288003c4
844b4242426498613284a69287018cc4a0740101986d9c9024244101c12405be4980620228b82094229032482132519b88880127a509ceca2d42953019400014
90d61ba68ce8ca19e02e441161940248ee2829085b0c8a2a1984449009948012822c80146527584400245424c094832996424253d02aca38843b4498d24e8484
b0426a1a0042012ebd55296161582120100921504299b2c1c44998c04d2d4a1e022411cd88213c0083205148940dc0e078128ef3516888a9700b421111002511
21852444a144010d2d7a1146b90bbc4241c4411bbe4658241252a4696295228c427e8d23440e3888d092614504610425e5bfe8cf41298e3f00a171094c0b1052
c2781a01c8283148280854094848288817e35886d84724032e5807698c0980b842b3834e69179c3359989021b4722178234298b6a82a404d92c66eca96c215b1
27300a5402406194d221693c85134d86082061354218294524a44a010967fbe6e64a2645788153103619c3023791a137366884295a4f95db2677115c122c9c40
9a526b8c02485ac9574e9900514c19616a08046f8380d393888a9b06b41ac19b13401e45b989296460b4993388b3643e68e765ec83e5c22994c54301295c0747
012b3f707329275b45c82b208342c419112a7423948091d2037103dc3199d6e494130c7271b802949324c59d4121211fc2e1c29442e92a90221906389861bb5b
c59446b8639319a41e21908393188c5407242224e58029dc201a9f843419428a388e844a184619d122b4292c8e94422b445982c2a20c298d14e64398cb468602
ee390907ee2184c4f92843482984392f0901b8a0b5521712bcb9269c8d40cb9c50192846311c8288596a124f2e9461459042932904f88898022b2453bf452454
27e4924285a0aa9b8f8c98b648111c45b891b046b32e53c8ee94b0d58419618401903242e89c21c1c25b427da8b662944295cf8248d9e7219398bcba4c000148
da90517a63a201296952882e02095f42015e521ef2ce8cc98c098393c21eb3836ed5222094e44a8a42ea4a24022d242c0478045b2194d6e4ce45194a404e4429
b64e8850a946fbfa51f7902c4c5aead629952db04342427518d2dd9bed59c65b5c092cc973b052881a1ad244249c3248a933f8267a94cce40b23e01544013502
71b298227b33e85129841dace49fb63383806d457f681b8374248421277937d209cb840ef0a684dca15078f1a9949262177c42c2a01731222114ccb48684636d
c142006e227cd5b7cd15a5a4d8c645090eb3a24309b42002965c5146524925410382425614b00c7c2140155dbf49ee377ce1bf21b5137c33b9fa237c1190a744
179cfa5e9d2c140127bca595224578e2f50b2e83a4e8421a4646fcd9676fe59450124da5bc4e1e7c718888092fca294c48c4faf2e777acc5480114341fca960a
6d7f6de445785bb327a942beb8146cbd74c42a07c2944d748008c110d67a945d84a6441472c5c9e4478b184c47bb64199816b446a36b0df9781eb3e7908fc70a
f2411b48d208076701a86d77789a841a9369b47be7ddcc5951258448b14b7ed87c15839c29e99c22373278c1e4b2214a08e41002287c401846620e73b1439647
0248964d0954681e7291c772e46239789273d19bcf71ba6507182044ea7e2120249c80b18a9c79f877c18529846b9d210a242740e442d87a65e770b198737090
2b84ae3f9646ee80a20808e8c51131c8ea83d4c1bc87191c405b871d835950485e518083445d7b0eeac117548332e52195e863a93a15832213c2c995c25077c5
1083532ed0521e8794460217128b92d050393298b93eda729031948b896f9e1c7cb7b344571c7543c9075bd5ec61bc11c93a42c9247281e20428881e70f06c40
0988092e2eec33d862b4694e3219503e64ab35497ce2c1e8c603a1e7524b7984e8e4c1847e47cd1522148012213284b5ccdafa1147ecf251103539baf25797cb
aaae175bd964f9c91e7b21a60e4d588b150cce83010440406b759d422e42fa1ac66e84426fe5d497686b22b493299317a6847331897e95830142203740831708
37110cd246de7cb328c1ab944b31994cc9d48b9acc390bf9cc4317cc1e5c21944a3e4899bbd9374b80c12c14fb5177220eba762263db0474c337cc98ce3763ab
2f2e9d269506ad85ea00611757db832e9af5794ecb6528219156936975a7f067adec460e5e05cf40b8831e2aba849a8be5415894420e07076963cc3d999ff21e
16055801570acfa79a4488489f521ec117c158482f1fa2fde0972e079a11bcad6e37937d4c8b0e62bc8b69fd8c178c42302824e67ce2bc1942df204d5039e9c1
d67762d6a9d484763ee087e5975b8cb4e8901c5b64098593d920f67c3cd5dc784e3ed5a67c70e04a2e5ec66ba4976c2b32424ae5d2a2910c2b9348d55054786d
948201dfe097f241ee25955521c5b1214b69628882898e480940586efc090b2b83fa2622742d42e3c9746917937f8397e48b1c4ccde532b8ba884841a6a50b3a
0c8632d9ae984229b0424f2f74c1fab319f193cd37cca193c5613bb820c1797af1208017274c0998219368c194420b0d0b0dfb2ae4e6b4b6ea68115c7988543e
b0618a166e3eecef19ccc842e3842033197c9851e6720172fee8837683cbcc7491f7e0a5fa9002464a00ad2b85be4404e4a05411822b5b41952221e13ce09bbb
d8ed33e587831bb4c2e4238a1b406271c32e0e0b1101cd211735a42909d9bcc60920c11c70dd5f6c2e3f977a71d6c22c4a91508107ec23c7c11c20a59904401f
223f7067e542e81e04ee2795a2bc426e9ee23a09861a62a190b480830a28b0ddb78643c1b405170618f2517cc5836d7f3c991c19fa4081e23094a325b64c5020
f2cbfbe2be186c4908312817b598f1a7774d6b243558194a2790a0027ee6931e4c2b2fd4e02a20b07e47ce9d812d42420289424201cd3726b3cd1ffa104ab808
82530e8c7401dc90cacba32917aa2b83cd174a9840090141210e124c30e593e513d5040802c20320f23375d2760791b0c5a46c79487142224002025008cb525a
73050b2a80b04082a35ba1b62d1044e65226b10014a0e0124c61807780b0f0121212e0cda2294e210219ca59a696426d2d559524808512126000430201e0d002
4116e77b802650954682a48e69a9082aa0420109015802f2e0004293788ebadeafb001c104425267281531a9823ae81044b30858288084859033994322ecd184
c93a48602ed1435a24240543235906884ec0020e41491284d995cd83a7b9ea87bb1b52cd8c37a71e046bee1244040c487a80070cc8c12c2cc91d6617e083cd57
8fef93d17be0d2d9ac2e4200040445d9005593d4420a08242c2c3434e5831812503e899ad1503ea244ecd6483111065820c0203e519084140048586042f2546b
25b40e19032187b442931b449a02484058481e0031292938242c34081450c4871772560e48eb1680fe07795a3d196b7301544ace200404942a1a1006523148a0
429364e90f0b2117aab5034c429491b09b3e010d2ec1a830682e801a9040010b219221c20190a277043428bcbd9102be02158c280012027801d90a3584988044
9400100449377040283472a103c64948443b09851254808288744490a0a0251480832078908f7f82c93d294454270194c5de63b5321a0cb85c0149042381a821
4342929c10407e69e5a2119b5952184a3458cd3472116a28d0d080900002cf42214024048040203088a599000405031e01cb50cbbc2202940000240c14609011
10b015120d4301cd39fd87c9504883e0c5e5422e5036a1b58050684443505aa0285080851016025802eed1f4592c0a394880e4688de2ac04880485c680858084
8a42121612140452208588846724210d212a013488850480c7c218358804841790a0252441480ec001c4b48874a07a9019e01a12041a2424aa90800485840268
48289183da6172037bc6298cc899d65a80a562c0d084c19b08825ed2c1342931282a11831c90606b31e925ee12820d04b0400124210c1229842510060180c461
f48a131a47b0618048284d8434340415900c952958090134881280e08320108040402a3c990301080c0b067881f2802400830115161a121458074d0684020883
510109342512a0849296e40b0385121231a90270d06010824851875370010920d080842880a524005002081024418015940310820b04e006288003121c446211
9801212c243438ac20e82aed22008524011490444078022438a0928d3a8a0417a02414108a0809090d0b080909093424302067051142444b40000a2e210080cb
85210710128a6e811514a026a842aaa300148426052830a9537842831290280568780189010d443a0140090948088149040512861490249828a812fc00342760
585180844001088014b0a0824d9b97f41812cc8358027842680e3a44092708088840090815cc00ae2180121602c25280868490700024e8043014108215907481
12100868027808090909482a08a442e21125602141054184050112505529868680002021c1388886027202615711114209008804444904108e60683a8a85c661
808410127c048088040a86900cc3934883580161a141c9084342428368500e21c0610844191f008142a284cb15d08009018057c0c084848215ab42281d101a46
2202c3940c93c202029312161207062515062058010b8503e800840514b090d000026870020b090d34246961428c0348804486008942c20398220f28283c0812
0c63a00b2414708254c122d22ba086b80218e00668780ea4c28328c11c80a443128248408e222124140518118004700328c104e01290e04001c11d1412002a15
f74204429431c8883888411586296b312014004213d01082c941808612162235c0982522640994111c80d929c1300d10af202c454820249490931411000a21c0
51604a3e20801200387004a001240cb0144ce9080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
__label__
eeee4ee4ee4ee4ee4ee4ee4ee4ee4eeee4e222111121121121121121121112112112111211211112112112111211211211211211121111211211211221111116
4e4e44ee4ee4ee4ee4ee4ee4ee4ee44eeeeeee442221121121221122112211221211221121122112122112122121122112212112211221122121121112212216
eeeeee4e44ee4e4ee44ee4ee4ee4eee44e4e4eeeee4222221221221121212121122112212211122111122112112211212112212112211211212212121121111d
e4e4ee4ee44e4ee44ee4e44ee4e4ee4ee44e4ee4eeeee4221111212121212121212211211221212122111221121121122112112112112211121121122112112d
eee44ee4ee4ee4ee4ee4ee44eeee4ee4eeee44ee48eeeee82221122121212211211221121121211212211211221122111221121221121122121121211212211d
4eee44e44ee4e44ee44e4eee444e4ee4ee44ee4ee44e4eeeee2221121122112212211212211212121122112211d112211221121121221121122211211221121d
4e4eeeee44e4ee44ee4ee44eeeeee4ee4ee4ee44eeee4e4eeeee22122212211211d2121d1212122122112112122211122112212112112211211212212112121d
4eee4e4eee4e4ee44ee4eee4ee44ee9ee4ee4ee4ee44ee84e4eee82122112212211212211221112112212212111222122112212212121122211221112212111d
4ee4ee4e4e4e44ee84e44ee4e4ee4ee4ee4ee4ee44eee4eee48eeee222211221122112112112211221121221221112211221121121221121122122121121221d
4ee4e4ee4ee4ee4eeeeee44ee4ee4ee4ee4ee4ee4ee44ee44ee44eeee21221122122212221221221212211212122112212211211211122112211122121d1211d
4eee44e4e4eeee4ee49eeeee4ee4e4ee4ee4ee44ee4eee4eee4ee48eee222122112121211221122121122121211221121122122122122112112211212212112d
4e4eee4ee4ee44ee4ee44ee4ee4ee4ee4ee4eee4e44e44ee44eee4ee4ee2221122112212d11221d212212212221122122112211221221122121221211212221d
4ee4ee4eee44eee4eeeee4e4ee4e4e44ee4ee4eeeeee4ee4eee44ee4e8eee22212d21d1221221122122112d11222121d22d11d2112d1221221122112211d111d
4ee4eee94eeee4eee44eeeee4eee4eeee44ee4ee4ee4ee44e44eee44ee4eee2212211221122122112212d12221221d211221221d2112d112212112211221122d
4eee44eeee44ee4ee4ee4e4ee4e4ee44eee4ee4e4ee4eeee4ee44eee4e8e4ee22d12d122d211d222d1122121d1d12122d11d2112212d1221122122d12212211d
4eeeeeeee4ee4ee4eee4ee4ee477e7ee47774777477ee777e77ee4774ee4e7e727772121277727d717771221d777d2772777177112211221221211122112d11d
4ee4ee4ee9ee4ee9eee4eee4e740070e470007070707ee700707474004e4e7070707022d11700707070002122707072707070707d122d11d2112d2121d21122d
ee4ee4ee4ee4ee4ee4ee446dd70ee70ee77ee77707070e7047070704e4ee470707770212d27027770772212d177d07070777070702d1221212d122dd112d121d
4eeee9ee4ee4ee4ee9edddcdc70de704e700e70707070470e7070707e44e470707000d221270270707002d12270727070707070702112d21122121212212211d
4ee4ee4ee4ee4ee4eeddccddcc77d7774777470707070777470707770ee8e477070e222d2170170707772212d707077107070777022d2122d122d122d212d21d
e4eeeeeeee4ee4eeddccdcccddc00c000e000e0e040e0e000e040e000ee4ee400e0ee222d2202201020002d12202020021020d000122121122d1122112d112dd
4eee4ee4ee9ee4edcddcddccddcddcdddee4ee94eee4ee4ee4e4e44e44ee4ee4ee44ee22d2222d12d12d11222212d11dd121221221d212d221122d222122212d
4eeeee9eeeedddccdccdccddccdcc3cccde4e4ee4ee4e4eee4eee4eee4ee4ee44eeeeee222dd122d2212d22d1d2222222221d21d2212d1221d222d1d212d2d1d
eee4eeeeddcdccdcdccdccdccddccdcddd4ee4ee4ee4ee44ee4eeee4ee4ee44ee4ee4eee2222d2222d22d21d222d1d221d2212211d21222d2221d2122d21121d
eee4dddccdcddcdccddcddccdccd3cd3ccd4eeeee4ee4eee4ee94ee44e44eeee44ee4eeee2222d122d212d222d122d2d22dd12d2222d2211d2d122d1122dd21d
4ddddcddccdccdcdccdcc3cddccdccdcc1ddee44ee4ee4ee4eeee4eeeee4ee4eee4ee44eee222d22d2dd212d12d2212d221222d2212d12d2212d2122d21221dd
dcddcccddcdccdc3dccdcddcc3dccd3cddcddeeeee4ee4e4ee44ee4ee4ee4ee4ee44eeee4ed222d221222d2d22d1d2221d22d122dd22d22d22222d222d221d2d
ccddcdccdccd3cccd3cd3cc3dccddccd1ccddddddee44eeee4ee4ee44eee4ee4eee4ee4eeee2d2dd2d2dd222d222d2d2dd22222122d22d221dd12d122d1d221c
ddccddc3cd3ccddccdccdccddccdc3dccd1cd1cdddeeee4ee4ee4ee4ee4ee4ee44ee4ee4eeee2222d2d21dd2d21d22d122d12d2dd22d122d222d222dd21d2d2d
cddcccddccdcd3cd3cd1cddcc11ccddcdd1cddcdddddeee4ee4ee4eee44ee4eeee4ee4eee44ee222d2d22d22dd22d22d22dd2212d22d2212d2221d21d222d21d
ccddcc3cd3ccdcc1ccdccdc3dddc1cc1dccd1cddccddd4eeee4ee4e4eee4ee44eee4ee4eeeeeee2dd22dd22d22d2d22dd222d2d22d22ddd22dd22dd22dd2d21d
ccd3ddcc1dc1ccdcd1cc1cc1dccddc1dccd1cc1dc1dccdde4ee4eee44ee4eeee44ee4e44ee4eee222dd2ddd22dd22dd22d22d2d22d2222dd225dd2221d221ddd
cdcccdd1ccddc1dccdcddc1dd1cdc11cdddcdddc1dcddcdd4ee4ee4ee4ee4eeeee4eeeee9eee4ee2dddccdccd2d22d22dd22dd22d2dd2222d55522dd222d22dd
cdcd1cc1cc1cc1cd1ccdccdcc5ddcdcc1ddc1dcddc1dcdddddeeee9eee4eee44ee4ee4ee4eeeeee66cc6d66ccdddd22d22dd22dd22d2dd22d5552d22dd2dd21d
ccdccdccddc1dcc1dcdccddc1dc11cd1cc1dc11dcddc1dccdddd4eee4eee4eee4ee4e4eeeeeeeef6666dccd66cc6dddd22d22d22dd22d22d55555d222d222ddd
ccd1cd1c131cdddcc1dc3dcd5dcdd3ddddd1cddc11ccdddc1cddddd4ee4ee4ee4ee4ee4ee4effffe66dc66cc66ccddd2dd2d2dd22d2d22dd255552dd22dd222d
cdccdc1ccc5dc1dccdcd1ccd11cc1dcc11cddc1cddc1cc1dcc1cc1ddddeee4eee4ee4ee4eeeeffeffe66dc6dcd6cccddd22dd22dd22ddd225544552dd22dd21c
cddc1cc1d1cd3cc11ccdcc5cdd1d3c1dc6dc1dd1cddd1cc1dddddccdddd4eee4ee4ee4eee4efee66fe66cc6dcc6d6cccddd2d22dd2d22dd255555d222d22dd2d
ccd1cdd3cddc1dcddc1dcddc5d31dcddc11cd1cd1cccdd1cd1cc1d1cc1ddddee4eeeeee4ee4eeffef6e66dc66cdc6d6cddd22dd22dd222d2d45545dd2dd22ddd
ccc1ccdd13dcd1cc1ddccdddc1cdddccc1c1dc1cdd11c1dcc1ddcdd1ccdcdddd4ee44eeeeee4feffefe66ddcd6ccdcdcccddd2dd22dd22d555545552d22dd22d
cddcdc1cdcc1cc1dcc1dd3cddc1dc1c1d1cddcddcdcdcc11dcd1c1cddd1c1dcdddd4ee4e94eeee6feefee66cd6c6dcc6dccddd2dd22dd25544555455d22d22dd
cc1cdc11d1dd1dd1cddcddc1dd51cd11c11cd1cd11cdd1dc1dc1dcdd1ccddc1dc1dddd4eeeeeeeefee6ffedccddcc6dcddccdddd2dddd5555444555d5dd22ddd
ccdd1c1dcc1cc1cc11cd3c1dc5d1dccdc1dcd1cddcd1c11cdd1cd11cc1ddc1ddd1cd1dddd44eeeeeffefee6d6cddcddccddccdcddd2cddd55454555ddd2dd22c
cdccdc1d1cd1dd1cddc1dc1dd5dc51c1d1c1dc1dc11c1dc1dc1cdccdd1c1cdcd1cddcc1ddddd54eef6eeee6ddcc66ccdccddcddddd1dc15545544dcd52dd2d2d
cd1c1c11d1cd1cd1cdd1d3cc55dd1c1dc1dd1cdd11cd1cdd1cdd1cd1cd1c11cd1c1dd1cc1cc1ddd5eeeeeee6dddcdc6ddcdddcccd11dcd1d559bdcd3ddd2dccd
cc1d1c1dc1dc1cc1d1d1cdd1d551c11cd11c1ddc1d11d11cc1dc1dd1cc1ddc1ddd1cd1dd1ddcdd3dddddefeedc6cddccdccd5ddcd511d11d5495c31d1ddddccd
1c1ccd11cc11d1d1cc11c1cccd5ddd1c111dd1dd4ddd5ddd1d1cd1cc11cd1c1dc1dcdc1dc11cd1cc1ddddddddddccddccdd11dddd111d13554bd5dd13dcdc1cc
cdd1c5dd1dcdc1d1dd1d1d1d1ddc111dd1c5d444e94944444dd5d11dd1dd1ddd11c11dcddcd1cdd1cc1c1dddd1cddcddcdd1ddc1d3111555544355153cc1cccd
c1c1d11c11c1dc11cd1ccc1cdd5dc1dd1de449944949e99499444e44dd5ddddd55d5d1d111dd1cd1cdd1cc11cddd1cddddd311d53d55551555455135dcccd1cd
11cd1dc1dc11dc11cd11dcd1cd11d5d44949944944e4944944994994994445555555d555dd5dd51111c1d11d111d1515dd666ddddd115d5555d5555d15d11c1d
c5d5c111d11c11d11d1d51dd545d4449494e4444994494e94449e444944994994d4454555555455d455555d55d5555555551555d96696d555d5dd5d1cd15dc1d
ddd1d155555d1dd5d4444444e4499e49e499499849e4449449e4994444e444444944944945955945454d54d555555d55555555555544999699555d5dd3dddddd
44e494e94e4944499494e94ee9e44994944444e45211d144949444994994994944d49d45954955555566d655555dd555555555555d9b549d59999d49dd9dd465
4994e94949499494e99e994944994494449494445111111e4494944e4494444d5595d49d55555dd666666555d6d555555d5555ddd54955994d9d99ff999b99bf
f449499e49449e94494444994444948944944495d11c1c1294e494944455555555555d6666666666dd6555d665555dd55555d6d499b99444944494994699f699
49e94494494e94494449944e9944994494444954d11c11114444f944455d55555d6666d55d55d5555555d66d555d555555d6d495b44444d594db9db499ddb496
4449e494e99449494498499444e9489444e94454d13d1dd499995d5b455555d666d55555555d555d555d6d55555d5555566545544545d9b54b99559499b99db9
9d9449e444449449994444499444f49494995d55d5d4d499bd9b5445555d66665555555dd5555d555d66d555dd5555556d4459b94b9db49dd955999b54949959
d445944444494f94d99f94599d9954449455495445999b99dd455555d666d5555d55d55555d55555d6655dd55555d556d45bb459db44455b4955b5549bd5d9d5
9b54f49945495f449959599bd99d595f94d99b94b99d99db99d55dd66d555d55d55d55d555d5d55d76555555d555d566d944944b945b444955995d955999b599
559f44599459f4b59559b5955b999b99bf9b99d9b9db54555556666d55d55555555d55d55d5555d66555d55555d555665d9549554549bb49b59b49bd9db99d94
df999b46b99b9999b6949d999ddb9699b99d59b445594b54566665555555d5dd5d555555d55d5d76555555d55d555d6655544b49b59454b59d5594d9b4954944
99b9fd99469d9bf9499b99bd999d59bd45b9d54d9b5555dd66655dd5dd555555555d55d55555566555dd55d5555d5d6555554445544b94454b59b599d4944944
996499bd9b996496699699db6499bf4496599b4b4d555d666dd15155555d5d55d55d55555d55765555555555d5555d6d5555555544444b99444454b54b444494
d596b9699ddbd9b59bb9db99db99dd99bd9b5d9555d6666d55550005d55555d55d555d55555665567775d55555555566d5555555555544494495995494499449
9599df49b99999699649db9d99db95b94595555566666d55dd502002d55dd5555d55555d556655677776666655d55566d5555555555555549449944944444944
4df999b5f996b99b599b9fd99db449d55b54556666d555d555510005555555dd555d55d55d6d557ee777777777d77776dd555555555555555554444449944944
f49bd499955954959b559999b49db95b445d6666d55dd5555555000545d55555455d5555d7d55d7e77777777777777776ddd555555555555555555554454d499
b99595d955b944944449b54b5945555555666655555555dd555520055555d555d5555d556655557e77777777777e67776655ddd5555555555555555555555554
49699995599494495994d4994b595555666d55d55d55d5555d52002555d55dd555d55556625d55e777776777777eeee7666555555555555d555d555555555555
f569bd9bf49b99b446b99bb44b5555666655d55d555d55d5555002d555d555555d55d5d6d55d5dd7777ee7e76e77eeeedd66555555555555555555555d555555
94996d999bf46df9b645545b5455666655d55d55d5555555ddd20225d555d55d55555566d55555d7776eeeee7ee6eeee55566d5555d55555d5555d55555d5555
d96b996d59454b9d999d69455d6666d555d555555dd55d5deee204eed55d554d55d55d6d55d5d5d776e7ee6ee7eeeedd55dd66dd5555555555555555555555d5
996946d9b94b995543b5535666665555d55d55dd55555ddeeee22eeeed555d55555d566555d5555776eee7eeeeee7edd55555666d555d55555555555d5555555
d499db99699d595b555556666d555d55d5555d55555d5d6eeee88eeeeed55555dd55566d55555d567eeeeeeeee6eeed55d5555d666d555dd55d5555555d55d55
46bd99694b99b544555566655555d55d55d55555dd5ddeee8eeeeeeeeed55d555555d6d55d55d55d6eeeeeeeeeeee7555555d555d666d5555555555d5555d555
999669db955955b55555655555d55555555dd55555deeee828eeeee8eed555d555dd6655d55d55d526eeeeeeeeeeed5dd55555d555d6666555555d555d55d555
694b949d59b55455d5555555d55d55d5d5555d5d55eee8222eeeeee88eedd55dd55566555555555d776eddeeeeee6d5555dd55d55d55d6665d555555555555d5
4f949b5d5455d66555555d5555555d5555d5555d5dee2d5deeeeeee28eed5566d55d6d5d5dd5dd7777eeeeeee66ed5555d55555d555d55dd555d555d55d55555
4d965544b5d6555555d5555d5d55d55d55d555d54d225d55e8eeeeee2eeed677d5d66555554557777776e766e77775d55555dd5555d5555dd5555d555555d55d
54b955556d5555555555d55d555d55d55555d5555555d555eeeeeeee288e666fd566d5d5555d77777ee7eee77e7777d5d55d5555d555dd555dd55d555d555555
d4d455d555555555d5555d5555d55d55dd5555d55d5555ddeeeeeeeed28ee6765566d55d5557777776e7eeeeee77777d55d555d55d5555dd555555d555555d55
d555d555555555d555dd5555d5555555555d555d555d555deeeeeeeeed28e66d5d665555dd777777e77e67eeeee677776555d5555d55d555d55d5555d55d555d
ddd5dd5d55dd55d5568ee75d55dd55d54d55dd5555d55d5eeeeeeeeeeedd266d566d5dd55d777e77ee7eeeeeeeeee7777d55d55d555d55d555d55d555d55d555
d55d55555d55d555d68886d45d5555d555555555d555555eeeeeeeeeee6666f6566dd5555777ee777e76eeeeeeeee66777d5555d555d555d5555d55d555555d5
dd5d55dd55555555552886555555d55d55d555d5555d55dee8eeeeeee6ddd666666db5d5576eed677e7eeeeeedeeeee777655d555d555d555d5d555555d55555
dd4dd455d55d5d5d55555d5d55d55d5555d55d555d5555dee8eeeeeeed25555def44f66f67eeed7eee7eeeeeee2eeeeee77d5555555d5555d55d5dd5d555d555
d5d5d555d5545d555d5d5555555d5555d5555d555d55d55ee88eeeeeedd5555d6ff77777766ed2776eeeeeeeeeddeeeeee7555dd55d55dd555d55555d55d55d5
ddd54dd554d55555d5555dd55d5555d5555d555d55555d5ee8828ee88d55d556666e6776776dee76eee6eeeeeeeddeedeeddd5555d55d55d55d5d55d55d55555
d54d55d55d55d555d5d5555d555d5555dd55555d55d55d5dee22888eed2555d666ee6667666dd67ee6eeeeeeedeeeddee655555d555d5555d5555d555dd5d55d
d5ddd54d55555dd55555d5555d555d555555dd555d55d55d221111112d5d55d666feee7766f2d7e7eeeeeedeeeeeeedd2d55dd55555d55d55d5d5d55d55555d5
ddd45d5d55d555555d55d55d5555d45d55d5555d5555555d52212222555d5566666eeee6f66d67eeeedddeeedeeee62555d55555d555555d5555555d55d55d55
d45d5d55d55d555d55d55d5555d55555d4555d5555d55d55d52024dd55d55d66666eeeeeee6d77ee6ededdedeeeee6d5d55d55d55dd55d555d55d555555d555d
dd55d455d4555d55d55545d55d555dd555d55d55d55555555d42dd4d55555d6666eeeeee6ed57eeededdeddeeee6675555555d55555d55d5555d55d55d55d5d5
5dd4d5d55dd555d5555dd5555d555555d55d555d55d5d55d5dd4efed555dd66655dddeedddd57e6edddde2eeeeee772d55d5d55d555d55d55d5555d555d555d5
dd55d5d55d5554555d55555d555d5555d55d555555d5555d54f5dff55d5556665555dddd455d7eeddd222eee667e765555d555555d55555d555dd555d55dd555
dd4d54d5d55d5d5d555d55d5555d5dd555d55dd555555d555de4fef5555dd66dd55d55555d5d76ededeedeeee7e77d5d55555d55d555dd55d5555d55d5555d55
d5dd5d545545555d5555d555d55555555d555555d55d55555dee15d55d55d66d555d555555567edde2eede77ee677625dd55d55555d55555d5d55d555dd5555d
d4d54d5d5dd55d555d5555d55dd5555d555d55d5555d55dd45e111d555d5666d55d55d55d556eeded2eedeee7e7776d555d555dd5555d55555dd555d5555d55d
dd55dd4d555d55d5555ccc5d5555dd5555d555d55d555d5555d10155d555666555d55555d55deddedeeed77eeee776555555d5555d555dd55d55555555555555
dd4d55d5dd555555d55ccc555d555555d555d5555d555555d5510155d55d66d5d555d5d555d56ddd2dee57e7e6ee772d55d55555555d555d5555dd55d5dd5d55
d5dd45d555d55d555dd1cc5d555d55d55d55555d555d55d55551115555d666d55555555d55555e222deed6e77eee775555dd55d55555d555d5d55555d555555d
d4d5dd45d555d55d5555555d5555d555555d5555555d55555d55105d555666555d5d555d55d55dd2dd25d77777776755d555555d55d55dd5555d55d55d55d555
ddd45dd5d455d55455d55d555dd5555d55d55dd55d555d5d555555555dd666dd55555d5555dd5555d255d76ee777772555d55d55555d55555d55dd5d55d555d5
d54d55d45d5555d5d55d55d555555d55d555d5555d555d55d5d55d55d5d6665555d55d55d55555d5555557eeeee777d55d555555dd5555d55dd5555d55d55d55
d55dd45d55dd55d5555555d5d55d55555d55555d555d5555d555555d55666655d555555d5555d55d55d55ee66eeee65d555d55d55555d5d5d55d5555dd55d55d
4dd45dd555555555d5d55d455555d55d555d555d555d55d5555dd55d55666d5555d5d55d55d5555d5555d5dd5ddd55555555d555d55d5555d5455dd45555d555
dd5d55d4dd55dd5555d55d555dd555d555d55d55d5555d555d5555d55d666d5d5555d555d5555d55d55d55555555d55d55d55d55dd58ed555555d55555d555d5
d45dd455d54d555d555d555d555555d555d55d555d55d55d55555555d6666d55d55d55555d555d55555d5d55d5555d555d5555d5555885dd55d5555dd55555d5
5dd55d5555d5555d5d555555555d555dd555555d5555d55555d55d55d66665d555d5555d555d55555d5555d555dd555d555d555d55d88555d555dd55555dd555
dd45dd5dd4d5dd55555d5dd55d55dd5555dd555555d555d55d555d556666655d55d55d55d55d55d55d55d55555555d55555d5d55555dd555d55555555dd5555d
d5dd45d5555545d5d55d55555d5555555d555d55d55d55d55d5555d56666dd5555555d55555555d55555d55d5d5555d55d55555d555555d555d5d55d55555d55
d4dd55d45d55d5555455d55d555d55dd55555d555d555d55555dd55d6666d555d55d555d5dd5d555d5d5555d55d555d55d555d55d55d55555dd55d55555d5555
dd54dd55d55d555d55d555d555d55d5555d5555d5555d55d55555d566666d555d55555555555555d5555d5555555d555555d5555d5555d5555555d55d55d55d5
4dd55d45d54d5d55d55d55d554d55555d55d55d55d5555555d55d556666655d555d55d55d5555d555d55d555d5567d55d55555d555d55d55d55d55d55d5555d5
d5dd55dd55d555d55d55dd55d555d555d558e57775777d777d5775d7766dd55777775d5555d5755555577777557677d555d555d55d55555d555d555d555d5555
dd54d5d55d55d5455555545d555d55d555d8857070707070007d0076006d55770707755d55d750d55d77000777767555555dd555555d55555d55d55d55d55d5d
54d5d55d4d554d5d5dd55d555d555d5555d88d777077507755777577766d5d777d77705d555705555577075770dd655d5d5555d55d555d55d5555d555555dd55
d5dd4d555d5d555d555555d55d55d55d55555570007075700d50706070655577075770555d57055d5577050770d5dd55555d555d555d555555d55555dd5555d5
dd555d55d55d5555d55dd455d55d45d55d5d5570d57070777d77d0776065d5577777005555750d555dd77777005555d55555dd55555d55d5555dd5d55dd555d5
5d4d55dd45d45dd545545d5554555d55d55555505550d05000d0066006d555d50000055dd5505555d5550000055d5555d5d55555dd5555d55d55555d55d5dd55
d5dd55d5d555d545d5d55d5d5dd55555d555dd555dd55555d555d66666d55dd55555d55555dd5555555dd5555d555d55555d55d55555d5555d555d5d5554555d
d5d5d545d5dd45d555dd555d5555d5d555d5555d55555dd5455d6666665d5555dd5555d555555dd55d555555d555555d5d5555d55dd5555d55d55d455d5d55d5
d455d5d54d555d5d55555d455d55d555d5555555d55d55555d5566666655555d555d5555d555555d55d5555555d55d555d55d555555d555d555d555dd555dd55
ddd4555dd55dd55d5d4dd55d55d4555d555dd5555555d555d55d66666d55dd555555d555d55d555d5555d55d55d55d5555d5555dd555d555dd55d5d555d5555d
45dd5d55d4d54dd555d555dd54d555d55d5555dd5d5555d5d55666666dd555555dd555d55d55dd555d55555d5555555d55d55d5555d54d5555d55555d55d5555
dd555d55d5d55d55d4d555d45555d55555455d555d5d545555d66666655555d555555d555555555555dd55d555555555555555555d55555d555d455d555d55d5
dd4dd4ddd54d555dd55d5555dd55d55d55dd555554555d55d5d66666dd5dd555d55d555dd55d55d5d55555555dd55dd5d55d55d5555d55d555555d5566615555
__map__
2121211211111111111111122422232422232412111111111111111224222324212121121111111111111112212121210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
2020201211111110111111122422222322222312111111101111111224222224202020121111111011111112202020200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
2121211211111111111111122422232422232412111111111111111224222324212121121111111111111112212121210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
2121211211111110111111122422222322222312111111101111111224222224212121121111111011111112212121210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
2121211211111111111111122422232422232412111111111111111224222324212121121111111111111112212121210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
2020201211111110111111122422222322222312111111101111111224222224202020121111111011111112202020200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
2121211211111111111111122422232422232412111111111111111224222324212121121111111111111112212121210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
2121211211111110111111122422222322222312111111101111111224222224212121121111111011111112212121210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
2121211211111111111111122422232422232412111111111111111224222324212121121111111111111112212121210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
2020201211111110111111122522222322222312111111101111111225222225202020121111111011111112202020200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
2121211211111111111111122422232422232412111111111111111224222324212121121111111111111112212121210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
2131211211111110111111122422222322322312111111101111111224222224213121121111111011111112212121210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
2121211211111111111111122422232422232412111111111111111224222324212121121111111111111112212121210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
2020201211111110111111122422222322222312111111101111111224222224202020121111111011111112202020200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
2121211211111111111111122422252422252412111111111111111224222324212121121111111111111112212121210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
2121211211111110111111122422222322222312111111101111111224222224212121121111111011111112212121210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000007000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
__sfx__
010100200d0500f0500d0500f05001700067000070006700107000e7000d7000f700167001c700207002b7002e700307003770000700017000b70001700007000170000700007000070000700007000170001700
0601000032700307002f7102c7202a73029740267502475021750217501f7501c7501d7401b7201772014720107200f7200973007760047500174000740017500075007750017500075000750007000070000700
04010000000000272404734077440b7440d7440f75410754117501375414754157441574015740167401c7401c740227302e730327501b7001c7001d700007001a700227002470026700297002d7002e70000000
030100000040000400024500245003450034500345004450034500345000400004000040000400004000040001400014000140002400024000240002400014500145001450014500145001450014500145000400
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1910000018010000001c010000001c0101c00018010000001c0101c0151c00000000000000000000000000001a010000001d010000001d010000001a010000001d0101d015000000000000000000000000000000
__music__
03 08424344