implementation module CharlieGfx import StdEnv, StdGameDef OBJ_START :== 0x10 ChBitmap :: GameBitmap ChBitmap = { bitmapname = "bitmaps\\Ch.bmp" , unitsize = { w = 20, h = 16 } , dimensions = (16, 11) , transparent = Just { x = 0, y = 0 } } ChTitleMap :: [{#Int}] ChTitleMap = [{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}, { 1, 0, 2, 3, 4, 0, 0, 0, 0, 0, 0, 2, 3, 4, 0, 1}, { 1, 0, 5, 6, 7, 0, 0, 0, 0, 8, 9, 10, 6, 7, 0, 1}, { 1, 0, 11, 12, 13, 0, 0, 0, 0, 14, 15, 16, 12, 13, 0, 1}, { 1, 0, 0, 17, 0, 0, 0, 0, 0, 18, 19, 20, 17, 0, 0, 1}, { 1, 0, 0, 17, 0, 0, 0, 0, 0, 0, 21, 0, 17, 0, 0, 1}, { 1, 0, 0, 17, 0, 0, 0, 0, 0, 0, 21, 0, 17, 0, 0, 1}, { 1, 0, 0, 17, 0, 0, 0, 0, 0, 0, 21, 0, 17, 0, 0, 1}, { 1, 0, 0, 17, 0, 0, 0, 0, 0, 0, 21, 0, 17, 22, 23, 1}, { 1, 24, 25, 26, 22, 23, 0, 0, 0, 0, 21, 0, 27, 28, 29, 1}, { 1, 30, 31, 32, 33, 34, 35, 0, 0, 0, 36, 37, 38, 39, 40, 1}, { 41, 42, 42, 42, 42, 43, 42, 43, 43, 43, 43, 43, 43, 43, 43, 41}, { 44, 45, 45, 45, 46, 47, 45, 45, 45, 45, 45, 46, 45, 47, 45, 44}, { 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44}] ChTitleBoundMapData :: [{#Int}] ChTitleBoundMapData = [{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15}, { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15}, { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15}, { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15}, { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15}, { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15}, { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15}, { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15}, { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15}, { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15}, { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15}, { 15, 0, 0, 0, 0, 0, 0, 61440, 0, 0, 0, 0, 0, 0, 0, 15}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15}, { 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15}] ChTitleBoundMap :: BoundMap ChTitleBoundMap = { map = ChTitleBoundMapData , blocksize = { w = 20, h = 16 } , objstart = OBJ_START , startobjx = 1 , startobjy = 1 } ChTitleWideBoundMap :: BoundMap ChTitleWideBoundMap = { ChTitleBoundMap & startobjx = 16 , startobjy = 26 } ChLevel1Map :: [{#Int}] ChLevel1Map = [{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 49, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 6, 7, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 12, 13, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 9, 10, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 54, 54, 54, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 12, 13, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 0, 0, 0, 0, 14, 15, 16, 12, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 57, 58, 59, 60, 59, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 5, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 9, 10, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 9, 10, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 6, 7, 0, 0, 0, 0, 18, 19, 20, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 63, 58, 59, 59, 60, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 11, 12, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 15, 16, 12, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 15, 16, 12, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 12, 13, 0, 0, 0, 0, 0, 21, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 65, 66, 67, 59, 59, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 22, 23, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 19, 20, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 52, 0, 0, 0, 11, 12, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 19, 20, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 21, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 69, 70, 71, 59, 72, 61, 0, 0, 0, 73, 74, 0, 0, 0, 0, 0, 17, 0, 75, 76, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 77, 78, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 17, 0, 0, 0, 0, 0, 0, 53, 54, 54, 54, 55, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 52, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 21, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 48, 37, 68, 70, 69, 71, 59, 59, 61, 0, 79, 0, 80, 81, 0, 82, 83, 0, 48, 84, 0, 33, 29, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 85, 86, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 53, 54, 54, 55, 0, 0, 0, 0, 0, 0, 0, 21, 0, 17, 0, 0, 0, 56, 57, 0, 58, 59, 60, 59, 61, 50, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 54, 54, 54, 55, 0, 0, 0, 49, 0, 0, 21, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 21, 0, 17, 0, 22, 23, 64, 65, 65, 65, 65, 65, 66, 87, 69, 69, 88, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65}, { 73, 74, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 64, 65, 89, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 58, 59, 60, 61, 0, 0, 0, 0, 0, 0, 0, 21, 0, 17, 0, 0, 0, 62, 63, 0, 58, 59, 59, 60, 90, 55, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 59, 59, 60, 61, 0, 0, 0, 0, 0, 0, 21, 0, 17, 0, 0, 0, 91, 92, 0, 0, 0, 0, 0, 85, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 21, 0, 17, 0, 33, 29, 68, 69, 69, 69, 70, 69, 69, 69, 69, 69, 69, 70, 69, 69, 69, 93, 69, 69, 69, 69, 69, 69, 69, 69, 69, 70, 69, 69, 69}, { 80, 81, 0, 0, 0, 0, 0, 0, 79, 0, 94, 35, 68, 70, 95, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 58, 59, 59, 61, 0, 0, 0, 0, 0, 0, 0, 21, 0, 17, 0, 0, 0, 64, 65, 66, 66, 67, 59, 59, 59, 61, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 60, 59, 59, 61, 0, 0, 0, 0, 0, 0, 21, 0, 17, 0, 0, 0, 96, 97, 64, 65, 65, 65, 65, 65, 89, 0, 0, 0, 0, 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 98, 99, 0, 17, 0, 75, 76, 68, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 70, 69, 69, 69, 69, 69, 69, 70, 70, 69, 69, 69, 69, 70, 69, 69}, { 66, 66, 65, 65, 66, 65, 65, 65, 65, 66, 66, 65, 87, 69, 95, 0, 0, 0, 0, 0, 17, 24, 25,100, 0, 58, 60, 59, 61, 0,101, 22, 23, 0, 0, 0, 21, 0, 17, 0, 0, 0, 68, 69, 69, 70, 71, 59, 59, 72, 61, 0, 0, 0, 17, 0, 0, 0, 24, 25,100, 0, 0, 0, 0, 0, 0, 0, 0, 0,102,103, 58, 59, 59, 59, 61, 0, 0, 0, 0, 0, 0, 21, 0, 17, 0, 0, 0,104, 105, 68, 69, 69, 69, 69, 70, 95, 0, 0, 0, 0, 0, 0, 33, 29, 0, 0, 0, 0, 0, 0, 0, 22, 23, 0, 0, 17, 24, 25,100, 0, 0, 64, 65, 65, 65, 65, 65, 65, 87, 69, 69, 69, 70, 69, 69, 70, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 70, 69, 69, 69, 69, 69, 69, 69, 69, 69}, { 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 93, 69, 69, 69, 95,106,107, 0, 0, 48, 84,108, 31,109, 0, 58, 59, 59,110, 52, 49, 33, 29, 0, 0,111, 112, 0, 17, 0, 48, 37, 68, 70, 69, 69, 71, 59, 59, 59, 61, 0, 0,113, 114, 0, 0, 0,108, 31,109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 76, 58, 59, 59,115, 61, 0, 0, 0, 0, 0, 0, 21, 0, 17, 0, 0, 64, 65, 65, 87, 69, 69, 69, 69, 69, 95, 0,106,107, 0, 0, 0, 75, 76, 0, 0, 0, 0, 0, 0, 0, 33, 29, 0, 48, 84,108, 31,109, 0, 0, 68, 69, 70, 69, 69, 69, 70, 69, 69, 69, 69, 69, 69, 69, 69, 70, 69, 69, 69, 69, 70, 69, 69, 69, 69, 69, 69, 70, 69, 69, 69, 69, 69, 69, 69, 69}, { 69, 69, 70, 69, 69, 69, 69, 70, 69, 69, 69, 69, 69, 69, 88, 65, 66, 65, 65, 65, 65, 65, 66, 65, 66, 66, 66, 66, 66, 66, 66,116,117,118,118,119, 65, 65, 66, 65, 65, 66, 87, 69, 93, 69, 88, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,120,118,118,118,118,121,122, 66, 66, 66, 67,110, 52, 0, 0, 0, 0,111,112, 0, 17, 0, 79, 68, 69, 70, 69, 69, 69, 69, 70, 69, 88, 65, 66, 66,120,118,118,121,122, 66,120, 118,118,118,119, 66, 66, 66, 66, 65, 65, 65, 66, 65, 66, 65, 87, 69, 69, 69, 69, 69, 69, 69, 69, 69, 70, 69, 93, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69}, { 69, 69, 69, 69, 93, 69, 69, 69, 69, 69, 69, 69, 69, 70, 69, 69, 69, 69, 69, 69, 93, 69, 69, 69, 70, 69, 69, 69, 70, 69, 69,123,124,125,125,126, 69, 69, 69, 93, 69, 69, 69, 70, 69, 69, 69, 69, 69, 69, 69, 93, 69, 69, 69, 69, 69, 69, 69, 69, 69, 70, 69, 69, 69,127,125,125,125,125,128,129, 69, 69, 69, 88, 66, 66, 66, 66, 65, 65, 65, 65, 65, 66, 65, 65, 87, 69, 69, 69, 69, 69, 70, 69, 69, 69, 69, 69, 69,130,131,125,128,129, 69,127, 125,125,125,126, 93, 69, 69, 69, 69, 70, 69, 69, 70, 69, 69, 69, 69, 69, 69, 70, 69, 69, 93, 69, 70, 69, 69, 69, 69, 69, 69, 69, 69, 70, 69, 69, 93, 69, 69, 69, 70, 69, 69, 93, 69, 69, 69, 69, 69, 69, 69}, { 69, 70, 69, 93, 69, 69, 69, 69, 70, 69, 69, 70, 69, 69, 69, 69, 69, 69, 70, 69, 69, 69, 70, 69, 69, 69, 69, 69, 69, 69, 70,123,132,125,125,126, 69, 70, 70, 69, 69, 70, 69, 69, 69, 69, 69, 69, 93, 69, 69, 69, 69, 69, 70, 69, 69, 93, 69, 69, 69, 69, 69, 93, 69,130,131,125,125,125,133,134, 69, 93, 69, 69, 70, 69, 69, 69, 69, 69, 69, 70, 69, 69, 69, 69, 69, 69, 69, 93, 69, 69, 69, 69, 69, 69, 69, 69, 70,130,135,125,133,136, 70,127, 125,137,131,126, 69, 69, 69, 70, 69, 69, 69, 69, 69, 70, 69, 69, 69, 69, 70, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 70, 69, 69, 69, 69, 69, 69, 70, 69, 69, 69, 69, 69, 69, 70, 69, 69, 69, 69}, { 69, 69, 69, 69, 69, 69, 69, 70, 69, 69, 69, 69, 69, 69, 93, 69, 69, 70, 69, 69, 69, 69, 69, 93, 69, 69, 69, 70, 69, 69, 69,123,124,125,125,126, 69, 69, 69, 69, 93, 69, 69, 69, 69, 69, 93, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 93, 69, 69, 69, 69, 70,130,135,138,139,125,128,129, 69, 69, 69, 69, 69, 69, 69, 69, 93, 69, 69, 69, 69, 70, 69, 69, 69, 69, 70, 69, 69, 69, 69, 69, 69, 69, 70, 69, 69,130,140,125,128,141, 69,127, 125,142,140,126, 69, 70, 69, 69, 69, 69, 69, 69, 69, 69, 69, 93, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 70}, { 69, 69, 69, 70, 69, 70, 69, 69, 69, 70, 69, 69, 69, 69, 69, 69, 69, 69, 69, 70, 69, 69, 69, 69, 69, 69, 70, 69, 69, 69, 69,123,132,125,125,126, 70, 69, 69, 69, 69, 69, 93, 69, 69, 69, 69, 69, 70, 69, 93, 69, 93, 69, 69, 69, 69, 69, 69, 69, 69, 93, 69, 69, 69,130,140,143,144,125,133,129, 70, 69, 69, 69, 69, 69, 69, 69, 69, 69, 70, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 93, 69, 69, 69, 69,130,135,125,133,141, 69,127, 125,145,135,126, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}] ChLevel1BoundMapData :: [{#Int}] ChLevel1BoundMapData = [{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45056, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4096, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4864, 0, 0, 0, 0, 15, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4096, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45056, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4096, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 768, 0, 0, 0, 33024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, 0, 512, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45056, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6912, 6912, 6912, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, 4864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4352, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33024, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, 0, 512, 4864, 256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4352, 0, 0, 0, 0, 0, 0, 45056, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, 0, 512, 0, 0, 0, 0, 0, 4864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4352, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 6912, 6913, 6912, 0, 4864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4352, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6912, 6913, 6912, 0, 0, 0, 0, 4864, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 4352, 0, 0, 0, 0, 0, 4352, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, 0, 512, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, 0, 512, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, 0, 512, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45056, 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, 0, 512, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4352, 0, 0, 0, 0, 0, 4352, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6912, 6912, 6912, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6912, 6913, 6912, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, 0, 512, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6912, 6913, 6912, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6912, 6913, 6912, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4352, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 4096, 4096, 4096, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6912, 6913, 6912, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65024, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4352, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, 4864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33024, 0, 0, 0, 0, 0, 45056, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, 0, 0, 32768, 0, 256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8192, 0, 0, 0, 0, 0, 0, 0, 0, 49152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4864, 256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33024, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 4864, 0, 0, 0, 256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 33024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, 0, 0, 32768, 0, 0, 0, 0, 256, 0, 0, 0, 0, 0, 0, 0, 45056, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1024, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 61440, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 1, 1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 1, 1, 1, 1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49152, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, 0, 0, 2, 0, 0, 0, 8, 0, 256, 512, 0, 0, 0, 0, 0, 0, 0, 0, 49152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 8, 256, 256, 0, 0, 0, 0, 0, 33280, 4352, 0, 0, 0, 0, 0, 33280, 0, 0, 0, 0, 0, 0, 0, 512, 0, 0, 3, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 32768, 0, 0, 0, 49152, 49152, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 256, 0, 0, 0, 0, 32768, 0, 0, 2, 0, 0, 0, 8, 0, 49152, 49152, 0, 0, 0, 0, 0, 0, 0, 0, 49152, 0, 0, 0, 0, 0, 8192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 33280, 0, 0, 0, 0, 33280, 0, 0, 0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 8, 49152, 49152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49152, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 0, 0, 0, 3, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 0, 0, 0, 0, 0, 3, 1, 1, 1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 9, 0, 0, 0, 3, 1, 9, 0, 0, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 7937, 7937, 7937, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 7937, 7937, 7937, 7937, 7937, 2, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 7937, 7937, 7937, 2, 0, 8, 7937, 7937, 7937, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 2, 0, 8, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 2, 0, 8, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 2, 0, 8, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}] ChLevel1BoundMap :: BoundMap ChLevel1BoundMap = { map = ChLevel1BoundMapData , blocksize = { w = 20, h = 16 } , objstart = OBJ_START , startobjx = 1 , startobjy = 1 } ChLevel1WideBoundMap :: BoundMap ChLevel1WideBoundMap = { ChLevel1BoundMap & startobjx = 159 , startobjy = 34 } ChLevel2Map :: [{#Int}] ChLevel2Map = [{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,146,146, 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 9, 10, 6, 7, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 15, 16, 12, 13, 0, 0, 0, 0, 0, 0, 0, 5, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 19, 20, 17, 0, 0, 0, 0, 0, 0, 0, 0, 11, 12, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 2, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 5, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,146,146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,146,146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 11, 12, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 12, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 17, 91, 92, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 17, 96, 97, 0, 0, 0, 0, 0, 0, 0, 17, 73, 74, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 9, 10, 6, 7, 0, 0, 2, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 17,104,105, 0, 0, 0, 0, 0, 0,113,114, 80, 81, 0, 0, 0, 0, 0, 0, 0, 5, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 15, 16, 12, 13, 0, 0, 5, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 12, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,147,148,148,148,148,149, 0, 0, 0,147,148,148,148,148,148, 148,149, 0, 0, 0, 0, 0, 0, 11, 12, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 19, 20, 17, 0, 0, 0, 11, 12, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,150,151,151,151,152,153, 0, 0, 0,150,151,151,151,151,151, 152,153, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 17, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 74, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 74, 0,147,154,152,151,151,151,153, 0, 0, 0,150,151,152,151,151,151, 151,153, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 17, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {155, 17, 0, 0, 0, 0, 0, 24, 25,100, 0, 80, 81, 22, 23, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 25,100, 0, 80, 81, 0,150,151,151,151,151,151,153, 0, 0, 0,150,151,151,151,152,151, 151,153, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 17, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {156, 17, 0, 0, 0, 0, 0,108, 31,109, 0,157,158, 33, 29, 0, 0, 0, 0,113,114, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0,108, 31,109, 0,157, 158, 0,150,152,151,151,151,151,153, 0, 0, 0,150,151,151,151,151,151, 151,153, 0, 91, 92, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, 92, 0, 0, 21, 0, 17, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 23, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, 92, 0, 0, 22, 23, 0}, {159,159,148,148,159,148,148,148,148,159,159,159,159,160,117,118,118,161, 148,148,159,159,160,117,118,118,118,118,118,118,161,148,148,148,148,148, 148,148,154,151,151,151,151,151,153, 0, 0, 0,150,151,151,151,151,151, 151,153, 0, 96, 97, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 97, 73, 74, 21, 0, 17, 0, 0, 0, 0, 17, 22, 23, 0, 0, 0, 24, 25,100, 0, 0, 0, 0, 0, 33, 29, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 74, 0, 0, 96, 97, 73, 74, 33, 29, 0}, {151,151,151,151,151,151,151,151,151,151,162,151,151,163,124,125,125,164, 151,151,151,151,163,124,125,125,125,125,125,125,164,151,151,151,151,152, 151,151,151,151,151,151,152,151,153, 0, 51, 52,150,151,151,151,151,151, 151,153, 0,104,105, 0, 0, 0,113,114,146,146, 0, 0, 0, 0, 0, 0, 0, 0,146,146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,146, 146, 0, 0, 0, 0, 0, 0, 0, 0,146,146, 0,104,165,166, 81, 21, 0, 17, 0, 0, 0, 0, 17, 33, 29, 0, 0, 0,108, 31,109,106,107, 0, 0, 0, 75, 76, 0, 17, 0, 0,146,146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,146,146,157,158,167,168,104,165,166, 81, 75, 76, 0}, {151,151,152,151,151,151,151,152,151,151,151,151,152,163,132,125,125,164, 151,152,151,152,163,132,125,125,125,125,125,125,164,151,152,151,151,151, 152,152,151,151,151,151,151,151,169,148,148,148,154,151,151,151,151,152, 151,169,148,148,148,148,148,148,148,148,149, 0, 0,170, 0, 0, 0, 0, 170, 0, 0, 0, 0,170, 0, 0, 0, 0,170, 0, 0, 0, 0,170, 0, 0, 0, 0,170, 0, 0, 0, 0,170, 0, 0,147,148,148,148,148,148,148,148, 148,171,118,118,161,148,160,117,118,118,161,148,148,148,148,148,148,148, 148,148,148,148,148,148,148,149, 0, 0,170, 0, 0, 0,170, 0, 0, 0, 170, 0, 0,147,148,148,148,148,148,148,148,148,148,148,148}, {151,151,151,151,162,151,151,151,151,151,151,151,151,163,124,125,125,164, 151,151,151,151,163,124,125,125,125,125,125,125,164,151,151,151,151,151, 151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151, 151,151,151,151,151,151,152,151,151,151,153, 0,170,172,170, 0, 0,170, 172,170, 0, 0,170,172,170, 0, 0,170,172,170, 0, 0,170,172,170, 0, 0,170,172,170, 0, 0,170,172,170, 0,150,151,151,151,151,152,151,151, 151,173,131,125,164,151,163,124,125,125,164,151,151,151,152,151,151,151, 151,151,151,152,151,151,151,153, 0,170,172,170, 0,170,172,170, 0,170, 172,170, 0,150,151,151,151,151,152,152,151,151,151,151,151}, {151,152,151,162,151,151,151,151,152,151,151,151,151,163,132,125,125,164, 152,151,151,151,163,132,125,125,125,125,125,125,164,152,151,151,151,151, 151,151,151,152,151,151,151,151,151,151,151,151,151,152,151,151,151,151, 151,151,151,151,152,151,151,151,151,152,153,170,172,172,172,170,170,172, 172,172,170,170,172,172,172,170,170,172,172,172,170,170,172,172,172,170, 170,172,172,172,170,170,172,172,172,170,150,151,151,152,151,151,151,151, 152,173,135,125,164,151,163,132,125,125,164,151,152,151,151,151,151,152, 151,152,151,151,151,151,151,153,170,172,172,172,170,172,172,172,170,172, 172,172,170,150,151,151,152,151,151,151,151,151,151,152,151}, {151,151,151,151,151,151,151,152,151,151,151,151,151,163,124,125,125,164, 151,151,151,151,163,124,125,125,125,125,125,125,164,151,151,151,151,152, 151,151,151,151,151,151,151,151,151,151,151,152,151,151,151,151,151,152, 151,151,151,151,151,151,151,151,151,151,153,172,172,172,172,172,172,172, 172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172, 172,172,172,172,172,172,172,172,172,172,150,151,151,151,151,151,151,151, 151,173,140,125,164,151,163,124,125,125,164,151,151,151,151,151,151,151, 151,151,151,151,151,151,151,153,172,172,172,172,172,172,172,172,172,172, 172,172,172,150,151,151,151,151,151,151,151,151,151,151,151}, {151,151,151,152,151,152,151,151,151,152,151,151,151,163,132,125,125,164, 151,152,151,151,163,132,125,125,125,125,125,125,164,151,151,151,151,151, 151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151, 151,151,151,151,151,151,151,152,151,151,153,172,172,172,172,172,172,172, 172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172, 172,172,172,172,172,172,172,172,172,172,150,151,151,151,151,151,152,151, 151,173,135,125,164,151,163,132,125,125,164,151,151,151,151,152,151,151, 151,151,151,151,152,151,151,153,172,172,172,172,172,172,172,172,172,172, 172,172,172,150,151,151,151,151,151,151,151,151,152,151,151}, {151,151,151,151,151,151,151,151,151,151,151,151,151,163,132,125,125,164, 151,151,151,151,163,132,125,125,125,125,125,125,164,151,151,151,151,151, 151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151, 151,151,151,151,151,151,151,151,151,151,153,172,172,172,172,172,172,172, 172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172, 172,172,172,172,172,172,172,172,172,172,150,151,151,151,151,151,151,151, 151,173,135,125,164,151,163,124,125,125,164,151,151,151,151,151,151,151, 151,151,151,151,151,151,151,153,172,172,172,172,172,172,172,172,172,172, 172,172,172,150,151,151,151,151,151,151,151,151,151,151,151}, {151,151,151,151,151,151,151,151,151,151,151,151,151,163,132,125,125,164, 151,151,151,151,163,132,125,125,125,125,125,125,164,151,151,151,151,151, 151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151, 151,151,151,151,151,151,151,151,151,151,153,172,172,172,172,172,172,172, 172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172, 172,172,172,172,172,172,172,172,172,172,150,151,151,151,151,151,151,151, 151,173,135,125,164,151,163,124,125,125,164,151,151,151,151,151,151,151, 151,151,151,151,151,151,151,153,172,172,172,172,172,172,172,172,172,172, 172,172,172,150,151,151,151,151,151,151, 0, 0, 0, 0, 0}] ChLevel2BoundMapData :: [{#Int}] ChLevel2BoundMapData = [{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 512, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4608, 4608, 4608, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4096, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, 0, 512, 0, 4608, 4608, 4608, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4096, 4096, 4096, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6912, 6913, 6912, 0, 0, 0, 0, 0, 0, 0, 256, 0, 512, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4096, 4096, 4096, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6912, 6912, 6912, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45056, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4096, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45056, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33024, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33024, 0, 45056, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 256, 0, 512, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, 0, 512, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45056, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 6912, 6912, 6912, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6912, 6913, 6912, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33024, 0, 0, 0, 0, 0, 0, 0, 0, 4096, 4096, 0, 0, 0, 0, 0, 0, 0, 0, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 0, 0, 0, 0, 0, 0, 0, 0, 4096, 4096, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 8192, 0, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 33024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4096, 0, 0, 4096, 0, 0, 0, 0, 0, 0, 4096, 0, 0, 0, 0, 0, 0, 0, 4096, 0, 0, 0, 0, 0, 0, 4096, 0, 0, 4096, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, 0, 512, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, 0, 512, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, 0, 512, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6912, 6913, 6912, 0, 0, 256, 0, 512, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6912, 6913, 6912, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6912, 6913, 6912, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6912, 6912, 6912, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4352, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 1, 1, 1, 9, 8192, 8192, 8192, 3, 1, 1, 1, 1, 1, 1, 9, 8192, 0, 0, 0, 4352, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4352, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 8, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 4352, 0, 0, 0, 0, 0, 4864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4352, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4352, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 8, 0, 33024, 0, 2, 0, 0, 0, 0, 0, 0, 8, 0, 0, 4352, 0, 0, 0, 0, 0, 4864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4352, 4352, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4864, 0, 0, 33024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33280, 0, 0, 0, 0, 33280, 0, 0, 1024, 0, 0, 0, 33280, 2, 0, 0, 0, 0, 0, 8, 0, 0, 0, 6, 4, 4, 4, 4, 4, 4, 12, 0, 0, 0, 0, 0, 0, 33024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33024, 0, 0, 0, 0, 0, 0, 0, 33024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 61440, 0, 0, 0, 0, 0, 0, 49152, 0, 0, 0, 0, 0, 256, 0, 0, 0, 0, 32768, 0, 256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49152, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 8, 0, 0, 0, 7168, 7424, 7424, 7424, 7424, 7424, 7424, 7680, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 512, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65024, 0, 0, 0, 0, 0, 0, 0, 0}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 0, 0, 0, 3, 1, 1, 1, 1, 9, 0, 0, 0, 0, 0, 0, 0, 3, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 8, 0, 768, 0, 7168, 7424, 7424, 7424, 7424, 7424, 7424, 7680, 0, 0, 0, 0, 0, 256, 0, 0, 0, 0, 0, 0, 256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, 0, 0, 0, 0, 0, 0, 0, 49152, 0, 0, 256, 0, 0, 0, 0, 0, 0, 0, 0, 256, 0, 0, 0, 0, 256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, 256, 256, 0, 0, 0, 0, 0, 0, 33024, 0, 0, 0, 0, 0, 0, 0, 256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 7937, 7937, 7937, 2, 0, 0, 0, 0, 8, 7937, 7937, 7937, 7937, 7937, 7937, 7937, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 49152, 0, 7168, 7424, 7424, 7424, 7424, 7424, 7424, 7680, 0, 0, 0, 0, 0, 32768, 0, 0, 15, 15, 0, 0, 8192, 0, 0, 0, 0, 0, 15, 15, 0, 0, 0, 0, 0, 0, 8192, 0, 0, 0, 0, 0, 0, 15, 15, 0, 0, 8192, 0, 0, 0, 0, 0, 15, 15, 0, 32768, 0, 0, 0, 0, 32768, 0, 0, 256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49152, 49152, 49152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 0, 0, 8192, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 2, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 0, 0, 8704, 0, 0, 0, 0, 8704, 0, 0, 0, 0, 8704, 0, 0, 0, 0, 8704, 0, 0, 0, 0, 8704, 0, 0, 0, 0, 8704, 0, 0, 0, 0, 8704, 0, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 9, 0, 0, 3, 1, 9, 0, 0, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 0, 0, 8704, 0, 0, 0, 8704, 0, 0, 0, 8704, 0, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 2, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 8704, 0, 8704, 0, 0, 8704, 0, 8704, 0, 0, 8704, 0, 8704, 0, 0, 8704, 0, 8704, 0, 0, 8704, 0, 8704, 0, 0, 8704, 0, 8704, 0, 0, 8704, 0, 8704, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 8, 7937, 7937, 2, 0, 8, 7937, 7937, 7937, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 8704, 0, 8704, 0, 8704, 0, 8704, 0, 8704, 0, 8704, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 2, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8704, 0, 0, 0, 8704, 8704, 0, 0, 0, 8704, 8704, 0, 0, 0, 8704, 8704, 0, 0, 0, 8704, 8704, 0, 0, 0, 8704, 8704, 0, 0, 0, 8704, 8704, 0, 0, 0, 8704, 2, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 2, 0, 8, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8704, 0, 0, 0, 8704, 0, 0, 0, 8704, 0, 0, 0, 8704, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 2, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 2, 0, 8, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 2, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 2, 0, 8, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 2, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 2, 0, 8, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 2, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 2, 0, 8, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}] ChLevel2BoundMap :: BoundMap ChLevel2BoundMap = { map = ChLevel2BoundMapData , blocksize = { w = 20, h = 16 } , objstart = OBJ_START , startobjx = 1 , startobjy = 1 } ChLevel2WideBoundMap :: BoundMap ChLevel2WideBoundMap = { ChLevel2BoundMap & startobjx = 159 , startobjy = 33 } ChInFrontMap :: [{#Int}] ChInFrontMap = [{ 0, 0, 0, 0, 0, 0, 0}, { 0, -1, 0,150, 0, 0, 0}, { 0, -2, 0,151, 0, 0, 0}, { 0, -3, 0,153, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0}] ChInFrontBoundMapData :: [{#Int}] ChInFrontBoundMapData = [{ 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0}] ChInFrontBoundMap :: BoundMap ChInFrontBoundMap = { map = ChInFrontBoundMapData , blocksize = { w = 20, h = 16 } , objstart = OBJ_START , startobjx = 1 , startobjy = 1 } ChInFrontWideBoundMap :: BoundMap ChInFrontWideBoundMap = { ChInFrontBoundMap & startobjx = 7 , startobjy = 5 } ChSeq1 :: (Int, [(Int, Int)]) ChSeq1 = (-1, [(150, 25)]) ChSeq2 :: (Int, [(Int, Int)]) ChSeq2 = (-2, [(151, 25)]) ChSeq3 :: (Int, [(Int, Int)]) ChSeq3 = (-3, [(153, 25)]) ChSequences :: [(Int, [(Int, Int)])] ChSequences = [ ChSeq1, ChSeq2, ChSeq3 ] ChTitleLayer :: Layer ChTitleLayer = { bmp = ChBitmap , layermap = ChTitleMap , sequences = ChSequences , movement = \p=:{x, y} t -> {x = x, y = y} } ChLevel1Layer :: Layer ChLevel1Layer = { bmp = ChBitmap , layermap = ChLevel1Map , sequences = ChSequences , movement = \p=:{x, y} t -> {x = x, y = y} } ChLevel2Layer :: Layer ChLevel2Layer = { bmp = ChBitmap , layermap = ChLevel2Map , sequences = ChSequences , movement = \p=:{x, y} t -> {x = x, y = y} } ChInFrontLayer :: Layer ChInFrontLayer = { bmp = ChBitmap , layermap = ChInFrontMap , sequences = ChSequences , movement = \p=:{x, y} t -> {x = x, y = y} } InFrontSprite1 :: Sprite InFrontSprite1 = { bitmap = ChBitmap , sequence = [(150, 25)] , loop = True } InFrontAnimation1 :: Sprite InFrontAnimation1 = { InFrontSprite1 & loop = False } InFrontSprite2 :: Sprite InFrontSprite2 = { bitmap = ChBitmap , sequence = [(151, 25)] , loop = True } InFrontAnimation2 :: Sprite InFrontAnimation2 = { InFrontSprite2 & loop = False } InFrontSprite3 :: Sprite InFrontSprite3 = { bitmap = ChBitmap , sequence = [(153, 25)] , loop = True } InFrontAnimation3 :: Sprite InFrontAnimation3 = { InFrontSprite3 & loop = False } MainCharBitmap :: GameBitmap MainCharBitmap = { bitmapname = "bitmaps\\MainChar.bmp" , unitsize = { w = 24, h = 34 } , dimensions = (8, 1) , transparent = Just { x = 0, y = 0 } } MainCharCharlieMap :: [{#Int}] MainCharCharlieMap = [{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, -1, 0, 1, 1, 2, 1, 1, 1, 1, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0}, { 0, -2, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, -3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, -4, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, -5, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, -6, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 1, 3, 4, 5, 6, 7, 2, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}] MainCharCharlieBoundMapData :: [{#Int}] MainCharCharlieBoundMapData = [{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 64000, 64000, 10240, 64000, 64000, 64000, 64000, 8960, 20480, 11520, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 3840, 3840, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 512, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 512, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 4096, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 25600, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}] MainCharCharlieBoundMap :: BoundMap MainCharCharlieBoundMap = { map = MainCharCharlieBoundMapData , blocksize = { w = 24, h = 34 } , objstart = OBJ_START , startobjx = 1 , startobjy = 1 } MainCharCharlieWideBoundMap :: BoundMap MainCharCharlieWideBoundMap = { MainCharCharlieBoundMap & startobjx = 20 , startobjy = 12 } MainCharSeq1 :: (Int, [(Int, Int)]) MainCharSeq1 = (-1, [(1, 250), (1, 250), (2, 40), (1, 250), (1, 250), (1, 250), (1, 250), (2, 35), (1, 80), (2, 45)]) MainCharSeq2 :: (Int, [(Int, Int)]) MainCharSeq2 = (-2, [(3, 15), (1, 15)]) MainCharSeq3 :: (Int, [(Int, Int)]) MainCharSeq3 = (-3, [(4, 2)]) MainCharSeq4 :: (Int, [(Int, Int)]) MainCharSeq4 = (-4, [(5, 2)]) MainCharSeq5 :: (Int, [(Int, Int)]) MainCharSeq5 = (-5, [(6, 16)]) MainCharSeq6 :: (Int, [(Int, Int)]) MainCharSeq6 = (-6, [(7, 100)]) MainCharSequences :: [(Int, [(Int, Int)])] MainCharSequences = [ MainCharSeq1, MainCharSeq2, MainCharSeq3, MainCharSeq4, MainCharSeq5, MainCharSeq6 ] MainCharCharlieLayer :: Layer MainCharCharlieLayer = { bmp = MainCharBitmap , layermap = MainCharCharlieMap , sequences = MainCharSequences , movement = \p=:{x, y} t -> {x = x, y = y} } CharlieSprite1 :: Sprite CharlieSprite1 = { bitmap = MainCharBitmap , sequence = [(1, 250), (1, 250), (2, 40), (1, 250), (1, 250), (1, 250), (1, 250), (2, 35), (1, 80), (2, 45)] , loop = True } CharlieAnimation1 :: Sprite CharlieAnimation1 = { CharlieSprite1 & loop = False } CharlieSprite2 :: Sprite CharlieSprite2 = { bitmap = MainCharBitmap , sequence = [(3, 15), (1, 15)] , loop = True } CharlieAnimation2 :: Sprite CharlieAnimation2 = { CharlieSprite2 & loop = False } CharlieSprite3 :: Sprite CharlieSprite3 = { bitmap = MainCharBitmap , sequence = [(4, 2)] , loop = True } CharlieAnimation3 :: Sprite CharlieAnimation3 = { CharlieSprite3 & loop = False } CharlieSprite4 :: Sprite CharlieSprite4 = { bitmap = MainCharBitmap , sequence = [(5, 2)] , loop = True } CharlieAnimation4 :: Sprite CharlieAnimation4 = { CharlieSprite4 & loop = False } CharlieSprite5 :: Sprite CharlieSprite5 = { bitmap = MainCharBitmap , sequence = [(6, 16)] , loop = True } CharlieAnimation5 :: Sprite CharlieAnimation5 = { CharlieSprite5 & loop = False } CharlieSprite6 :: Sprite CharlieSprite6 = { bitmap = MainCharBitmap , sequence = [(7, 100)] , loop = True } CharlieAnimation6 :: Sprite CharlieAnimation6 = { CharlieSprite6 & loop = False } ItemsBitmap :: GameBitmap ItemsBitmap = { bitmapname = "bitmaps\\Items.bmp" , unitsize = { w = 20, h = 16 } , dimensions = (14, 2) , transparent = Just { x = 0, y = 0 } } ItemsItemMap :: [{#Int}] ItemsItemMap = [{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, -1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, -2, 0, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, -3, 0, 5, 6, 7, 8, 9, 10, 11, 12, 0, 0}, { 0, -4, 0, 13, 14, 15, 16, 0, 0, 0, 0, 0, 0}, { 0, -5, 0, 17, 18, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, -6, 0, 19, 20, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, -7, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, -8, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 23, 24, 25, 26, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}] ItemsItemBoundMapData :: [{#Int}] ItemsItemBoundMapData = [{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 15360, 15360, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 14080, 14080, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 0, 0}, { 0, 0, 0, 6400, 6400, 6400, 6400, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 12800, 12800, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 12800, 12800, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 512, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 25600, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}] ItemsItemBoundMap :: BoundMap ItemsItemBoundMap = { map = ItemsItemBoundMapData , blocksize = { w = 20, h = 16 } , objstart = OBJ_START , startobjx = 1 , startobjy = 1 } ItemsItemWideBoundMap :: BoundMap ItemsItemWideBoundMap = { ItemsItemBoundMap & startobjx = 13 , startobjy = 15 } ItemsSeq1 :: (Int, [(Int, Int)]) ItemsSeq1 = (-1, [(1, 60), (2, 60)]) ItemsSeq2 :: (Int, [(Int, Int)]) ItemsSeq2 = (-2, [(3, 55), (4, 55)]) ItemsSeq3 :: (Int, [(Int, Int)]) ItemsSeq3 = (-3, [(5, 8), (6, 8), (7, 8), (8, 8), (9, 8), (10, 8), (11, 8), (12, 8)]) ItemsSeq4 :: (Int, [(Int, Int)]) ItemsSeq4 = (-4, [(13, 25), (14, 25), (15, 25), (16, 25)]) ItemsSeq5 :: (Int, [(Int, Int)]) ItemsSeq5 = (-5, [(17, 50), (18, 50)]) ItemsSeq6 :: (Int, [(Int, Int)]) ItemsSeq6 = (-6, [(19, 50), (20, 50)]) ItemsSeq7 :: (Int, [(Int, Int)]) ItemsSeq7 = (-7, [(21, 2)]) ItemsSeq8 :: (Int, [(Int, Int)]) ItemsSeq8 = (-8, [(22, 100)]) ItemsSequences :: [(Int, [(Int, Int)])] ItemsSequences = [ ItemsSeq1, ItemsSeq2, ItemsSeq3, ItemsSeq4, ItemsSeq5, ItemsSeq6, ItemsSeq7, ItemsSeq8 ] ItemsItemLayer :: Layer ItemsItemLayer = { bmp = ItemsBitmap , layermap = ItemsItemMap , sequences = ItemsSequences , movement = \p=:{x, y} t -> {x = x, y = y} } ItemSprite1 :: Sprite ItemSprite1 = { bitmap = ItemsBitmap , sequence = [(1, 60), (2, 60)] , loop = True } ItemAnimation1 :: Sprite ItemAnimation1 = { ItemSprite1 & loop = False } ItemSprite2 :: Sprite ItemSprite2 = { bitmap = ItemsBitmap , sequence = [(3, 55), (4, 55)] , loop = True } ItemAnimation2 :: Sprite ItemAnimation2 = { ItemSprite2 & loop = False } ItemSprite3 :: Sprite ItemSprite3 = { bitmap = ItemsBitmap , sequence = [(5, 8), (6, 8), (7, 8), (8, 8), (9, 8), (10, 8), (11, 8), (12, 8)] , loop = True } ItemAnimation3 :: Sprite ItemAnimation3 = { ItemSprite3 & loop = False } ItemSprite4 :: Sprite ItemSprite4 = { bitmap = ItemsBitmap , sequence = [(13, 25), (14, 25), (15, 25), (16, 25)] , loop = True } ItemAnimation4 :: Sprite ItemAnimation4 = { ItemSprite4 & loop = False } ItemSprite5 :: Sprite ItemSprite5 = { bitmap = ItemsBitmap , sequence = [(17, 50), (18, 50)] , loop = True } ItemAnimation5 :: Sprite ItemAnimation5 = { ItemSprite5 & loop = False } ItemSprite6 :: Sprite ItemSprite6 = { bitmap = ItemsBitmap , sequence = [(19, 50), (20, 50)] , loop = True } ItemAnimation6 :: Sprite ItemAnimation6 = { ItemSprite6 & loop = False } ItemSprite7 :: Sprite ItemSprite7 = { bitmap = ItemsBitmap , sequence = [(21, 2)] , loop = True } ItemAnimation7 :: Sprite ItemAnimation7 = { ItemSprite7 & loop = False } ItemSprite8 :: Sprite ItemSprite8 = { bitmap = ItemsBitmap , sequence = [(22, 100)] , loop = True } ItemAnimation8 :: Sprite ItemAnimation8 = { ItemSprite8 & loop = False } BeesBitmap :: GameBitmap BeesBitmap = { bitmapname = "bitmaps\\Bees.bmp" , unitsize = { w = 20, h = 20 } , dimensions = (3, 1) , transparent = Just { x = 0, y = 0 } } BeesBeeMap :: [{#Int}] BeesBeeMap = [{ 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, -1, 0, 1, 2, 3, 2, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0}] BeesBeeBoundMapData :: [{#Int}] BeesBeeBoundMapData = [{ 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 256, 256, 256, 256, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0}] BeesBeeBoundMap :: BoundMap BeesBeeBoundMap = { map = BeesBeeBoundMapData , blocksize = { w = 20, h = 20 } , objstart = OBJ_START , startobjx = 1 , startobjy = 1 } BeesBeeWideBoundMap :: BoundMap BeesBeeWideBoundMap = { BeesBeeBoundMap & startobjx = 9 , startobjy = 5 } BeesSeq1 :: (Int, [(Int, Int)]) BeesSeq1 = (-1, [(1, 1), (2, 1), (3, 1), (2, 1)]) BeesSequences :: [(Int, [(Int, Int)])] BeesSequences = [ BeesSeq1 ] BeesBeeLayer :: Layer BeesBeeLayer = { bmp = BeesBitmap , layermap = BeesBeeMap , sequences = BeesSequences , movement = \p=:{x, y} t -> {x = x, y = y} } BeeSprite1 :: Sprite BeeSprite1 = { bitmap = BeesBitmap , sequence = [(1, 1), (2, 1), (3, 1), (2, 1)] , loop = True } BeeAnimation1 :: Sprite BeeAnimation1 = { BeeSprite1 & loop = False } CloudsBitmap :: GameBitmap CloudsBitmap = { bitmapname = "bitmaps\\Clouds.bmp" , unitsize = { w = 40, h = 24 } , dimensions = (4, 1) , transparent = Just { x = 0, y = 0 } } CloudsCloudMap :: [{#Int}] CloudsCloudMap = [{ 0, 0, 0, 0, 0}, { 0, -1, 1, 2, 0}, { 0, -2, 3, 4, 0}, { 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0}] CloudsCloudBoundMapData :: [{#Int}] CloudsCloudBoundMapData = [{ 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0}] CloudsCloudBoundMap :: BoundMap CloudsCloudBoundMap = { map = CloudsCloudBoundMapData , blocksize = { w = 40, h = 24 } , objstart = OBJ_START , startobjx = 1 , startobjy = 1 } CloudsCloudWideBoundMap :: BoundMap CloudsCloudWideBoundMap = { CloudsCloudBoundMap & startobjx = 5 , startobjy = 7 } CloudsSeq1 :: (Int, [(Int, Int)]) CloudsSeq1 = (-1, [(1, 36), (2, 36)]) CloudsSeq2 :: (Int, [(Int, Int)]) CloudsSeq2 = (-2, [(3, 36), (4, 36)]) CloudsSequences :: [(Int, [(Int, Int)])] CloudsSequences = [ CloudsSeq1, CloudsSeq2 ] CloudsCloudLayer :: Layer CloudsCloudLayer = { bmp = CloudsBitmap , layermap = CloudsCloudMap , sequences = CloudsSequences , movement = \p=:{x, y} t -> {x = x, y = y} } CloudSprite1 :: Sprite CloudSprite1 = { bitmap = CloudsBitmap , sequence = [(1, 36), (2, 36)] , loop = True } CloudAnimation1 :: Sprite CloudAnimation1 = { CloudSprite1 & loop = False } CloudSprite2 :: Sprite CloudSprite2 = { bitmap = CloudsBitmap , sequence = [(3, 36), (4, 36)] , loop = True } CloudAnimation2 :: Sprite CloudAnimation2 = { CloudSprite2 & loop = False } EndingBitmap :: GameBitmap EndingBitmap = { bitmapname = "bitmaps\\Ending.bmp" , unitsize = { w = 32, h = 26 } , dimensions = (9, 1) , transparent = Just { x = 0, y = 0 } } EndingEndingMap :: [{#Int}] EndingEndingMap = [{ 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, -1, 0, 1, 0, 0, 1, 0, 0}, { 0, -2, 0, 2, 0, 0, 2, 0, 0}, { 0, -3, 0, 3, 0, 0, 3, 0, 0}, { 0, -4, 0, 4, 0, 0, 4, 0, 0}, { 0, -5, 0, 5, 0, 0, 5, 0, 0}, { 0, -6, 0, 6, 0, 0, 6, 0, 0}, { 0, -7, 0, 7, 0, 0, 7, 0, 0}, { 0, -8, 0, 8, 0, 0, 8, 0, 0}, { 0, -9, 0, 9, 0, 0, 9, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0}] EndingEndingBoundMapData :: [{#Int}] EndingEndingBoundMapData = [{ 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 25600, 0, 0, 0, 0, 0}, { 0, 0, 0, 25600, 0, 0, 0, 0, 0}, { 0, 0, 0, 25600, 0, 0, 0, 0, 0}, { 0, 0, 0, 25600, 0, 0, 0, 0, 0}, { 0, 0, 0, 25600, 0, 0, 0, 0, 0}, { 0, 0, 0, 25600, 0, 0, 0, 0, 0}, { 0, 0, 0, 25600, 0, 0, 0, 0, 0}, { 0, 0, 0, 25600, 0, 0, 0, 0, 0}, { 0, 0, 0, 25600, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0}] EndingEndingBoundMap :: BoundMap EndingEndingBoundMap = { map = EndingEndingBoundMapData , blocksize = { w = 32, h = 26 } , objstart = OBJ_START , startobjx = 1 , startobjy = 1 } EndingEndingWideBoundMap :: BoundMap EndingEndingWideBoundMap = { EndingEndingBoundMap & startobjx = 9 , startobjy = 11 } EndingSeq1 :: (Int, [(Int, Int)]) EndingSeq1 = (-1, [(1, 100)]) EndingSeq2 :: (Int, [(Int, Int)]) EndingSeq2 = (-2, [(2, 100)]) EndingSeq3 :: (Int, [(Int, Int)]) EndingSeq3 = (-3, [(3, 100)]) EndingSeq4 :: (Int, [(Int, Int)]) EndingSeq4 = (-4, [(4, 100)]) EndingSeq5 :: (Int, [(Int, Int)]) EndingSeq5 = (-5, [(5, 100)]) EndingSeq6 :: (Int, [(Int, Int)]) EndingSeq6 = (-6, [(6, 100)]) EndingSeq7 :: (Int, [(Int, Int)]) EndingSeq7 = (-7, [(7, 100)]) EndingSeq8 :: (Int, [(Int, Int)]) EndingSeq8 = (-8, [(8, 100)]) EndingSeq9 :: (Int, [(Int, Int)]) EndingSeq9 = (-9, [(9, 100)]) EndingSequences :: [(Int, [(Int, Int)])] EndingSequences = [ EndingSeq1, EndingSeq2, EndingSeq3, EndingSeq4, EndingSeq5, EndingSeq6, EndingSeq7, EndingSeq8, EndingSeq9 ] EndingEndingLayer :: Layer EndingEndingLayer = { bmp = EndingBitmap , layermap = EndingEndingMap , sequences = EndingSequences , movement = \p=:{x, y} t -> {x = x, y = y} } EndingSprite1 :: Sprite EndingSprite1 = { bitmap = EndingBitmap , sequence = [(1, 100)] , loop = True } EndingAnimation1 :: Sprite EndingAnimation1 = { EndingSprite1 & loop = False } EndingSprite2 :: Sprite EndingSprite2 = { bitmap = EndingBitmap , sequence = [(2, 100)] , loop = True } EndingAnimation2 :: Sprite EndingAnimation2 = { EndingSprite2 & loop = False } EndingSprite3 :: Sprite EndingSprite3 = { bitmap = EndingBitmap , sequence = [(3, 100)] , loop = True } EndingAnimation3 :: Sprite EndingAnimation3 = { EndingSprite3 & loop = False } EndingSprite4 :: Sprite EndingSprite4 = { bitmap = EndingBitmap , sequence = [(4, 100)] , loop = True } EndingAnimation4 :: Sprite EndingAnimation4 = { EndingSprite4 & loop = False } EndingSprite5 :: Sprite EndingSprite5 = { bitmap = EndingBitmap , sequence = [(5, 100)] , loop = True } EndingAnimation5 :: Sprite EndingAnimation5 = { EndingSprite5 & loop = False } EndingSprite6 :: Sprite EndingSprite6 = { bitmap = EndingBitmap , sequence = [(6, 100)] , loop = True } EndingAnimation6 :: Sprite EndingAnimation6 = { EndingSprite6 & loop = False } EndingSprite7 :: Sprite EndingSprite7 = { bitmap = EndingBitmap , sequence = [(7, 100)] , loop = True } EndingAnimation7 :: Sprite EndingAnimation7 = { EndingSprite7 & loop = False } EndingSprite8 :: Sprite EndingSprite8 = { bitmap = EndingBitmap , sequence = [(8, 100)] , loop = True } EndingAnimation8 :: Sprite EndingAnimation8 = { EndingSprite8 & loop = False } EndingSprite9 :: Sprite EndingSprite9 = { bitmap = EndingBitmap , sequence = [(9, 100)] , loop = True } EndingAnimation9 :: Sprite EndingAnimation9 = { EndingSprite9 & loop = False } EnemiesBitmap :: GameBitmap EnemiesBitmap = { bitmapname = "bitmaps\\Enemies.bmp" , unitsize = { w = 24, h = 18 } , dimensions = (4, 1) , transparent = Just { x = 0, y = 0 } } EnemiesEnemyMap :: [{#Int}] EnemiesEnemyMap = [{ 0, 0, 0, 0, 0, 0}, { 0, -1, 0, 1, 2, 0}, { 0, 0, 0, 0, 0, 0}, { 0, -2, 0, 3, 4, 0}, { 0, 0, 0, 0, 0, 0}] EnemiesEnemyBoundMapData :: [{#Int}] EnemiesEnemyBoundMapData = [{ 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0}] EnemiesEnemyBoundMap :: BoundMap EnemiesEnemyBoundMap = { map = EnemiesEnemyBoundMapData , blocksize = { w = 24, h = 18 } , objstart = OBJ_START , startobjx = 1 , startobjy = 1 } EnemiesEnemyWideBoundMap :: BoundMap EnemiesEnemyWideBoundMap = { EnemiesEnemyBoundMap & startobjx = 6 , startobjy = 5 } EnemiesSeq1 :: (Int, [(Int, Int)]) EnemiesSeq1 = (-1, [(1, 25), (2, 25)]) EnemiesSeq2 :: (Int, [(Int, Int)]) EnemiesSeq2 = (-2, [(3, 25), (4, 25)]) EnemiesSequences :: [(Int, [(Int, Int)])] EnemiesSequences = [ EnemiesSeq1, EnemiesSeq2 ] EnemiesEnemyLayer :: Layer EnemiesEnemyLayer = { bmp = EnemiesBitmap , layermap = EnemiesEnemyMap , sequences = EnemiesSequences , movement = \p=:{x, y} t -> {x = x, y = y} } EnemySprite1 :: Sprite EnemySprite1 = { bitmap = EnemiesBitmap , sequence = [(1, 25), (2, 25)] , loop = True } EnemyAnimation1 :: Sprite EnemyAnimation1 = { EnemySprite1 & loop = False } EnemySprite2 :: Sprite EnemySprite2 = { bitmap = EnemiesBitmap , sequence = [(3, 25), (4, 25)] , loop = True } EnemyAnimation2 :: Sprite EnemyAnimation2 = { EnemySprite2 & loop = False } FrogsBitmap :: GameBitmap FrogsBitmap = { bitmapname = "bitmaps\\Frogs.bmp" , unitsize = { w = 20, h = 24 } , dimensions = (2, 1) , transparent = Just { x = 0, y = 0 } } FrogsFrogMap :: [{#Int}] FrogsFrogMap = [{ -1, -2, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}] FrogsFrogBoundMapData :: [{#Int}] FrogsFrogBoundMapData = [{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}] FrogsFrogBoundMap :: BoundMap FrogsFrogBoundMap = { map = FrogsFrogBoundMapData , blocksize = { w = 20, h = 24 } , objstart = OBJ_START , startobjx = 1 , startobjy = 1 } FrogsFrogWideBoundMap :: BoundMap FrogsFrogWideBoundMap = { FrogsFrogBoundMap & startobjx = 10 , startobjy = 5 } FrogsSeq1 :: (Int, [(Int, Int)]) FrogsSeq1 = (-1, [(1, 5)]) FrogsSeq2 :: (Int, [(Int, Int)]) FrogsSeq2 = (-2, [(2, 5)]) FrogsSequences :: [(Int, [(Int, Int)])] FrogsSequences = [ FrogsSeq1, FrogsSeq2 ] FrogsFrogLayer :: Layer FrogsFrogLayer = { bmp = FrogsBitmap , layermap = FrogsFrogMap , sequences = FrogsSequences , movement = \p=:{x, y} t -> {x = x, y = y} } FrogSprite1 :: Sprite FrogSprite1 = { bitmap = FrogsBitmap , sequence = [(1, 5)] , loop = True } FrogAnimation1 :: Sprite FrogAnimation1 = { FrogSprite1 & loop = False } FrogSprite2 :: Sprite FrogSprite2 = { bitmap = FrogsBitmap , sequence = [(2, 5)] , loop = True } FrogAnimation2 :: Sprite FrogAnimation2 = { FrogSprite2 & loop = False } PalmFrontBitmap :: GameBitmap PalmFrontBitmap = { bitmapname = "bitmaps\\PalmFront.bmp" , unitsize = { w = 20, h = 32 } , dimensions = (9, 1) , transparent = Just { x = 0, y = 0 } } PalmFrontPalmMap :: [{#Int}] PalmFrontPalmMap = [{ 0, 0, 0, -1, -2, -3, 0, 0, 0}, { 1, 2, 3, 4, 5, 6, 7, 8, 9}] PalmFrontPalmBoundMapData :: [{#Int}] PalmFrontPalmBoundMapData = [{ 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0}] PalmFrontPalmBoundMap :: BoundMap PalmFrontPalmBoundMap = { map = PalmFrontPalmBoundMapData , blocksize = { w = 20, h = 32 } , objstart = OBJ_START , startobjx = 1 , startobjy = 1 } PalmFrontPalmWideBoundMap :: BoundMap PalmFrontPalmWideBoundMap = { PalmFrontPalmBoundMap & startobjx = 9 , startobjy = 2 } PalmFrontSeq1 :: (Int, [(Int, Int)]) PalmFrontSeq1 = (-1, [(4, 25)]) PalmFrontSeq2 :: (Int, [(Int, Int)]) PalmFrontSeq2 = (-2, [(5, 25)]) PalmFrontSeq3 :: (Int, [(Int, Int)]) PalmFrontSeq3 = (-3, [(6, 25)]) PalmFrontSequences :: [(Int, [(Int, Int)])] PalmFrontSequences = [ PalmFrontSeq1, PalmFrontSeq2, PalmFrontSeq3 ] PalmFrontPalmLayer :: Layer PalmFrontPalmLayer = { bmp = PalmFrontBitmap , layermap = PalmFrontPalmMap , sequences = PalmFrontSequences , movement = \p=:{x, y} t -> {x = x, y = y} } PalmSprite1 :: Sprite PalmSprite1 = { bitmap = PalmFrontBitmap , sequence = [(4, 25)] , loop = True } PalmAnimation1 :: Sprite PalmAnimation1 = { PalmSprite1 & loop = False } PalmSprite2 :: Sprite PalmSprite2 = { bitmap = PalmFrontBitmap , sequence = [(5, 25)] , loop = True } PalmAnimation2 :: Sprite PalmAnimation2 = { PalmSprite2 & loop = False } PalmSprite3 :: Sprite PalmSprite3 = { bitmap = PalmFrontBitmap , sequence = [(6, 25)] , loop = True } PalmAnimation3 :: Sprite PalmAnimation3 = { PalmSprite3 & loop = False } CratePartBitmap :: GameBitmap CratePartBitmap = { bitmapname = "bitmaps\\CratePart.bmp" , unitsize = { w = 12, h = 8 } , dimensions = (1, 1) , transparent = Just { x = 0, y = 0 } } CratePartPartMap :: [{#Int}] CratePartPartMap = [{ 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0}, { 0, -1, 0, 1, 0}, { 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0}] CratePartPartBoundMapData :: [{#Int}] CratePartPartBoundMapData = [{ 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0}, { 0, 0, 0, 25600, 0}, { 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0}] CratePartPartBoundMap :: BoundMap CratePartPartBoundMap = { map = CratePartPartBoundMapData , blocksize = { w = 12, h = 8 } , objstart = OBJ_START , startobjx = 1 , startobjy = 1 } CratePartPartWideBoundMap :: BoundMap CratePartPartWideBoundMap = { CratePartPartBoundMap & startobjx = 5 , startobjy = 5 } CratePartSeq1 :: (Int, [(Int, Int)]) CratePartSeq1 = (-1, [(1, 100)]) CratePartSequences :: [(Int, [(Int, Int)])] CratePartSequences = [ CratePartSeq1 ] CratePartPartLayer :: Layer CratePartPartLayer = { bmp = CratePartBitmap , layermap = CratePartPartMap , sequences = CratePartSequences , movement = \p=:{x, y} t -> {x = x, y = y} } PartSprite1 :: Sprite PartSprite1 = { bitmap = CratePartBitmap , sequence = [(1, 100)] , loop = True } PartAnimation1 :: Sprite PartAnimation1 = { PartSprite1 & loop = False } StatusBitmap :: GameBitmap StatusBitmap = { bitmapname = "bitmaps\\Status.bmp" , unitsize = { w = 12, h = 12 } , dimensions = (6, 1) , transparent = Just { x = 0, y = 0 } } StatusStatusMap :: [{#Int}] StatusStatusMap = [{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, -1, 0, 1, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, -2, 0, 2, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, -3, 0, 3, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, -4, 0, 4, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, -5, 0, 5, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, -6, 0, 6, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}] StatusStatusBoundMapData :: [{#Int}] StatusStatusBoundMapData = [{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 25600, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 25600, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 25600, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 25600, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 25600, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 25600, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}] StatusStatusBoundMap :: BoundMap StatusStatusBoundMap = { map = StatusStatusBoundMapData , blocksize = { w = 12, h = 12 } , objstart = OBJ_START , startobjx = 1 , startobjy = 1 } StatusStatusWideBoundMap :: BoundMap StatusStatusWideBoundMap = { StatusStatusBoundMap & startobjx = 10 , startobjy = 20 } StatusSeq1 :: (Int, [(Int, Int)]) StatusSeq1 = (-1, [(1, 100)]) StatusSeq2 :: (Int, [(Int, Int)]) StatusSeq2 = (-2, [(2, 100)]) StatusSeq3 :: (Int, [(Int, Int)]) StatusSeq3 = (-3, [(3, 100)]) StatusSeq4 :: (Int, [(Int, Int)]) StatusSeq4 = (-4, [(4, 100)]) StatusSeq5 :: (Int, [(Int, Int)]) StatusSeq5 = (-5, [(5, 100)]) StatusSeq6 :: (Int, [(Int, Int)]) StatusSeq6 = (-6, [(6, 100)]) StatusSequences :: [(Int, [(Int, Int)])] StatusSequences = [ StatusSeq1, StatusSeq2, StatusSeq3, StatusSeq4, StatusSeq5, StatusSeq6 ] StatusStatusLayer :: Layer StatusStatusLayer = { bmp = StatusBitmap , layermap = StatusStatusMap , sequences = StatusSequences , movement = \p=:{x, y} t -> {x = x, y = y} } StatusSprite1 :: Sprite StatusSprite1 = { bitmap = StatusBitmap , sequence = [(1, 100)] , loop = True } StatusAnimation1 :: Sprite StatusAnimation1 = { StatusSprite1 & loop = False } StatusSprite2 :: Sprite StatusSprite2 = { bitmap = StatusBitmap , sequence = [(2, 100)] , loop = True } StatusAnimation2 :: Sprite StatusAnimation2 = { StatusSprite2 & loop = False } StatusSprite3 :: Sprite StatusSprite3 = { bitmap = StatusBitmap , sequence = [(3, 100)] , loop = True } StatusAnimation3 :: Sprite StatusAnimation3 = { StatusSprite3 & loop = False } StatusSprite4 :: Sprite StatusSprite4 = { bitmap = StatusBitmap , sequence = [(4, 100)] , loop = True } StatusAnimation4 :: Sprite StatusAnimation4 = { StatusSprite4 & loop = False } StatusSprite5 :: Sprite StatusSprite5 = { bitmap = StatusBitmap , sequence = [(5, 100)] , loop = True } StatusAnimation5 :: Sprite StatusAnimation5 = { StatusSprite5 & loop = False } StatusSprite6 :: Sprite StatusSprite6 = { bitmap = StatusBitmap , sequence = [(6, 100)] , loop = True } StatusAnimation6 :: Sprite StatusAnimation6 = { StatusSprite6 & loop = False } WaterBitmap :: GameBitmap WaterBitmap = { bitmapname = "bitmaps\\Water.bmp" , unitsize = { w = 20, h = 14 } , dimensions = (10, 2) , transparent = Just { x = 0, y = 0 } } WaterWaterMap :: [{#Int}] WaterWaterMap = [{ -1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0}, { -2, 11, 12, 13, 14, 15, 0, 0, 0, 0, 0, 0}, { -3, 16, 17, 18, 19, 20, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}] WaterWaterBoundMapData :: [{#Int}] WaterWaterBoundMapData = [{ 0, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 0}, { 0, 3072, 3072, 3072, 3072, 3072, 0, 0, 0, 0, 0, 0}, { 0, 2560, 2560, 2560, 2560, 2560, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}] WaterWaterBoundMap :: BoundMap WaterWaterBoundMap = { map = WaterWaterBoundMapData , blocksize = { w = 20, h = 14 } , objstart = OBJ_START , startobjx = 1 , startobjy = 1 } WaterWaterWideBoundMap :: BoundMap WaterWaterWideBoundMap = { WaterWaterBoundMap & startobjx = 12 , startobjy = 5 } WaterSeq1 :: (Int, [(Int, Int)]) WaterSeq1 = (-1, [(1, 3), (2, 3), (3, 3), (4, 3), (5, 3), (6, 3), (7, 3), (8, 3), (9, 3), (10, 3)]) WaterSeq2 :: (Int, [(Int, Int)]) WaterSeq2 = (-2, [(11, 12), (12, 12), (13, 12), (14, 12), (15, 12)]) WaterSeq3 :: (Int, [(Int, Int)]) WaterSeq3 = (-3, [(16, 10), (17, 10), (18, 10), (19, 10), (20, 10)]) WaterSequences :: [(Int, [(Int, Int)])] WaterSequences = [ WaterSeq1, WaterSeq2, WaterSeq3 ] WaterWaterLayer :: Layer WaterWaterLayer = { bmp = WaterBitmap , layermap = WaterWaterMap , sequences = WaterSequences , movement = \p=:{x, y} t -> {x = x, y = y} } WaterSprite1 :: Sprite WaterSprite1 = { bitmap = WaterBitmap , sequence = [(1, 3), (2, 3), (3, 3), (4, 3), (5, 3), (6, 3), (7, 3), (8, 3), (9, 3), (10, 3)] , loop = True } WaterAnimation1 :: Sprite WaterAnimation1 = { WaterSprite1 & loop = False } WaterSprite2 :: Sprite WaterSprite2 = { bitmap = WaterBitmap , sequence = [(11, 12), (12, 12), (13, 12), (14, 12), (15, 12)] , loop = True } WaterAnimation2 :: Sprite WaterAnimation2 = { WaterSprite2 & loop = False } WaterSprite3 :: Sprite WaterSprite3 = { bitmap = WaterBitmap , sequence = [(16, 10), (17, 10), (18, 10), (19, 10), (20, 10)] , loop = True } WaterAnimation3 :: Sprite WaterAnimation3 = { WaterSprite3 & loop = False } BackGr1Bitmap :: GameBitmap BackGr1Bitmap = { bitmapname = "bitmaps\\BackGr1.bmp" , unitsize = { w = 80, h = 52 } , dimensions = (4, 3) , transparent = Just { x = 160, y = 104 } } BackGr1Map1Map :: [{#Int}] BackGr1Map1Map = [{ 1, 1, 1, 1}, { 1, 1, 1, 1}, { 1, 1, 1, 1}, { 2, 3, 4, 5}, { 6, 7, 8, 9}, { 10, 10, 10, 10}, { 10, 10, 10, 10}] BackGr1Map1BoundMapData :: [{#Int}] BackGr1Map1BoundMapData = [{ 0, 0, 0, 0}, { 0, 0, 0, 0}, { 0, 0, 0, 0}, { 0, 0, 0, 0}, { 0, 0, 0, 0}, { 0, 0, 0, 0}, { 0, 0, 0, 0}] BackGr1Map1BoundMap :: BoundMap BackGr1Map1BoundMap = { map = BackGr1Map1BoundMapData , blocksize = { w = 80, h = 52 } , objstart = OBJ_START , startobjx = 1 , startobjy = 1 } BackGr1Map1WideBoundMap :: BoundMap BackGr1Map1WideBoundMap = { BackGr1Map1BoundMap & startobjx = 4 , startobjy = 7 } BackGr1Sequences :: [(Int, [(Int, Int)])] BackGr1Sequences = [ ] BackGr1Map1Layer :: Layer BackGr1Map1Layer = { bmp = BackGr1Bitmap , layermap = BackGr1Map1Map , sequences = BackGr1Sequences , movement = \p=:{x, y} t -> {x = x/3, y = y/3} } BackGr2Bitmap :: GameBitmap BackGr2Bitmap = { bitmapname = "bitmaps\\BackGr2.bmp" , unitsize = { w = 80, h = 52 } , dimensions = (4, 3) , transparent = Just { x = 160, y = 104 } } BackGr2Map1Map :: [{#Int}] BackGr2Map1Map = [{ 1, 1, 1, 1}, { 1, 1, 1, 1}, { 1, 1, 1, 1}, { 2, 3, 4, 5}, { 6, 7, 8, 9}, { 10, 10, 10, 10}, { 10, 10, 10, 10}] BackGr2Map1BoundMapData :: [{#Int}] BackGr2Map1BoundMapData = [{ 0, 0, 0, 0}, { 0, 0, 0, 0}, { 0, 0, 0, 0}, { 0, 0, 0, 0}, { 0, 0, 0, 0}, { 0, 0, 0, 0}, { 0, 0, 0, 0}] BackGr2Map1BoundMap :: BoundMap BackGr2Map1BoundMap = { map = BackGr2Map1BoundMapData , blocksize = { w = 80, h = 52 } , objstart = OBJ_START , startobjx = 1 , startobjy = 1 } BackGr2Map1WideBoundMap :: BoundMap BackGr2Map1WideBoundMap = { BackGr2Map1BoundMap & startobjx = 4 , startobjy = 7 } BackGr2Sequences :: [(Int, [(Int, Int)])] BackGr2Sequences = [ ] BackGr2Map1Layer :: Layer BackGr2Map1Layer = { bmp = BackGr2Bitmap , layermap = BackGr2Map1Map , sequences = BackGr2Sequences , movement = \p=:{x, y} t -> {x = x/3, y = y/3} } BackGr3Bitmap :: GameBitmap BackGr3Bitmap = { bitmapname = "bitmaps\\BackGr3.bmp" , unitsize = { w = 80, h = 52 } , dimensions = (4, 3) , transparent = Just { x = 160, y = 104 } } BackGr3Map1Map :: [{#Int}] BackGr3Map1Map = [{ 1, 1, 1, 1}, { 1, 1, 1, 1}, { 1, 1, 1, 1}, { 2, 3, 4, 5}, { 6, 7, 8, 9}, { 10, 10, 10, 10}, { 10, 10, 10, 10}] BackGr3Map1BoundMapData :: [{#Int}] BackGr3Map1BoundMapData = [{ 0, 0, 0, 0}, { 0, 0, 0, 0}, { 0, 0, 0, 0}, { 0, 0, 0, 0}, { 0, 0, 0, 0}, { 0, 0, 0, 0}, { 0, 0, 0, 0}] BackGr3Map1BoundMap :: BoundMap BackGr3Map1BoundMap = { map = BackGr3Map1BoundMapData , blocksize = { w = 80, h = 52 } , objstart = OBJ_START , startobjx = 1 , startobjy = 1 } BackGr3Map1WideBoundMap :: BoundMap BackGr3Map1WideBoundMap = { BackGr3Map1BoundMap & startobjx = 4 , startobjy = 7 } BackGr3Sequences :: [(Int, [(Int, Int)])] BackGr3Sequences = [ ] BackGr3Map1Layer :: Layer BackGr3Map1Layer = { bmp = BackGr3Bitmap , layermap = BackGr3Map1Map , sequences = BackGr3Sequences , movement = \p=:{x, y} t -> {x = x/3, y = y/3} } FlashBitmap :: GameBitmap FlashBitmap = { bitmapname = "bitmaps\\Flash.bmp" , unitsize = { w = 24, h = 18 } , dimensions = (5, 1) , transparent = Just { x = 0, y = 0 } } FlashFlashMap :: [{#Int}] FlashFlashMap = [{ -1, 1, 2, 3, 4, 5, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}] FlashFlashBoundMapData :: [{#Int}] FlashFlashBoundMapData = [{ 0, 768, 768, 768, 768, 768, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}] FlashFlashBoundMap :: BoundMap FlashFlashBoundMap = { map = FlashFlashBoundMapData , blocksize = { w = 24, h = 18 } , objstart = OBJ_START , startobjx = 1 , startobjy = 1 } FlashFlashWideBoundMap :: BoundMap FlashFlashWideBoundMap = { FlashFlashBoundMap & startobjx = 10 , startobjy = 5 } FlashSeq1 :: (Int, [(Int, Int)]) FlashSeq1 = (-1, [(1, 3), (2, 3), (3, 3), (4, 3), (5, 3)]) FlashSequences :: [(Int, [(Int, Int)])] FlashSequences = [ FlashSeq1 ] FlashFlashLayer :: Layer FlashFlashLayer = { bmp = FlashBitmap , layermap = FlashFlashMap , sequences = FlashSequences , movement = \p=:{x, y} t -> {x = x, y = y} } FlashSprite1 :: Sprite FlashSprite1 = { bitmap = FlashBitmap , sequence = [(1, 3), (2, 3), (3, 3), (4, 3), (5, 3)] , loop = True } FlashAnimation1 :: Sprite FlashAnimation1 = { FlashSprite1 & loop = False }