g | x | w | all
Bytes Lang Time Link
868Zsh +basenc +lzma241001T061750Zroblogic
910HTML240926T120558Zjdt
919Bash+lzma240927T141914ZThemooni
975JavaScript ES6240926T135039ZArnauld
938JavaScript240927T002641ZKamil Ki
925CSS240926T234238ZKamil Ki
nanHTML + JavaScript240926T143019ZShaggy

Zsh +basenc +lzma, 868 bytes

Tweaking the excellent work of @Themoonisacheese above, using Z85 encoding instead of base64. Saved many bytes, introduced a decoding error. Result looks best on a terminal.
Code formatted for readability - wrapped at 400

basenc -d --z85<<<'t(T>P0rr90%nSc0@@rh=1t<H3vv}[0Mi?VC<(^Kd6/(fiR9n/(u5T8u{{oY?J{%v}&LN)U%b:pk&w?>>=$E?j<9=anwK##pO+lXC=dzctZ7W:}5D3z^Bg5)(^e[NaBR59k3Ttt?Ol8JdhHmOL8GCUgYHnH4@Rm(ZnQcQyi].xr&U/QH4qawwcM@!eV^LV(Ji2->l2mDdc]84K!1JU#g7iIQieh6&O0A$Ojo*Co>Ac^cu/.nq^95/xu*]WZq8d#%mSroP<3PIR]7YV*tfyp9WqC+LGE4YiC3B52<e$nZn33w?Wu{:0IZiC1FAo<9bHPMygkk*b^QfwJkX3U*jPuu>&s7d4?$Pui]T{YOUbC^xEQX]/w&B[P1SewJ=S{@H[
OgcQTu&{F1RI5]f7%9)!-5?)HZf[IzSjF*:.D=Ok=.3-oyb8@JA^ZkTpQ*Q-*kWlpxaZ8Y$(&M>)(3re&KM*hey4]!W<6s}J2J2M!.c0T.)/$tTxFn*AEr6Ha[=3J@BM[d+$.%/SBnr@v4}$k!qiw{??pHpTl+YVfRSBO^pn-X+hBchvyn6Mub6qKe/TD1#tue=FBJcyST^I^I5)}1q7vwjr[iuC!<4iO9Kr:5?9E:IV@Jzk8^kSG6)pofhGkSVyk/o?l$nsE#gNi!vlfdckym?&zP3}@w=aLQI<O%:ZavbhAE{Kn)2vXqmQ?b)GZ3AjS!c&V+ppzi#-xPt6d3WJ[vUds&8!F8DT!t&oeIOOCWWgee18Kv<.)/DVAbjUEG{D@SOS$q:Pn){&UcJr
nW[C:n5Hx!gXjm{9jB44{^B@x2xRX/Ni.wEzdzd:Ml//&<px9++LiEZ>=Lo'|lzma -d

Attempt this online!

NB When I tried to convert the base64 string to z85, basenc threw this error: basenc: invalid input (length must be multiple of 4 characters). So I changed the last bit from /7fAiGU= to /7fAiGUU= and it worked, despite lzma complaining. This is what the encoding step looked like:

echo {TheMoonIsACheese-base64-string}/7fAiGUU=|base64 -d\
  |basenc --z85 -w0 > waiting.z85

HTML, 920 910 bytes

<img src=data:;base64,UklGRpICAABXRUJQVlA4TIUCAAAvccAxAA8w7qM+Z/MfeKCk7Z8iSfkiKqrJyrHAHXIcd9f/uKxwt6U77Cxw2I3uXU/RR8Bt5brmBv3k78fcIKL/E8DofVPk4z8t1Xhuqu04cb62/oEl2o5/b9LiwfO1S47fqLVvrtLuefAtjXhca5e8pJG/MS49ocVHb2usOJGlrWe+hTwcfky7b+/zSTr21WXIDzz4rXbivhekdmxjSDx/6R9S+4gmsWvFvLZu1jQmLSnBHBLMMdEKU20Jc9oZLNZ6zpHaBVSJwjXaeZz05BTHvseJpHTQEFsFpgI9cIYyoLceGMaCewq0MXb1AHlsOLRg8djnp1Wgju07lIFnxk7bDjA/tu+0mVaOZ6Clkba9AIzFoRULJiOcNgNqGjtegJiMxMYVAGmEYQZ8xPiDq6F9JdBBhBCbYECtUK8RYhN0VWAHdJ3QOiiLBdZDyUotrE9CNHgfdQbz0pBYJ1GZl0qmJWUHINHRpAwxURqQFdg5TKVKOU+CdokUHw2vSlS+0sjPKomMVBi6R5SFV0gJbpKAy5w7jbbEmM9GJAdzh5Z4RqORNPobtBge0vjgJ4O/tYh9SYKtE+PLZLSJsTUZ+5wv0OMyg5kxLJZqa3MSrO+N7hQjeuMDp15otDOMuN3gEuctI/42OOT8Y6QvjHIoafGFwT3OL84ezJ+TccLZh/mfc9pIqgt2XDIyeoPUSvRCrAKmAjA05Pd75FML/3eldkmBwB2c4iQjOJmtLtegc7KxETcZOzDXOdVZZUQ16B239QZFSy1rBQOSEU7n7EOPMHjAWe5UZ5WxozM4w5kZUQyyEckgGwNygiTBGegN9xJnhZSgSoV2hgR0UqX1ElCMyAbJaNmwmwYA

Compressed with cwebp -z 9:

Dimension: 114 x 200 Output: 666 bytes (0.23 bpp) Lossless-ARGB compressed size: 666 bytes

Bash+lzma, 919 bytes

echo XQAAgAD//////////wAE6AQ0YBVhn3uDlgl0vOXoGCYVOfvHpT5vTV2MemT4s/dNjvCzHeHDP6j/kKuC4TkcE9BofQfjfXbpZUkDZ531aSnN1+ePvhOxIhD8bh1ztcMJ0QJ4vXUQZNQLXC9bnFekyTZ6Pz8acfuIvESitf35KRxJeJgdOuMhhuIZwmwNZtvQJyEJZ7PSpR+MrE1uQWwaRSgyB8zToabiMgvuXTiGZ3eblf5XPAaDp+eRHXVf5QAq0Mu0z1/wLmlRMfx9RnBvYuNDoWzy+Lb4Wstf2LVt+maEJR70dlvk9eOuNcpHrGhAtZf6t4skdYaA5VdLI9JU1zKGAVHSX7SbQGOl/Dz/G0jhDH2Y3/g9UfS8nI6uqGG9fmKfGmY3dskFGCCaz10MR/FqO0esQaw5BRIHhS72bGXV4kBTiAepSG7iUE/JaoxxQKut+kvsRX6NXCOxrBCaMsaW5ChO/2BZvcE9HukOz1MuNxbKNWvB69W6zxH6j25el9zx7q1t95VcQh4F2yITn4Ywkg+O/oCUKt0Sjdit5a79KQZ7QLp4rPhuIqFPzsCysewFLJ4IjAy59ZsWNgsVr5ZzOYGPqraLBjLm7s7ejNFrycwq0hOxuAQQ+L08I19feMD24ZvrXFwSKPa5iwXuTj6MvwGC7mfpL0+8ULKacljdtsTCf4m1U9S4E2wmFWn34VLs2f05I9Sjb2HdyV3vSTY6rGZKWF07Ubl1iu4HsiY9H2KJs71vlzsbd2VadLG5jthd8lnCLokaV8KT4OfR7Jz8efwsEpGzYycSU3tyVXqvuJd8/gWXYlNC3IT4ddXoVOAEl8f5TxDUL7Vc9iNtfA9dzWxmw43Y2Hz/yn2+MKDI5WCL4rQv7Myj/7fAiGU=|base64 -d|lzma -d

Attempt This Online!

With contributions from Neil (exact number of bytes saved unknown)
-16 bytes: the converter encodes whitespace with U+2800 characters, but they are poorly compressed and we can do better by first replacing them with spaces, then running unexpand to convert 8 spaces to a tab.

as you can probably guess, the base64 is a lzma compressed stream, that contains ascii art generated here.

The generator was configured to create a 57 character-wide image, because that's half the image width and braille characters are 2 "pixels" wide.

Modern browsers assume tabs to be 2 spaces wide, unlike terminals which assume 8-wide tabs, therefore the ATO link will look pretty bad. here's a screenshot from my terminal with the default 8: enter image description here

JavaScript (ES6), 975 bytes

-9 bytes thanks to Daniël van den Berg

This encodes the 64 custom tiles of 8x8 pixels used in the original C64 version and the grid of 25 rows and 15 columns filled with these tiles.

Everything is stored into a single array of 15*25 + 64*8 = 887 bytes, encoded in base64 and compressed by shortening runs of consecutive A's.

s=atob(`(ECAw.QFBgc-gJCgs-wN 4.PABAR-S!EEw)BQVFg!BcY)ZGg!Bsc*HR4AHy,ISIAIyQ+EQQlJico+CM Ck,CMAKisY/Cwt,QALi8/ETAx/DIz&IwQANBE1BDY%QABDcj-4OQ,EQA6/Ds8.BD0+ESMAPiM+B!Pw/'pABACE oEhqpKpRqlWkFTsVbjXbbdYAQ&FJVAKIIpBGIu9VttFCo8qg QEBAwIBCiCASKBQqKKoVZRVSlVKEqXUaqqrVa0BlAEBBQADAQEDEkgE E"CiiUMGBgQNAIDAgYEDBQYUChyEGg"wYED-QQ"IEIogCo QUCFF gAFIgCSASIAQQCqQSpIoSqQR JACgEkCgIIMEC)EDAwYqkUikEYBUABGKJBKJJJUg B"QSgEEDAQNBAIDARVAFUAiCEABAQABAgABEAKAQCAgEBAIBADAQCAwCAUCJI EE C!BEAIAi!gAE'wEDBgQGDQhE!RQ IgIIQAIIAC gFGiiwEigoG#BAwEBAbDYqPQ2CwUBQIACKIEI ECAQTQWGqggSBEACCAQKkkDQcOBQYD C ggg h DAaKRwpKnRS7aDUoZCkQJ"EDAgMDBkFAhFCAqIDQBwUHAgcGAgM#kQ R"BIAgCoASKLQKRQC"IAGAEAQBAEI B QARAhCAIAQQCAQCQQSgAKhAKC!IIABUIRABAUEAgEB CQIlAkEQgFCI UAKgiEBSICoQCQQK I`.replace(/\W/g,c=>"A".repeat(c[C="charCodeAt"]()-30)));document.write`<canvas id=c height=200>`;c=c.getContext`2d`;for(y=200;y--;)for(x=120;x--;)c.fillRect(x,y,1,1,c.fillStyle=s[C](375+s[C]((y>>3)*15+x/8)*8+y%8)>>x%8&1?"#FF0":"#000")

Encoder

"use strict";

// turn the data provided in the challenge into a list of [x,y] coordinates
let DATA = getData(),
    coord = [];

for(let n = 0; n < DATA.length; n += 2) {
  coord.push([ DATA[n], DATA[n + 1] ]);
}

// extract all the tiles
let tile = [];

coord.forEach(([x, y]) => {
  // the coordinates provided in the challenge are not aligned with the grid
  // we have to shift x by 2 pixels
  x += 2;

  let X = x >> 3,
      Y = y >> 3;

  tile[Y] = tile[Y] || [...Array(15)].map(_ => [ 0, 0, 0, 0, 0, 0, 0, 0 ]);
  tile[Y][X][y & 7] |= 1 << (x & 7);
});

// save the distinct tiles into tileMap and turn tile[] into
// the tile grid, filled with tile indices in tileMap
let tileMap = new Map,
    id = 0;

tile.forEach((c, y) => {
  c.forEach((a, x) => {
    let key = a.map(v => v.toString(16).padStart(2, "0")).join("");

    if(!tileMap.has(key)) {
      tileMap.set(key, id++);
    }
    tile[y][x] = tileMap.get(key);
  });
});

// convert the keys of tileMap into an array of bytes
let tileData = [...tileMap].map(a => a[0]).join("").match(/../g).map(s => parseInt(s, 16));

// put the grid and the tile data into a single array of bytes
let bytes = [ ...tile.flat(), ...tileData ]

// convert it to base64
let base64 = Buffer.from(bytes).toString("base64").replace(/=/g, "");

// compress by replacing sequences of A's with characters in the range [32..47]
let packed = base64.replace(/A{2,17}/g, s => String.fromCharCode(32 + s.length - 2));

console.log(packed);

function getData() {
  return [
    65,0,68,0,70,0,72,0,74,0,56,1,59,1,61,1,63,1,65,1,67,1,68,1,70,1,71,1,73,1,74,1,75,1,64,2,67,2,69,2,70,
    2,72,2,74,2,60,3,63,3,65,3,67,3,69,3,71,3,72,3,73,3,75,3,76,3,57,4,62,4,66,4,68,4,70,4,72,4,74,4,75,4,60,
    5,63,5,65,5,67,5,69,5,70,5,71,5,73,5,74,5,76,5,77,5,62,6,64,6,66,6,68,6,70,6,72,6,73,6,75,6,76,6,59,7,61,
    7,64,7,67,7,69,7,71,7,72,7,74,7,76,7,77,7,63,8,66,8,68,8,70,8,71,8,73,8,74,8,75,8,77,8,60,9,62,9,64,9,66,
    9,68,9,70,9,72,9,74,9,76,9,77,9,78,9,70,10,72,10,73,10,75,10,76,10,78,10,63,11,67,11,69,11,72,11,74,11,75,
    11,77,11,78,11,65,12,74,12,76,12,78,12,79,12,64,13,67,13,69,13,73,13,75,13,77,13,79,13,62,14,66,14,71,14,
    74,14,75,14,76,14,77,14,78,14,65,15,69,15,73,15,75,15,77,15,79,15,81,15,59,16,62,16,64,16,66,16,68,16,72,
    16,74,16,76,16,77,16,78,16,61,17,64,17,66,17,69,17,71,17,73,17,75,17,76,17,78,17,57,18,60,18,62,18,64,18,
    66,18,68,18,71,18,73,18,75,18,77,18,78,18,80,18,59,19,61,19,63,19,65,19,68,19,70,19,71,19,73,19,75,19,77,
    19,58,20,60,20,62,20,64,20,66,20,68,20,70,20,72,20,74,20,76,20,78,20,79,20,57,21,59,21,61,21,63,21,65,21,
    68,21,70,21,72,21,73,21,75,21,77,21,78,21,55,22,59,22,61,22,63,22,66,22,70,22,78,22,57,23,59,23,61,23,62,
    23,64,23,67,23,69,23,72,23,74,23,77,23,78,23,79,23,55,24,58,24,63,24,79,24,57,25,60,25,63,25,65,25,69,25,
    78,25,79,25,56,26,62,26,64,26,67,26,79,26,64,27,65,27,79,27,80,27,54,28,65,28,66,28,80,28,65,29,66,29,80,
    29,81,29,66,30,80,30,82,30,64,31,66,31,67,31,81,31,82,31,66,32,68,32,82,32,83,32,65,33,67,33,83,33,84,33,
    63,34,66,34,67,34,68,34,84,34,66,35,84,35,85,35,65,36,67,36,68,36,88,38,90,39,92,41,94,41,94,42,96,42,67,
    43,95,43,63,44,68,44,96,44,98,44,65,45,67,45,98,45,100,45,69,46,63,47,65,47,67,47,101,47,54,48,68,48,70,
    48,74,48,103,48,57,49,60,49,63,49,65,49,67,49,105,49,61,50,66,50,69,50,71,50,106,50,107,50,56,51,59,51,63,
    51,65,51,68,51,76,51,108,51,61,52,63,52,66,52,69,52,71,52,73,52,109,52,110,52,57,53,60,53,65,53,67,53,70,
    53,110,53,111,53,61,54,63,54,65,54,68,54,72,54,75,54,110,54,111,54,58,55,64,55,67,55,69,55,71,55,73,55,
    111,55,112,55,63,56,65,56,67,56,70,56,74,56,112,56,62,57,66,57,69,57,71,57,73,57,77,57,112,57,113,57,65,
    58,68,58,72,58,75,58,108,58,112,58,64,59,67,59,69,59,71,59,74,59,110,59,112,59,113,59,62,60,66,60,70,60,
    73,60,77,60,112,60,69,61,72,61,75,61,106,61,111,61,64,62,66,62,68,62,70,62,72,62,74,62,77,62,103,62,105,
    62,108,62,110,62,111,62,75,63,102,63,110,63,70,64,72,64,74,64,78,64,101,64,76,65,100,65,108,65,109,65,70,
    66,72,66,74,66,78,66,99,66,108,66,76,67,79,67,99,67,107,67,71,68,75,68,98,68,106,68,107,68,73,69,78,69,98,
    69,105,69,76,70,82,70,97,70,102,70,104,70,70,71,79,71,96,71,103,71,72,72,75,72,102,72,103,72,77,73,80,73,
    96,73,102,73,84,74,102,74,103,74,74,75,81,75,103,75,104,75,76,76,79,76,104,76,83,77,103,77,104,77,73,78,
    102,78,104,78,105,78,79,79,105,79,88,80,92,80,95,80,101,80,104,80,106,80,84,81,98,81,105,81,107,81,108,
    81,103,82,107,82,109,82,86,83,90,83,95,83,101,83,108,83,109,83,110,83,92,84,105,84,108,84,110,84,111,84,
    97,85,107,85,109,85,110,85,72,86,89,86,107,86,109,86,110,86,74,87,93,87,99,87,107,87,108,87,110,87,106,
    88,107,88,109,88,80,89,105,89,106,89,108,89,109,89,105,90,107,90,109,90,104,91,106,91,107,91,108,91,109,
    91,103,92,104,92,106,92,107,92,102,93,103,93,105,93,102,94,104,94,102,95,100,96,103,96,80,97,101,97,102,
    97,95,98,104,98,97,99,99,99,106,99,108,99,109,99,94,100,101,100,105,100,106,100,108,100,110,100,97,101,
    103,101,105,101,107,101,108,101,110,101,111,101,107,102,109,102,110,102,111,102,94,103,102,103,109,103,
    111,103,112,103,107,104,110,104,112,104,113,104,104,105,108,105,110,105,111,105,112,105,111,106,112,106,
    113,106,107,107,110,107,112,107,109,108,111,108,112,108,108,109,110,109,111,109,102,110,105,110,107,110,
    109,110,104,111,107,111,101,112,106,112,107,112,84,113,95,113,103,113,105,113,106,113,97,114,102,114,105,
    114,107,114,99,115,104,115,105,115,106,115,102,116,105,116,107,116,97,117,103,117,105,117,107,117,100,
    118,104,118,106,118,107,118,108,118,103,119,106,119,108,119,102,120,104,120,105,120,107,120,108,120,109,
    120,107,121,109,121,104,122,106,122,108,122,109,122,110,122,102,123,107,123,109,123,110,123,111,123,106,
    124,109,124,111,124,104,125,107,125,109,125,110,125,111,125,96,126,108,126,110,126,111,126,98,127,106,127,
    109,127,111,127,112,127,102,128,108,128,110,128,111,128,112,128,108,129,110,129,112,129,104,130,109,130,
    110,130,111,130,112,130,106,131,108,131,111,131,109,132,110,132,111,132,112,132,105,133,107,133,109,133,
    111,133,112,133,109,134,111,134,106,135,108,135,109,135,110,135,111,135,105,136,108,136,48,137,60,137,
    100,137,103,137,107,137,109,137,106,138,108,138,109,138,87,139,90,139,102,139,105,139,107,139,70,140,74,
    140,77,140,104,140,106,140,93,141,103,141,80,142,87,142,89,142,91,142,72,143,76,143,82,143,36,145,52,145,
    59,145,64,145,54,146,61,147,58,148,56,149,54,150,39,152,44,152,48,152,53,152,51,153,49,154,42,155,46,155,
    48,156,44,157,47,157,40,158,46,158,44,159,42,160,45,160,38,161,44,161,41,162,43,162,39,164,41,164,43,164,
    42,165,24,166,39,166,41,166,26,167,41,167,40,168,38,169,40,169,35,170,40,170,37,171,39,171,30,172,38,172,
    34,173,36,173,38,173,32,174,37,174,36,175,34,176,37,176,28,177,31,177,35,177,34,178,36,178,32,179,35,179,
    30,180,34,180,33,181,30,182,32,182,33,183,29,184,8,185,32,185,26,186,28,186,23,187,27,188,29,188,25,189,
    29,189,0,190,28,190,2,191,23,191,26,191,28,191,27,192,4,193,23,193,25,193,27,193,26,194,22,195,25,195,24,
    196,23,197,25,197,23,199
  ];
}

Try it online!

JavaScript, 945 938 bytes

Here I again use image url from jdt answer, and it allows me to actually beat current JS record (989 bytes by Arnauld)

document.write("<img src=data:image/webp;base64,UklGRpICAABXRUJQVlA4TIUCAAAvccAxAA8w7qM+Z/MfeKCk7Z8iSfkiKqrJyrHAHXIcd9f/uKxwt6U77Cxw2I3uXU/RR8Bt5brmBv3k78fcIKL/E8DofVPk4z8t1Xhuqu04cb62/oEl2o5/b9LiwfO1S47fqLVvrtLuefAtjXhca5e8pJG/MS49ocVHb2usOJGlrWe+hTwcfky7b+/zSTr21WXIDzz4rXbivhekdmxjSDx/6R9S+4gmsWvFvLZu1jQmLSnBHBLMMdEKU20Jc9oZLNZ6zpHaBVSJwjXaeZz05BTHvseJpHTQEFsFpgI9cIYyoLceGMaCewq0MXb1AHlsOLRg8djnp1Wgju07lIFnxk7bDjA/tu+0mVaOZ6Clkba9AIzFoRULJiOcNgNqGjtegJiMxMYVAGmEYQZ8xPiDq6F9JdBBhBCbYECtUK8RYhN0VWAHdJ3QOiiLBdZDyUotrE9CNHgfdQbz0pBYJ1GZl0qmJWUHINHRpAwxURqQFdg5TKVKOU+CdokUHw2vSlS+0sjPKomMVBi6R5SFV0gJbpKAy5w7jbbEmM9GJAdzh5Z4RqORNPobtBge0vjgJ4O/tYh9SYKtE+PLZLSJsTUZ+5wv0OMyg5kxLJZqa3MSrO+N7hQjeuMDp15otDOMuN3gEuctI/42OOT8Y6QvjHIoafGFwT3OL84ezJ+TccLZh/mfc9pIqgt2XDIyeoPUSvRCrAKmAjA05Pd75FML/3eldkmBwB2c4iQjOJmtLtegc7KxETcZOzDXOdVZZUQ16B239QZFSy1rBQOSEU7n7EOPMHjAWe5UZ5WxozM4w5kZUQyyEckgGwNygiTBGegN9xJnhZSgSoV2hgR0UqX1ElCMyAbJaNmwmwYA")

CSS, 928 925 bytes

This answer based on jdt answer (I use his image url)

*{content:url(data:image/webp;base64,UklGRpICAABXRUJQVlA4TIUCAAAvccAxAA8w7qM+Z/MfeKCk7Z8iSfkiKqrJyrHAHXIcd9f/uKxwt6U77Cxw2I3uXU/RR8Bt5brmBv3k78fcIKL/E8DofVPk4z8t1Xhuqu04cb62/oEl2o5/b9LiwfO1S47fqLVvrtLuefAtjXhca5e8pJG/MS49ocVHb2usOJGlrWe+hTwcfky7b+/zSTr21WXIDzz4rXbivhekdmxjSDx/6R9S+4gmsWvFvLZu1jQmLSnBHBLMMdEKU20Jc9oZLNZ6zpHaBVSJwjXaeZz05BTHvseJpHTQEFsFpgI9cIYyoLceGMaCewq0MXb1AHlsOLRg8djnp1Wgju07lIFnxk7bDjA/tu+0mVaOZ6Clkba9AIzFoRULJiOcNgNqGjtegJiMxMYVAGmEYQZ8xPiDq6F9JdBBhBCbYECtUK8RYhN0VWAHdJ3QOiiLBdZDyUotrE9CNHgfdQbz0pBYJ1GZl0qmJWUHINHRpAwxURqQFdg5TKVKOU+CdokUHw2vSlS+0sjPKomMVBi6R5SFV0gJbpKAy5w7jbbEmM9GJAdzh5Z4RqORNPobtBge0vjgJ4O/tYh9SYKtE+PLZLSJsTUZ+5wv0OMyg5kxLJZqa3MSrO+N7hQjeuMDp15otDOMuN3gEuctI/42OOT8Y6QvjHIoafGFwT3OL84ezJ+TccLZh/mfc9pIqgt2XDIyeoPUSvRCrAKmAjA05Pd75FML/3eldkmBwB2c4iQjOJmtLtegc7KxETcZOzDXOdVZZUQ16B239QZFSy1rBQOSEU7n7EOPMHjAWe5UZ5WxozM4w5kZUQyyEckgGwNygiTBGegN9xJnhZSgSoV2hgR0UqX1ElCMyAbJaNmwmwYA

HTML + JavaScript, 13+1015=1028 bytes

<canvas id=c>
`¾ ¿ Á ¹ à »¿ÁÅÇ ¦Ä ½ÁÃÅ §º¿Â ¼ÀÁ ±º¾¿ ¸¼½ ¬´¶ ± ®³¶¹ µ· ­°²´ ª±³ ‘­¯² «®° ¡©¬­ ˜¤¦« ž¨©ª ¢¤¦§ › ¥ ¢¤ ˜Ÿ¡   ›ž  ‰˜œ š ™ ‘ ˜ 0’–  3• 15 7” 3‘    15‰ 246“    9< ",/13468     
7;>‘ !$-/13568:      "#249<> 
!"$+-/1578;      "$,036:> 
.2479;=     
058<>@BGŒ 2479;D    
6:=>@BHV 

479<EN  08;>@BKWŒ 

6:=?DH  
3ACFL   
9<>IŒ   
@BE 
CGLO IYaŽ K  F  !M !"#JQq # S ‹Ž &P VŽ 'S‹ Ž )PT W )*dg +PSbq *,GI~ FUceru ,-DEQ BCWcs -A\`v‰ /@PSadp ?FHIJN]^_agnrtx{€‹ 0>GHJKMR\\]\`equw‰ FKLMNP[\\^biosvxz}‚Œ 1>ENOQTYZ]denqrstux…ˆ‹ 2=DPXY[\\cdpqsvwz|ƒ‡ŠŒ 2CDQRUVWXZ[\\efhknoprtuvxy{}…‰‹ 3:>ABQSTWY[cdeimvwxz~€ƒ‡ˆŠ 4ARSUVXYZ[cfglnxyz{|}‚„…†‡‰Š 456;>?STUVWdefhikmz{}~€‚„‡ 567=>Tefgijlm{|}~€‚ƒ„…†‡ 789:;<ghijkl€‚„… 9;hj`.split` `.map((a,x)=>[...a].map(y=>c.fillRect(x,y.charCodeAt(),1,1)),c.height=199,c=c.getContext`2d`)

Try it on Codepen