Fork me on GitHub
// title:   Chunky Font
// author:  unicorns of DEATH
// desc:    Draw text using a chunky font
// license: MIT License
// version: 0.1
// script:  wren
// tags:    draw font text

var PALETTE_MAP=0x3FF0

class ChunkyFont {

    static init_() {
        __SYM_MAP={
            "}":0,
            "{":1,
            "^":2,
            "<":3,
            "=":4,
            ">":5,
            "]":6,
            "[":7,
            "r":16,
            "?":17,
            "|":18,
            "Y":19,
            "o":20,
            "T":21,
            "P":22,
            "7":23,
            "6":32,
            "j":33,
            "v":34,
            "m":35,
            "_":37,
            "L":38,
            "J":39,
        }

        __WIDTH=8
        __HEIGHT=8

        __COLOR1=10
        __COLOR2=9

        __LETTERS={
            "a":[
                "",
                "r?",
                "6v"
            ],
            "b":[
                "^",
                "]?",
                "Lj"
            ],
            "c":[
                "",
                "r>",
                "6>"
            ],
            "d":[
                " ^",
                "r[",
                "6J"
            ],
            "e":[
                "",
                "r?",
                "6>"
            ],
            "f":[
                "r>",
                "]>",
                "v"
            ],
            "g":[
                "",
                "r7",
                "6[",
                "<j"
            ],
            "h":[
                "^",
                "]?",
                "vv"
            ],
            "i":[
                "o",
                "^",
                "v"
            ],
            "j":[
                " o",
                " ^",
                " |",
                "<j"
            ],
            "k":[
                "^",
                "]>",
                "vo"
            ],
            "l":[
                "^",
                "|",
                "v"
            ],
            "m":[
                "",
                "PT?",
                "vvv"
            ],
            "n":[
                "",
                "P?",
                "vv"
            ],
            "o":[
                "",
                "r?",
                "6j"
            ],
            "p":[
                "",
                "P?",
                "]j",
                "v"
            ],
            "q":[
                "",
                "r7",
                "6[",
                " v"
            ],
            "r":[
                "",
                "P>",
                "v"
            ],
            "s":[
                "",
                "r>",
                "<j"
            ],
            "t":[
                "^",
                "]>",
                "6>"
            ],
            "u":[
                "",
                "^^",
                "6J"
            ],
            "v":[
                "",
                "^^",
                "Lj"
            ],
            "w":[
                "",
                "^^^",
                "6mj"
            ],
            "x":[
                "",
                "oo",
                "oo"
            ],
            "y":[
                "",
                "^^",
                "6[",
                "<j"
            ],
            "z":[
                "",
                "<?",
                "6>"
            ],
            "A":[
                "r=?",
                "]=[",
                "v v"
            ],
            "B":[
                "P=?",
                "]={",
                "L=j"
            ],
            "C":[
                "r=>",
                "|",
                "6=>"
            ],
            "D":[
                "P=?",
                "| |",
                "L=j"
            ],
            "E":[
                "P=>",
                "]=>",
                "L=>"
            ],
            "F":[
                "P=>",
                "]>",
                "v"
            ],
            "G":[
                "r=>",
                "|<7",
                "6=J"
            ],
            "H":[
                "^ ^",
                "]=[",
                "v v"
            ],
            "I":[
                "T",
                "|",
                "_"
            ],
            "J":[
                "  ^",
                "^ |",
                "6=j"
            ],
            "K":[
                "^ ^",
                "]={",
                "v v"
            ],
            "L":[
                "^",
                "|",
                "L=>"
            ],
            "M":[
                "PY7",
                "|v|",
                "v v"
            ],
            "N":[
                "P?^",
                "|||",
                "v6J"
            ],
            "O":[
                "r=?",
                "| |",
                "6=j"
            ],
            "P":[
                "P=?",
                "]=j",
                "v"
            ],
            "Q":[
                "r=?",
                "| |",
                "6=o"
            ],
            "R":[
                "P=?",
                "]={",
                "v v"
            ],
            "S":[
                "r=>",
                "6=?",
                "<=j"
            ],
            "T":[
                "<T>",
                " |",
                " v"
            ],
            "U":[
                "^ ^",
                "| |",
                "6=j"
            ],
            "V":[
                "^ ^",
                "|rj",
                "Lj"
            ],
            "W":[
                "^ ^",
                "|^|",
                "6mj"
            ],
            "X":[
                "o o",
                " o",
                "o o"
            ],
            "Y":[
                "^ ^",
                "6Yj",
                " v"
            ],
            "Z":[
                "<=7",
                "r=j",
                "L=>"
            ]
        }
        __WIDTHADJ={
            "j":-1
        }
    }

	construct new(x,y) {
		_x=x
		_y=y
    }

	ch(c) {
        if (c==" ") {
            _x=_x+__WIDTH
            return
        }
		var xadj=__WIDTHADJ[c]
		if (xadj==null) {
			xadj=0
        }
		var width=0
		var y=_y
		for (row in __LETTERS[c]) {
			var x=_x+xadj*__WIDTH
			var rowwidth=0
			var hasletter=false
			for (i in 0...row.count) {
				var letter=row[i]
				if (letter!=" ") {
					hasletter=true
					TIC.spr(__SYM_MAP[letter]+128,x,y,0)
                }
				if (hasletter) {
					rowwidth=rowwidth+1
                }
				x=x+__WIDTH
            }
			y=y+__HEIGHT
			width=width.max(rowwidth)
        }
		_x=_x+(width+xadj)*__WIDTH
    }

