Skip to content

Instantly share code, notes, and snippets.

@AlecTroemel
Last active August 21, 2020 09:29
Show Gist options
  • Save AlecTroemel/964b14097e711dcea49d123a94eaa71b to your computer and use it in GitHub Desktop.
Save AlecTroemel/964b14097e711dcea49d123a94eaa71b to your computer and use it in GitHub Desktop.
GMTK Jam 2020 game. collect cherries while hanging on to your dogs leash!
pico-8 cartridge // http://www.pico-8.com
version 29
__lua__
-- pico lib
-------------------------------
-------- id counter -----------
-------------------------------
id_counter=0
function get_id()
local temp=id_counter
id_counter+=1
return temp
end
-------------------------------
------------- actor -----------
-------------------------------
-- an object with a unique id
-- in the actors list and with
-- update and draw functions
-------------------------------
actors={}
actor={}
function actor:new(apply)
na={
id=get_id(),
update=function() end,
draw=function() end
}
self.__index=self
na = setmetatable(na, self)
if apply then
actors[na.id]=na
--add(actors, na)
end
return na
end
function actor:destroy()
actors[self.id]=nil
end
-------------------------------
--------- animation -----------
-------------------------------
function animate(obj)
anim={
states={},
state="", -- current state
tick=0, -- current tick
frame=0, -- current frame
flip=false,
}
function anim:add(name,sp,speed)
self.states[name]={
sprites=sp,
speed=speed
}
end
function anim:set(name)
if self.state!=name then
self.state=name
self.tick=0
self.frame=0
end
end
function anim:update()
local anim=self
.states[self.state]
self.tick=
(self.tick+1) %
(anim.speed)
if (self.tick==0) then
self.frame=
(self.frame+1) %
(#anim.sprites)
end
end
function anim:draw(x,y)
local frame=self
.states[self.state]
.sprites[self.frame+1]
spr(
frame[1],
x+frame[2],
y+frame[3],
1,1,
self.flip
)
end
obj.anim=anim
end
-------------------------------
-- physical body & collision --
-------------------------------
-- works by check whether the
-- distance between the
-- midpoints of the two boxes
-- is greater than the sum of
-- the half box widths.
function box_hit(x1,y1,w1,h1,
x2,y2,w2,h2)
-- dist between x midpoints
local xd = abs(
(x1+(w1/2)) -
(x2+(w2/2))
)
-- sum of half boxes x width
local xs=w1*0.5+w2*0.5
if (xd>xs) return false
-- same thing in y direction
local yd = abs(
(y1+(h1/2)) -
(y2+(h2/2))
)
local ys=h1*0.5+h2*0.5
return yd<ys
end
function body_hit(body1,body2)
local x_hit=box_hit(
body1.x+body1.dx,body1.y,
body1.w,body1.h,
body2.x,body2.y,
body2.w,body2.h)
local y_hit=box_hit(
body1.x,body1.y+body1.dy,
body1.w,body1.h,
body2.x,body2.y,
body2.w,body2.h)
return x_hit,y_hit
end
-- body needs:
-- x, y
-- max_dx, max_dy
-- acc, dcc
-- w, h
function materialize(obj, body)
obj.collideable=false
body.dx=0
body.dy=0
function body:push(dx,dy)
self.dx=mid(-self.max_dx,
self.dx+(dx*self.acc),
self.max_dx)
self.dy=mid(-self.max_dy,
self.dy+(dy*self.acc),
self.max_dy)
end
function body:update()
local dirx=self.dx>0 and 1 or -1
local diry=self.dy>0 and 1 or -1
local finaldx=self.dx
local finaldy=self.dy
for i=0,self.dx,dirx do
-- be sure to look at the right edge
local x = self.x+i
if dirx>0 then
x=self.x+i+self.w-1
end
-- check top,middle,and bottom
local hit=false
for y=self.y,self.y+self.h,self.h/3 do
if fget(mget(x/8, y/8))==1 then
hit=true
end
end
if hit==true then
if i==0 then
finaldx=-self.dx
end
finaldx=i
break
end
end
local newx=self.x+finaldx
for i=0,self.dy,diry do
-- be sure to look at the right edge
local y = self.y+i
if diry>0 then
y=self.y+i+self.h-1
end
-- check left,middle,and right
local hit=false
for x=self.x,self.x+self.w,self.w/3 do
if fget(mget(x/8, y/8))==1 then
hit=true
end
end
if hit==true then
if i==0 then
finaldy=-self.dy
end
finaldy=i
break
end
end
local newy=self.y+finaldy
self.x=newx
self.y=newy
self.dx=self.dx*self.dcc
self.dy=self.dy*self.dcc
end
obj.body=body
end
-------------------------------
--------- game state ----------
-------------------------------
-- each state has init,
-- update, draw funcs
-------------------------------
gstate={ current="" }
function gstate:add(name, s)
self[name]=s
end
function gstate:switch(n)
self.current=n
self[n]:init()
end
function gstate:update()
self[self.current]:update()
end
function gstate:draw()
self[self.current]:draw()
end
--------------------------------
-------- screen shake ----------
--------------------------------
screenshake={
duration=0,
intensity=2
}
function screenshake:start(d,i)
self.duration=d
if i!=nil then
self.intensity=i
end
end
function screenshake:update()
if self.duration>0 then
camera(
flr(rnd(self.intensity)),
flr(rnd(self.intensity))
)
self.duration-=1
end
if self.duration==0 then
camera(0,0)
end
end
-------------------------------
-------- 2d vector -----------
-------------------------------
vec2d = {}
function vec2d:new(x,y)
o={x=x,y=y}
self.__index=self
return setmetatable(o, self)
end
function vec2d:len()
return sqrt(self.x^2+self.y^2)
end
function vec2d:norm()
local l = self:len()
return vec2d:new(
self.x/l,
self.y/l)
end
function vec2d:minus(vec)
return vec2d:new(
self.x-vec.x,
self.y-vec.y
)
end
function sqr(a)
return a*a
end
function round(a)
return flr(a+0.5)
end
function dist(x1,y1,x2,y2)
local dx=x1-x2
local dy=y1-y2
return dx*dx + dy*dy
end
-->8
-- main functions
function _init()
gstate:add("menu",gs_menu)
gstate:add("game",gs_main)
gstate:add("over",gs_over)
gstate:add("inst",gs_instruct)
gstate:switch("menu")
end
function _update()
gstate:update()
screenshake:update()
end
function _draw()
gstate:draw()
end
-->8
-- game
gs_main={}
function gs_main:init()
music(-1)
tick=0
ready_t=30
go_t=12
gameover_t=60
actors={}
balls={}
cur_ball=1
stam=100
gameover=false
init_guy()
init_dog()
add(balls,init_ball(5))
add(balls,init_ball(6))
add(balls,init_ball(7))
countdown=10
drop_cherry()
end
function gs_main:update()
tick+=1
if ready_t>0 then
ready_t-=1
return
elseif ready_t==0 then
music(8)
ready_t=-1
end
if go_t>0 then
go_t-=1
end
if gameover==true then
music(-1)
if gameover_t>0 then
gameover_t-=1
end
if gameover_t==0 then
gstate:switch("over")
end
end
for k,v in pairs(actors) do
v:update()
end
if stam>0 then
local cherry_wait=90
stam-=0.15
for i=1,tick,300 do
stam-=0.05
cherry_wait=max(30,
cherry_wait-5)
end
if tick%cherry_wait==0 then
drop_cherry()
end
else
if gameover==false then
sfx(35)
gameover=true
end
end
-- swap the current ball
if btnp(🅾️) then
cur_ball=cur_ball-1
if cur_ball<1 then
cur_ball=3
end
add_exclamation()
elseif btnp(❎) then
cur_ball=cur_ball+1
if cur_ball>3 then
cur_ball=1
end
add_exclamation()
end
end
function draw_ball_ui()
---- yellow
spr(42,4,111) spr(43,12,111)
spr(58,4,119) spr(59,12,119)
---- blue
spr(44,24,111) spr(45,32,111)
spr(60,24,119) spr(61,32,119)
---- red
spr(46,44,111) spr(47,52,111)
spr(62,44,119) spr(63,52,119)
--- selected ball
local x=(cur_ball-1)*20
rect(3+x,110,20+x,127,7)
end
function gs_main:draw()
-- map and actors
cls(0)
map(0,0,0,0,17,19)
for k,v in pairs(actors) do
v:draw()
end
-- print the bottom fence for
-- some easy depth!
map(21,0,4,100,18,1)
draw_ball_ui()
--- stamina
local sc=8
if (stam>20) sc=9
if (stam>40) sc=10
if (stam>60) sc=11
circfill(116,116,stam/7,sc)
circ(116,116,stam/7,7)
-- ready and go messages
if ready_t>0 then
rectfill(52,62,80,70,1)
print("ready?",55,64,7)
elseif go_t>0 then
rectfill(58,62,73,70,1)
print("go!",61,64,7)
end
end
-->8
-- guy
function init_guy()
guy=actor:new(true)
animate(guy)
guy.anim:add("skid_down",
{{1,0,-4}},
100)
guy.anim:add("skid_up",
{{3,0,-4}},
100)
guy.anim:add("fly_down",
{{2,0,-4}},
100)
guy.anim:add("fly_up",
{{4,0,-4}},
100)
guy.anim:set("skid_down")
materialize(guy,{
x=64,y=64,
max_dx=100,max_dy=100,
acc=0, dcc=1,
w=6,h=4})
guy.springs={}
function guy:update()
local influence=0.1
-- update spring physics
--- x
if gameover then
self.body.dx/=1.1
self.body.dy/=1.1
else
local ex=0
if btn(➡️) then
ex=influence
elseif btn(⬅️) then
ex-=influence
end
self.springs.x.c=self.body.x
self.springs.x.t=dog.body.x
self.body.dx=
self.springs.x:update(ex)
--- y
local ey=0
if btn(⬆️) then
ey-=influence
elseif btn(⬇️) then
ey+=influence
end
self.springs.y.c=self.body.y
self.springs.y.t=dog.body.y
self.body.dy=
self.springs.y:update(ey)
end
self.body:update()
-- animations
self.anim.flip=self.body.dx<0
local absdx=abs(self.body.dx)
local absdy=abs(self.body.dy)
local thresh=1.4
if gameover then
self.anim:set("fly_down")
else
if self.body.dy<0 then
if absdx>thresh or absdy>thresh then
self.anim:set("fly_up")
else
self.anim:set("skid_up")
end
else
if absdx>thresh or absdy>thresh then
self.anim:set("fly_down")
else
self.anim:set("skid_down")
end
end
if absdx>(thresh*1.7) or
absdy>(thresh*1.7) then
screenshake:start(10,2)
end
end
self.anim:update()
-- dust cloud particles
if absdx>1 or absdy>1 then
local x=self.body.x+4
local y=self.body.y+4
local state=self.anim.state
if state=="fly_down" or
state=="fly_up" then
if self.body.dx>0 then
x-=3
else
x+=3
end
y-=2
end
add_cloud(x,y,1,7)
end
for k,c in pairs(clouds) do
c:update()
end
end
function guy:draw()
for k,c in pairs(clouds) do
c:draw()
end
self.anim:draw(
self.body.x,
self.body.y)
-- leash
if not gameover then
line(
self.body.x+4, self.body.y,
dog.body.x+4, dog.body.y+4,
0)
end
end
end
-->8
-- dog
function init_dog()
dog=actor:new(true)
-- animations
animate(dog)
dog.anim:add("idle",
{{8,0,0}},
100)
dog.anim:add("run_yellow",
{{8,0,0},
{9,0,-1}},
4)
dog.anim:add("run_blue",
{{10,0,0},
{11,0,-1}},
4)
dog.anim:add("run_red",
{{12,0,0},
{13,0,-1}},
4)
dog.anim:set("idle")
-- physics
materialize(dog,{
x=64,y=64,
max_dx=7,max_dy=7,
acc=0.5, dcc=0.7,
w=8,h=8})
--- give random position
dog.body.x=guy.body.x-10
dog.body.y=guy.body.y-10
--- set springs guy->dog
guy.springs={
x=create_spring(
guy.body.sx,
dog.body.x,1),
y=create_spring(
guy.body.sy,
dog.body.y,1)}
function dog:update()
-- animations
if abs(self.body.dx)==0 and
abs(self.body.dy)==0 then
self.anim:set("idle")
elseif cur_ball==1 then
self.anim:set("run_yellow")
elseif cur_ball==2 then
self.anim:set("run_blue")
elseif cur_ball==3 then
self.anim:set("run_red")
end
self.anim.flip=self.body.dx<0
-- physics
self.anim:update()
ball=balls[cur_ball]
local d=vec2d:new(
ball.body.x-self.body.x,
ball.body.y-self.body.y
):norm()
self.body:push(
d.x,
d.y)
self.body:update()
d=dist(
self.body.x,self.body.y,
ball.body.x,ball.body.y)
if d<5 then
-- kick the ball towards the
-- center, with some random
rnd_x=32+rnd(64)
rnd_y=32+rnd(64)
local bd=vec2d:new(
rnd_x-ball.body.x,
rnd_y-ball.body.y
):norm()
ball.body:push(
bd.x*(rnd(5)+5),
bd.y*(rnd(5)+5)
)
end
end
function dog:draw()
self.anim:draw(
self.body.x,
self.body.y)
end
return dog
end
-->8
-- springs
-- create a spring solver which
-- tweens numbers
function create_spring(start,target,mult,speed,k,d)
local spring = {}
--set variables for spring
spring.c=start
spring.s=speed or 0
spring.t=target
spring.k=k or 0.006
spring.d=d or 0.07
-- update spring current value
function spring:update(extra_f)
-- work out distance between
-- numbers
local x=spring.t-spring.c
-- use hookes law to find the
-- force the spring exerts
local f=spring.k*x+extra_f
-- change spring speed based
-- on distance and force
spring.s=(spring.s*(1-spring.d))+f
return spring.s
end
return spring
end
-->8
-- items
function init_ball(s)
local ball=actor:new(true)
animate(ball)
ball.anim:add(
"idle",{{s,0,0}},100)
ball.anim:set("idle")
materialize(ball, {
x=rnd(100)+10,y=rnd(80)+10,
max_dx=100,max_dy=100,
acc=0.5, dcc=0.94,
w=8,h=8})
function ball:update()
self.body:update()
end
function ball:draw()
palt(11, true)
palt(0,false)
self.anim:draw(
self.body.x,
self.body.y)
palt(11, false)
palt(0,true)
end
return ball
end
function drop_cherry()
local cherry=actor:new(true)
animate(cherry)
cherry.life=30*10 -- 10 secs
cherry.anim:add("idle",
{{14,0,0},
{14,0,-1}},
10)
cherry.anim:set("idle")
materialize(cherry, {
x=rnd(100)+10,y=rnd(80)+10,
max_dx=100,max_dy=100,
acc=0.5, dcc=0.94,
w=8,h=8})
function cherry:update()
self.life-=1
self.body:update()
self.anim:update()
contact=body_hit(
self.body,
guy.body)
if contact then
sfx(34)
if t()>60 then
stam=min(140,stam+30)
elseif t()>30 then
stam=min(130,stam+30)
else
stam=min(120,stam+25)
end
self:destroy()
elseif self.life==0 then
self:destroy()
end
end
function cherry:draw()
self.anim:draw(
self.body.x,
self.body.y)
end
return cherry
end
-- dont use actors list
-- so we can draw the clouds
-- befor the player
clouds={}
function add_cloud(x,y,r,c)
local cloud=actor:new(false)
cloud.x=x
cloud.y=y
cloud.r=r
cloud.t=0
cloud.c=c
function cloud:update()
self.t+=1
if self.t==4 then
self.r-=1
self.t=0
end
if cloud.r<0 then
clouds[self.id]=nil
end
end
function cloud:draw()
if self.r==0 then
pset(self.x,self.y,c)
else
circfill(
self.x,self.y,self.r,c)
end
end
clouds[cloud.id]=cloud
end
function add_exclamation()
if exclam~=nil then
exclam:destroy()
end
exclam=actor:new(true)
exclam.x=dog.body.x
exclam.y=dog.body.y-8
exclam.t=30
function exclam:update()
self.x=dog.body.x
self.y=dog.body.y-8
self.t-=1
if self.t==0 then
self:destroy()
exclam=nil
end
end
function exclam:draw()
if (cur_ball==1) s=16
if (cur_ball==2) s=17
if (cur_ball==3) s=18
palt(11, true)
palt(0,false)
spr(s,self.x,self.y)
palt(0, true)
palt(11,false)
end
end
lines={}
function add_line()
local ln= actor:new(false)
ln.s=3+rnd(10)
ln.x=130
ln.x2=ln.x-ln.s
ln.y=20+rnd(40)
function ln:update()
ln.x=ln.x2
ln.x2=ln.x2-ln.s
if ln.x<0 then
lines[ln.id]=nil
end
end
function ln:draw()
line(self.x,self.y,
self.x2, self.y,13)
end
lines[ln.id]=ln
end
-->8
-- main menu
gs_menu={}
-- quartic easing out - decelerating to zero velocity
function ease_out_quartic(t,b,c,d)
t/=d
t-=1
return -c*(t*t*t*t-1)+b
end
function gs_menu:init()
title={
t=0,x=42,
oy=0,y=0,dy=32,dur=30}
clouds={}
tick=0
sel=1
flash_dur=2
trans=false
music(0)
end
function gs_menu:update()
tick+=1
if (flr(title.dur) > 0) then
title.y=ease_out_quartic(
title.t,
title.oy,
title.dy,
title.dur)
title.t+=1
if (title.t>=title.dur) then
title.dur=0
end
elseif flash_dur>0 then
flash_dur-=1
screenshake:start(10,2)
else
if trans~=false then
gstate:switch(trans)
end
if tick%1==0 and sel==0 then
add_cloud(
48+rnd(2),
(sel*10)+93+rnd(2),1,7)
add_cloud(
74+rnd(2),
(sel*10)+93+rnd(2),1,7)
end
if tick%1==0 and sel==1 then
add_cloud(
35+rnd(2),
(sel*10)+93+rnd(2),1,7)
add_cloud(
90+rnd(2),
(sel*10)+93+rnd(2),1,7)
end
for k,c in pairs(clouds) do
c:update()
end
if btnp(⬆️) and sel==1 then
sfx(36)
sel=0
elseif btnp(⬇️) and sel==0 then
sfx(36)
sel=1
end
if btnp(❎) then
if sel==0 then
clouds={}
trans="game"
flash_dur=2
elseif sel==1 then
clouds={}
trans="inst"
flash_dur=2
end
end
-- speed lines
if tick%3==0 then
add_line()
end
for k,l in pairs(lines) do
l:update()
end
end
end
function gs_menu:draw()
cls(1)
if title.dur==0 and
flash_dur>0 then
cls(7)
elseif title.dur==0 and
trans==false then
for k,l in pairs(lines) do
l:draw()
end
circfill(64,245,180,12)
circfill(64,245,170,11)
circfill(64,230,150,3)
map(2,17,title.x-32,
title.y-8
,17,4)
for k,c in pairs(clouds) do
c:draw()
end
print("start",53,92,7)
print("instructions",40,101,7)
else
map(6,18,title.x,
title.y
,5,2)
end
end
-->8
-- game over
gs_over={}
function gs_over:init()
score=flr(t())
music(-1)
end
function gs_over:update()
if btnp(❎) then
sfx(36)
gstate:switch("game")
elseif btnp(🅾️) then
sfx(36)
gstate:switch("menu")
end
end
function gs_over:draw()
rectfill(32,32,96,96,1)
print("game over",42,40,7)
print("score: "..score,42,50,7)
print("❎ to try again",34,62,7)
print("🅾️ to menu",34,70,7)
end
-->8
-- instructions
messages={
{
"its ball time at the park.",
"your pet corgi has entered",
"'zoomies mode'.",
"",
"theres only one thing you",
"can do.."
},
{"hold on for dear life!"},
{
"press ❎/🅾️ to move the",
"dogs attention to another",
"ball."
},
{
"⬆️/⬇️/⬅️/➡️ to drift",
"",
"eat fruit to regain your",
"stamina!"
}
}
gs_instruct={}
function gs_instruct:init()
actors={}
balls={}
cur_ball=1
stam=100
init_guy()
init_dog()
tick=0
add(balls,init_ball(5))
add(balls,init_ball(6))
add(balls,init_ball(7))
music(30)
cur=1
end
function gs_instruct:update()
tick+=1
if btnp(❎) then
sfx(37)
cur+=1
end
if cur>#messages then
gstate:switch("menu")
end
if cur>3 then
if ch==nil then
ch=drop_cherry()
ch.body.x=60
ch.body.y=70
end
end
if cur>2 then
for i,a in pairs(actors) do
a:update()
end
if tick%30==0 then
cur_ball+=1
if cur_ball==4 then
cur_ball=1
end
add_exclamation()
end
balls[1].body.x=30
balls[1].body.y=90
balls[2].body.x=60
balls[2].body.y=50
balls[3].body.x=90
balls[3].body.y=90
end
end
function gs_instruct:draw()
cls(1)
for i,m in pairs(messages[cur]) do
print(m,10, 10+(i*10),7)
end
print(cur.."/"..#messages,2,2,7)
if cur>2 then
for i,a in pairs(actors) do
a:draw()
end
dog:draw()
draw_ball_ui()
end
end
__gfx__
0000000000888800008888000888800000888800bbbbbbbbbbbbbbbbbbbbbbbb0000000000000000000000000000000000000000000000000000bbb000000000
0000000088884800888848008888800008888800bbb00bbbbbb00bbbbbb00bbb000909000009090000090900000909000009090000090900000bb000bfeeeeef
0070070004ffff0004ffff00444ff0000444ff00bb0aa0bbbb0cc0bbbb0880bb00090900000909000009090000090900000909000009090000b0b000bf88888f
0007700000ffff00f0ffff000ffff00000ffff00b0aaaa0bb0cccc0bb088880b00099971000999710009997100099971000999720009997200b00b00bf82888f
00077000008880000c8880000888000002888200b09aa90bb01cc10bb028820b900aaa00900aaa00900ccc00900ccc0090088800900888000b000be0bf88828f
00700700088ff200fc88ff002888f000fcfc0000bb0990bbbb0110bbbb0220bb9999970099999700999997009999970099999700999997008ee0888ebbf8888f
0000000000ccc0000000000001cc000000000000bbb00bbbbbb00bbbbbb00bbb999999002999992099999900199999109999990029999920888028880bbffff0
00000000000f0f000000000000f0f00000000000bbbbbbbbbbbbbbbbbbbbbbbb0920920000000000092092000000000009209200000000002880028000000000
b000000bb000000bb000000bfff000000ff000000ff00fff00000000000000000000000000000000000000000000000000000000000000000000000000000000
b0aaaa0bb0cccc0bb088880bfff00ff00ff00ff00ff00fff00000000000000000000000000000000000000000000000000000000000000000000000000000000
b0aaaa0bb0cccc0bb088880b44400ff004400ff00440044400000000000000000000000000000000000000000000000000000000000000000000000000000000
bb0aa0bbbb0cc0bbbb0880bb44455440044504455445544400000000000000000000000000000000000000000000000000000000000000000000000000000000
bb0990bbbb01c0bbbb0220bb44400445544054400440044400000000000000000000000000000000000000000000000000000000000000000000000000000000
bbb00bbbbbb00bbbbbb00bbbb4b55440044504455b455b4b00000000000000000000000000000000000000000000000000000000000000000000000000000000
bb09a0bbbb01c0bbbb0280bbbbbb04b55bb05b40bbb0bbbb00000000000000000000000000000000000000000000000000000000000000000000000000000000
bbb00bbbbbb00bbbbbb00bbb00000bbb00000bb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
33333333333333333333fff53ff33ff35fff33333333333333333333000000000000000000000000000000000000000000000000000000000000000000000000
33ee3333333333333333fff33ff33ff33fff3333333333333333333300000000000000000000000000000aa77770000000000cc7777000000000088777700000
3e77e3333333333333334445344334435444333333333333333333330000000000000000000000000000aaaaaa7700000000cccccc7700000000888888770000
33ee33e333333333333b4443544554453444b3333ff333333ff33333000000000000000000000000000aaaaaaaa77000000cccccccc770000008888888877000
33313e7e33333333333bff433443344334ffb3333ff33ff33ff33ff300000000000000000000000000777aaaaaa7770000777cccccc777000077788888877700
333331e3333333333333ffb354455b453bff333334433ff334433ff300000000000000000000000009aaa7aaaa7aaa7001ccc7cccc7ccc700288878888788870
3333333333333333333344b33bb33bb33b443333344534433445344500000000000000000000000009aaaa7aa7aaaa7001cccc7cc7cccc700288887887888870
3333333333333333333355b3333333333b553333544354455443544300000000000000000000000009aaaa7aa7aaaaa001cccc7cc7ccccc00288887887888880
333333333333333333333ff3333333333ff333333445344334453445000000000000000000000000099aaa7aa7aaaaa0011ccc7cc7ccccc00228887887888880
33333333333333b333333ff3333333333ff333335bb35b455bb35b43000000000000000000000000099aaa7aa7aaaaa0011ccc7cc7ccccc00228887887888880
33333bb33bb33bb33333344b33333333b443333333333bb333333bb30000000000000000000000000999aa7aa7aaaaa00111cc7cc7ccccc00222887887888880
bbb3bb3333bb3b333333354b33333333b45333333333333333333333000000000000000000000000009997aaaa7aaa00001117cccc7ccc000022278888788800
3bbb3333333b33333333ff533333333335ff33333333333333333333000000000000000000000000000669aaaaa77000000dd1ccccc77000000dd28888877000
3333333333333bb33333ffb3333333333bff33333333333333333333000000000000000000000000000099999999000000001111111100000000222222220000
33333333333333b3333344b3333333333b4433333333333333333333000000000000000000000000000009999990000000000111111000000000022222200000
3333333333333333333355b3333333333b5533333333333333333333000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000066666000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000007777000000000000000000000000000000600000600000000000000000000000000000000000000000000000000000
00000000000000000000000000000000007777000000000000000000000000000006000000600000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000770000000000000000000000000000006000000600000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000770000000000000000000000000000006000000606566666000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000005000000650000000666600000000000000000009009000000000000000000
0000000000000000000000000000000000077000000000000000000000000000000050000650000000000006600000000000000000900900000000000aa00000
000000000000000000000000000000000000000000000000000000000000000000066666600000000000000006600000000000000097097000000000aaaa0000
0000000000000000000000000000000008888888000000000000000000000000000000000000000000000000000660000000000000979999900000009aa90000
00000000000000000000000000000000088888888000000008808080880088808800008880888088000880800000066660000000009999199000000009900000
00000000000000000000000000000088888888848000000080008080808080008080008000808080808000000000000006660000009999999755000000000000
00000000000000000000000000000888888888448000000008008080888088008800008000808088008080800000000000006660000999977755000000000000
00000000000000000000000000000000044ffffff000000000808080800080008080008000808080808080800000007000000006668887777770000000000000
00000000000000000000000000000000044ffffff000000088008800800088808080008880888080800880800000007779990000099888800000000000000000
00000000000000000000000ff000000004fffffff0000000777700777770777077777077777077777077777077000077999999999999788aa000000000000000
0000000000000000000000ffccccc00004fffffff0000000766670766670676076666066766076666076667077000007999999999999777aa000000000000000
00000000000000000000000fccccccc882ffffff0000000070007070007007007000000070007000007000707700000999999999999977700770000000000000
00000000000000000000000000000cc88888f88888800000700070700070070070000000700070000070007077000009999999999999777667e0000000000000
0000000000000000000000ffccccccc8888888888888000070007077770007007777000070007777007777007700009999977779999777777770000000000000
0000000000000000000000ffcccccc88888800000ff800007000707666700700766600007000766600766670660077999944000777700077e000000000000000
0000000000000000000000ff0000000088888888fff0000070007070007007007000000070007000007000700000779944000000000000777000000000000000
0000000000000000000000000000000000088888ff60000070007070007007007000000070007000007000707700000000000000000000000000000000000000
00000000000000000000000000000000000000000006000077776070007077707000000070007777707000707700000000000000000000000000000000000000
00000000000000000000000000000000000000000000600066660060006066606000000060006666606000606600000000000000000000000000000000000000
00000000000000000000000000000000000000000000060000000000000600000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000006600000000066000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000065655565600000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000880808088008880880000888088808800088080000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000008000808080808000808000800080808080800000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000800808088808800880000800080808800808080000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000080808080008000808000800080808080808080000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000008800880080008880808000888088808080088080000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000007777007777707770777770777770777770777770770000000000000000000000000000000000000000000000
00000000000000000000000000000000000000007ccc707ccc70c7c07cccc0cc7cc07cccc07ccc70770000000000000000000000000000000000000000000000
00000000000000000000000000000000000000007000707000700700700000007000700000700070770000000000000000000000000000000000000000000000
00000000000000000000000000000000000000007000707000700700700000007000700000700070770000000000000000000000000000000000000000000000
00000000000000000000000000000000000000007000707777000700777700007000777700777700770000000000000000000000000000000000000000000000
00000000000000000000000000000000000000007000707ccc7007007ccc000070007ccc007ccc70cc0000000000000000000000000000000000000000000000
00000000000000000000000000000000000000007000707000700700700000007000700000700070000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000007000707000700700700000007000700000700070770000000000000000000000000000000000000000000000
00000000000000000000000000000000000000007777c07000707770700000007000777770700070770000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000cccc00c000c0ccc0c0000000c000ccccc0c000c0cc0000000000000000000000000000000000000000000000
__label__
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111166666111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111117777111111111111111111111111111111611111611111111111111111111111111111111111111111111111111111111111
11111111111111111111111111117777111111111111111111111111111116111111611111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111771111111111111111111111111111116111111611111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111771111111111111111111111111111116111111616566666111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111115111111651111111666611111111111111111119119111111111111111111111111
1111111111111111111111111111177111111111111111111111111111111151111651111111111116611111111111111111911911111111111aa11111111111
111111111111111111111111111111111111111111111111111111111111166666611111111111111116611111111111111197197111111111aaaa1111111111
1111111111111111111111111118888888111111111111111111111111111111111111111111111111111661111111111111979999911111119aa91111111111
11111111111111111111111111188888888111111118818181881188818811118881888188111881811111166661111111119999199111111119911111111111
11111111111111111111111188888888848111111181118181818181118181118111818181818111111111111116661111119999999755111111111111111111
11111111111111111111111888888888448111111118118181888188118811118111818188118181811111111111116661111999977755111111111111111111
11111111111111111111111111144ffffff111111111818181811181118181118111818181818181811111117111111116668887777771111111111111111111
11111111111111111111111111144ffffff111111188118811811188818181118881888181811881811111117779991111199888811111111111111111111111
11111111111111111ff111111114fffffff1111111777711777771777177777177777177777177777177111177999999999999788aa111111111111111111111
1111111111111111ffccccc11114fffffff1111111766671766671676176666166766176666176667d77111117999999999999777aa111111111111111111111
11111111111111111fccccccc882ffffff1111111171117171117117117111111171117111117111717711111999999999999977711771111111111111111111
11111111111111111111111cc88888f88888811111711171711171171171111111711171111171117177111119999999999999777667e1111111111111111111
1111111111111111ffccccccc8888888888888111171117177771117117777111171117777dd7777dd7711119999977779999777777771111111111111111111
1111111111111111ffcccccc88888811111ff8111171117176667117117666111171dd766611766671661177999944111777711177e111111111111111111111
1111111111111111ff1111111188888888fff1111171117171117dd7dd7dd1111171117111117111711111779944111111111111777111111111111111111111
1111111111111111111111111111188888ff61111171117171117117117111111171117111117111717711111111111111111111111111111111111111111111
11111111111111111111111111111111111116111177776171117177717111111171117777717111717711111111111111111111111111111111111111111111
11111111111111111111111111111111111111611166661161116166616111111161116666616111616611111111111111111111111111111111111111111111
11111111111111111111111111111111111111161111111111111611111111111111111111111111111111111111111111111111111111111111111111111111
ddd11111111111111111111111111111111111116611111111166111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111165655565611111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111dddddd11
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111ccccccccccccccccccccccccccc11111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111ccccccccccccccccccccccccccccccccccccccccccccccc1111111111111111111111111111111111111111
11111111111111111111111111111111111ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc1111111111111111111111111111111111
11111111111111111111111111111ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc1111111111111111111111111111
1111111111111111111111111ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc111111111111111111111111
11111111111111111111ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc1111111111111111111
11111111111111111ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc1111111111111111
1111111111111ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc111111111111
1111111111ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc111111111
1111111ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc111111
1111cccccccccccccccccccccccccccccccccccccccccccccccbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccc111
1cccccccccccccccccccccccccccccccccccccccccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccc
cccccccccccccccccccccccccccccccccccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcccccccccccccccccccccccccccccccccc
ccccccccccccccccccccccccccccccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccc
ccccccccccccccccccccccccccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccc
ccccccccccccccccccccccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb3333333333333333333333333bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccc
ccccccccccccccccccbbbbbbbbbbbbbbbbbbbbbbbbb3333333333333333333333333333333333333333333bbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccc
cccccccccccccccbbbbbbbbbbbbbbbbbbbbbb3333333333333333333333333333333333333333333333333333333bbbbbbbbbbbbbbbbbbbbbbcccccccccccccc
cccccccccccbbbbbbbbbbbbbbbbbbbbb33333333333333333333333333333333333333333333333333333333333333333bbbbbbbbbbbbbbbbbbbbbcccccccccc
ccccccccbbbbbbbbbbbbbbbbbbbb3333333333333333333333333333333333333333333333333333333333333333333333333bbbbbbbbbbbbbbbbbbbbccccccc
ccccccbbbbbbbbbbbbbbbbbb333333333333333333333333333333333333333333333333333333333333333333333333333333333bbbbbbbbbbbbbbbbbbccccc
cccbbbbbbbbbbbbbbbbbb333333333333333333333333333333333333333333333333333333333333333333333333333333333333333bbbbbbbbbbbbbbbbbbcc
cbbbbbbbbbbbbbbbbb333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333bbbbbbbbbbbbbbbbb
bbbbbbbbbbbbbbb333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333bbbbbbbbbbbbbb
bbbbbbbbbbbb333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333bbbbbbbbbbb
bbbbbbbbb333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333bbbbbbbb
bbbbbbb3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333bbbbbb
bbbbb33333333333333333333333333333333333333333333333337737773777377737773333333333333333333333333333333333333333333333333333bbbb
bb33333333333333333333333333333333333333333333333333373333733737373733733333333333333333333333333333333333333333333333333333333b
33333333333333333333333333333333333333333333333333333777337337773773337333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333337337337373737337333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333773337337373737337333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333337773773337737773777373733773777377733773773337733333333333333333333333333333333333333333
33333333333333333333333333333333333773333733737373333733737373737333373337337373737373333333333333333333333333333333333333333333
33333333333333333333333333333333337777333733737377733733773373737333373337337373737377733377333333333333333333333333333333333333
33333333333333333333333333333333333777333733737333733733737373737333373337337373737333733777733333333333333333333333333333333333
33333333333333333333333333333333333373337773737377333733737337733773373377737733737377333377333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
__gff__
0000000000000000000000000000000000000001010100000000000000000000000101010101010000000000000000000000010001000000000000000000000000000000000000000000000000000000000000000000010101000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000101010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
__map__
2125252525252525252525252525252121210000001314141414141414141414141414150000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
2235353535353535353535353535352421210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
3233312033333333333333333033333421210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
3233203333333333333333302031333421210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
3233333333333333333333333330333421210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
3233333333333333333333333333333421210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
3233333333333333333333333333333421210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
3233333333333333333333333333333421210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
3233333333333333333333333333333421210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
3233333333333333333333333333333421210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
3233333333333333333333333333303421210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
3231303333333333333333333333313421210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
3220333333333333333333333333303421210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
2121212121212121212121212121212121210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
2121212121212121212121212121212121210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
2121212121212121212121212121212121210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000434445464748494a4b4c4d4e4f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000052535455565758595a5b5c5d5e5f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000062636465666768696a6b6c6d6e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000737475767778797a7b7c7d7e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
__sfx__
000400000061001610026100261003610036100461006610086100861009610096100a6100d6100e61011610136101461016610186101a6101d6102061023610276102a6102c6102e61030620316303164031640
010400000c057180570f0571b057110571d057130571f05714057200571b057270571d057290571f0572b05718057240571b057270571d057290571f0572b057200572c057270573305729057350572b05737057
01040000241550000027155000002b1550000030155000002b155000002715500000241550000027155000002b1550000030155000002b155000002715500000241550000027155000002b155000003015500000
010a00003f6153f6053f6153f61527655000003f6153f6153f615000003f6153f61527655000003f6153f6153f615000003f6153f61527655000003f6153f6153f615000003f6153f61527655000003f6153f615
010a00200c2300c2350c2350c2350c2300c2350c2350c2350c2300c2350c2350c2350c2300c2350c2350c2350c2300c2350c2350c2350c2300c2350c2350c2350c2300c2350c2350c2350c2300c2350c2350c235
010a00200a2300a2350a2350a2350a2300a2350a2350a2350a2300a2350a2350a2350a2300a2350a2350a2350a2300a2350a2350a2350a2300a2350a2350a2350a2300a2350a2350a2350a2300a2350a2350a235
010a0000132301323513230132350f2300f235132301323513230132350f2300f23511230112350e2300e235132301323513230132350f2300f235132301323513230132350f2300f23511230112350e2300e235
010a00001123011235112301123516230162351123011235112301123511230112350f2300f2350f2300f2351123011235112301123516230162351123011235112301123511230112350f2300f2350f2300f235
010a00000823008235082350823508230082350823508235082300823508235082350823008235082350823508230082350823508235082300823508235082350823008235082350823508230082350823508235
010a00000f2300f2350f2300f2350c2300c2350f2300f2350f2300f2350c2300c2350e2300e2350a2300a2350f2300f2350f2300f2350c2300c2350f2300f2350f2300f2350c2300c2350e2300e2351123005235
010a00002722027225272202722524220242252722027225272202722524220242252622026225222202222527220272252722027225242202422527220272252722027225242202422529220292252622026225
010a00002622026225262202622527220272252622026225262202622526220262252422024225262222622226220262252622026225272202722526220262252622026225262202622524220242252622026225
010a00002422024225242202422527220272252722027225262202622526220262252222022225222202222524220242252422024225242202422524220242252422024225242202422524220242252422024225
010a00002422024225242202422527220272252722027225262202622526220262252e2202e2252e2202e2253022030225302203022533220332253322033225322203222532220322253a2203a2253a2203a225
010a00003005430050300523005230042300323002230012300153000030000300003305433050320503205035050350563305633056330573305737051370523805238052370523704238032380223701237015
010a00002b0542b05500000240502b05230050300523005230052300423003230022300123001530050300502e0502e0502905029050260502605000000000002b0502b035000002b05224042240322403224035
010a00002705427055000000000029050290512705127052260522605000000000002405024051220512205024052240522404224042240322402224012240150000000000000000000000000000000000000000
010a00002b0542b05500000240502b0523005030052300523005230042300323002230012300153205532050330553305032055320502e0502e0552b0502b0522b0522b0422b0322b0222b0122b0150000000000
010a00002c0552c0502e0502e05530050300503305033050320553205730057300572e0502e050300503005230052300423004230032300323002230015000000000000000000000000000000000000000000000
010a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240002400026000240502605027050290502b050
010a00002c0552c0252705527025300553002527055270252c0552c0252705527025300553002527055270252c0552c0252705527025300553002527055270253305533025270552702530055300252705527025
010a00002e0552e0252905529025320553202526055260252e0552e0252905529025320553202529055290252e0552e0252905529025320553202526055260252e0552e02529055290252c0552c0252b0552b025
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
010a00203773537725377153773537725377153773537725377153773537725377153773537715377353771537735377253771537735377253771537735377253771537735377253771537735377153773537715
010a0000337353372533715337353372533715337353372535735357253571535735357253571535735357253c7353c7253c7153c7353c7253c7153c7353c7253c7353c7253c7153c7353c7353c7153c7353c715
010a00003c7353c7253c7153c7353c7253c7153c7353c7253c7353c7253c7153c7353c7353c7153c7353c7153c7353c7253c7153c7353c7253c7153c7353c7253c7353c7253c7153c7353c7353c7153c7353c715
010a00003873538725387153873538725387153873538725387353872538715387353873538715387353871538735387253871538735387253871538735387253873538725387153873538735387153873538715
010a00003a7353a7253a7153a7353a7253a7153a7353a7253a7353a7253a7153a7353a7353a7153a7353a7153a7353a7253a7153a7353a7253a7153a7353a7253a7353a7253a7153a7353a7353a7153a7353a715
010a00003073530725307153073530725307153073530725307353072530715307353073530715307353071530735307253071530735307253071530735307253073530725307153073530735307153073530715
010a00003273532725327153273532725327153273532725327353272532715327353273532715327353271532735327253271532735327253271532735327253273532725327153273532735327153273532715
010a00003373533725337153373533725337153373533725337353372533715337353373533715337353371535735357253571535735357253571535735357253573535725357153573535735357153573535715
010a000008230082350823508235082300823508235082350a2300a2350a2350a2350a2300a2350a2350a23505230052350523505235052300523505235052350523005235052350523505230052350523505235
010a00000523005235052350523505230052350523505235052300523505235052350523005235052350523505230052350523505235052300523505235052350523005235052350523505230052350523505235
01090000305503c555000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000700003e620346202d6202a6102861022610206101e6101d6101c6101a610186101761016610166101b6001a600196001960018600186001760016600000000000014600126001160000000000000000000000
010400001b05025055000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
010400001f05429055000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
010a00003373533725337153373533725337153373533725337353372533715337353373533715337353371533735337253371533735337253371533735337253373533725337153373533735337153373533715
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
010a0000336253c7353c7153f615276553c7353f6103f615336243c7353f6153f6153c7353c7153f6153f615336253c7353c7153f615276553c7353f6103f615336243c7353c7153f615276553c7353f6103f615
__music__
00 00010244
01 0304060a
00 0304060a
00 0305070b
00 0305070b
00 0308090c
02 0308090d
00 41424344
00 03048384
01 03041844
00 0304180f
00 03041810
00 03041811
00 03201912
00 03211a13
00 03081d14
00 03051e15
00 03081c14
00 03051e15
00 03081f14
00 03051e15
00 03051e15
00 2804060a
00 2804060a
00 2805070b
00 2805070b
00 2808090c
00 2808090d
02 03041844
00 41424344
01 04184344
00 041f4344
00 051c4344
02 051e4344
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment