tic80-rummy/rummy.lua

988 lines
56 KiB
Lua

-- title: rummy
-- author: geemili
-- desc: The card game Rummy, for TIC-80
-- site: website link
-- license: MIT License
-- version: 0.1
-- script: lua
-- stack of cards that cards are drawn from
draw_pile=nil
discard_pile=nil
players_hands=nil
current_player=nil
-- List of cards that have been added to a meld, but are not yet placed on the tabletop. May be too
-- few cards for a meld. Should be verified before adding it to the list of melds on the tabletop.
cards_in_meld_draft=nil
melds_on_tabletop={}
-- `points_of_interest` is an array of things that can be hovered/selected by the controller
current_page=nil
hovered=nil
current_handler=nil
function BOOT()
current_handler=handler_main_menu
end
function TIC()
local c_sel=btnp(5)
local request=nil
if c_sel and hovered then
request=hovered.action
current_page=nil
end
while not current_page do
local response=current_handler(request)
if response.redirect then
current_handler=response.redirect
request=nil
hovered=nil
elseif response.page then
current_page=response.page
else
cls(12)
print("Invalid response!")
for key,val in pairs(response) do
trace("key="..key)
trace("val="..val)
end
return nil
end
end
local actions = get_actions_from_page(current_page)
if not hovered and #actions>0 then
hovered=actions[1]
end
local c_up=btnp(0,10,3)
local c_down=btnp(1,10,3)
local c_left=btnp(2,10,3)
local c_right=btnp(3,10,3)
local c_back=btnp(4)
-- update hovered action
local moved = c_up or c_down or c_left or c_right
if moved and #actions > 0 then
local start=hovered or {x=0,y=0,action=nil}
local dir={0, 0}
if c_left then dir[1]=dir[1] - 1 end
if c_right then dir[1]=dir[1] + 1 end
if c_up then dir[2]=dir[2] - 1 end
if c_down then dir[2]=dir[2] + 1 end
local nearest=nil
for i,action in ipairs(actions) do
if hovered and action.action==hovered.action then
-- pass
elseif not nearest then
local distance=distance_to_point_of_interest(start,dir,action)
if distance>0 then
nearest=action
end
else
local distance=distance_to_point_of_interest(start,dir,action)
if distance>0 and distance<distance_to_point_of_interest(start,dir,nearest) then
nearest=action
end
end
end
if nearest then
hovered=nearest
end
end
-- render current page
cls(12)
for i,element in ipairs(current_page) do
if element.visual then
if getmetatable(element.visual)==Card then
element.visual:render(element.x, element.y, element.hidden, element.sel_state)
elseif getmetatable(element.visual)==Sprite then
spr(element.visual.sid,
element.x,
element.y,
element.visual.colorkey,
1, 0, 0,
element.visual.tw,
element.visual.th)
else
local x = element.textx or element.x
local y = element.texty or element.y
local text_color=13
if element.action then
text_color=0
end
print(element.visual, x, y, text_color)
end
end
if hovered and hovered.action==element.action then
spr(Card.spr_hilight.sid,
element.x,
element.y,
Card.spr_hilight.colorkey,
1, 0, 0,
Card.spr_hilight.tw,
Card.spr_hilight.th)
end
end
end
function handler_main_menu(action)
local number_of_players=nil
if action=="start-1-player" then
number_of_players=1
return { redirect=handler_draw_card }
elseif action=="start-2-player" then
number_of_players=2
elseif action=="start-3-player" then
number_of_players=3
elseif action=="start-4-player" then
number_of_players=4
end
local num_cards_for_num_players={ 10, 10, 7, 7, 6, 6 }
if number_of_players then
draw_pile=create_deck()
draw_pile:shuffle()
local cards_per_player=num_cards_for_num_players[number_of_players]
players_hands={}
for i=1,number_of_players do
local player_hand=draw_pile:draw_stack(cards_per_player)
player_hand:sort(rummy_hand_sort_comparison)
table.insert(players_hands, player_hand)
end
discard_pile = draw_pile:draw_stack(1)
current_player=1
cards_in_meld_draft=CardStack:new()
return { redirect=handler_start_of_turn }
end
local player_count_cards={
Card:new(1, 1),
Card:new(2, 2),
Card:new(3, 3),
Card:new(4, 4),
}
local elements={}
table.insert(elements, {
visual="Rummy",
textx=100, texty=10,
})
table.insert(elements, {
visual="Select the number of players",
textx=60, texty=40,
})
local space_around=((240-(#player_count_cards*24))/(#player_count_cards+1))
local x=space_around
for i,card in ipairs(player_count_cards) do
table.insert(elements, {
visual=card,
x=x, y=68,
action="start-"..i.."-player",
})
x=x+24+space_around
end
return { page=elements }
end
function handler_start_of_turn(action)
if action=="start-turn" then
hovered=nil
return { redirect=handler_draw_card }
end
local elements={}
table.insert(elements, {
visual="Player "..current_player.."'s turn",
textx=60, texty=40,
})
local space_around=((240-24)/(2))
local x=space_around
table.insert(elements, {
visual="OK",
textx=space_around+8, texty=68+10,
x=space_around, y=68,
action="start-turn",
})
return { page=elements }
end
function get_actions_from_page(page)
local actions={}
for i,element in ipairs(page) do
if element.action then
table.insert(actions, {
action=element.action,
x=element.action_x or element.x,
y=element.action_y or element.y,
})
end
end
return actions
end
function build_meld_ui(elements, draft, new_meld_allowed)
local meld_x=2
local meld_y=10
for j,meld in ipairs(melds_on_tabletop) do
local meld_action=nil
if #cards_in_meld_draft>0 then
local meld_with_draft=meld:with(draft)
if rummy_is_valid_meld(meld_with_draft) then
meld_action=meld
end
end
for i,card in ipairs(meld) do
table.insert(elements, {
visual=card,
x=meld_x, y=meld_y,
action=meld_action,
})
meld_x=meld_x + 8
end
meld_x=meld_x + 28
end
table.insert(elements, {
visual="New\nMeld",
textx=meld_x, texty=meld_y+7,
x=meld_x, y=meld_y,
action=((new_meld_allowed and rummy_is_valid_meld(draft)) and "New\nMeld" or nil),
})
end
function build_draw_discard_ui(elements, options)
local discard_x=((240 - 24) / 2)
local discard_y=80
local draw_pile_x=discard_x - 24 - 4
local end_turn_x=discard_x + 24 + 4
-- render draw pile
for i,card in ipairs(draw_pile) do
if i==#draw_pile and options.is_drawing then
table.insert(elements, {
visual=card,
x=draw_pile_x, y=discard_y + (i - 1) * -0.25,
hidden=true,
action=card,
})
else
table.insert(elements, {
visual=card,
x=draw_pile_x, y=discard_y + (i - 1) * -0.25,
hidden=true,
})
end
end
-- render discard pile
for i,card in ipairs(discard_pile) do
if i==#discard_pile and options.is_drawing then
table.insert(elements, {
visual=card,
x=discard_x, y=discard_y + (i - 1) * -0.25,
action=card,
})
else
table.insert(elements, {
visual=card,
x=discard_x, y=discard_y + (i - 1) * -0.25
})
end
end
table.insert(elements, {
visual=(#discard_pile==0 and Card.sprite),
x=discard_x, y=discard_y + (#discard_pile - 1) * -0.25,
action=options.discard_action,
})
table.insert(elements, {
visual="End\nTurn",
textx=end_turn_x, texty=discard_y + 7,
x=end_turn_x, y=discard_y,
action=options.end_turn_action,
})
end
function build_hand_ui(elements, hand, draft, can_select)
local hand_start_x=((240 - #hand * 12 - 24) / 2)
local hand_y=110
for i,card in ipairs(hand) do
if can_select then
local ty=0
local sel_state = nil
if draft:contains(card) then
ty = -4
sel_state = 2
end
table.insert(elements, {
visual=card,
x=hand_start_x + (i - 1) * 12, y=hand_y + ty,
sel_state=sel_state,
action=card, action_y=hand_y,
})
else
table.insert(elements, {
visual=card,
x=hand_start_x + (i - 1) * 12, y=hand_y
})
end
end
end
function handler_draw_card(action)
local cards_in_hand=players_hands[current_player]
if draw_pile:contains(action) then
table.insert(cards_in_hand, draw_pile:draw())
cards_in_hand:sort(rummy_hand_sort_comparison)
hovered = nil
return { redirect=handler_player_action }
elseif discard_pile:contains(action) then
table.insert(cards_in_hand, discard_pile:draw())
cards_in_hand:sort(rummy_hand_sort_comparison)
hovered = nil
return { redirect=handler_player_action }
end
local elements={}
build_meld_ui(elements, cards_in_meld_draft, false)
build_draw_discard_ui(elements, { is_drawing=true })
build_hand_ui(elements, cards_in_hand, cards_in_meld_draft, false)
return { page=elements }
end
function handler_player_action(action)
local cards_in_hand=players_hands[current_player]
if cards_in_hand:contains(action) then
if cards_in_meld_draft:contains(action) then
table.remove(cards_in_meld_draft, cards_in_meld_draft:index_of(action))
else
table.insert(cards_in_meld_draft, action)
cards_in_meld_draft:sort(rummy_hand_sort_comparison)
end
elseif action=="New\nMeld" then
if rummy_is_valid_meld(cards_in_meld_draft) then
for i,card in ipairs(cards_in_meld_draft) do
table.remove(cards_in_hand, cards_in_hand:index_of(card))
end
table.insert(melds_on_tabletop, cards_in_meld_draft)
cards_in_meld_draft=CardStack:new()
hovered = nil
return { redirect=handler_player_secondary_action }
end
elseif action=="Discard" then
if #cards_in_meld_draft==1 then
table.remove(cards_in_hand, cards_in_hand:index_of(cards_in_meld_draft[1]))
table.insert(discard_pile, cards_in_meld_draft[1])
cards_in_meld_draft=CardStack:new()
hovered = nil
return { redirect=handler_discard_confirm }
end
elseif table_index_of(melds_on_tabletop, action) then
local meld=action
local meld_with_draft=meld:with(cards_in_meld_draft)
if rummy_is_valid_meld(meld_with_draft) then
for i,card in ipairs(cards_in_meld_draft) do
table.remove(cards_in_hand, cards_in_hand:index_of(card))
table.insert(meld, card)
end
meld:sort(rummy_hand_sort_comparison)
cards_in_meld_draft=CardStack:new()
end
end
local elements={}
build_meld_ui(elements, cards_in_meld_draft, true)
build_draw_discard_ui(elements, {
discard_action=(#cards_in_meld_draft==1 and "Discard" or nil),
})
build_hand_ui(elements, cards_in_hand, cards_in_meld_draft, true)
return { page=elements }
end
function handler_player_secondary_action(action)
local cards_in_hand=players_hands[current_player]
if cards_in_hand:contains(action) then
if cards_in_meld_draft:contains(action) then
table.remove(cards_in_meld_draft, cards_in_meld_draft:index_of(action))
else
table.insert(cards_in_meld_draft, action)
cards_in_meld_draft:sort(rummy_hand_sort_comparison)
end
elseif action=="Discard" then
if #cards_in_meld_draft==1 then
table.remove(cards_in_hand, cards_in_hand:index_of(cards_in_meld_draft[1]))
table.insert(discard_pile, cards_in_meld_draft[1])
cards_in_meld_draft=CardStack:new()
hovered = nil
return { redirect=handler_discard_confirm }
end
elseif table_index_of(melds_on_tabletop, action) then
local meld=action
local meld_with_draft=meld:with(cards_in_meld_draft)
if rummy_is_valid_meld(meld_with_draft) then
for i,card in ipairs(cards_in_meld_draft) do
table.remove(cards_in_hand, cards_in_hand:index_of(card))
table.insert(meld, card)
end
meld:sort(rummy_hand_sort_comparison)
cards_in_meld_draft=CardStack:new()
end
end
local elements={}
build_meld_ui(elements, cards_in_meld_draft, false)
build_draw_discard_ui(elements, {
discard_action=(#cards_in_meld_draft==1 and "Discard" or nil),
})
build_hand_ui(elements, cards_in_hand, cards_in_meld_draft, true)
return { page=elements }
end
function handler_discard_confirm(action)
local cards_in_hand=players_hands[current_player]
if action=="End\nTurn" then
hovered = nil
current_player=((current_player%#players_hands)+1)
return { redirect=handler_start_of_turn }
end
local elements={}
build_meld_ui(elements, cards_in_meld_draft, false)
build_draw_discard_ui(elements, {
end_turn_action="End\nTurn",
})
build_hand_ui(elements, cards_in_hand, cards_in_meld_draft, false)
return { page=elements }
end
function distance_to_point_of_interest(start,dir,point_of_interest)
local off_axis_dir = {dir[2],-dir[1]}
local offset={point_of_interest.x-start.x,point_of_interest.y-start.y}
-- use dot product to check how inline with each direction the point of interest is
local in_axis_distance=offset[1]*dir[1]+offset[2]*dir[2]
local off_axis_distance=offset[1]*off_axis_dir[1]+offset[2]*off_axis_dir[2]
if in_axis_distance > 0 then
-- use the square of the off_axis_distance to reduce how often it is chosen and ignore direction
return in_axis_distance + off_axis_distance * off_axis_distance
else
return in_axis_distance
end
end
function rummy_hand_sort_comparison(a, b)
-- compare rank
if a.rank<b.rank then return true end
if a.rank>b.rank then return false end
-- compare suit
if a.suit<b.suit then return true end
if a.suit>b.suit then return false end
-- Both are the same; we need to return false or else `table.sort` will throw an
-- "invalid comparison function for sorting" error.
return false
end
function rummy_is_valid_meld(stack)
if #stack<3 then
return false
end
stack:sort(rummy_hand_sort_comparison)
local expected_rank=stack[1].rank
local is_valid_set=true
for i,card in ipairs(stack) do
if card.rank~=expected_rank then
is_valid_set=false
break
end
end
local expected_suit=stack[1].suit
local is_valid_run=true
for i=2,#stack do
local card=stack[i]
if card.suit~=expected_suit or card.rank~=(stack[i-1].rank+1) then
is_valid_run=false
break
end
end
return is_valid_run or is_valid_set
end
function create_deck()
local cards=CardStack:new()
for i=1,13 do
for a=1,4 do
table.insert(cards, Card:new(a, i))
end
end
return cards
end
function table_index_of(table, value)
for i,v in ipairs(table) do
if v==value then
return i
end
end
return nil
end
-- CardStack
CardStack = {}
function CardStack:new(obj)
local stack = obj or {}
setmetatable(stack, { __index=CardStack })
return stack
end
function CardStack:sort(compare_function)
table.sort(self,compare_function)
end
function CardStack:shuffle()
for a,c in ipairs(self) do
local b=math.random(#self)
local tmp=self[a]
self[a]=self[b]
self[b]=tmp
end
end
-- Draws one card and returns a Card, or nil if the stack is empty.
function CardStack:draw()
if #self>0 then
local drawn_card = self[#self]
table.remove(self, #self)
return drawn_card
else
return nil
end
end
-- Draws up to N cards and returns a CardStack. The stack will contain up to N cards, less if the stack doesn't
-- contain that many cards.
function CardStack:draw_stack(amount,destination_stack)
local draw_stack=destination_stack or CardStack:new()
local n = amount
if amount > #self then n = #self end
for i=1,n do
table.insert(draw_stack, self:draw())
end
return draw_stack
end
function CardStack:contains(card_sought)
for i,card in ipairs(self) do
if card==card_sought then
return true
end
end
return false
end
function CardStack:index_of(card_sought)
for i,card in ipairs(self) do
if card==card_sought then
return i
end
end
return nil
end
-- returns a new CardStack containing the cards from self and other. Does not remove the cards from self and other.
function CardStack:with(other)
local new_stack=CardStack:new()
for i,card in ipairs(self) do
table.insert(new_stack, card)
end
for i,card in ipairs(other) do
table.insert(new_stack, card)
end
return new_stack
end
Sprite={}
Sprite.__index=Sprite
function Sprite:new(obj)
local o = obj or {}
setmetatable(o, Sprite)
return o
end
-- Card rendering stuff
suit_icon={34,35,33,36}
suit_color={0,0,2,2}
suit_names={'clubs','spades','hearts','diamonds'}
rank_symbols={'A','2','3','4','5','6','7','8','9','10','J','Q','K'}
Card = {
sprite=Sprite:new({
sid=5,
tw=3,
th=3,
colorkey=14
}),
spr_hilight=Sprite:new({
sid=8,
tw=3,
th=3,
colorkey=14
}),
spr_selected=Sprite:new({
sid=11,
tw=3,
th=3,
colorkey=14
}),
spr_hidden=Sprite:new({
sid=56,
tw=3,
th=3,
colorkey=14
}),
}
Card.__index = Card
function Card:new(suit, rank)
local card = {
suit=suit,
rank=rank,
}
setmetatable(card, Card)
return card
end
function Card:__tostring(suit, rank)
return "<"..rank_symbols[self.rank].." of "..suit_names[self.suit]..">"
end
function Card:render(x, y, hidden, sel_state)
if hidden then
spr(self.spr_hidden.sid,
x,
y,
self.spr_hidden.colorkey,
1, 0, 0,
self.spr_hidden.tw,
self.spr_hidden.th)
else
spr(self.sprite.sid,
x, y,
self.sprite.colorkey,
1, 0, 0,
self.sprite.tw,
self.sprite.th)
spr(suit_icon[self.suit],x+2,y+2,14)
print(rank_symbols[self.rank],x+2,y+15,suit_color[self.suit])
end
-- Draw hilight
if sel_state==1 then
spr(self.spr_hilight.sid,
x,
y,
self.spr_hilight.colorkey,
1, 0, 0,
self.spr_hilight.tw,
self.spr_hilight.th)
elseif sel_state==2 then
spr(self.spr_selected.sid,
x,
y,
self.spr_selected.colorkey,
1, 0, 0,
self.spr_selected.tw,
self.spr_selected.th)
end
end
function Card:render_horizontal(x, y)
spr(self.sprite.sid,
x, y,
self.sprite.colorkey,
1, 0, 0,
self.sprite.tw,
self.sprite.th)
spr(suit_icon[self.suit],x+2,y+2,14)
-- render text offscreen to get it's width. The width is then used to right align the text.
local symbol = rank_symbols[self.rank]
local text_width = print(symbol,1024,1024)
print(symbol,x+22-text_width,y+2,suit_color[self.suit])
end
-- <TILES>
-- 001:eccccccccc888888caaaaaaaca888888cacccccccacc0ccccacc0ccccacc0ccc
-- 002:ccccceee8888cceeaaaa0cee888a0ceeccca0ccc0cca0c0c0cca0c0c0cca0c0c
-- 003:eccccccccc888888caaaaaaaca888888cacccccccacccccccacc0ccccacc0ccc
-- 004:ccccceee8888cceeaaaa0cee888a0ceeccca0cccccca0c0c0cca0c0c0cca0c0c
-- 005:ee000000e0cccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc
-- 006:00000000cccccccccccccccccccccccccccccccccccccccccccccccccccccccc
-- 007:000000eecccccc0eccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0
-- 008:ee555555e5eeeeee5eeeeeee5eeeeeee5eeeeeee5eeeeeee5eeeeeee5eeeeeee
-- 009:55555555eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
-- 010:555555eeeeeeee5eeeeeeee5eeeeeee5eeeeeee5eeeeeee5eeeeeee5eeeeeee5
-- 011:ee222222e2eeeeee2eeeeeee2eeeeeee2eeeeeee2eeeeeee2eeeeeee2eeeeeee
-- 012:22222222eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
-- 013:222222eeeeeeee2eeeeeeee2eeeeeee2eeeeeee2eeeeeee2eeeeeee2eeeeeee2
-- 014:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
-- 017:cacccccccaaaaaaacaaacaaacaaaaccccaaaaaaac8888888cc000cccecccccec
-- 018:ccca00ccaaaa0ccecaaa0ceeaaaa0ceeaaaa0cee8888ccee000cceeecccceeee
-- 019:cacccccccaaaaaaacaaacaaacaaaaccccaaaaaaac8888888cc000cccecccccec
-- 020:ccca00ccaaaa0ccecaaa0ceeaaaa0ceeaaaa0cee8888ccee000cceeecccceeee
-- 021:0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc
-- 022:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
-- 023:ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0
-- 024:5eeeeeee5eeeeeee5eeeeeee5eeeeeee5eeeeeee5eeeeeee5eeeeeee5eeeeeee
-- 025:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
-- 026:eeeeeee5eeeeeee5eeeeeee5eeeeeee5eeeeeee5eeeeeee5eeeeeee5eeeeeee5
-- 027:2eeeeeee2eeeeeee2eeeeeee2eeeeeee2eeeeeee2eeeeeee2eeeeeee2eeeeeee
-- 028:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
-- 029:eeeeeee2eeeeeee2eeeeeee2eeeeeee2eeeeeee2eeeeeee2eeeeeee2eeeeeee2
-- 030:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
-- 033:ee2eee2ee222e2222222222222222222e2222222ee22222eeee222eeeeee2eee
-- 034:eee0eeeeee000eeeee000eeee0e0e0ee0000000e0000000eeee0eeeeee000eee
-- 035:eee0eeeeee000eeee00000ee0000000e0000000ee00000eeeee0eeeeee000eee
-- 036:eee2eeeeee222eeee22222ee2222222e2222222ee22222eeee222eeeeee2eeee
-- 037:0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccce0ccccccee000000
-- 038:cccccccccccccccccccccccccccccccccccccccccccccccccccccccc00000000
-- 039:ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0cccccc0e000000ee
-- 040:5eeeeeee5eeeeeee5eeeeeee5eeeeeee5eeeeeee5eeeeeeee5eeeeeeee555555
-- 041:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee55555555
-- 042:eeeeeee5eeeeeee5eeeeeee5eeeeeee5eeeeeee5eeeeeee5eeeeee5e555555ee
-- 043:2eeeeeee2eeeeeee2eeeeeee2eeeeeee2eeeeeee2eeeeeeee2eeeeeeee222222
-- 044:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee22222222
-- 045:eeeeeee2eeeeeee2eeeeeee2eeeeeee2eeeeeee2eeeeeee2eeeeee2e222222ee
-- 046:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
-- 049:eee0eeeeee0c0eeeee0c00eee00ccc0e0c0cccc0e0ccccc0ee0ccc0eeee000ee
-- 053:0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc00cccccc00000000
-- 054:cccccccccccccccccccccccccccccccccccccccccccccccccccccccc00000000
-- 055:ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0cccccc0000000000
-- 056:ee000000e0cccccc0ccccccc0ccfffff0ccffcfc0ccfcfcf0ccffcfc0ccfcfcf
-- 057:00000000ccccccccccccccccfffffffffcfcfcfccfcfcfcffcfcfcfccfcfcfcf
-- 058:000000eecccccc0eccccccc0fffffcc0fcfcfcc0cfcffcc0fcfcfcc0cfcffcc0
-- 059:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
-- 060:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
-- 061:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
-- 062:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
-- 069:00dddddd0d00000000dddddd0d00000000dddddd0d000000e0ddddddee000000
-- 070:dddddddd00000000dddddddd00000000dddddddd00000000dddddddd00000000
-- 071:dddddd00000000d0dddddd00000000d0dddddd00000000d0dddddd0e000000ee
-- 072:0ccffcfc0ccfcfcf0ccffcfc0ccfcfcf0ccffcfc0ccfcfcf0ccffcfc0ccfcfcf
-- 073:fcfcfcfccfcfcfcffcfcfcfccfcfcfcffcfcfcfccfcfcfcffcfcfcfccfcfcfcf
-- 074:fcfcfcc0cfcffcc0fcfcfcc0cfcffcc0fcfcfcc0cfcffcc0fcfcfcc0cfcffcc0
-- 085:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
-- 086:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
-- 087:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
-- 088:0ccffcfc0ccfcfcf0ccffcfc0ccfcfcf0ccfffff0ccccccce0ccccccee000000
-- 089:fcfcfcfccfcfcfcffcfcfcfccfcfcfcfffffffffcccccccccccccccc00000000
-- 090:fcfcfcc0cfcffcc0fcfcfcc0cfcffcc0fffffcc0ccccccc0cccccc0e000000ee
-- 101:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
-- 102:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
-- 103:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
-- 104:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
-- </TILES>
-- <WAVES>
-- 000:00000000ffffffff00000000ffffffff
-- 001:0123456789abcdeffedcba9876543210
-- 002:0123456789abcdef0123456789abcdef
-- </WAVES>
-- <SFX>
-- 000:000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000304000000000
-- </SFX>
-- <TRACKS>
-- 000:100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-- </TRACKS>
-- <SCREEN>
-- 000:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
-- 001:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
-- 002:cc000000000000000000000000cccccc000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cccc
-- 003:cc0cccccccccccccccccccccc0ccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0cccccccccccccccccccc0ccc
-- 004:cc0cccccccccccccccccccccc0cccc0cccc2cc0cccc0cc0cccc2cc0ccc2ccc0ccc2ccc0cccc0cc0cccc2cc0cccc0cc0cccc0cc0cccc0cc0cccc0cc0ccc2ccc0ccc2ccc0cccc0cc0cccc2cc0cccc0cc0cccc0cc0cccc2cc0ccc2ccc0ccc2ccc0cccc0cc0cccc2cc0cccc0cc0cccc0ccccccccccccccccc0cc
-- 005:cc0cccccccccccccccccccccc0cccc0ccc222c0ccc000c0ccc222c0cc222c20cc222c20ccc000c0ccc222c0ccc000c0ccc000c0ccc000c0ccc000c0cc222c20cc222c20ccc000c0ccc222c0ccc000c0ccc000c0ccc222c0cc222c20cc222c20ccc000c0ccc222c0ccc000c0ccc000cccccccccccccccc0cc
-- 006:cc0cccccccccccccccccccccc0cccc0cc222220cc000000cc222220c2222220c2222220cc000000cc222220cc000000cc000000cc000000ccc000c0c2222220c2222220ccc000c0cc222220cc000000ccc000c0cc222220c2222220c2222220ccc000c0cc222220ccc000c0ccc000cccccccccccccccc0cc
-- 007:cc0cccccccccccccccccccccc0cccc0c2222220c0000000c2222220c2222220c2222220c0000000c2222220c0000000c0000000c0000000cc0c0c00c2222220c2222220cc0c0c00c2222220c0000000cc0c0c00c2222220c2222220c2222220cc0c0c00c2222220cc0c0c00cc0c0c0ccccccccccccccc0cc
-- 008:cc0cccccccccccccccccccccc0cccc0c2222220c0000000c2222220cc222220cc222220c0000000c2222220c0000000c0000000c0000000c0000000cc222220cc222220c0000000c2222220c0000000c0000000c2222220cc222220cc222220c0000000c2222220c0000000c0000000cccccccccccccc0cc
-- 009:cc0cccccccccccccccccccccc0cccc0cc222220cc000000cc222220ccc22220ccc22220cc000000cc222220cc000000cc000000cc000000c0000000ccc22220ccc22220c0000000cc222220cc000000c0000000cc222220ccc22220ccc22220c0000000cc222220c0000000c0000000cccccccccccccc0cc
-- 010:cc0cccccccccccccccccccccc0cccc0ccc222c0cccc0cc0ccc222c0cccc2220cccc2220cccc0cc0ccc222c0cccc0cc0cccc0cc0cccc0cc0cccc0cc0cccc2220cccc2220cccc0cc0ccc222c0cccc0cc0cccc0cc0ccc222c0cccc2220cccc2220cccc0cc0ccc222c0cccc0cc0cccc0ccccccccccccccccc0cc
-- 011:cc0cccccccccccccccccccccc0cccc0cccc2cc0ccc000c0cccc2cc0ccccc2c0ccccc2c0ccc000c0cccc2cc0ccc000c0ccc000c0ccc000c0ccc000c0ccccc2c0ccccc2c0ccc000c0cccc2cc0ccc000c0ccc000c0cccc2cc0ccccc2c0ccccc2c0ccc000c0cccc2cc0ccc000c0ccc000cccccccccccccccc0cc
-- 012:cc0cccccccccccccccccccccc0cccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0cccccccccccccccccccccc0cc
-- 013:cc0cccccccccccccccccccccc0cccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0cccccccccccccccccccccc0cc
-- 014:cc0cccccccccccccccccccccc0cccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0cccccccccccccccccccccc0cc
-- 015:cc0cccccccccccccccccccccc0cccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0cccccccccccccccccccccc0cc
-- 016:cc0cccccccccccccccccccccc0cccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0cccccccccccccccccccccc0cc
-- 017:cc0cccccccccccccccccccccc0cccc0cfffffc0ccffccc0ccfffcc0ccfffcc0ccfffcc0cfffffc0ccfffcc0cffffcc0ccfffcc0ccfffcc0ccfffcc0ccfffcc0cfffffc0cffccfc0cfffffc0cffccfc0cffffcc0cffccfc0cffccfc0cccffcc0cccffcc0ccffccc0cfffffc0cfffffcccccccccccccccc0cc
-- 018:cc0cccccccccccccccccccccc0cccc0ccccffc0cfffccf0cffccfc0cffccfc0cffccfc0ccccffc0cffccfc0ccccffc0cffcccc0cffccfc0cffccfc0cffccfc0ccccffc0cffcfcc0ccccffc0cffcfcc0ccccffc0cffcfcc0cffcfcc0ccfffcc0ccfffcc0cfffccf0ccccffc0ccccffcccccccccccccccc0cc
-- 019:cc0cccccccccccccccccccccc0cccc0cccffcc0ccffccf0ccffffc0cffccfc0ccffffc0cccffcc0ccfffcc0ccfffcc0cffffcc0cffccfc0ccffffc0cffccfc0ccccffc0cfffccc0ccccffc0cfffccc0ccfffcc0cfffccc0cfffccc0cffcfcc0cffcfcc0ccffccf0cccffcc0ccccffcccccccccccccccc0cc
-- 020:cc0cccccccccccccccccccccc0cccc0ccffccc0ccffccf0cccccfc0cffccfc0cccccfc0ccffccc0cffccfc0cffcccc0cffccfc0cfffffc0cccccfc0cfffffc0cffcffc0cffcfcc0cffcffc0cffcfcc0cffcccc0cffcfcc0cffcfcc0cfffffc0cfffffc0ccffccf0ccffccc0cffcffcccccccccccccccc0cc
-- 021:cc0cccccccccccccccccccccc0cccc0cffcccc0cffffcc0ccfffcc0ccfffcc0ccfffcc0cffcccc0ccfffcc0cfffffc0ccfffcc0cffccfc0ccfffcc0cffccfc0ccfffcc0cffccfc0ccfffcc0cffccfc0cfffffc0cffccfc0cffccfc0ccccfcc0ccccfcc0cffffcc0cffcccc0ccfffccccccccccccccccc0cc
-- 022:cc0cccccccccccccccccccccc0cccc0ccccccc0ccccccc0ccccccc0cccccfc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0cccccccccccccccccccccc0cc
-- 023:cc0cccccccccccccccccccccc0cccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0cccccccccccccccccccccc0cc
-- 024:cc0cccccccccccccccccccccc0ccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0cccccccccccccccccccc0ccc
-- 025:cc000000000000000000000000cccccc000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cccc
-- 026:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
-- 027:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
-- 028:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
-- 029:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
-- 030:cc000000000000000000000000cccccc00000000000000000000cccccccccc00000000000000000000cccccccccc00000000000000000000cccccccccc00000000000000000000cccccccccc00000000000000000000cccccccccc00000000000000000000cccccccccc00000000000000000000cccccccc
-- 031:cc0eeeeeeeeeeeeeeeeeeeeee0ccccc0cccccccccccccccccccc0cccccccc0cccccccccccccccccccc0cccccccc0cccccccccccccccccccc0cccccccc0cccccccccccccccccccc0cccccccc0cccccccccccccccccccc0cccccccc0cccccccccccccccccccc0cccccccc0cccccccccccccccccccc0ccccccc
-- 032:cc0eeeeeeeeeeeeeeeeeeeeee0cccc0cccc0ccccccccccccccccc0cccccc0cccc0ccccccccccccccccc0cccccc0cccc0ccccccccccccccccc0cccccc0cccc0ccccccccccccccccc0cccccc0ccc2ccc2cccccccccccccc0cccccc0cccc2ccccccccccccccccc0cccccc0cccc2ccccccccccccccccc0cccccc
-- 033:cc0eeeeeeeeeeeeeeeeeeeeee0cccc0ccc000cccccccccccccccc0cccccc0ccc000cccccccccccccccc0cccccc0ccc000cccccccccccccccc0cccccc0ccc000cccccccccccccccc0cccccc0cc222c222ccccccccccccc0cccccc0ccc222cccccccccccccccc0cccccc0ccc222cccccccccccccccc0cccccc
-- 034:cc0eeeeeeeeeeeeeeeeeeeeee0cccc0cc00000ccccccccfffffcc0cccccc0cc00000ccccccccfffffcc0cccccc0cc00000cccccccccfffccc0cccccc0ccc000ccccccccccfffccc0cccccc0c22222222ccccccfffffcc0cccccc0cc22222ccccccccffffccc0cccccc0cc22222cccccccccfffccc0cccccc
-- 035:cc0eeeeeeeeeeeeeeeeeeeeee0cccc0c0000000ccccccccccffcc0cccccc0c0000000cccccccffccccc0cccccc0c0000000cccccccffccfcc0cccccc0cc0c0c0ccccccccffccfcc0cccccc0c22222222cccccccccffcc0cccccc0c2222222ccccccccccffcc0cccccc0c2222222cccccccffccfcc0cccccc
-- 036:cc0eeeeeeeeeeeeeeeeeeeeee0cccc0c0000000cccccccccffccc0cccccc0c0000000cccccccffffccc0cccccc0c0000000cccccccffccfcc0cccccc0c0000000cccccccffccfcc0cccccc0cc2222222ccccccccffccc0cccccc0c2222222ccccccccfffccc0cccccc0c2222222cccccccffccfcc0cccccc
-- 037:cc0eeeeeeeeeeeeeeeeeeeeee0cccc0cc00000ccccccccfccffcc0cccccc0cc00000cccccccccccffcc0cccccc0cc00000ccccccccffccfcc0cccccc0c0000000cccccccfffffcc0cccccc0ccc22222ccccccccffcccc0cccccc0cc22222ccccccccffccccc0cccccc0cc22222ccccccccfffffcc0cccccc
-- 038:cc0eeeeeeeeeeeeeeeeeeeeee0cccc0cccc0cccccccccccfffccc0cccccc0c00000000000000000000c0cccccc0c00000000000000000000c0cccccc0c00000000000000000000c0cccccc0c00000000000000000000c0cccccc0c00000000000000000000c0cccccc0c00000000000000000000c0cccccc
-- 039:cc0eeeeeeeeeeeeeeeeeeeeee0cccc0ccc000cccccccccccccccc0cccccc00cccccccccccccccccccc00cccccc00cccccccccccccccccccc00cccccc00cccccccccccccccccccc00cccccc00cccccccccccccccccccc00cccccc00cccccccccccccccccccc00cccccc00cccccccccccccccccccc00cccccc
-- 040:cc0eeeeeeeeeeeeeeeeeeeeee0cccc0cccccccccccccccccccccc0cccccc0ccc2ccc2cccccccccccccc0cccccc0cccc2ccccccccccccccccc0cccccc0cccc0ccccccccccccccccc0cccccc0cccc2ccccccccccccccccc0cccccc0ccc2ccc2cccccccccccccc0cccccc0cccc2ccccccccccccccccc0cccccc
-- 041:cc0eeeeeeeeeeeeeeeeeeeeee0cccc0cccccccccccccccccccccc0cccccc0cc222c222ccccccccccccc0cccccc0ccc222cccccccccccccccc0cccccc0ccc000cccccccccccccccc0cccccc0ccc222cccccccccccccccc0cccccc0cc222c222ccccccccccccc0cccccc0ccc222cccccccccccccccc0cccccc
-- 042:cc0eeeeeeeeeeeeeeeeeeeeee0cccc0cccccccccccccccccccccc0cccccc0c22222222ccccccfffffcc0cccccc0cc22222ccccccccfffffcc0cccccc0cc00000cccccccccfffccc0cccccc0cc22222ccccccccfffffcc0cccccc0c22222222ccccccffffccc0cccccc0cc22222cccccccccfffccc0cccccc
-- 043:cc0eeeeeeeeeeeeeeeeeeeeee0cccc0cccccccccccccccccccccc0cccccc0c22222222cccccccccffcc0cccccc0c2222222ccccccccccffcc0cccccc0c0000000cccccccffccfcc0cccccc0c2222222cccccccffccccc0cccccc0c22222222cccccccccffcc0cccccc0c2222222cccccccffccfcc0cccccc
-- 044:cc0eeeeeeeeeeeeeeeeeeeeee0cccc0cccccccccccccccccccccc0cccccc0cc2222222ccccccccffccc0cccccc0c2222222cccccccccffccc0cccccc0c0000000ccccccccffffcc0cccccc0c2222222cccccccffffccc0cccccc0cc2222222cccccccfffccc0cccccc0c2222222cccccccffccfcc0cccccc
-- 045:cc0eeeeeeeeeeeeeeeeeeeeee0cccc0cccccccccccccccccccccc0cccccc0ccc22222cccccccfccffcc0cccccc0cc22222ccccccccfccffcc0cccccc0cc00000ccccccccccccfcc0cccccc0cc22222cccccccccccffcc0cccccc0ccc22222cccccccffccccc0cccccc0cc22222ccccccccffccfcc0cccccc
-- 046:cc0eeeeeeeeeeeeeeeeeeeeee0cccc0cccccccccccccccccccccc0cccccc0cccc222cccccccccfffccc0cccccc0c00000000000000000000c0cccccc0c00000000000000000000c0cccccc0c00000000000000000000c0cccccc0c00000000000000000000c0cccccc0c00000000000000000000c0cccccc
-- 047:cc0eeeeeeeeeeeeeeeeeeeeee0cccc0cccccccccccccccccccccc0cccccc0ccccc2cccccccccccccccc0cccccc00cccccccccccccccccccc00cccccc00cccccccccccccccccccc00cccccc00cccccccccccccccccccc00cccccc00cccccccccccccccccccc00cccccc00cccccccccccccccccccc00cccccc
-- 048:cc0eeeeeeeeeeeeeeeeeeeeee0cccc0cccccccccccccccccccccc0cccccc0cccccccccccccccccccccc0cccccc0cccc0ccccccccccccccccc0cccccc0cccc0ccccccccccccccccc0cccccc0ccc2ccc2cccccccccccccc0cccccc0cccc0ccccccccccccccccc0cccccc0cccc0ccccccccccccccccc0cccccc
-- 049:cc0eeeeeeeeeeeeeeeeeeeeee0cccc0cccccccccccccccccccccc0cccccc0cccccccccccccccccccccc0cccccc0ccc000cccccccccccccccc0cccccc0ccc000cccccccccccccccc0cccccc0cc222c222ccccccccccccc0cccccc0ccc000cccccccccccccccc0cccccc0ccc000cccccccccccccccc0cccccc
-- 050:cc0eeeeeeeeeeeeeeeeeeeeee0cccc0cccccccccccccccccccccc0cccccc0cccccccccccccccccccccc0cccccc0cc00000ccccccccccffccc0cccccc0cc00000ccccccccfffffcc0cccccc0c22222222cccccccfffccc0cccccc0cc00000cccccccccfffccc0cccccc0ccc000cccccccccfffffcc0cccccc
-- 051:cc0eeeeeeeeeeeeeeeeeeeeee0cccc0cccccccccccccccccccccc0cccccc0cccccccccccccccccccccc0cccccc0c0000000ccccccccfffccc0cccccc0c0000000ccccccccccffcc0cccccc0c22222222ccccccffccccc0cccccc0c0000000cccccccffccfcc0cccccc0cc0c0c0cccccccccccffcc0cccccc
-- 052:cc0eeeeeeeeeeeeeeeeeeeeee0ccccc0cccccccccccccccccccc0ccccccc0cccccccccccccccccccccc0cccccc0c0000000cccccccffcfccc0cccccc0c0000000ccccccccccffcc0cccccc0cc2222222ccccccffffccc0cccccc0c0000000ccccccccfffccc0cccccc0c0000000cccccccccffccc0cccccc
-- 053:cc000000000000000000000000cccccc00000000000000000000cccccccc0cccccccccccccccccccccc0cccccc0cc00000ccccccccfffffcc0cccccc0cc00000ccccccccffcffcc0cccccc0ccc22222cccccccffccfcc0cccccc0cc00000ccccccccffccfcc0cccccc0c0000000cccccccfccffcc0cccccc
-- 054:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc0cccccccccccccccccccccc0cccccc0cccc0cccccccccccccfccc0cccccc0c00000000000000000000c0cccccc0c00000000000000000000c0cccccc0c00000000000000000000c0cccccc0c00000000000000000000c0cccccc
-- 055:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc0cccccccccccccccccccccc0cccccc0ccc000cccccccccccccccc0cccccc00cccccccccccccccccccc00cccccc00cccccccccccccccccccc00cccccc00cccccccccccccccccccc00cccccc00cccccccccccccccccccc00cccccc
-- 056:cc000000000000000000000000cccccccccccccccccccccccccccccccccc0cccccccccccccccccccccc0cccccc0cccccccccccccccccccccc0cccccc0ccc2ccc2cccccccccccccc0cccccc0cccc0ccccccccccccccccc0cccccc0cccc0ccccccccccccccccc0cccccc0ccc2ccc2cccccccccccccc0cccccc
-- 057:cc0eeeeeeeeeeeeeeeeeeeeee0cccccccccccccccccccccccccccccccccc0cccccccccccccccccccccc0cccccc0cccccccccccccccccccccc0cccccc0cc222c222ccccccccccccc0cccccc0ccc000cccccccccccccccc0cccccc0ccc000cccccccccccccccc0cccccc0cc222c222ccccccccccccc0cccccc
-- 058:cc0eeeeeeeeeeeeeeeeeeeeee0cccccccccccccccccccccccccccccccccc0cccccccccccccccccccccc0cccccc0cccccccccccccccccccccc0cccccc0c22222222cccccccfffccc0cccccc0ccc000cccccccccfffffcc0cccccc0ccc000ccccccccccfffccc0cccccc0c22222222ccccccfffffcc0cccccc
-- 059:cc0eeeeeeeeeeeeeeeeeeeeee0cccccccccccccccccccccccccccccccccc0cccccccccccccccccccccc0cccccc0cccccccccccccccccccccc0cccccc0c22222222ccccccffccfcc0cccccc0cc0c0c0ccccccccffccccc0cccccc0cc0c0c0ccccccccffccfcc0cccccc0c22222222ccccccffccccc0cccccc
-- 060:cc0eeeeeeeeeeeeeeeeeeeeee0ccccccccccccccccccccccccccccccccccc0cccccccccccccccccccc0ccccccc0cccccccccccccccccccccc0cccccc0cc2222222cccccccfffccc0cccccc0c0000000cccccccffffccc0cccccc0c0000000ccccccccfffccc0cccccc0cc2222222ccccccffffccc0cccccc
-- 061:cc0eeeeeeeeeeeeeeeeeeeeee0cccccccccccccccccccccccccccccccccccc00000000000000000000cccccccc0cccccccccccccccccccccc0cccccc0ccc22222cccccccffccfcc0cccccc0c0000000ccccccccccffcc0cccccc0c0000000cccccccffccfcc0cccccc0ccc22222ccccccccccffcc0cccccc
-- 062:cc0eeeeeeeeeeeeeeeeeeeeee0cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc0cccccccccccccccccccccc0cccccc0cccc222cccccccccfffccc0cccccc0c00000000000000000000c0cccccc0c00000000000000000000c0cccccc0c00000000000000000000c0cccccc
-- 063:cc0eeeeeeeeeeeeeeeeeeeeee0cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc0cccccccccccccccccccccc0cccccc0ccccc2cccccccccccccccc0cccccc00cccccccccccccccccccc00cccccc00cccccccccccccccccccc00cccccc00cccccccccccccccccccc00cccccc
-- 064:cc0eeeeeeeeeeeeeeeeeeeeee0cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc0cccccccccccccccccccccc0cccccc0cccccccccccccccccccccc0cccccc0cccc2ccccccccccccccccc0cccccc0cccc2ccccccccccccccccc0cccccc0cccc0ccccccccccccccccc0cccccc
-- 065:cc0eeeeeeeeeeeeeeeeeeeeee0cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc0cccccccccccccccccccccc0cccccc0cccccccccccccccccccccc0cccccc0ccc222cccccccccccccccc0cccccc0ccc222cccccccccccccccc0cccccc0ccc000cccccccccccccccc0cccccc
-- 066:cc0eeeeeeeeeeeeeeeeeeeeee0cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc0cccccccccccccccccccccc0cccccc0cccccccccccccccccccccc0cccccc0cc22222ccccccccccffccc0cccccc0cc22222cccccccccfffccc0cccccc0ccc000cccccffcccfffccc0cccccc
-- 067:cc0eeeeeeeeeeeeeeeeeeeeee0cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc0cccccccccccccccccccccc0cccccc0cccccccccccccccccccccc0cccccc0c2222222ccccccccfffccc0cccccc0c2222222cccccccffccccc0cccccc0cc0c0c0cccfffccffcffcc0cccccc
-- 068:cc0eeeeeeeeeeeeeeeeeeeeee0ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc0cccccccccccccccccccc0ccccccc0cccccccccccccccccccccc0cccccc0c2222222cccccccffcfccc0cccccc0c2222222cccccccffffccc0cccccc0c0000000cccffccfffcfcc0cccccc
-- 069:cc0eeeeeeeeeeeeeeeeeeeeee0cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc00000000000000000000cccccccc0cccccccccccccccccccccc0cccccc0cc22222ccccccccfffffcc0cccccc0cc22222ccccccccffccfcc0cccccc0c0000000cccffccffccfcc0cccccc
-- 070:cc0eeeeeeeeeeeeeeeeeeeeee0cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc0cccccccccccccccccccccc0cccccc0ccc222ccccccccccccfccc0cccccc0c00000000000000000000c0cccccc0c00000000000000000000c0cccccc
-- 071:cc0eeeeeeeeeeeeeeeeeeeeee0cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc0cccccccccccccccccccccc0cccccc0cccc2ccccccccccccccccc0cccccc00cccccccccccccccccccc00cccccc00cccccccccccccccccccc00cccccc
-- 072:cc0eeeeeeeeeeeeeeeeeeeeee0cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc0cccccccccccccccccccccc0cccccc0cccccccccccccccccccccc0cccccc0ccc2ccc2cccccccccccccc0cccccc0cccc0ccccccccccccccccc0cccccc
-- 073:cc0eeeeeeeeeeeeeeeeeeeeee0cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc0cccccccccccccccccccccc0cccccc0cccccccccccccccccccccc0cccccc0cc222c222ccccccccccccc0cccccc0ccc000cccccccccccccccc0cccccc
-- 074:cc0eeeeeeeeeeeeeeeeeeeeee0cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc0cccccccccccccccccccccc0cccccc0cccccccccccccccccccccc0cccccc0c22222222ccffcccfffccc0cccccc0ccc000ccccccccccfffccc0cccccc
-- 075:cc0eeeeeeeeeeeeeeeeeeeeee0cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc0cccccccccccccccccccccc0cccccc0cccccccccccccccccccccc0cccccc0c22222222cfffccffcffcc0cccccc0cc0c0c0ccccccccffccfcc0cccccc
-- 076:cc0eeeeeeeeeeeeeeeeeeeeee0ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc0cccccccccccccccccccc0ccccccc0cccccccccccccccccccccc0cccccc0cc2222222ccffccfffcfcc0cccccc0c0000000cccccccffccfcc0cccccc
-- 077:cc0eeeeeeeeeeeeeeeeeeeeee0cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc00000000000000000000cccccccc0cccccccccccccccccccccc0cccccc0ccc22222cccffccffccfcc0cccccc0c0000000cccccccffccfcc0cccccc
-- 078:cc0eeeeeeeeeeeeeeeeeeeeee0cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc0cccccccccccccccccccccc0cccccc0cccc222cccffffccfffccc0cccccc0c00000000000000000000c0cccccc
-- 079:cc000000000000000000000000cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc0cccccccccccccccccccccc0cccccc0ccccc2cccccccccccccccc0cccccc00cccccccccccccccccccc00cccccc
-- 080:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc0cccccccccccccccccccccc0cccccc0cccccccccccccccccccccc0cccccc0cccc0ccccccccccccccccc0cccccc
-- 081:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc0cccccccccccccccccccccc0cccccc0cccccccccccccccccccccc0cccccc0ccc000cccccccccccccccc0cccccc
-- 082:cc000000000000000000000000cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc0cccccccccccccccccccccc0cccccc0cccccccccccccccccccccc0cccccc0ccc000ccccccccccfffccc0cccccc
-- 083:cc0eeeeeeeeeeeeeeeeeeeeee0cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc0cccccccccccccccccccccc0cccccc0cccccccccccccccccccccc0cccccc0cc0c0c0ccccccccffccccc0cccccc
-- 084:cc0eeeeeeeeeeeeeeeeeeeeee0ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc0cccccccccccccccccccc0ccccccc0cccccccccccccccccccccc0cccccc0c0000000cccccccffffccc0cccccc
-- 085:cc0eeeeeeeeeeeeeeeeeeeeee0cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc00000000000000000000cccccccc0cccccccccccccccccccccc0cccccc0c0000000cccccccffccfcc0cccccc
-- 086:cc0eeeeeeeeeeeeeeeeeeeeee0cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc0cccccccccccccccccccccc0cccccc0cccc0cccccccccccfffccc0cccccc
-- 087:cc0eeeeeeeeeeeeeeeeeeeeee0cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc0cccccccccccccccccccccc0cccccc0ccc000cccccccccccccccc0cccccc
-- 088:cc0eeeeeeeeeeeeeeeeeeeeee0cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc0cccccccccccccccccccccc0cccccc0cccccccccccccccccccccc0cccccc
-- 089:cc0eeeeeeeeeeeeeeeeeeeeee0cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc0cccccccccccccccccccccc0cccccc0cccccccccccccccccccccc0cccccc
-- 090:cc0eeeeeeeeeeeeeeeeeeeeee0cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc0cccccccccccccccccccccc0cccccc0cccccccccccccccccccccc0cccccc
-- 091:cc0eeeeeeeeeeeeeeeeeeeeee0cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc0cccccccccccccccccccccc0cccccc0cccccccccccccccccccccc0cccccc
-- 092:cc0eeeeeeeeeeeeeeeeeeeeee0ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc0cccccccccccccccccccc0ccccccc0cccccccccccccccccccccc0cccccc
-- 093:cc0eeeeeeeeeeeeeeeeeeeeee0cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc00000000000000000000cccccccc0cccccccccccccccccccccc0cccccc
-- 094:cc0eeeeeeeeeeeeeeeeeeeeee0cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc0cccccccccccccccccccccc0cccccc
-- 095:cc0eeeeeeeeeeeeeeeeeeeeee0cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc0cccccccccccccccccccccc0cccccc
-- 096:cc0eeeeeeeeeeeeeeeeeeeeee0cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc0cccccccccccccccccccccc0cccccc
-- 097:cc0eeeeeeeeeeeeeeeeeeeeee0cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc0cccccccccccccccccccccc0cccccc
-- 098:cc0eeeeeeeeeeeeeeeeeeeeee0cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc0cccccccccccccccccccccc0cccccc
-- 099:cc0eeeeeeeeeeeeeeeeeeeeee0cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc0cccccccccccccccccccccc0cccccc
-- 100:cc0eeeeeeeeeeeeeeeeeeeeee0ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc0cccccccccccccccccccc0ccccccc
-- 101:cc0eeeeeeeeeeeeeeeeeeeeee0cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc00000000000000000000cccccccc
-- 102:cc0eeeeeeeeeeeeeeeeeeeeee0cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
-- 103:cc0eeeeeeeeeeeeeeeeeeeeee0cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
-- 104:cc0eeeeeeeeeeeeeeeeeeeeee0cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
-- 105:cc000000000000000000000000cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
-- 106:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
-- 107:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
-- 108:cc000000000000000000000000cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
-- 109:cc0eeeeeeeeeeeeeeeeeeeeee0cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
-- 110:cc0eeeeeeeeeeeeeeeeeeeeee0cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
-- 111:cc0eeeeeeeeeeeeeeeeeeeeee0cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
-- 112:cc0eeeeeeeeeeeeeeeeeeeeee0cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
-- 113:cc0eeeeeeeeeeeeeeeeeeeeee0cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
-- 114:cc0eeeeeeeeeeeeeeeeeeeeee0cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
-- 115:cc0eeeeeeeeeeeeeeeeeeeeee0cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
-- 116:cc0eeeeeeeeeeeeeeeeeeeeee0cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
-- 117:cc0eeeeeeeeeeeeeeeeeeeeee0cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
-- 118:cc0eeeeeeeeeeeeeeeeeeeeee0cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
-- 119:cc0eeeeeeeeeeeeeeeeeeeeee0cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
-- 120:cc0eeeeeeeeeeeeeeeeeeeeee0cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
-- 121:cc0eeeeeeeeeeeeeeeeeeeeee0cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
-- 122:cc0eeeeeeeeeeeeeeeeeeeeee0cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
-- 123:cc0eeeeeeeeeeeeeeeeeeeeee0cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
-- 124:cc0eeeeeeeeeeeeeeeeeeeeee0cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
-- 125:cc0eeeeeeeeeeeeeeeeeeeeee0cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
-- 126:cc0eeeeeeeeeeeeeeeeeeeeee0cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
-- 127:cc0eeeeeeeeeeeeeeeeeeeeee0cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
-- 128:cc0eeeeeeeeeeeeeeeeeeeeee0cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
-- 129:cc0eeeeeeeeeeeeeeeeeeeeee0cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
-- 130:cc0eeeeeeeeeeeeeeeeeeeeee0cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
-- 131:cc000000000000000000000000cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
-- 132:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
-- 133:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
-- 134:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
-- 135:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
-- </SCREEN>
-- <PALETTE>
-- 000:1a1c2c5d275db13e53ef7d57ffcd75a7f07038b76425717929366f3b5dc941a6f673eff7f4f4f494b0c2566c86333c57
-- </PALETTE>