	s(s) {
		var x=_x
		var readcolor=0
		for (i in 0...s.count) {
			var c=s[i]
			if (c=="\n") {
				_x=x
				_y=_y+__HEIGHT*4
            } else if (c=="^") {
				readcolor=1
				resetpalette()
            } else if (readcolor==1) {
				var color=tonumberfromhex(c)
				TIC.poke4(PALETTE_MAP * 2 + __COLOR1, color)
				readcolor=2
            } else if (readcolor==2) {
				var color=tonumberfromhex(c)
				TIC.poke4(PALETTE_MAP * 2 + __COLOR2, color)
				readcolor=0
            } else {
				ch(c)
            }
        }
		resetpalette()
    }

    tonumberfromhex(c) {
        if (c=="a") { 
            return 0xa 
        } else if (c=="b") {
            return 0xb 
        } else if (c=="c") { 
            return 0xc 
        } else if (c=="d") {
            return 0xd 
        } else if (c=="e") { 
            return 0xe 
        } else if (c=="f") {
            return 0xf 
        } else { 
            return Num.fromString(c)
        }
    }

	resetpalette() {
		TIC.poke4(PALETTE_MAP * 2 + __COLOR1, __COLOR1)
		TIC.poke4(PALETTE_MAP * 2 + __COLOR2, __COLOR2)
    }
}

class Game is TIC{

	construct new(){
        ChunkyFont.init_()
	}

	TIC(){
        TIC.cls(1)
        var cf=ChunkyFont.new(30,10)
        // Use the syntax ^<fill><border> to change colors
        cf.s("^43Hello ^56World")
        cf=ChunkyFont.new(10,40)
        cf.s("^a9The quick brown\nfox jumped over\nthe lazy dog")
	}
}

// <TILES>
// 128:9acaaaa99aaaaaaa09aaaaac009aaaaa009aaaaa09aaaaaa9accaaaa9acaaaa9
// 129:9acaaaa9aaaaaaa9caaaaa90aaaaa900aaaaa900aaaaaa90aaaaaca99aaaaaa9
// 130:0099990009aaaa909accaaa99acaaaa99aaaaaa99aaaaaa99aaaaaa99acaaaa9
// 131:0099999909aaaaaa9accaaac9acaaaaa9aaaaaaa9aaaaaaa09aaaaaa00999999
// 132:99999999aaaaaaaaccccccccaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa99999999
// 133:99999900aaaaaa90caaaaaa9aaaaaaa9aaaaaaa9aaaaaaa9aaaaaa9099999900
// 134:9acaaaa99acaaaaa9acaaaac9acaaaaa9acaaaaa9acaaaaa9acaaaaa9acaaaa9
// 135:9acaaaa9aacaaaa9ccaaaaa9aaaaaaa9aaaaaaa9aaaaaaa9aaaaaaa99acaaaa9
// 144:0000099900099aaa009aaaac09accaaa09acaaaa9aaaaaaa9aaaaaaa9acaaaa9
// 145:99900000aaa99000caaaa900aaaaaa90aaaaaa90aaaaaaa9aaaaaaa99aaaaaa9
// 146:9acaaaa99acaaaa99acaaaa99acaaaa99acaaaa99acaaaa99acaaaa99acaaaa9
// 147:99000099aa9009aacaa99accaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaa9acaaaa9
// 148:0099990009aaaa909accaaa99acaaaa99aaaaaa99aaaaaa909aaaa9000999900
// 149:99999999aaaaaaaaccccccccaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa9acaaaa9
// 150:999999999aaaaaaa9accaaac9acaaaaa9aaaaaaa9aaaaaaa9aaaaaaa9acaaaa9
// 151:99999999aaaaaaa9ccccaaa9aaaaaaa9aaaaaaa9aaaaaaa9aaaaaaa99acaaaa9
// 160:9acaaaa99aaaaaaa9aaaaaac09aaaaaa09aaaaaa009aaaaa00099aaa00000999
// 161:9acaaaa9aaaaaaa9caaaaaa9aaaaaa90aaaaaa90aaaaa900aaa9900099900000
// 162:9acaaaa99aaaaaa99aaaaaa99aaaaaa99aaaaaa99aaaaaa909aaaa9000999900
// 163:9acaaaa9aacaaaaaccaaaaacaaaaaaaaaaaaaaaaaaa99aaaaa9009aa99000099
// 165:9acaaaa9aacaaaaaccaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa99999999
// 166:9acaaaa99acaaaaa9acaaaac9acaaaaa9aaaaaaa9aaaaaaa9aaaaaaa99999999
// 167:9acaaaa9aaaaaaa9cacaaaa9aaaaaaa9aaaaaaa9aaaaaaa9aaaaaaa999999999
// </TILES>

