From a785422049d152dc7ce31a66301f07cc6a76ddcc Mon Sep 17 00:00:00 2001 From: "Peter D. Gray" Date: Mon, 29 Jan 2024 15:07:44 -0500 Subject: [PATCH] Remove more mk3 files --- graphics/Makefile | 8 ++------ graphics/compress.py | 2 +- graphics/cylon.py | 3 +++ graphics/graphics.py | 27 --------------------------- graphics/graphics_mk4.py | 20 ++++++++++++++++++++ graphics/graphics_q1.py | 4 ++-- graphics/icon-samples.png | Bin 5364 -> 5301 bytes shared/display.py | 2 +- shared/graphics.py | 1 - shared/manifest_mk3.py | 13 ------------- shared/manifest_mk4.py | 3 +-- shared/manifest_q1.py | 1 - 12 files changed, 30 insertions(+), 54 deletions(-) delete mode 100644 graphics/graphics.py delete mode 120000 shared/graphics.py delete mode 100644 shared/manifest_mk3.py diff --git a/graphics/Makefile b/graphics/Makefile index 6eea5666..529ce6c4 100644 --- a/graphics/Makefile +++ b/graphics/Makefile @@ -1,14 +1,10 @@ # (c) Copyright 2018 by Coinkite Inc. This file is covered by license found in COPYING-CC. -all: graphics.py graphics_mk4.py graphics_q1.py +all: graphics_mk4.py graphics_q1.py -SOURCES = $(filter-out mono/mk4_%, $(wildcard mono/*.txt) $(wildcard mono/*.png)) -MK4_SOURCES = $(wildcard mono/mk4_*.txt) $(wildcard mono/mk4_*.png) +MK4_SOURCES = $(wildcard mono/*.txt) $(wildcard mono/*.png) Q1_SOURCES = colour/*.??? -graphics.py: Makefile $(SOURCES) build.py - ./build.py graphics.py $(SOURCES) - graphics_mk4.py: Makefile $(MK4_SOURCES) build.py ./build.py graphics_mk4.py $(MK4_SOURCES) diff --git a/graphics/compress.py b/graphics/compress.py index faf6a84f..3a157c89 100755 --- a/graphics/compress.py +++ b/graphics/compress.py @@ -102,7 +102,7 @@ def make_icons(): ( 'bat_1', False, '\uf243', dict(col='yellow', y=-1)), ( 'bat_2', False, '\uf242', dict(col='amber', y=-1)), ( 'bat_3', False, '\uf240', dict(col='amber', y=-1)), - ( 'plugged', False, '\uf1e6', dict(col='amber', x=3, w=16)), # to match width of bat_* + ( 'plugged', False, '\uf1e6', dict(col='amber', x=3, w=16, y=-2)), # to match width of bat_* #( 'locked', False, '\uf023', dict(col='green')), #( 'unlocked', False, '\uf3c1', dict(col='green')), # why tho? ] diff --git a/graphics/cylon.py b/graphics/cylon.py index 90fc1444..91278c6f 100644 --- a/graphics/cylon.py +++ b/graphics/cylon.py @@ -1,4 +1,7 @@ #!/usr/bin/env python3 +# +# Generate some data for hsm_ux.py animation +# from math import sin, pi from collections import Counter diff --git a/graphics/graphics.py b/graphics/graphics.py deleted file mode 100644 index 4cf17395..00000000 --- a/graphics/graphics.py +++ /dev/null @@ -1,27 +0,0 @@ -# autogenerated; don't edit -# -class Graphics: - # (w,h, w_bytes, wbits, data) - - arrow_down = (7, 11, 1, 0, b'\x10\x10\x10\x10\x10\x10\x10\xfe|8\x10') - - arrow_up = (7, 11, 1, 0, b'\x108|\xfe\x10\x10\x10\x10\x10\x10\x10') - - box = (13, 21, 2, 0, b'?\xe0@\x10\x80\x08\x80\x08\x80\x08\x80\x08\x80\x08\x80\x08\x80\x08\x80\x08\x80\x08\x80\x08\x80\x08\x80\x08\x80\x08\x80\x08\x80\x08\x80\x08\x80\x08@\x10?\xe0') - - scroll = (3, 61, 1, 0, b'@\x00\x00@\x00\x00@\x00\x00@\x00\x00@\x00\x00@\x00\x00@\x00\x00@\x00\x00@\x00\x00@\x00\x00@\x00\x00@\x00\x00@\x00\x00@\x00\x00@\x00\x00@\x00\x00@\x00\x00@\x00\x00@\x00\x00@@\xe0@') - - selected = (15, 12, 2, 0, b'\x00\x00\x00\x00\x00\x06\x00\x0c\x00\x18\x0000`\x18\xc0\r\x80\x07\x00\x02\x00\x00\x00') - - sm_box = (11, 17, 2, 0, b'\xe4\xe0\x80 \x80 \x80 \x00\x00\x00\x00\x80 \x00\x00\x00\x00\x00\x00\x80 \x00\x00\x00\x00\x80 \x80 \x80 \xe4\xe0') - - space = (9, 2, 2, 0, b'\x80\x80\xff\x80') - - spin = (13, 36, 2, 0, b'\x02\x00\x07\x00\x0f\x80\x1f\xc0\x00\x00\x00\x00\x00\x00\xf2x\x80\x08\x80\x08\x80\x08\x00\x00\x00\x00\x80\x08\x00\x00\x00\x00\x00\x00\x80\x08\x00\x00\x00\x00\x00\x00\x80\x08\x00\x00\x00\x00\x80\x08\x80\x08\x80\x08\xf2x\x00\x00\x00\x00\x00\x00\x1f\xc0\x0f\x80\x07\x00\x02\x00\x00\x00') - - wedge = (6, 11, 1, 0, b'\x00\x00\xc0\xe0p8\x1c8p\xe0\xc0') - - xbox = (13, 21, 2, 0, b'?\xe0b0\x88\x88\xa2(\x88\x88\xa2(\x88\x88\xa2(\x88\x88\xa2(\x88\x88\xa2(\x88\x88\xa2(\x88\x88\xa2(\x88\x88\xa2(\x88\x88b0?\xe0') - - -# EOF diff --git a/graphics/graphics_mk4.py b/graphics/graphics_mk4.py index dc9ad22a..c2ca930d 100644 --- a/graphics/graphics_mk4.py +++ b/graphics/graphics_mk4.py @@ -3,6 +3,12 @@ class Graphics: # (w,h, w_bytes, wbits, data) + arrow_down = (7, 11, 1, 0, b'\x10\x10\x10\x10\x10\x10\x10\xfe|8\x10') + + arrow_up = (7, 11, 1, 0, b'\x108|\xfe\x10\x10\x10\x10\x10\x10\x10') + + box = (13, 21, 2, 0, b'?\xe0@\x10\x80\x08\x80\x08\x80\x08\x80\x08\x80\x08\x80\x08\x80\x08\x80\x08\x80\x08\x80\x08\x80\x08\x80\x08\x80\x08\x80\x08\x80\x08\x80\x08\x80\x08@\x10?\xe0') + mk4_nfc_1 = (126, 49, 16, 0, b'\x00\x7f\xff\xff\xff\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x00\x03\xff\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x00\x03\xcf\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x00\x03\xcf\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x00\x03\xff\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x00\x03\xff\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x00\x03\xff\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x00\x03\xff\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x00\x03\xcf\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x00\x03\xcf\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x00\x03\xff\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x0e\x00\xe0\x0e\x03\xff\xff\xff\xff\xff\xff\xff\xff\x80\x00\xe0\x0e\x00\xe0\x0e\x07\xff\xff\xff\xff\xff\xff\xff\xff\xe0\x00\xe0\x0e\x00\xe0\x0e\x1f\xff\xff\xff\xff\xff\xff\xff\xff\xf0\x00\xe0\x0e\x00\xe0\x0e0\x00\x00\x00\x00\x00\x00\x00\x7f\xf0\x00\xff\xff\xff\xff\xfe0\x00\x00\x00\x00\x00\x00\x00\x7f\xf0\x00\xff\xff\xff\xff\xfe0\x00\x00\x00\x00\x00\x00\x00\x7f\xf0\x00\xff\xff\xff\xff\xfe0\x00\x00\x00\x00\x00\x00\x00\x7f\xf0\x00\xff\xff\xff\xff\xfe0\x00\x00\x00\x00\x00\x00\x00\x7f\xf0\x00\xe0\x0e\x00\xe0\x0e0\x00 G\xe3\xe0\x00\x00\x7f\xf0\x00\xe0\x0e\x00\xe0\x0e0\x00 G\xe3\xe0\x00\x00\x7f\xf0\x00\xe0\x0e\x00\xe0\x0e0\x000D\x04\x10\x00\x00\x7f\xf0\x00\xe0\x0e\x00\xe0\x0e0\x000D\x04\x10\x00\x00\x7f\xf0\x00\xff\xff\xff\xff\xfe0\x00(D\x04\x00\x00\x00\x7f\xf0\x00\xff\xff\xff\xff\xfe0\x00(D\x04\x00\x00\x00xp\x00\xff\xff\xff\xff\xfe0\x00$G\xe4\x00\x00\x00xp\x00\xff\xff\xff\xff\xfe0\x00$G\xe4\x00\x00\x00xp\x00\xe0\x0e\x00\xe0\x0e0\x00"D\x04\x00\x00\x00xp\x00\xe0\x0e\x00\xe0\x0e0\x00"D\x04\x00\x00\x00xp\x00\xe0\x0e\x00\xe0\x0e0\x00 \xc4\x04\x00\x00\x00\x7f\xf0\x00\xe0\x0e\x00\xe0\x0e0\x00 \xc4\x04\x00\x00\x00\x7f\xf0\x00\xff\xff\xff\xff\xfe0\x00 D\x04\x10\x00\x00\x7f\xf0\x00\xff\xff\xff\xff\xfe0\x00 D\x04\x10\x00\x00\x7f\xf0\x00\xff\xff\xff\xff\xfe0\x00 D\x03\xe0\x00\x00\x7f\xf0\x00\xff\xff\xff\xff\xfe0\x00 D\x03\xe0\x00\x00\x7f\xf0\x00\xe0\x0e\x00\xe0\x0e0\x00\x00\x00\x00\x00\x00\x00\x7f\xf0\x00\xe0\x0e\x00\xe0\x0e0\x00\x00\x00\x00\x00\x00\x00\x7f\xf0\x00\xe0\x0e\x00\xe0\x0e0\x00\x00\x00\x00\x00\x00\x00\x7f\xf0\x00\xe0\x0e\x00\xe0\x0e?\xff\xff\xff\xff\xff\xff\xff\xff\xe0\x00\xff\xff\xff\xff\xfe\x1f\xff\xff\xff\xff\xff\xff\xff\xff\xc0\x00\xff\xff\xff\xff\xfe\x0f\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x7f\xff\xff\xff\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00?\xff\xff\xff\xf8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') mk4_nfc_2 = (118, 49, 15, 0, b'\x00\x7f\xff\xff\xff\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x00\x03\xff\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x00\x03\xcf\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x00\x03\xcf\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x00\x03\xff\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x00\x03\xff\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x00\x03\xff\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x00\x03\xff\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x00\x03\xcf\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x00\x03\xcf\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x00\x03\xff\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x0e\x00\xe0\x03\xff\xff\xff\xff\xff\xff\xff\xff\x80\x00\xe0\x0e\x00\xe0\x07\xff\xff\xff\xff\xff\xff\xff\xff\xe0\x00\xe0\x0e\x00\xe0\x1f\xff\xff\xff\xff\xff\xff\xff\xff\xf0\x00\xe0\x0e\x00\xe00\x00\x00\x00\x00\x00\x00\x00\x7f\xf0\x00\xff\xff\xff\xff0\x00\x00\x00\x00\x00\x00\x00\x7f\xf0\x00\xff\xff\xff\xff0\x00\x00\x00\x00\x00\x00\x00\x7f\xf0\x00\xff\xff\xff\xff0\x00\x00\x00\x00\x00\x00\x00\x7f\xf0\x00\xff\xff\xff\xff0\x00\x00\x00\x00\x00\x00\x00\x7f\xf0\x00\xe0\x0e\x00\xe00\x00 G\xe3\xe0\x00\x00\x7f\xf0\x00\xe0\x0e\x00\xe00\x00 G\xe3\xe0\x00\x00\x7f\xf0\x00\xe0\x0e\x00\xe00\x000D\x04\x10\x00\x00\x7f\xf0\x00\xe0\x0e\x00\xe00\x000D\x04\x10\x00\x00\x7f\xf0\x00\xff\xff\xff\xff0\x00(D\x04\x00\x00\x00\x7f\xf0\x00\xff\xff\xff\xff0\x00(D\x04\x00\x00\x00xp\x00\xff\xff\xff\xff0\x00$G\xe4\x00\x00\x00xp\x00\xff\xff\xff\xff0\x00$G\xe4\x00\x00\x00xp\x00\xe0\x0e\x00\xe00\x00"D\x04\x00\x00\x00xp\x00\xe0\x0e\x00\xe00\x00"D\x04\x00\x00\x00xp\x00\xe0\x0e\x00\xe00\x00 \xc4\x04\x00\x00\x00\x7f\xf0\x00\xe0\x0e\x00\xe00\x00 \xc4\x04\x00\x00\x00\x7f\xf0\x00\xff\xff\xff\xff0\x00 D\x04\x10\x00\x00\x7f\xf0\x00\xff\xff\xff\xff0\x00 D\x04\x10\x00\x00\x7f\xf0\x00\xff\xff\xff\xff0\x00 D\x03\xe0\x00\x00\x7f\xf0\x00\xff\xff\xff\xff0\x00 D\x03\xe0\x00\x00\x7f\xf0\x00\xe0\x0e\x00\xe00\x00\x00\x00\x00\x00\x00\x00\x7f\xf0\x00\xe0\x0e\x00\xe00\x00\x00\x00\x00\x00\x00\x00\x7f\xf0\x00\xe0\x0e\x00\xe00\x00\x00\x00\x00\x00\x00\x00\x7f\xf0\x00\xe0\x0e\x00\xe0?\xff\xff\xff\xff\xff\xff\xff\xff\xe0\x00\xff\xff\xff\xff\x1f\xff\xff\xff\xff\xff\xff\xff\xff\xc0\x00\xff\xff\xff\xff\x0f\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x7f\xff\xff\xff\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00?\xff\xff\xff\xf8\x00\x00\x00\x00\x00\x00\x00\x00\x00') @@ -11,5 +17,19 @@ class Graphics: mk4_nfc_4 = (102, 49, 13, 0, b'\x00\x7f\xff\xff\xff\xfc\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xfe\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xfe\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x00\x03\xff\xfe\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x00\x03\xcf\xfe\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x00\x03\xcf\xfe\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x00\x03\xff\xfe\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x00\x03\xff\xfe\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x00\x03\xff\xfe\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x00\x03\xff\xfe\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x00\x03\xcf\xfe\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x00\x03\xcf\xfe\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x00\x03\xff\xfe\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xfe\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xfe\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xfe\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x0e\x03\xff\xff\xff\xff\xff\xff\xff\xff\x80\x00\xe0\x0e\x07\xff\xff\xff\xff\xff\xff\xff\xff\xe0\x00\xe0\x0e\x1f\xff\xff\xff\xff\xff\xff\xff\xff\xf0\x00\xe0\x0e0\x00\x00\x00\x00\x00\x00\x00\x7f\xf0\x00\xff\xff\xb0\x00\x00\x00\x00\x00\x00\x00\x7f\xf0\x00\xff\xff\xb0\x00\x00\x00\x00\x00\x00\x00\x7f\xf0\x00\xff\xff\xb0\x00\x00\x00\x00\x00\x00\x00\x7f\xf0\x00\xff\xff\xb0\x00\x00\x00\x00\x00\x00\x00\x7f\xf0\x00\xe0\x0e0\x00 G\xe3\xe0\x00\x00\x7f\xf0\x00\xe0\x0e0\x00 G\xe3\xe0\x00\x00\x7f\xf0\x00\xe0\x0e0\x000D\x04\x10\x00\x00\x7f\xf0\x00\xe0\x0e0\x000D\x04\x10\x00\x00\x7f\xf0\x00\xff\xff\xb0\x00(D\x04\x00\x00\x00\x7f\xf0\x00\xff\xff\xb0\x00(D\x04\x00\x00\x00xp\x00\xff\xff\xb0\x00$G\xe4\x00\x00\x00xp\x00\xff\xff\xb0\x00$G\xe4\x00\x00\x00xp\x00\xe0\x0e0\x00"D\x04\x00\x00\x00xp\x00\xe0\x0e0\x00"D\x04\x00\x00\x00xp\x00\xe0\x0e0\x00 \xc4\x04\x00\x00\x00\x7f\xf0\x00\xe0\x0e0\x00 \xc4\x04\x00\x00\x00\x7f\xf0\x00\xff\xff\xb0\x00 D\x04\x10\x00\x00\x7f\xf0\x00\xff\xff\xb0\x00 D\x04\x10\x00\x00\x7f\xf0\x00\xff\xff\xb0\x00 D\x03\xe0\x00\x00\x7f\xf0\x00\xff\xff\xb0\x00 D\x03\xe0\x00\x00\x7f\xf0\x00\xe0\x0e0\x00\x00\x00\x00\x00\x00\x00\x7f\xf0\x00\xe0\x0e0\x00\x00\x00\x00\x00\x00\x00\x7f\xf0\x00\xe0\x0e0\x00\x00\x00\x00\x00\x00\x00\x7f\xf0\x00\xe0\x0e?\xff\xff\xff\xff\xff\xff\xff\xff\xe0\x00\xff\xff\x9f\xff\xff\xff\xff\xff\xff\xff\xff\xc0\x00\xff\xff\x8f\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x7f\xff\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00?\xff\xff\xff\xf8\x00\x00\x00\x00\x00\x00\x00') + scroll = (3, 61, 1, 0, b'@\x00\x00@\x00\x00@\x00\x00@\x00\x00@\x00\x00@\x00\x00@\x00\x00@\x00\x00@\x00\x00@\x00\x00@\x00\x00@\x00\x00@\x00\x00@\x00\x00@\x00\x00@\x00\x00@\x00\x00@\x00\x00@\x00\x00@@\xe0@') + + selected = (15, 12, 2, 0, b'\x00\x00\x00\x00\x00\x06\x00\x0c\x00\x18\x0000`\x18\xc0\r\x80\x07\x00\x02\x00\x00\x00') + + sm_box = (11, 17, 2, 0, b'\xe4\xe0\x80 \x80 \x80 \x00\x00\x00\x00\x80 \x00\x00\x00\x00\x00\x00\x80 \x00\x00\x00\x00\x80 \x80 \x80 \xe4\xe0') + + space = (9, 2, 2, 0, b'\x80\x80\xff\x80') + + spin = (13, 36, 2, 0, b'\x02\x00\x07\x00\x0f\x80\x1f\xc0\x00\x00\x00\x00\x00\x00\xf2x\x80\x08\x80\x08\x80\x08\x00\x00\x00\x00\x80\x08\x00\x00\x00\x00\x00\x00\x80\x08\x00\x00\x00\x00\x00\x00\x80\x08\x00\x00\x00\x00\x80\x08\x80\x08\x80\x08\xf2x\x00\x00\x00\x00\x00\x00\x1f\xc0\x0f\x80\x07\x00\x02\x00\x00\x00') + + wedge = (6, 11, 1, 0, b'\x00\x00\xc0\xe0p8\x1c8p\xe0\xc0') + + xbox = (13, 21, 2, 0, b'?\xe0b0\x88\x88\xa2(\x88\x88\xa2(\x88\x88\xa2(\x88\x88\xa2(\x88\x88\xa2(\x88\x88\xa2(\x88\x88\xa2(\x88\x88\xa2(\x88\x88b0?\xe0') + # EOF diff --git a/graphics/graphics_q1.py b/graphics/graphics_q1.py index 0626280d..36cf4256 100644 --- a/graphics/graphics_q1.py +++ b/graphics/graphics_q1.py @@ -101,8 +101,8 @@ class Graphics: b'c`\xa0\x0c\xccv\xc0\r\xbb\x81\xf2\x7f\x1b\xce8\xac>\x80\r^i\xb8s\x00$\xef\xd9\x80\xdd\xe4,\x07\x98|\x14\x90D\x87\x96\x0eY\x0e\x7f\x1b\xf6PE^\x93\xa1\xea\x00:\x94h\xc8rx\xcb\x00\xd2Y\xe4\xa0\xc9\x80\rv\x1d\x80\xb8\x0f7\x04\xc9K4\xe0\x83\x0c\x0c\x00' ) - plugged = (16, 14, - b'c`\x80\x01K\x07\x01\x07\x08\xcb\x90A\xa1\x81\x01\x03\xfcmp\x84\x8a\x1eqh:@\xba\xfc\x19\x07K\xa8\xf9\x8b\x1b\xb2\x1cP\xe5<\x1b0\xa1\xc2\x01d\xb31a\x15\x92\xbc\x04\x90\xaf\x89d\xde\xea\x03\xb3Ql\x00\xc9\x1b"\xf17\xa3\xc9\x03mp\x08D2\xefJC\x15Z\x08l>p\xc4\x01\xe1\xda\xbf\x0e\x86h\xbeS8\xf0\x16\xe8\xef\xc0\x03\x96@\xbf\xffu\x98\x8c\xe9}\xa0\x8a\xcd@\x99\xbf\rw\x0e\x1490\xe0\x00Y\x0eo\x19\xf0\x81$\x86\'h!\x0b\x00' + plugged = (16, 13, + b"c`\x80\x81\xbf\r\x8e\r\x10\xd6\x11\x87\xa6\x03\x0c\x18\xe0\x8c\x83\xa5\x03\x84\xb5\xb8!\xcb\x01U\xce\xb3\x01\x13* \x99\xf1\xb7\x01\x13V!\xc9K\x00\xf9\x9aH\xe6\xad>0\x1b\xc5\x06\x90\xbc!\x12\x7f3\x9a<\xd0\x06\x87@$\xf3\xae4T5\xa0\xcao>p\xc4\x01\xe1\xda\xbf\x0e\x86h\xbeS8\xf0\x16\xe8\xef\xc0\x03\x96@\xbf\xffu\x98\x8c\xe9}\xa0\x8a\xcd@\x99\xbf\rw\x0e\x1490\xe0\x00Y\x0eo\x19\xf0\x81$\x86'\x07\xf0\xc9{6\xacFs7\x00" ) ch_0 = (5, 11, diff --git a/graphics/icon-samples.png b/graphics/icon-samples.png index 6adc93bee5a1a995451c10ec834375795ec5787a..f86ccfb3189210614b50203739cc54add68ae87f 100644 GIT binary patch literal 5301 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