// <SCREEN>
// 000:111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
// 001:111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
// 002:111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
// 003:111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
// 004:111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
// 005:111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
// 006:111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
// 007:111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
// 008:111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
// 009:111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
// 010:111111111111111111111111111111113333111111111111333311111111111111111111333311113333111111111111111111111111111166661111111111116666111111111111111111111111111111111111666611111111111166661111111111111111111111111111111111111111111111111111
// 011:111111111111111111111111111111134444311111111113444431111111111111111113444431134444311111111111111111111111111655556111111111165555611111111111111111111111111111111116555561111111111655556111111111111111111111111111111111111111111111111111
// 012:11111111111111111111111111111134cc44431111111134cc4443111111111111111134cc444334cc444311111111111111111111111165cc55561111111165cc55561111111111111111111111111111111165cc55561111111165cc555611111111111111111111111111111111111111111111111111
// 013:11111111111111111111111111111134c444431111111134c44443111111111111111134c4444334c4444311111111111111111111111165c555561111111165c555561111111111111111111111111111111165c555561111111165c5555611111111111111111111111111111111111111111111111111
// 014:111111111111111111111111111111344444431111111134444443111111111111111134444443344444431111111111111111111111116555555611111111655555561111111111111111111111111111111165555556111111116555555611111111111111111111111111111111111111111111111111
// 015:111111111111111111111111111111344444431111111134444443111111111111111134444443344444431111111111111111111111116555555611111111655555561111111111111111111111111111111165555556111111116555555611111111111111111111111111111111111111111111111111
// 016:111111111111111111111111111111344444431111111134444443111111111111111134444443344444431111111111111111111111116555555611111111655555561111111111111111111111111111111165555556111111116555555611111111111111111111111111111111111111111111111111
// 017:11111111111111111111111111111134c444431111111134c44443111111111111111134c4444334c4444311111111111111111111111165c555561111111165c555561111111111111111111111111111111165c555561111111165c5555611111111111111111111111111111111111111111111111111
// 018:11111111111111111111111111111134c444433333333334c44443111113333331111134c4444334c4444311111333333111111111111165c555561166661165c555561111166666611111666666666666661165c555561111166665c5555611111111111111111111111111111111111111111111111111
// 019:11111111111111111111111111111134c444444444444444c44443111334444443311134c4444334c4444311133444444331111111111165c555561655556165c555561116655555566111655555555555556165c555561116655555c5555611111111111111111111111111111111111111111111111111
// 020:11111111111111111111111111111134c4444ccccccccccc4444431134444cc444431134c4444334c444431134444cc44443111111111165c5555665cc555665c555561165555cc555561165cc555cc555555665c555561165555ccc55555611111111111111111111111111111111111111111111111111
// 021:11111111111111111111111111111134c444444444444444444443134cc4444444443134c4444334c44443134cc444444444311111111165c5555665c5555665c55556165cc5555555556165c555555555555665c55556165cc5555555555611111111111111111111111111111111111111111111111111
// 022:11111111111111111111111111111134c444444444444444444443134c44444444443134c4444334c44443134c4444444444311111111165c555566555555665c55556165c555555555561655555555555555665c55556165c55555555555611111111111111111111111111111111111111111111111111
// 023:11111111111111111111111111111134c444444444444444444443344444444444444334c4444334c4444334444444444444431111111165c555566555555665c555566555555555555556655555555555555665c55556655555555555555611111111111111111111111111111111111111111111111111
// 024:11111111111111111111111111111134c444444444444444444443344444444444444334c4444334c4444334444444444444431111111165c555566555555665c555566555555555555556655555555555556165c55556655555555555555611111111111111111111111111111111111111111111111111
// 025:11111111111111111111111111111134c444433333333334c4444334c444433444444334c4444334c4444334c44443344444431111111165c5555665c5555665c5555665c555566555555665c555566666661165c5555665c5555665c5555611111111111111111111111111111111111111111111111111
// 026:11111111111111111111111111111134c444431111111134c4444334c444433333331134c4444334c4444334c4444334c444431111111165c5555665c5555665c5555665c5555665c5555665c555561111111165c5555665c5555665c5555611111111111111111111111111111111111111111111111111
// 027:111111111111111111111111111111344444431111111134444443344444444444443134444443344444433444444444444443111111116555555555c55555555555566555555555555556655555561111111165555556655555555555555611111111111111111111111111111111111111111111111111
// 028:1111111111111111111111111111113444444311111111344444433444444cc444444334444443344444433444444cc4444443111111116555555ccc55555cc55555566555555cc55555566555555611111111655555566555555cc5c5555611111111111111111111111111111111111111111111111111
// 029:111111111111111111111111111111344444431111111134444443134444444444444334444443344444431344444444444431111111111655555555555555555555611655555555555561655555561111111165555556165555555555555611111111111111111111111111111111111111111111111111
// 030:111111111111111111111111111111344444431111111134444443134444444444444334444443344444431344444444444431111111111655555555555555555555611655555555555561655555561111111165555556165555555555555611111111111111111111111111111111111111111111111111
// 031:111111111111111111111111111111344444431111111134444443113444444444444334444443344444431134444444444311111111111165555555566555555556111165555555555611655555561111111165555556116555555555555611111111111111111111111111111111111111111111111111
// 032:111111111111111111111111111111134444311111111113444431111334444444443113444431134444311113344444433111111111111116655555611655555661111116655555566111165555611111111116555561111665555555555611111111111111111111111111111111111111111111111111
// 033:111111111111111111111111111111113333111111111111333311111113333333331111333311113333111111133333311111111111111111166666111166666111111111166666611111116666111111111111666611111116666666666611111111111111111111111111111111111111111111111111
// 034:111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
// 035:111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
// 036:111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
// 037:111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
// 038:111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
// 039:111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
// 040:111111111111999999999999999999991111999911111111111111111111111111111111111111111111111111111111111111111111999911111111111111111111999911111111111111111111999911111111111111111111111111111111111111111111111111111111111111111111111111111111
// 041:111111111119aaaaaaaaaaaaaaaaaaaa9119aaaa91111111111111111111111111111111111111111111111111111111111111111119aaaa91111111111111111119aaaa91111111111111111119aaaa91111111111111111111111111111111111111111111111111111111111111111111111111111111
// 042:11111111119accaaaccccccccccaaaaaa99accaaa911111111111111111111111111111111111111111111111111111111111111119accaaa911111111111111119accaaa911111111111111119accaaa9111111111111111111111111111111111111111111111111111111111111111111111111111111
// 043:11111111119acaaaaaaaaaaaaaaaaaaaa99acaaaa911111111111111111111111111111111111111111111111111111111111111119acaaaa911111111111111119acaaaa911111111111111119acaaaa9111111111111111111111111111111111111111111111111111111111111111111111111111111
// 044:11111111119aaaaaaaaaaaaaaaaaaaaaa99aaaaaa911111111111111111111111111111111111111111111111111111111111111119aaaaaa911111111111111119aaaaaa911111111111111119aaaaaa9111111111111111111111111111111111111111111111111111111111111111111111111111111
// 045:11111111119aaaaaaaaaaaaaaaaaaaaaa99aaaaaa911111111111111111111111111111111111111111111111111111111111111119aaaaaa911111111111111119aaaaaa911111111111111119aaaaaa9111111111111111111111111111111111111111111111111111111111111111111111111111111
// 046:111111111119aaaaaaaaaaaaaaaaaaaa919aaaaaa9111111111111111111111111111111111111111111111111111111111111111119aaaa9111111111111111119aaaaaa911111111111111119aaaaaa9111111111111111111111111111111111111111111111111111111111111111111111111111111
// 047:1111111111119999999acaaaa9999999119acaaaa911111111111111111111111111111111111111111111111111111111111111111199991111111111111111119acaaaa911111111111111119acaaaa9111111111111111111111111111111111111111111111111111111111111111111111111111111
// 048:1111111111111111119acaaaa9111111119acaaaa999911111111119999991111111111111111119999999999911999911119999111199991111111999999999119acaaaa999999911111111119acaaaa9999111119999999999999911111119999991111111999911119999111199991199999999999111
// 049:1111111111111111119acaaaa9111111119acaaaaaaaa9911111199aaaaaa991111111111111199aaaaaaaaaa919aaaa9119aaaa9119aaaa9111199aaaaaaaaa919acaaaaaaaaaaa91111111119acaaaaaaaa991119aaaaaaaaaaaaa9111199aaaaaa9911119aaaa9119aaaa9119aaaa919aaaaaaaaaa991
// 050:1111111111111111119acaaaa9111111119acaaaaccaaaa911119aaaaccaaaa91111111111119aaaacccccaaa99accaaa99accaaa99accaaa9119aaaaccaaaaaa99acaaaaccaaaaaa9111111119acaaaaccaaaa9119accaaaccaaaaaa9119aaaaccaaaa9119accaaa99accaaa99accaaa99accaaaccaaaa9
// 051:1111111111111111119acaaaa9111111119acaaaaaaaaaaa9119accaaaaaaaaa911111111119accaaaaaaaaaa99acaaaa99acaaaa99acaaaa919accaaaaaaaaaa99acaaaaaaaaaaaa9111111119acaaaaaaaaaaa919acaaaaaaaaaaaa919accaaaaaaaaa919acaaaa99acaaaa99acaaaa99acaaaaaaaaaaa
// 052:1111111111111111119acaaaa9111111119acaaaaaaaaaaa9119acaaaaaaaaaa911111111119acaaaaaaaaaaa99aaaaaa99aaaaaa99aaaaaa919acaaaaaaaaaaa99acaaaaaaaaaaaa9111111119acaaaaaaaaaaa919aaaaaaaaaaaaaa919acaaaaaaaaaa919aaaaaa99aaaaaa99aaaaaa99aaaaaaaaaaaaa
// 053:1111111111111111119acaaaa9111111119acaaaaaaaaaaaa99aaaaaaaaaaaaaa9111111119aaaaaaaaaaaaaa99aaaaaa99aaaaaa99aaaaaa99aaaaaaaaaaaaaa99acaaaaaaaaaaaa9111111119acaaaaaaaaaaaa99aaaaaaaaaaaaaa99aaaaaaaaaaaaaa99aaaaaa99aaaaaa99aaaaaa99aaaaaaaaaaaaa
// 054:1111111111111111119acaaaa9111111119acaaaaaaaaaaaa99aaaaaaaaaaaaaa9111111119aaaaaaaaaaaaaa99aaaaaa99aaaaaa99aaaaaa99aaaaaaaaaaaaa919acaaaaaaaaaaa91111111119acaaaaaaaaaaaa99aaaaaaaaaaaaa919aaaaaaaaaaaaaa99aaaaaa99aaaaaa99aaaaaa99aaaaaaaaaaaaa
// 055:1111111111111111119acaaaa9111111119acaaaa99aaaaaa99acaaaa99aaaaaa9111111119acaaaa99acaaaa99acaaaa99acaaaa99acaaaa99acaaaa9999999119acaaaa999999911111111119acaaaa99aaaaaa99acaaaa9999999119acaaaa99aaaaaa99acaaaa99acaaaa99acaaaa99acaaaa99aaaaa
// 056:1111111111111111119acaaaa9111111119acaaaa99acaaaa99acaaaa999999911111111119acaaaa99acaaaa99acaaaa99acaaaa99acaaaa99acaaaa9999999119acaaaa911999911111111119acaaaa99acaaaa99acaaaa9111111119acaaaa99acaaaa99acaaaa99acaaaa99acaaaa99acaaaa99acaaa
// 057:1111111111111111119aaaaaa9111111119aaaaaa99aaaaaa99aaaaaaaaaaaaa91111111119aaaaaaaaacaaaa99aaaaaaaaaaaaaa99aaaaaa99aaaaaaaaaaaaa919aaaaaa919aaaa91111111119acaaaaaaaaaaaa99aaaaaa9111111119aaaaaaaaaaaaaa99aaaaaaaaacaaaaaaaaaaaa99aaaaaa99aaaaa
// 058:1111111111111111119aaaaaa9111111119aaaaaa99aaaaaa99aaaaaaccaaaaaa9111111119aaaaaacccaaaaa99aaaaaaccacaaaa99aaaaaa99aaaaaaccaaaaaa99aaaaaa99accaaa9111111119acaaaaccaaaaaa99aaaaaa9111111119aaaaaaccaaaaaa99aaaaaacccaaaaaccaaaaaa99aaaaaa99aaaaa
// 059:1111111111111111119aaaaaa9111111119aaaaaa99aaaaaa919aaaaaaaaaaaaa91111111119aaaaaaaaaaaaa919aaaaaaaaaaaaa99aaaaaa919aaaaaaaaaaaaa99aaaaaa99acaaaa9111111119acaaaaaaaaaaa919aaaaaa91111111119aaaaaaaaaaaa9119aaaaaaaaaaaaaaaaaaaa919aaaaaa99aaaaa
// 060:1111111111111111119aaaaaa9111111119aaaaaa99aaaaaa919aaaaaaaaaaaaa91111111119aaaaaaaaaaaaa919aaaaaaaaaaaaa99aaaaaa919aaaaaaaaaaaaa99aaaaaa99aaaaaa9111111119aaaaaaaaaaaaa919aaaaaa91111111119aaaaaaaaaaaa9119aaaaaaaaaaaaaaaaaaaa919aaaaaa99aaaaa
// 061:1111111111111111119aaaaaa9111111119aaaaaa99aaaaaa9119aaaaaaaaaaaa911111111119aaaaaaaaaaaa9119aaaaaaaaaaaa99aaaaaa9119aaaaaaaaaaaa99aaaaaa99aaaaaa9111111119aaaaaaaaaaaa9119aaaaaa911111111119aaaaaaaaaa911119aaaaaaaa99aaaaaaaa9119aaaaaa99aaaaa
// 062:11111111111111111119aaaa911111111119aaaa9119aaaa9111199aaaaaaaaa911111111111199aaaaaaaaaa911199aaaaaaaaaa919aaaa9111199aaaaaaaaa9119aaaa9119aaaa91111111119aaaaaaaaaa9911119aaaa911111111111199aaaaaa9911111199aaaaa9119aaaaa9911119aaaa9119aaaa
// 063:11111111111111111111999911111111111199991111999911111119999999991111111111111119999acaaaa9111119999999999911999911111119999999991111999911119999111111111199999999999111111199991111111111111119999991111111111999991111999991111111999911119999
// 064:11111111111111111111111111111111111111111111111111111111111111111111111111111111119acaaaa9111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
// 065:11111111111111111111111111111111111111111111111111111111111111111111111111111111119aaaaaa9111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
// 066:11111111111111111111111111111111111111111111111111111111111111111111111111111111119aaaaaa9111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
// 067:11111111111111111111111111111111111111111111111111111111111111111111111111111111119aaaaaa9111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
// 068:11111111111111111111111111111111111111111111111111111111111111111111111111111111119aaaaaa9111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
// 069:11111111111111111111111111111111111111111111111111111111111111111111111111111111119aaaaaa9111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
// 070:111111111111111111111111111111111111111111111111111111111111111111111111111111111119aaaa91111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
// 071:111111111111111111111111111111111111111111111111111111111111111111111111111111111111999911111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
// 072:111111111111111999999999111111111111111111111111111111111111111111119999111111111111111111111111111111111111111111111111111111111111111111111111111111111111999911111111111111111111111111111111111111111111111111111111111111111111111111111111
// 073:111111111111199aaaaaaaaa91111111111111111111111111111111111111111119aaaa911111111111111111111111111111111111111111111111111111111111111111111111111111111119aaaa91111111111111111111111111111111111111111111111111111111111111111111111111111111
// 074:1111111111119aaaaccaaaaaa911111111111111111111111111111111111111119accaaa9111111111111111111111111111111111111111111111111111111111111111111111111111111119accaaa9111111111111111111111111111111111111111111111111111111111111111111111111111111
// 075:111111111119accaaaaaaaaaa911111111111111111111111111111111111111119acaaaa9111111111111111111111111111111111111111111111111111111111111111111111111111111119acaaaa9111111111111111111111111111111111111111111111111111111111111111111111111111111
// 076:111111111119acaaaaaaaaaaa911111111111111111111111111111111111111119aaaaaa9111111111111111111111111111111111111111111111111111111111111111111111111111111119aaaaaa9111111111111111111111111111111111111111111111111111111111111111111111111111111
// 077:11111111119aaaaaaaaaaaaaa911111111111111111111111111111111111111119aaaaaa9111111111111111111111111111111111111111111111111111111111111111111111111111111119aaaaaa9111111111111111111111111111111111111111111111111111111111111111111111111111111
// 078:11111111119aaaaaaaaaaaaa91111111111111111111111111111111111111111119aaaa91111111111111111111111111111111111111111111111111111111111111111111111111111111119aaaaaa9111111111111111111111111111111111111111111111111111111111111111111111111111111
// 079:11111111119acaaaa999999911111111111111111111111111111111111111111111999911111111111111111111111111111111111111111111111111111111111111111111111111111111119acaaaa9111111111111111111111111111111111111111111111111111111111111111111111111111111
// 080:11111111119acaaaa999999911111119999991111111999911119999111111111111999911119999111199991199999999999999999991111199999999999111111111199999911111111119999acaaaa9111111111111199999911111119999111199991111111999999111119999999999999911111111
// 081:11111111119acaaaaaaaaaaa9111199aaaaaa9911119aaaa9119aaaa911111111119aaaa9119aaaa9119aaaa919aaaaaaaaaaaaaaaaaa991119aaaaaaaaaa9911111199aaaaaa9911111199aaaaacaaaa91111111111199aaaaaa9911119aaaa9119aaaa9111199aaaaaa991119aaaaaaaaaaaaa91111111
// 082:11111111119acaaaaccaaaaaa9119aaaaccaaaa9119accaaa99accaaa9111111119accaaa99accaaa99accaaa99accaaaccccccccccaaaa9119accaaaccaaaa911119aaaaccaaaa911119aaaacccaaaaa911111111119aaaaccaaaa9119accaaa99accaaa9119aaaaccaaaa9119accaaaccaaaaaa9111111
// 083:11111111119acaaaaaaaaaaaa919accaaaaaaaaa919acaaaa99acaaaa9111111119acaaaa99acaaaa99acaaaa99acaaaaaaaaaaaaaaaaaaa919acaaaaaaaaaaa9119accaaaaaaaaa9119accaaaaaaaaaa91111111119accaaaaaaaaa919acaaaa99acaaaa919accaaaaaaaaa919acaaaaaaaaaaaa9111111
// 084:11111111119acaaaaaaaaaaaa919acaaaaaaaaaa919aaaaaa99aaaaaa9111111119aaaaaa99aaaaaa99aaaaaa99aaaaaaaaaaaaaaaaaaaaa919aaaaaaaaaaaaa9119acaaaaaaaaaa9119acaaaaaaaaaaa91111111119acaaaaaaaaaa919aaaaaa99aaaaaa919acaaaaaaaaaa919aaaaaaaaaaaaaa9111111
// 085:11111111119acaaaaaaaaaaaa99aaaaaaaaaaaaaa99aaaaaa99aaaaaa9111111119aaaaaa99aaaaaa99aaaaaa99aaaaaaaaaaaaaaaaaaaaaa99aaaaaaaaaaaaaa99aaaaaaaaaaaaaa99aaaaaaaaaaaaaa9111111119aaaaaaaaaaaaaa99aaaaaa99aaaaaa99aaaaaaaaaaaaaa99aaaaaaaaaaaaaa9111111
// 086:11111111119acaaaaaaaaaaa919aaaaaaaaaaaaaa919aaaa9119aaaa91111111119aaaaaa99aaaaaa99aaaaaa99aaaaaaaaaaaaaaaaaaaaaa99aaaaaaaaaaaaaa99aaaaaaaaaaaaaa99aaaaaaaaaaaaaa9111111119aaaaaaaaaaaaaa99aaaaaa99aaaaaa99aaaaaaaaaaaaaa99aaaaaaaaaaaaa91111111
// 087:11111111119acaaaa9999999119acaaaa99aaaaaa91199991111999911111111119acaaaa99acaaaa99acaaaa99acaaaa99acaaaa99aaaaaa99acaaaa99aaaaaa99acaaaa99aaaaaa99acaaaa99acaaaa9111111119acaaaa99aaaaaa99acaaaa99acaaaa99acaaaa99aaaaaa99acaaaa999999911111111
// 088:11111111119acaaaa9111111119acaaaa99acaaaa91199991111999911111111119acaaaa99acaaaa99acaaaa99acaaaa99acaaaa99acaaaa99acaaaa99acaaaa99acaaaa9999999119acaaaa99acaaaa9111111119acaaaa99acaaaa99acaaaa99acaaaa99acaaaa9999999119acaaaa911111111111111
// 089:11111111119aaaaaa9111111119aaaaaaaaaaaaaa919aaaa9119aaaa91111111119acaaaa99aaaaaaaaaaaaaa99aaaaaa99aaaaaa99aaaaaa99acaaaaaaaaaaaa99aaaaaaaaaaaaa919aaaaaaaaaaaaaa9111111119aaaaaaaaaaaaaa99acaaaaaaaaaaaa99aaaaaaaaaaaaa919aaaaaa911111111111111
// 090:11111111119aaaaaa9111111119aaaaaaccaaaaaa99accaaa99accaaa9111111119acaaaa99aaaaaaccacaaaa99aaaaaa99aaaaaa99aaaaaa99acaaaaccaaaaaa99aaaaaaccaaaaaa99aaaaaaccacaaaa9111111119aaaaaaccaaaaaa99acaaaaccaaaaaa99aaaaaaccaaaaaa99aaaaaa911111111111111
// 091:11111111119aaaaaa91111111119aaaaaaaaaaaa919acaaaa99acaaaa9111111119acaaaa919aaaaaaaaaaaaa99aaaaaa99aaaaaa99aaaaaa99acaaaaaaaaaaa9119aaaaaaaaaaaaa919aaaaaaaaaaaaa91111111119aaaaaaaaaaaa919acaaaaaaaaaaa9119aaaaaaaaaaaaa99aaaaaa911111111111111
// 092:11111111119aaaaaa91111111119aaaaaaaaaaaa919aaaaaa99aaaaaa9111111119acaaaa919aaaaaaaaaaaaa99aaaaaa99aaaaaa99aaaaaa99acaaaaaaaaaaa9119aaaaaaaaaaaaa919aaaaaaaaaaaaa91111111119aaaaaaaaaaaa919aaaaaaaaaaaaa9119aaaaaaaaaaaaa99aaaaaa911111111111111
// 093:11111111119aaaaaa911111111119aaaaaaaaaa9119aaaaaa99aaaaaa9111111119acaaaa9119aaaaaaaaaaaa99aaaaaa99aaaaaa99aaaaaa99acaaaaaaaaaa911119aaaaaaaaaaaa9119aaaaaaaaaaaa911111111119aaaaaaaaaa9119aaaaaaaaaaaa911119aaaaaaaaaaaa99aaaaaa911111111111111
// 094:111111111119aaaa911111111111199aaaaaa9911119aaaa9119aaaa91111111119acaaaa911199aaaaaaaaaa919aaaa9119aaaa9119aaaa919acaaaaaaaa9911111199aaaaaaaaa9111199aaaaaaaaaa91111111111199aaaaaa991119aaaaaaaaaa9911111199aaaaaaaaa9119aaaa9111111111111111
// 095:1111111111119999111111111111111999999111111199991111999911111111119acaaaa911111999999999991199991111999911119999119acaaaa99991111111111999999999111111199999999999111111111111199999911111999999999991111111111999999999111199991111111111111111
// 096:1111111111111111111111111111111111111111111111111111111111119999999acaaaa911111111111111111111111111111111111111119acaaaa91111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
// 097:111111111111111111111111111111111111111111111111111111111119aaaaaaaaaaaaa911111111111111111111111111111111111111119aaaaaa91111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
// 098:11111111111111111111111111111111111111111111111111111111119accaaaccaaaaaa911111111111111111111111111111111111111119aaaaaa91111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
// 099:11111111111111111111111111111111111111111111111111111111119acaaaaaaaaaaa9111111111111111111111111111111111111111119aaaaaa91111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
// 100:11111111111111111111111111111111111111111111111111111111119aaaaaaaaaaaaa9111111111111111111111111111111111111111119aaaaaa91111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
// 101:11111111111111111111111111111111111111111111111111111111119aaaaaaaaaaaa91111111111111111111111111111111111111111119aaaaaa91111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
// 102:111111111111111111111111111111111111111111111111111111111119aaaaaaaaa99111111111111111111111111111111111111111111119aaaa911111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
// 103:111111111111111111111111111111111111111111111111111111111111999999999111111111111111111111111111111111111111111111119999111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
// 104:111111111111999911111111111199991111111111111111111111111111111111119999111111111111111111111111111111111111111111111111111111111111111111119999111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
// 105:111111111119aaaa911111111119aaaa911111111111111111111111111111111119aaaa91111111111111111111111111111111111111111111111111111111111111111119aaaa911111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
// 106:11111111119accaaa9111111119accaaa9111111111111111111111111111111119accaaa911111111111111111111111111111111111111111111111111111111111111119accaaa91111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
// 107:11111111119acaaaa9111111119acaaaa9111111111111111111111111111111119acaaaa911111111111111111111111111111111111111111111111111111111111111119acaaaa91111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
// 108:11111111119aaaaaa9111111119aaaaaa9111111111111111111111111111111119aaaaaa911111111111111111111111111111111111111111111111111111111111111119aaaaaa91111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
// 109:11111111119aaaaaa9111111119aaaaaa9111111111111111111111111111111119aaaaaa911111111111111111111111111111111111111111111111111111111111111119aaaaaa91111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
// 110:11111111119aaaaaa9111111119aaaaaa9111111111111111111111111111111119aaaaaa911111111111111111111111111111111111111111111111111111111111111119aaaaaa91111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
// 111:11111111119acaaaa9111111119acaaaa9111111111111111111111111111111119acaaaa911111111111111111111111111111111111111111111111111111111111111119acaaaa91111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
// 112:11111111119acaaaa9999999119acaaaa9999111111111199999911111111111119acaaaa911111999999111111199999999911111119999111199991111111111111119999acaaaa91111199999911111111119999999999911111111111111111111111111111111111111111111111111111111111111
// 113:11111111119acaaaaaaaaaaa919acaaaaaaaa9911111199aaaaaa99111111111119acaaaa911199aaaaaa9911119aaaaaaaaa9911119aaaa9119aaaa911111111111199aaaaacaaaa911199aaaaaa9911111199aaaaaaaaaa911111111111111111111111111111111111111111111111111111111111111
// 114:11111111119acaaaaccaaaaaa99acaaaaccaaaa911119aaaaccaaaa911111111119acaaaa9119aaaaccaaaa9119accaaaccaaaa9119accaaa99accaaa911111111119aaaacccaaaaa9119aaaaccaaaa911119aaaacccccaaa911111111111111111111111111111111111111111111111111111111111111
// 115:11111111119acaaaaaaaaaaaa99acaaaaaaaaaaa9119accaaaaaaaaa91111111119acaaaa919accaaaaaaaaa919acaaaaaaaaaaa919acaaaa99acaaaa91111111119accaaaaaaaaaa919accaaaaaaaaa9119accaaaaaaaaaa911111111111111111111111111111111111111111111111111111111111111
// 116:11111111119acaaaaaaaaaaaa99acaaaaaaaaaaa9119acaaaaaaaaaa91111111119acaaaa919acaaaaaaaaaa919aaaaaaaaaaaaa919aaaaaa99aaaaaa91111111119acaaaaaaaaaaa919acaaaaaaaaaa9119acaaaaaaaaaaa911111111111111111111111111111111111111111111111111111111111111
// 117:11111111119acaaaaaaaaaaaa99acaaaaaaaaaaaa99aaaaaaaaaaaaaa9111111119acaaaa99aaaaaaaaaaaaaa99aaaaaaaaaaaaaa99aaaaaa99aaaaaa9111111119aaaaaaaaaaaaaa99aaaaaaaaaaaaaa99aaaaaaaaaaaaaa911111111111111111111111111111111111111111111111111111111111111
// 118:11111111119acaaaaaaaaaaa919acaaaaaaaaaaaa99aaaaaaaaaaaaaa9111111119acaaaa99aaaaaaaaaaaaaa919aaaaaaaaaaaaa99aaaaaa99aaaaaa9111111119aaaaaaaaaaaaaa99aaaaaaaaaaaaaa99aaaaaaaaaaaaaa911111111111111111111111111111111111111111111111111111111111111
// 119:11111111119acaaaa9999999119acaaaa99aaaaaa99acaaaa99aaaaaa9111111119acaaaa99acaaaa99aaaaaa9119999999aaaaaa99acaaaa99acaaaa9111111119acaaaa99acaaaa99acaaaa99aaaaaa99acaaaa99acaaaa911111111111111111111111111111111111111111111111111111111111111
// 120:11111111119acaaaa9999999119acaaaa99acaaaa99acaaaa999999911111111119acaaaa99acaaaa99acaaaa99acaaaa9999999119acaaaa99acaaaa9111111119acaaaa99acaaaa99acaaaa99acaaaa99acaaaa99acaaaa911111111111111111111111111111111111111111111111111111111111111
// 121:11111111119aaaaaaaaaaaaa919aaaaaa99aaaaaa99aaaaaaaaaaaaa91111111119aaaaaa99aaaaaaa9aaaaaa99aaaaaaaaaaaaa919aaaaaaaaacaaaa9111111119aaaaaaaaaaaaaa99aaaaaaaaaaaaaa99aaaaaaaaacaaaa911111111111111111111111111111111111111111111111111111111111111
// 122:11111111119aaaaaaccaaaaaa99aaaaaa99aaaaaa99aaaaaaccaaaaaa9111111119aaaaaa99aaaaaac9aaaaaa99aaaaaaccaaaaaa99aaaaaacccaaaaa9111111119aaaaaaccacaaaa99aaaaaaccaaaaaa99aaaaaacccaaaaa911111111111111111111111111111111111111111111111111111111111111
// 123:111111111119aaaaaaaaaaaaa99aaaaaa99aaaaaa919aaaaaaaaaaaaa9111111119aaaaaa919aaaaaa9aaaaaa919aaaaaaaaaaaaa919aaaaaaaaaaaaa91111111119aaaaaaaaaaaaa919aaaaaaaaaaaa9119aaaaaaaaaaaaa911111111111111111111111111111111111111111111111111111111111111
// 124:111111111119aaaaaaaaaaaaa99aaaaaa99aaaaaa919aaaaaaaaaaaaa9111111119aaaaaa919aaaaaa9aaaaaa919aaaaaaaaaaaaa919aaaaaaaaaaaaa91111111119aaaaaaaaaaaaa919aaaaaaaaaaaa9119aaaaaaaaaaaaa911111111111111111111111111111111111111111111111111111111111111
// 125:1111111111119aaaaaaaaaaaa99aaaaaa99aaaaaa9119aaaaaaaaaaaa9111111119aaaaaa9119aaaaa9aaaaaa9119aaaaaaaaaaaa9119aaaaaaaaaaaa911111111119aaaaaaaaaaaa9119aaaaaaaaaa911119aaaaaaaaaaaa911111111111111111111111111111111111111111111111111111111111111
// 126:111111111111199aaaaaaaaa9119aaaa9119aaaa9111199aaaaaaaaa911111111119aaaa9111199aaa19aaaa9111199aaaaaaaaa9111199aaaaaaaaaa91111111111199aaaaaaaaaa911199aaaaaa9911111199aaaaaaaaaa911111111111111111111111111111111111111111111111111111111111111
// 127:1111111111111119999999991111999911119999111111199999999911111111111199991111111999119999111111199999999911111119999acaaaa91111111111111999999999991111199999911111111119999acaaaa911111111111111111111111111111111111111111111111111111111111111
// 128:1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111119999999acaaaa91111111111111111111111111111111111111111119999999acaaaa911111111111111111111111111111111111111111111111111111111111111
// 129:111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111119aaaaaaaaaaaaa9111111111111111111111111111111111111111119aaaaaaaaaaaaa911111111111111111111111111111111111111111111111111111111111111
// 130:11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111119accaaaccaaaaaa911111111111111111111111111111111111111119accaaaccaaaaaa911111111111111111111111111111111111111111111111111111111111111
// 131:11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111119acaaaaaaaaaaa9111111111111111111111111111111111111111119acaaaaaaaaaaa9111111111111111111111111111111111111111111111111111111111111111
// 132:11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111119aaaaaaaaaaaaa9111111111111111111111111111111111111111119aaaaaaaaaaaaa9111111111111111111111111111111111111111111111111111111111111111
// 133:11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111119aaaaaaaaaaaa91111111111111111111111111111111111111111119aaaaaaaaaaaa91111111111111111111111111111111111111111111111111111111111111111
// 134:111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111119aaaaaaaaa99111111111111111111111111111111111111111111119aaaaaaaaa9911111111111111111111111111111111111111111111111111111111111111111
// 135:111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111999999999111111111111111111111111111111111111111111111119999999991111111111111111111111111111111111111111111111111111111111111111111
// </SCREEN>

// <PALETTE>
// 000:1a1c2c5d275db13e53ef7d57ffcd75a7f07038b76425717929366f3b5dc941a6f673eff7f4f4f494b0c2566c86333c57
// </PALETTE>