From 3c650e6aef93f13b57b9821420986727a963a797 Mon Sep 17 00:00:00 2001 From: ARIA Date: Wed, 22 Jul 2026 07:20:13 +0000 Subject: [PATCH] Initial commit: PCC-Decoder (mit Xmax/Ymax-Bugfix), Notes, DOSBox-Config - tools/pcc_to_png.py: PCX-artiger Decoder fuer die 77 PCC-Vollbild-/Logo- Dateien, mit Fix fuer falsch gelesene Width/Height (muss aus Xmax-Xmin+1/ Ymax-Ymin+1 statt Offset 12-15 berechnet werden) - tools/split_pre.py: Extrahiert alle 181 Dateien aus PCKELL.PRE - png_out/: alle 77 konvertierten PNGs (Arbeitsergebnis, kein Original-Asset) - NOTES.md: vollstaendiger Analyse-Stand inkl. offener Punkte - dosbox/dosbox.conf: funktionierende Testkonfiguration (IRQ-Fix) Bewusst ausgeschlossen (.gitignore): raw/ und extracted_pre/, da Original- Spieldaten von Kellogg's Tony and Friends (1994), keine Weiterverbreitung. --- .gitignore | 4 + NOTES.md | 467 +++++++++++++++++++++++++++++++++++++++++++ dosbox/dosbox.conf | 15 ++ png_out/ANTS.png | Bin 0 -> 294 bytes png_out/CHOCOS.png | Bin 0 -> 1632 bytes png_out/CHOCOS10.png | Bin 0 -> 323 bytes png_out/CHOCOS2.png | Bin 0 -> 393 bytes png_out/CHOCOS3.png | Bin 0 -> 393 bytes png_out/CHOCOS4.png | Bin 0 -> 392 bytes png_out/CHOCOS5.png | Bin 0 -> 390 bytes png_out/CHOCOS6.png | Bin 0 -> 371 bytes png_out/CHOCOS7.png | Bin 0 -> 375 bytes png_out/CHOCOS8.png | Bin 0 -> 323 bytes png_out/CHOCOS9.png | Bin 0 -> 323 bytes png_out/COCO.png | Bin 0 -> 294 bytes png_out/FAC0.png | Bin 0 -> 412 bytes png_out/FAC1.png | Bin 0 -> 412 bytes png_out/FAC2.png | Bin 0 -> 412 bytes png_out/FAC3.png | Bin 0 -> 412 bytes png_out/FACTOR5.png | Bin 0 -> 29080 bytes png_out/FON_1.png | Bin 0 -> 575 bytes png_out/FON_1B.png | Bin 0 -> 566 bytes png_out/FON_2.png | Bin 0 -> 2195 bytes png_out/FRA_L.png | Bin 0 -> 322 bytes png_out/FRA_LO.png | Bin 0 -> 322 bytes png_out/FRA_LU.png | Bin 0 -> 322 bytes png_out/FRA_M.png | Bin 0 -> 322 bytes png_out/FRA_O.png | Bin 0 -> 322 bytes png_out/FRA_R.png | Bin 0 -> 322 bytes png_out/FRA_RO.png | Bin 0 -> 322 bytes png_out/FRA_RU.png | Bin 0 -> 322 bytes png_out/FRA_U.png | Bin 0 -> 322 bytes png_out/GAMEBAR.png | Bin 0 -> 820 bytes png_out/ITE0.png | Bin 0 -> 412 bytes png_out/ITE1.png | Bin 0 -> 412 bytes png_out/ITE2.png | Bin 0 -> 417 bytes png_out/ITE3.png | Bin 0 -> 408 bytes png_out/KARTE.png | Bin 0 -> 18292 bytes png_out/KARTE0.png | Bin 0 -> 405 bytes png_out/KARTE1.png | Bin 0 -> 346 bytes png_out/KARTE2.png | Bin 0 -> 405 bytes png_out/KARTE3.png | Bin 0 -> 346 bytes png_out/KARTE4.png | Bin 0 -> 465 bytes png_out/KARTE5.png | Bin 0 -> 462 bytes png_out/KARTE6.png | Bin 0 -> 446 bytes png_out/KARTE7.png | Bin 0 -> 449 bytes png_out/KARTE8.png | Bin 0 -> 1058 bytes png_out/KARTE9.png | Bin 0 -> 1177 bytes png_out/KELL256A.png | Bin 0 -> 17933 bytes png_out/KELL256B.png | Bin 0 -> 13981 bytes png_out/KELL256C.png | Bin 0 -> 16322 bytes png_out/KELL256D.png | Bin 0 -> 16322 bytes png_out/KELLOGGS.png | Bin 0 -> 3533 bytes png_out/MENU.png | Bin 0 -> 1232 bytes png_out/PARTY1.png | Bin 0 -> 1265 bytes png_out/PARTY2.png | Bin 0 -> 1434 bytes png_out/RAUSER1.png | Bin 0 -> 1121 bytes png_out/RAUSER2.png | Bin 0 -> 1078 bytes png_out/RAUSER3.png | Bin 0 -> 426 bytes png_out/SMACKS.png | Bin 0 -> 294 bytes png_out/TONY.png | Bin 0 -> 294 bytes png_out/TOUCAN.png | Bin 0 -> 294 bytes png_out/VIT1.png | Bin 0 -> 415 bytes png_out/VIT2.png | Bin 0 -> 415 bytes png_out/VIT3.png | Bin 0 -> 415 bytes png_out/VIT4.png | Bin 0 -> 415 bytes png_out/VIT5.png | Bin 0 -> 415 bytes png_out/VIT6.png | Bin 0 -> 415 bytes png_out/W1.png | Bin 0 -> 294 bytes png_out/W2.png | Bin 0 -> 311 bytes png_out/W3.png | Bin 0 -> 311 bytes png_out/WECH_1.png | Bin 0 -> 875 bytes png_out/WECH_2.png | Bin 0 -> 812 bytes png_out/WECH_3.png | Bin 0 -> 826 bytes png_out/WECH_4.png | Bin 0 -> 819 bytes png_out/WECH_5.png | Bin 0 -> 814 bytes png_out/WECH_6.png | Bin 0 -> 787 bytes png_out/WECH_7.png | Bin 0 -> 745 bytes png_out/WECH_8.png | Bin 0 -> 772 bytes png_out/WECH_9.png | Bin 0 -> 362 bytes tools/pcc_to_png.py | 105 ++++++++++ tools/split_pre.py | 99 +++++++++ 82 files changed, 690 insertions(+) create mode 100644 .gitignore create mode 100644 NOTES.md create mode 100644 dosbox/dosbox.conf create mode 100644 png_out/ANTS.png create mode 100644 png_out/CHOCOS.png create mode 100644 png_out/CHOCOS10.png create mode 100644 png_out/CHOCOS2.png create mode 100644 png_out/CHOCOS3.png create mode 100644 png_out/CHOCOS4.png create mode 100644 png_out/CHOCOS5.png create mode 100644 png_out/CHOCOS6.png create mode 100644 png_out/CHOCOS7.png create mode 100644 png_out/CHOCOS8.png create mode 100644 png_out/CHOCOS9.png create mode 100644 png_out/COCO.png create mode 100644 png_out/FAC0.png create mode 100644 png_out/FAC1.png create mode 100644 png_out/FAC2.png create mode 100644 png_out/FAC3.png create mode 100644 png_out/FACTOR5.png create mode 100644 png_out/FON_1.png create mode 100644 png_out/FON_1B.png create mode 100644 png_out/FON_2.png create mode 100644 png_out/FRA_L.png create mode 100644 png_out/FRA_LO.png create mode 100644 png_out/FRA_LU.png create mode 100644 png_out/FRA_M.png create mode 100644 png_out/FRA_O.png create mode 100644 png_out/FRA_R.png create mode 100644 png_out/FRA_RO.png create mode 100644 png_out/FRA_RU.png create mode 100644 png_out/FRA_U.png create mode 100644 png_out/GAMEBAR.png create mode 100644 png_out/ITE0.png create mode 100644 png_out/ITE1.png create mode 100644 png_out/ITE2.png create mode 100644 png_out/ITE3.png create mode 100644 png_out/KARTE.png create mode 100644 png_out/KARTE0.png create mode 100644 png_out/KARTE1.png create mode 100644 png_out/KARTE2.png create mode 100644 png_out/KARTE3.png create mode 100644 png_out/KARTE4.png create mode 100644 png_out/KARTE5.png create mode 100644 png_out/KARTE6.png create mode 100644 png_out/KARTE7.png create mode 100644 png_out/KARTE8.png create mode 100644 png_out/KARTE9.png create mode 100644 png_out/KELL256A.png create mode 100644 png_out/KELL256B.png create mode 100644 png_out/KELL256C.png create mode 100644 png_out/KELL256D.png create mode 100644 png_out/KELLOGGS.png create mode 100644 png_out/MENU.png create mode 100644 png_out/PARTY1.png create mode 100644 png_out/PARTY2.png create mode 100644 png_out/RAUSER1.png create mode 100644 png_out/RAUSER2.png create mode 100644 png_out/RAUSER3.png create mode 100644 png_out/SMACKS.png create mode 100644 png_out/TONY.png create mode 100644 png_out/TOUCAN.png create mode 100644 png_out/VIT1.png create mode 100644 png_out/VIT2.png create mode 100644 png_out/VIT3.png create mode 100644 png_out/VIT4.png create mode 100644 png_out/VIT5.png create mode 100644 png_out/VIT6.png create mode 100644 png_out/W1.png create mode 100644 png_out/W2.png create mode 100644 png_out/W3.png create mode 100644 png_out/WECH_1.png create mode 100644 png_out/WECH_2.png create mode 100644 png_out/WECH_3.png create mode 100644 png_out/WECH_4.png create mode 100644 png_out/WECH_5.png create mode 100644 png_out/WECH_6.png create mode 100644 png_out/WECH_7.png create mode 100644 png_out/WECH_8.png create mode 100644 png_out/WECH_9.png create mode 100644 tools/pcc_to_png.py create mode 100644 tools/split_pre.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..11f2ab9 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +# Original-Spieldateien (copyrighted, gehoeren nicht ins Repo) +raw/ +extracted_pre/ +*.ppm diff --git a/NOTES.md b/NOTES.md new file mode 100644 index 0000000..1f3802b --- /dev/null +++ b/NOTES.md @@ -0,0 +1,467 @@ +# Kellogg's Tony and Friends — Remake-Projekt, Analyse-Notizen + +## Ziel +Plattformunabhängiges Remake (Python) von "Kellogg's Tony and Friends" (DOS, 1994), +lauffähig auf x64 ohne DOS/QEMU. Ursprung: Spiel crasht in unserer FreeDOS-VM +(RTM.EXE-Engine vs. QEMU-VGA-Emulation, siehe Projekt "Classic Games" für den +Debug-Marathon dazu) — daher der Wunsch für ein eigenes Remake. + +## Quelldateien (aus VM-Disk `dos_shareware` extrahiert, liegen in `raw/`) +- `RTM.EXE` — die eigentliche Spiel-Engine (Runtime), DOS-EXE (MZ-Header), 108 KB. +- `START.EXE` / `SETUP.EXE` — Launcher/Konfigurationsprogramme. +- `KELLOGG.INI` — Soundkarten-Konfig (IRQ/DMA), irrelevant fürs Remake. +- `PCKELL.DAT` — 2,69 MB, **unkomprimiert**. Beginnt mit einer monoton + steigenden 16-Bit-LE-Offset-Tabelle (vermutlich Sprite-/Block-Offsets in + die anhängenden Rohdaten). Enthält laut `SRB.LST` 32 "SRB"-Blöcke + (vermutlich "Sprite Resource Block"). Tabellenstruktur noch nicht final + verstanden — steigt über mehr Einträge als die reinen 32 Top-Level-Files, + also vermutlich verschachtelt (pro Sprite/Frame-Offsets innerhalb jedes + SRB-Blocks). TODO: Tabellenende finden und pro-SRB-Grenzen bestimmen. +- `PCKELL.SET` — **ist tatsächlich eine ZIP-Datei** (Signatur `PK\x03\x04`)! + Enthält 3 Einträge: + - `APPEND.LST` (Methode 6 "Imploded", 1945 Bytes entpackt) — Manifest mit + 178 Dateinamen für die in `PCKELL.PRE` zusammengefügten Assets. + - `SRB.LST` (Methode 1 "Shrink", 314 Bytes entpackt) — Manifest mit den + 32 Dateinamen, die zu `PCKELL.DAT` gehören (1:1 gleiche Basisnamen wie + ein Teil der BOB-Einträge in APPEND.LST, z.B. `TONY.SRB` ↔ `TONY.BOB`). + - `PCKELL.PRE` (Methode 6 "Imploded", 2.328.934 Bytes entpackt) — die + eigentliche Asset-Sammlung, konkateniert nach der Reihenfolge in + `APPEND.LST`. + + **WICHTIG — Kompressions-Falle:** ZIP-Methode 6 "Imploding" ist NICHT + dasselbe wie das "DCL Implode/Explode"-Format aus PKWAREs Data + Compression Library (dafür gibt's `blast.c` in zlib/contrib — hab ich + zuerst versucht, schlägt fehl mit "distance too far back", weil es ein + anderer Algorithmus ist trotz gleichem Namen). Debian/Ubuntus + `unzip` (Info-ZIP, kompiliert MIT Explode+Unshrink-Support) entpackt + beide Methoden aber klaglos — auf `aria-wohnung` funktioniert + `unzip PCKELL.SET` direkt. Das Alpine-`unzip` im Brain-Container + (aria-proxy) kann das NICHT (kein Implode-Support einkompiliert). + +## Datei-Typen in APPEND.LST (178 Einträge total) +| Ext | Anzahl | Vermutung | +|------|--------|-----------| +| PCC | 77 | "Compiled Picture" — vermutlich RLE/Palette-komprimiertes Vollbild (Titelscreens, Menüs, Hintergründe) | +| BOB | 32 | "Blob" — Sprite-Grafik-Daten (Spielfiguren, Objekte), 1:1 mit den 32 SRB-Einträgen | +| MAP | 22 | Level-/Karten-Daten | +| ARE | 22 | "Area" — vermutlich Level-Metadaten/Kollisionszonen, im Paar mit MAP (22=22) | +| ICO | 19 | Icons (z.B. für Menüs/HUD) | +| SAM | 3 | Sound-Samples | +| TFX | 3 | vermutlich Musik/Sound-Effekt-Format | + +## Nächste Schritte (in dieser Reihenfolge sinnvoll) +1. **PCKELL.PRE aufteilen**: Die 178 Dateien sind laut APPEND.LST hintereinander + konkateniert — es fehlt noch die Größentabelle pro Datei (vermutlich am + Anfang von PCKELL.PRE selbst, ähnlich der Offset-Tabelle in PCKELL.DAT, + oder implizit aus dem Dateiformat jedes Typs ableitbar). Header von + PCKELL.PRE selbst noch nicht angeschaut. +2. **Ein PCC-Bild reverse-engineeren** — vermutlich klassisches Palette+RLE, + das dürfte am leichtesten zu knacken sein (PCC ähnelt oft PCX-Varianten). +3. **BOB/SRB-Sprite-Format verstehen** — Kollisions-Header aus PCKELL.DAT + (die Offset-Tabelle) mit den 32 SRB-Namen abgleichen. +4. **RTM.EXE nicht disassemblieren müssen** — Ziel ist ein sauberes + Python-Reimplement der Spiellogik (Physik/Level/Gegner aus MAP/ARE lesen), + nicht 1:1-Code-Nachbau der DOS-Engine. + +## Aufbewahrungsort +Alle Rohdaten + Manifeste liegen unter `raw/` in diesem Projektordner +(`/shared/projects/kellogg_s_remake/raw/`). `raw/extracted/` enthält den +fehlgeschlagenen blast.c-Versuch (kann weg). Entpackte Dateien +(`APPEND.LST`, `SRB.LST`, `PCKELL.PRE` — alle bereits entpackt, nicht mehr +komprimiert) liegen direkt in `raw/`. + +## DOSBox-Testumgebung (2026-07-22) — Original läuft jetzt! + +**DOSBox 0.74-3 ist auf `aria-wohnung` installiert** (apt). Zweck: das +Original-Spiel als visuelle/funktionale Referenz neben dem Reverse-Engineering +laufen lassen, ohne die kaputte QEMU-VGA-Emulation aus dem "Classic Games"-Crash. + +### Fehlende Dateien nachgeliefert +`raw/` hatte urspr. nur `RTM.EXE` + `PCKELL.*` — **`START.EXE`, `SETUP.EXE`, +`KELLOGG.INI`, `HDPMI16.EXE` (DPMI-Host) und `DPMI16BI.OVL`** fehlten (waren +nie aus der `dos_shareware`-VM-Disk kopiert worden, nur RTM+PCKELL). Auch ein +`READ.ME` (Original-Textdatei mit Installations-/Troubleshooting-Hinweisen) +lag dort. Alle liegen jetzt in `raw/` (Quelle: `dos_shareware`-Diskimage auf +`aria-wohnung`, Pfad `GAMES/KELLOGG/` — per `qemu-nbd --read-only` gemountet, +VM dafür kurz gestoppt, danach sauber wieder disconnected. **Die VM +`dos_shareware` ist seitdem gestoppt** — bei Bedarf über's Cockpit-Panel oder +`aria-vm boot dos_shareware` wieder hochfahren). + +**RTM.EXE ist die eigentliche Engine**, aber sie verweigert den Direktstart +("This loader is invoked and required by Borland tools") — man MUSS über +`START.EXE` gehen, das dann RTM.EXE korrekt aufruft. + +### Der Show-Stopper: IRQ-Konflikt (aus dem Original-READ.ME!) +Mit den Original-`KELLOGG.INI`-Werten (`Adr=544 DMA=1 IRQ=7`, Soundblaster) +hängt sich das Spiel nach dem 2. Studio-Logo (Factor 5) in einer Endlosschleife +auf — kompletter schwarzer Screen, DOSBox-Prozess lebt aber (kein Crash, +Freeze). Das READ.ME beschreibt dieses EXAKTE Symptom ("Bild bleibt schwarz") +und empfiehlt IRQ 5 statt 7. Fix: +- `raw/KELLOGG.INI`: `IRQ=5` (statt 7) +- `dosbox.conf` `[sblaster]`-Sektion MUSS matchen: `irq=5` (sonst redet DOSBox's + emulierte SB16 am falschen IRQ vorbei und das Spiel hängt trotzdem) + +Mit diesem Fix läuft das Spiel sauber durch: Rauser-Advertainment-Logo → +Factor-5-Logo → Kellogg's-Logo → "Tony & Friends in Kellogg's Land"-Titelbild +→ Weltkarte (Berge/Wald/Schloss mit Drache, alle Charaktere sichtbar: +Tiger/Tony, Toucan, Frosch, Affe/Coco, Bär). Screenshots liegen unter +`/shared/uploads/aria_kellogg_*.png`. + +### Funktionierende dosbox.conf +``` +[sdl] +fullscreen=false +output=surface + +[sblaster] +sbtype=sb16 +sbbase=220 +irq=5 +dma=1 +hdma=5 + +[autoexec] +mount c +c: +START.EXE +``` + +### Screenshot-Workflow (headless, ohne echten Desktop) +`aria-wohnung` hat keinen laufenden X-Server. Screenshots via +`xvfb-run -s '-screen 0 1024x768x24' dosbox ...` + `import -window root` +(ImageMagick) im selben xvfb-run-Prozess. Tasteneingaben simulierbar mit +`xdotool key ` (kein `--window`-Targeting nötig, funktioniert auch +ohne Fenstermanager in Xvfb). Audio läuft im ALSA-nosound-Modus (keine echte +Soundkarte im Container/VM) — DOSBox emuliert die SB16 trotzdem korrekt genug +fürs IRQ-Timing, es kommt nur kein tatsächlicher Ton raus. + +### Steuerung (aus READ.ME, für spätere Gameplay-Tests) +Pfeil links/rechts = laufen, Leertaste/Pfeil-hoch = springen, Pfeil-runter = +ducken, ALT = Sonderfunktion/Tür öffnen, P = Pause, ESC = zurück zur Karte +(ohne Leben zu verlieren). + +## PCKELL.PRE Container-Format (2026-07-22) — Kernstruktur geknackt + +Ziel: die 178 in `APPEND.LST` gelisteten Dateien (32 BOB, 77 PCC, 22 MAP, +22 ARE, 19 ICO, 3 SAM, 3 TFX) sauber aus `PCKELL.PRE` (2.328.934 Bytes, +bereits ZIP-entpackt) raustrennen. Tools liegen in `tools/split_pre.py` +(aktuellster Stand, laeuft auf `aria-wohnung` mit `python3`, braucht +`raw/PCKELL.PRE` + `raw/APPEND.LST` + `raw/SRB.LST`). + +### Zwei Header-Varianten je nach Dateityp + +**`.BOB`-Eintraege (32x, Sprite-Rohdaten):** kein Tag-Slot, Header direkt +lueckenlos hintereinander: +``` +[4-Byte-LE-Laenge][NUL-terminierter Original-DOS-Pfad + "H:\WIWA\ENGINE\GAMEDATA\.BOB"][ Bytes Rohdaten] +``` +Danach folgt variables Zero-Padding (~219-226 Byte beobachtet) bis zum +naechsten Header. **Vollstaendig validiert: alle 32 BOB-Eintraege exakt +gefunden, 0 Namens-Mismatches gegen APPEND.LST.** Robusteste Methode zum +Finden: direkte Byte-Suche nach `H:\WIWA\ENGINE\GAMEDATA\` +im File (nicht raten, den vollen erwarteten Namen pro Eintrag einzeln +suchen — das ist wasserdicht). + +**Alle anderen Typen (PCC/MAP/ARE/ICO/SAM/TFX, 146x):** kein eingebetteter +Pfad, dafuer ein **256-Byte-Tag-Slot** VOR dem eigentlichen Header: +``` +[Tag-Slot, exakt 256 Byte lang: + 1-Byte-Namenslaenge + Dateiname (z.B. 0x0B "CHOCOS7.PCC") + + Rest mit Speicher-Muell des Kompilier-Tools aufgefuellt] +[bei Tag-Slot-Start + 256: 4-Byte-LE-Laenge][ Bytes Rohdaten] +``` +Bestaetigt an mehreren Stellen (ANTS.PCC, CHOCOS7.PCC, und der +"Master"-Tag "A.SRB" ganz am Dateianfang vor A.BOB). **Wichtige Falle:** +beim Uebergang von der letzten `.BOB`- zur ersten `.PCC`-Datei (DOORS.BOB +-> ANTS.PCC) ueberlappt der Tag-Slot von ANTS.PCC um ~34 Byte in das, was +man anhand der BOB-Laengenangabe als "Ende von DOORS.BOB" berechnen wuerde. +Grund noch nicht restlos geklaert (vermutlich rundet der Original-Compiler +beim Sektionswechsel BOB->PCC anders). Workaround im Skript: Tag-Suche +zuerst vorwaerts ab erwarteter Position, bei Fehlschlag Fallback mit +300 Byte Sicherheitsabstand rueckwaerts. + +**Kuriosum:** Der Tag fuer `.BOB`-Eintraege (nur beim allerersten, +"A.SRB" vor A.BOB) nennt nicht den eigenen Namen, sondern den +`.SRB`-Begleitnamen aus `SRB.LST` (1:1 gleiche Reihenfolge wie die +BOB-Liste in APPEND.LST). Passt zur bekannten SRB<->BOB-Kopplung +(Kollisions-Metadaten in PCKELL.DAT <-> Sprite-Pixeldaten in PCKELL.PRE). + +### PCC-Bildformat (erste Erkenntnisse, noch nicht fertig decodiert) +Nutzdaten beginnen mit einem PCX-aehnlichen 16-Byte-Header: +``` +Byte 0: 0x0A (Manufacturer-Marker, wie ZSoft PCX) +Byte 1: 0x05 (Version) +Byte 2: 0x01 (Encoding = RLE) +Byte 3: 0x08 (Bits pro Pixel = 8, also 256 Farben) +Byte 4-11: bisher immer 0 gesehen (Xmin/Ymin/Reserved?) +Byte 12-13: Breite (LE16), z.B. 0x0140 = 320 +Byte 14-15: Hoehe (LE16), z.B. 0x00C8 = 200 +Byte 16+: vermutlich RLE-komprimierte Pixel-Indexdaten (klassisches + PCX-RLE: Byte mit oberen 2 Bits gesetzt (0xC0-0xFF) = Lauflaenge + (Byte&0x3F), gefolgt vom Wert-Byte; sonst literaler Pixel) +``` +Farbpalette (256x3 Byte RGB) wahrscheinlich NICHT pro Datei (dafuer waeren +die kleinen Dateien wie ANTS.PCC mit nur 900 Byte total zu klein) — vermutlich +eine globale Palette, die noch gefunden werden muss (Kandidat: irgendwo in +RTM.EXE oder als eigene Ressource). TODO fuer naechste Session. + +### PCKELL.PRE Splitter — GELOEST (2026-07-22, ~02:15 Ortszeit) +Der vermeintliche "14%-Drift-Bug" war GAR KEIN Bug im Tag-Matching. Diagnose +(`tools/diag_split.py`, inzwischen geloescht, siehe Git-History falls noetig) +zeigte: jeder der 178 Tags aus `APPEND.LST` wird exakt EINDEUTIG gefunden +(genau 1 Kandidat, Gap durchgehend 0, ausser dem bekannten BOB->PCC- +Uebergang mit -34 Byte). Der Splitter war also die ganze Zeit korrekt — +er endete nur zu frueh, weil **`APPEND.LST` gar nicht alle Eintraege in +`PCKELL.PRE` auflistet.** + +Direkt im Anschluss an den letzten `APPEND.LST`-Eintrag (`TITEL2.SAM`, +endet bei `0x1e9aac`) folgen, im EXAKT GLEICHEN Tag-Slot-Format, noch +**3 weitere, nicht gelistete Eintraege**: +``` +DPMI16BI.OVL 65312 Byte +RTM.EXE 108686 Byte +START.EXE 148480 Byte +``` +Der letzte davon (`START.EXE`) endet bei `0x238966` — **exakt** die +Dateigroesse von `PCKELL.PRE`. Damit ist das Container-Format zu 100% +verifiziert, kein einziges Byte bleibt unerklaert. Macht inhaltlich auch +Sinn: `PCKELL.PRE` ist offenbar ein self-contained Redistributable-Paket, +das die komplette DOS-Extender-Runtime (DPMI-Server + Runtime-EXE + +Launcher) gleich mitbuendelt — nicht nur Spiel-Assets. + +**Extra-Validierung:** die 3 extrahierten System-Dateien sind +byte-identisch (`cmp`) zu den Einzeldateien, die schon lose in `raw/` +liegen (aus der `dos_shareware`-VM kopiert) — zweite unabhaengige +Bestaetigung, dass die Extraktion korrekt ist. + +**`tools/split_pre.py` (finale v7) extrahiert jetzt alle 181 Dateien +fehlerfrei nach `extracted_pre/`:** +``` +32 BOB, 77 PCC, 22 MAP, 22 ARE, 19 ICO, 3 SAM, 3 TFX, 1 OVL, 2 EXE +``` +Alte Splitter-Zwischenversionen (v1-v6, Diagnose-Scripts) sind auf +`aria-wohnung` (`/home/aria/kellogg_remake/tools/`) aufgeraeumt — nur +noch `split_pre.py` (v7, final) liegt dort, identisch zur Kopie hier im +Projekt unter `tools/split_pre.py`. `extracted_pre/` (2,6 MB, 181 Dateien) +liegt jetzt auch hier im Projekt, nicht nur auf `aria-wohnung`. + +### PCC-Header — ergaenzender Fund +Bei `MENU.PCC` sind Byte 4-11 NICHT alle Null (anders als bei `ANTS.PCC` +vermutet) — sie enthalten `Xmax`/`Ymax` (0x013f=319, 0x00c7=199), passend +zum klassischen PCX-Header-Layout `Xmin(2) Ymin(2) Xmax(2) Ymax(2)` bei +Offset 4. Fuer ein 320x200-Bild ab (0,0) macht Xmax=319/Ymax=199 Sinn. +Bei `ANTS.PCC` (kleines 900-Byte-Sprite-Preview-Bild) stehen dort +durchgehend Nullen — vermutlich weil die Original-Autoren dieses Feld +bei kleineren generierten Bildern nicht befuellt haben. Fuer den +PCC-Decoder erstmal ignorierbar, Breite/Hoehe kommt zuverlaessig aus +Offset 12-15. + +### Naechste Schritte (Prioritaet) — ALT, siehe unten "PCC-Format GELOEST" fuer aktuellen Stand +~~1. Ein PCC-Bild vollstaendig decodieren~~ ERLEDIGT (siehe unten). +2. BOB/SRB-Sprite-Format verstehen (PCKELL.DAT-Offset-Tabelle mit den + 32 SRB-Namen abgleichen, dann Frame-Struktur pro Sprite ableiten). +3. MAP/ARE-Levelformat reversen (kleinste Dateien zuerst, z.B. ein + simples frühes Level, z.B. `W1L0.MAP`/`W1L0.ARE`). +4. Erst danach: Python-Projektstruktur aufsetzen (pygame), Asset-Loader + fuer BOB/PCC/MAP schreiben, Kernschleife (Physik/Kollision) gegen + DOSBox-Referenzverhalten abgleichen. + +## PCC-Bildformat — VOLLSTAENDIG GELOEST (2026-07-22, ~02:20 Ortszeit) + +**Format zu 100% verstanden und visuell verifiziert.** PCC = klassisches +PCX v5, 256-Farben, mit **eingebetteter Palette PRO DATEI** (kein globales +Palette-Rätsel, wie in der vorherigen Notiz befürchtet): + +``` +Byte 0-15: PCX-Header (Manufacturer=0x0A, Version=5, Encoding=1/RLE, + BPP=8, Xmin/Ymin/Xmax/Ymax bei Offset 4-11, + Width(LE16)/Height(LE16) bei Offset 12-15 — Width/Height sind + DIREKTE Pixelmaße, nicht Xmax-Xmin+1, auch wenn beides meist + gleich rauskommt bei 320x200-Vollbildern) +Byte 16 .. (len-769): SCANLINE-weise RLE-komprimierte Pixel-Indexdaten. + RLE-Tupel: Byte mit oberen 2 Bits gesetzt (0xC0-0xFF) = + Lauflaenge (Byte&0x3F), gefolgt von 1 Wert-Byte. Sonst + literaler Pixel. WICHTIG: pro Scanline wird bis exakt + `width` Pixel dekodiert, ueberschuessige Pixel eines Runs + am Zeilenende werden verworfen (klassisches PCX-Verhalten, + NICHT als ein durchgehender Bytestrom decodieren — das + fuehrt zu Off-by-Overshoot-Fehlern und Fehlausrichtung + gegenueber der eingebetteten Palette am Dateiende). +Letzte 769 Byte: `0x0C`-Marker + 768 Byte (256 x RGB) Palette — die + klassische PCX-v5-256-Farben-Erweiterung. JEDE PCC-Datei + traegt ihre EIGENE Palette mit sich (keine globale Palette + aus RTM.EXE noetig, wie in der vorigen Session vermutet). +``` + +**Decoder fertig:** `tools/pcc_to_png.py` (auf `aria-wohnung` unter +`/home/aria/kellogg_remake/tools/pcc_to_png.py`, identische Kopie hier +im Projekt unter `tools/pcc_to_png.py`). Aufruf: +`python3 tools/pcc_to_png.py extracted_pre/.PCC out.png` +(braucht ImageMagick `convert` auf dem Zielsystem — ist auf `aria-wohnung` +vorhanden). + +**Visuelle Verifikation — 100% korrekt:** +- `KARTE.PCC` → exakte Weltkarte (Berge/Schloss/Drache, Tony/Tiger, + Coco/Affe, Frosch, Fluss, Bäume) — Pixel-für-Pixel wiedererkennbar + gegen den DOSBox-Screenshot `aria_kellogg_worldmap.png` von vorher. +- `KELLOGGS.PCC` → glasklares "Kellogg's präsentiert"-Logo mit + korrektem geschwungenem Markenschriftzug, scharfe Kanten, kein + Rauschen/Fehler in der Dekodierung. +- `MENU.PCC` → sauberer Menü-Rahmen (blauer Hintergrund, rot-goldene + Box) — vermutlich Passwort-/Level-Auswahl-UI. +Alle Test-PNGs liegen unter `/shared/uploads/aria_pcc_*.png` zur +Ansicht, dauerhafte Kopien aller **77 von 77 PCC-Dateien fehlerfrei +batch-decodiert** liegen unter `png_out/` in diesem Projektordner +(416 KB total, 77 Dateien — vollstaendige Validierung, kein einziger +Absturz oder Format-Ausreisser). + +Einzige kleine Restfrage (kein Blocker): bei manchen Dateien bleiben +1-30 Byte am Ende des Pixel-Datenblocks vor der Palette ungenutzt +(vermutlich Padding/Rundung des Original-Encoders) — beeinflusst das +Bildergebnis nicht sichtbar, wird ignoriert. + +## BOB-Sprite-Format — erste Erkenntnisse (2026-07-22, ~02:30 Ortszeit, IN ARBEIT) + +**Kein PCX-Verwandter.** BOB-Dateien starten NICHT mit `0x0A`-Manufacturer- +Byte, kein erkennbarer Klartext-Header wie bei PCC. Vermutlich beginnt die +(vermutlich RLE-komprimierte) Pixel-Nutzdaten direkt ab Byte 0. + +**Wichtiger Fund:** Die 32 BOB-Namen sind NICHT alle "richtige" Objektnamen +— 14 davon sind Einzelbuchstaben (`A.BOB` .. `O.BOB`, ohne `M`) plus +`BLUME.BOB`/`WOLKE.BOB` (Blume/Wolke, Deko-Objekte), dann die Marken-Packs +(`VITAMIN`/`COCOPOPS`/`SMACKIES`/`FROSTIES`/`LOOPS`), dann Charaktere +(`TONY`/`SMACKS`/`TOUCAN`/`COCO`), dann Level-Objekte (`PLATFW1`=Plattform, +`KEYS`, `GAMEBAR`=HUD-Leiste, `KROKO`/`BOSSNAKE`/`DRAGON`=Gegner, `DOORS`). +Die Buchstaben-Sprites (A-O) sind vermutlich Sammel-Buchstaben-Items +(Bonus-Mechanik: Buchstaben im Level einsammeln) — passend zur Groessen- +Gruppierung (viele davon fast gleich gross: B/E/N/O=1295 Byte, D/H/I=4406, +J/K=2332 — deutet auf fixe Sprite-Dimensionen pro Buchstaben-"Familie", +vermutlich Schriftart-aehnliche Boxen). + +**Byte-Identitaet als Format-Hinweis:** `FROSTIES.BOB`, `COCOPOPS.BOB`, +`SMACKIES.BOB` (alle 3323 Byte gross) haben BYTE-FUER-BYTE identische +ersten 16 Byte (`16 b4 2c 76 82 b4 3a 9f 06 88 82 cf 16 e8 03 2d`) und +divergieren erst ab ca. Offset 0x20. `LOOPS.BOB` (ebenfalls 3323 Byte) +zeigt eine um 4 Byte verschobene, aber erkennbar verwandte Bytefolge. +**Interpretation:** das ist vermutlich KEIN Klartext-Header, sondern +bereits RLE-komprimierte Pixeldaten — die vier Sprites sind alle +"Cerealien-Packung"-Objekte mit identischer Kastenform/Silhouette +(gleiche Pixel-Auesserform => gleiche RLE-Runs am Anfang), die sich nur +im aufgedruckten Marken-Logo unterscheiden (Divergenz kommt spaeter). +Das wuerde erklaeren warum 4 komplett verschiedene Marken exakt gleich +grosse Dateien mit ident. Praefix erzeugen: gleiche Box-Geometrie, +gleiches Kompressionsschema, nur Content-Unterschied in der Bildmitte. + +**Hypothese fuer naechste Session:** BOB = aehnliches RLE-Schema wie PCC +(Byte mit oberen 2 Bits gesetzt = Lauflaenge+Wert), aber OHNE PCX-Header +und OHNE eingebettete Palette — Breite/Hoehe muessen aus `PCKELL.DAT` +kommen (die SRB-Offset-Tabelle, noch nicht durchdrungen) oder aus einer +festen Tabelle in `RTM.EXE`. Naechste konkrete Schritte: +1. `PCKELL.DAT` Offset-Tabelle vs. `SRB.LST`-Namen abgleichen (32 Eintraege, + 1:1 mit den 32 BOB-Dateien) — dort vermutlich Breite/Hoehe/Frame-Anzahl + pro Sprite zu finden. +2. Testweise RLE-Decode von `A.BOB` (kleinstes/einfachstes Beispiel aus der + Buchstaben-Gruppe) mit angenommener kleiner Breite/Hoehe (z.B. 20x20 bis + 40x40 fuer ein UI-Buchstaben-Icon) durchprobieren, gegen erwartete + Pixelzahl abgleichen (aehnlich wie beim PCC-Ansatz, der am Ende + erfolgreich war: Header-Annahmen iterativ gegen Dateigroesse pruefen). +3. Falls das nicht schnell konvergiert: `TONY.BOB` (Hauptfigur, 47726 Byte, + groesste Datei nach COCO) ist wahrscheinlich der wichtigste Fund fuer + den Port und rechtfertigt tiefere Analyse zuerst. + +## Naechste Schritte (Prioritaet, aktueller Stand) +1. **BOB/SRB-Sprite-Format weiter reversen** — siehe Hypothesen direkt + oben. Naechster Schritt: `PCKELL.DAT`-Offset-Tabelle mit `SRB.LST` + abgleichen, danach `A.BOB`-Testdecoding. +2. MAP/ARE-Levelformat reversen (kleinste Dateien zuerst, z.B. ein + simples frühes Level, z.B. `W1L0.MAP`/`W1L0.ARE` falls vorhanden — + sonst kleinste Datei nach Groesse waehlen). +3. Erst danach: Python-Projektstruktur aufsetzen (pygame), Asset-Loader + fuer BOB/PCC/MAP schreiben (PCC-Loader ist im Grunde fertig, nur + noch von PPM/ImageMagick-Zwischenschritt auf direktes PNG-Schreiben + in Python umstellen, z.B. mit `Pillow` — aktuell haengt der Decoder + noch am System-`convert`-Tool, das fuer den finalen Python-Port + NICHT die Zielarchitektur sein soll). + +### Hinweis fuer Fortsetzung nach Neustart/Session-Wechsel +Dieses Projekt laeuft bewusst autonom weiter (Stefan-Wunsch, 2026-07-22). +Fortschritt wird nach JEDEM Meilenstein hier in `NOTES.md` gesichert. +Zusaetzlich liegt ein gepinnter Kurz-Status im Memory (Suchbegriff +"Kellogg's Remake") als Fallback, falls diese Datei mal nicht griffbereit +sein sollte. Bei Session-Neustart: einfach hier weiterlesen ab +"Naechste Schritte" oben, keine Rueckfrage bei Stefan noetig. + +Ein `trigger_timer` ("kellogg-remake-continue") ist als Selbst-Weck-Kette +aktiv: feuert stuendlich, arbeitet den naechsten offenen Punkt ab, speichert +hier, legt danach den naechsten Timer an — laeuft ohne Rueckfrage weiter. + +## PCC-Decoder-Bugfix + Git-Repo (2026-07-22, ~09:20 Ortszeit) + +Stefan hat zurecht bemaengelt, dass die PCC-Bilder verzerrt/verrutscht +aussehen (z.B. Smacks-Frosch spiegelverkehrt, Kellogg's-Logo mit Fehlstelle). +Ergebnis der Untersuchung: + +**GEFUNDEN UND GEFIXT — Width/Height-Bug:** Der Decoder las Breite/Hoehe +bisher aus Offset 12-15 (siehe alte Notiz oben). Das ist FALSCH — dieses +Feld ist bei allen Dateien ein Konstant-/Platzhalterwert (vermutlich +DPI-Reserved-Feld wie im echten 128-Byte-PCX-Header), der bei +Vollbild-Screens (320x200) zufaellig mit der echten Groesse +uebereinstimmt, bei kleineren Sprites/Logos aber komplett falsch ist. +**Richtig:** Breite/Hoehe muessen aus `Xmax-Xmin+1` / `Ymax-Ymin+1` +(Offset 4-11) berechnet werden. Beweis: `FACTOR5.PCC` konsumiert mit der +alten (falschen) Hoehe 200 nicht alle Bytes sauber, mit der echten Hoehe +199 (aus Ymax=198) landet der Byte-Konsum exakt bei 100% (51609/51609). +Betroffen/jetzt gefixt: `RAUSER1.PCC` (182x46 statt fälschlich 320x200), +`RAUSER2.PCC` (228x21), `RAUSER3.PCC` (16x55), `FAC0-3.PCC` (16x16), +`FACTOR5.PCC` (320x199). Fix ist in `tools/pcc_to_png.py` eingebaut, +alle 77 PNGs unter `png_out/` mit dem Fix neu generiert. + +**Rauser-Intro: JA, schon extrahiert.** `RAUSER1/2/3.PCC` sind Frames +eines scrollenden Text-Logos (vermutlich "RAUSER ADVERTAINMENT PRESENTS"), +mit dem Fix jetzt lesbar (zeigt z.B. "...USER TRAI..." als Ausschnitt). +Volles Logo muesste sich aus allen 3 Frames zusammensetzen lassen (noch +nicht gemacht). + +**FACTOR5.PCC "Geister"-Doppellogo: vermutlich KEIN Bug**, sondern ein +Reflexions-/Schatten-Designelement — Byte-Konsum ist exakt 100%, also +decodiert der Inhalt komplett korrekt, das Doppelbild ist einfach das, +was in der Datei steht. + +**OFFEN — KELLOGGS.PCC/KARTE.PCC-Notch-Artefakt:** Der Width/Height-Fix +hat den harmlosen 320x200-Fall nicht veraendert (Xmax/Ymax ergeben dort +zufaellig dieselbe Groesse wie vorher). Das Notch-Artefakt (rot/gelber +Fleck rechts neben "Kellogg's"-Schriftzug, passt nicht zum +DOSBox-Referenz-Screenshot) bleibt bestehen. Ausgeschlossen als Ursache +(empirisch getestet, nicht nur vermutet): +- Horizontales Rollen/Scrollen des ganzen Bilds (18 Shift-Kandidaten + durchprobiert) — Artefakt bleibt IMMER an derselben Stelle relativ zum + Bildinhalt (Box/Text), nicht zur Leinwand. Kein Verschiebe-/Wrap-Bug. +- Zeilenweises Verwerfen von RLE-Overshoot am Zeilenende — zeilenbasierte + und durchgehende (row-boundary-freie) Decodierung liefern fuer + KELLOGGS.PCC byte-identische Ergebnisse (kein Overshoot tritt je auf). +Interessant: `MENU.PCC` nutzt vermutlich denselben Box-Rahmen (leere +Variante) und rendert jetzt SAUBER ohne Notch — der Fehler ist also +dateispezifisch, nicht im Rahmen-Design selbst. Naechste Hypothese: +Palette-Fehlzuordnung fuer einzelne Indizes ODER RLE-Ambiguitaet bei +literalen Pixelwerten >= 0xC0 (werden durch `(b&0xC0)==0xC0` evtl. +faelschlich als Lauflaengen-Token statt literaler Indexwert gelesen) — +noch zu verifizieren durch gezielten Test mit einem Decoder, der beide +Interpretationen an der vermuteten Fehlstelle durchspielt. + +Ebenfalls noch offen (niedrige Prioritaet): `TONY.PCC`/`SMACKS.PCC` +liefern mit dem Xmax/Ymax-Fix nur 1x1 Pixel (degenerated, Xmax=Ymax=0 +im Header) — vermutlich sind das keine "echten" Vollbilder, sondern +Platzhalter/ungenutzte Preview-Slots; die eigentlichen Charakter-Sprites +stecken hoechstwahrscheinlich in den `.BOB`-Dateien (`TONY.BOB`, +`SMACKS.BOB` etc.), nicht in den gleichnamigen `.PCC`-Dateien. + +**Git-Repo eingerichtet:** Auf Stefans Wunsch liegt der Projektstand jetzt +unter `https://git.hacker-net.de/Aria-Software/tony-remake`. Bewusst NICHT +mit eingecheckt: `raw/` (Original-Spieldateien: PCKELL.DAT/.PRE/.SET, +RTM.EXE, START.EXE etc. — das ist buchstaeblich das Original-Spiel) und +`extracted_pre/` (die daraus entpackten 181 Rohdateien — noch +Original-Asset-Material, nur unverpackt). Mit eingecheckt: `NOTES.md`, +`tools/` (unser Code: `split_pre.py`, `pcc_to_png.py`), `dosbox/` +(Test-Konfiguration), `png_out/` (unsere konvertierten PNG-Ergebnisse, +408 KB, reine Arbeitsergebnisse kein Originalmaterial). diff --git a/dosbox/dosbox.conf b/dosbox/dosbox.conf new file mode 100644 index 0000000..5a76bed --- /dev/null +++ b/dosbox/dosbox.conf @@ -0,0 +1,15 @@ +[sdl] +fullscreen=false +output=surface + +[sblaster] +sbtype=sb16 +sbbase=220 +irq=5 +dma=1 +hdma=5 + +[autoexec] +mount c ~/kellogg_remake/raw +c: +START.EXE diff --git a/png_out/ANTS.png b/png_out/ANTS.png new file mode 100644 index 0000000000000000000000000000000000000000..3901246d8d287a5dc63b8fc5db09c3025c20fb39 GIT binary patch literal 294 zcmeAS@N?(olHy`uVBq!ia0vp^j35jm7|ip2ssJg4WRD z45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VW5yxS$b1ju7A@$_|Nf5k4wE~N9>%4ZQ! zh|AN(F@)oKasrUe#K8DSagQ;OrCQ<|QIe8al4_M)lnSI6j0}v-bPddPjf_GJ%&iP9 ztV~R_4GgRd40b%&D1o9OH$NpatrE9}lY2QqPSJqdP?DLOT3nKtTYy{7ycHVNKs^ke Lu6{1-oD!M@+zf0Dw#z0M6wD@P~4AZV>=37J%g_00@@>_$=jW zU$DD!ferGfk^sn20EMyxr+q>#K^h(iLqT4XTp8VGjlt(ar`U&00IafDiuO>2LJ?%> zTc9*UV*Gr(v<&;eOJxJ+Py$HsWw-%c$4*Z0Zv+5}pm=#w$-@gZ14;k&{&a|&k^9TR zvUE~}T1Uft)Ge0mT)P2HB?*xRxs!mNsWsLi#}2|~`W(!-33`_kLw?n)vN<8jD&Tcn zSwDE|@2j<$F#uJ4M<2ZY-` z-!~C|lnwh9ry95=<2=+N$XmJ6I;bxDm7BF=^1?3iGPzZgY?ot@-?&MV@FCT|#uC?! zScKh_S9LI!KkDDVcSz^r9I+XyXiyg|Z;Wvw({rCOyT}q8#8{l=KzSP_A z-snJYjHCx+%vmMx^@@B&3whESEo4b`;3mopVg(b%=crW94OCzAHaFepTYE1#x@rOL z>32J>eyx0;P5l78bjepGCh`l5EG?AB3GoI(#5R?>cdrupz1(rh35BoD`EDGZqw_;t z_?4FIZ@=T)O>a-_I&Z}tjxO%qLRAi0j~4J#T{0-MELi8o5oncBpe1PmLWQq2-g$aw zo4Zoj^m$mC!m`)#N@@gla$oHkGWTl?N4xre%= zTyo#TXzmqhDMupx@0Uka%}KYN&4n8m`#*lzTzz5k%>#x}SlC)oyl|nqJiveY#+LA~ zI_ym_$AgJ6KTgJTv&N5R?^rh9z*OGvl87Aju0n5Id8Tz~?_}qxdbWGM*Oi^PiE6Qo zVq4aF-O#qU77DBUU3NRMX7poA3))KP$}oW;G-;udM}LgS%YNGE>9R+ZUxN$sb*qHtd)&WjL&~nOmOSj{ z&sRH;rEf3V+70n5LtbV8m#%b_)5H+%7vk^5;^m}$o2FyyCQ&g0hD3YjC0Zg%ojQBO z)hm1YhthSc19?yHy7skucP($qB)vH#XF)pdGf+x}t=*k+Z<^TKtkk;F`TukLiY85{cOni;0~X~Xcrv1di|bTRIe0t;rY&wKV% zp_G=L9DDOCwVgJRv`;S;$E@lhg|v_hD|5^?E!RZHw{1|l66YI^-p;eBh1u16F&7QGRsZ%9qAtp-acqVW;DH!&K+n4 zN8g)d|6Hhl7Oh&jCwpK85LW4ugcl*h{psgd(ogjd^N~T{KnBtB3zLsGCOx!*z|JAX z&|HP*NR?`l7S#5k{JYFOCvU696&04MEb>dnw2gK>3SZvSybxX4ZqImLX12eHp`F~* zj_D+>3VeG^i4~(!uS3rr=6pHzBxw`1xTUY1Zkj_BrM(T-u1K?g{o9i#ejnIbJp+&A z-E$jbo(`|Y@_m+fYfx9iBmVl<)*RAt4n3N~Ae?41lmZ;FjyMb!k8yOQV(|nASAw(i zK`fSl#rDc>8U6!EOs2;(GyWYIxrb<00_eXlaN-jgX`JZ9lz(UH+R#}_22ep1!W^uh_-dg>*h!`78no346LYhHzX@PDo5h;Nay=6=+Rh;NQj6B$@bgD^Oas z#5JNMC9x#cD!C{XNHG{07@6rBnCluDg&3Gy8CqDGm}naqSQ!}Xc(73dMMG|WN@iLm qZVe~*axMXC(16=el9`)YT#}eufLqVJ6&lq*Jq(_%elF{r5}E+&1yip8 literal 0 HcmV?d00001 diff --git a/png_out/CHOCOS2.png b/png_out/CHOCOS2.png new file mode 100644 index 0000000000000000000000000000000000000000..f8a3730ccd9e615903338660c765f710fe042da5 GIT binary patch literal 393 zcmeAS@N?(olHy`uVBq!ia0vp^azHG`!VDx;eGUHrDTQQ@AYTTCDm4a%h86~fUqGRT z7Yq!g1`G_Z5*Qe)W-u^_7tGleXakgx4)6(aWnifP&+wli*&QfQY|ap@%rH5aVRO0k z|NsBhnCG+sMH!R4-Ca1^?oF)%a@b2eeO=jKv5T<_>3p{GSp*bv_jGX#k+__kAduj| z*tDXdv2e!6i;T-Sq!NOR3VC_W%*qVengZC&l~dD`lQ(}dQeYF}QS?0Jz{WGhaE6uS z^y!SDGnO>7GAt8N5Sj5OM*?W1YKdz^NlIc#s#S7PDv)9@GB7gJH89sTG72#;w=%S_ zGBMFMFt9Q(*zsT^s)pSBl+3hB+!{{qNoHR%lcM^)Pt4 L`njxgN@xNAC6#JN literal 0 HcmV?d00001 diff --git a/png_out/CHOCOS3.png b/png_out/CHOCOS3.png new file mode 100644 index 0000000000000000000000000000000000000000..f8a3730ccd9e615903338660c765f710fe042da5 GIT binary patch literal 393 zcmeAS@N?(olHy`uVBq!ia0vp^azHG`!VDx;eGUHrDTQQ@AYTTCDm4a%h86~fUqGRT z7Yq!g1`G_Z5*Qe)W-u^_7tGleXakgx4)6(aWnifP&+wli*&QfQY|ap@%rH5aVRO0k z|NsBhnCG+sMH!R4-Ca1^?oF)%a@b2eeO=jKv5T<_>3p{GSp*bv_jGX#k+__kAduj| z*tDXdv2e!6i;T-Sq!NOR3VC_W%*qVengZC&l~dD`lQ(}dQeYF}QS?0Jz{WGhaE6uS z^y!SDGnO>7GAt8N5Sj5OM*?W1YKdz^NlIc#s#S7PDv)9@GB7gJH89sTG72#;w=%S_ zGBMFMFt9Q(*zsT^s)pSBl+3hB+!{{qNoHR%lcM^)Pt4 L`njxgN@xNAC6#JN literal 0 HcmV?d00001 diff --git a/png_out/CHOCOS4.png b/png_out/CHOCOS4.png new file mode 100644 index 0000000000000000000000000000000000000000..874bd4182e1a03380b9a07d37c89d7e4173a7320 GIT binary patch literal 392 zcmeAS@N?(olHy`uVBq!ia0vp^azHG`!VDx;eGUHrDTQQ@AYTTCDm4a%h86~fUqGRT z7Yq!g1`G_Z5*Qe)W-u^_7tGleXakgx4)6(aWnifP&+wli*&QfQY|ap@%rH5aVRO0k z|NsBhnCG+sMH!R4-Ca1^?oF)%a@b2eeO=jKv5T<_>3p{GSp*bv^K@|xk+__kAduj| z*tDXdv2e!6i;T-Sq!NOR3VC_W%*qVengZC&l~dD`lQ(}dQeYF}QS?0Jz{WGhaE6uS z^y!SDI~-XUmc3Ijt8eRV1)8W@;u=wsl30>zm0Xkxq!^40jLdWm%yo^7LJZ8U3@xlo zOtcLQtPBixJlH6Kq9HdwB{QuOw}z8@IhO!6XuxeK$;?eHE=kNSz^!NA3XN)@9tKZW KKbLh*2~7YBlxlte literal 0 HcmV?d00001 diff --git a/png_out/CHOCOS5.png b/png_out/CHOCOS5.png new file mode 100644 index 0000000000000000000000000000000000000000..3ff1872d9d5843a8c5e32e1521f54eb37af63cf8 GIT binary patch literal 390 zcmeAS@N?(olHy`uVBq!ia0vp^azHG`!VDx;eGUHrDTQQ@AYTTCDm4a%h86~fUqGRT z7Yq!g1`G_Z5*Qe)W-u^_7tGleXakgx4)6(aWnifP&+wli*&Qeltjths&M-NcVRO0k z|NsB5AFI6w6lF~Ec6Z@uyEnB8$YC$>^mS!_#V*D!r1ROzXAw}y#nZ(xMB;LCf{0GklcI!^~FzEcuDO=nJf zJ9-^Hz{IdEQlV!nd)$7Yd8#F@5hW>!C8<`)MX5lF!N|bKOxM6%*T^Wuz}(8v!pg)% z+rYrez+lINjS?sta`RI%(<*UmIJuW|2~dLu+=i0O+|=Td#M}bhdgiUrs0Qj`@O1Ta JS?83{1OOE}Z4Lkc literal 0 HcmV?d00001 diff --git a/png_out/CHOCOS6.png b/png_out/CHOCOS6.png new file mode 100644 index 0000000000000000000000000000000000000000..8752848dc4ca6f64e5e2e302cfd11c096e5edf80 GIT binary patch literal 371 zcmeAS@N?(olHy`uVBq!ia0vp^Vn8g-!VDz4Sdy**DTQQ@AYTTCDm4a%h86~fUqGRT z7Yq!g1`G_Z5*Qe)W-u^_7tGleXakgx2=EDUWnifP&+wli*&QfQY|bz_m?2o1;s5{t z!YjWB0EHNnyxm>c#S%MS13By^p1!W^uh_-dg>*h!`78nonRvQ5hDcmaP7p|FV0L6l zNRT;_lhSbNFw=}F5n$W%Oy7L+oW6s)UR6N z8c~vxSdwa$T$Bo=7>o>z%ybRRb&ZTd49u+zEv!sTv<(cb3=DQW*eHRbAvZrIGp!Q0 phLd|amjE?rz-=hW%uOvWNz5(4t!Lf}jcTAC22WQ%mvv4FO#mW9X3zit literal 0 HcmV?d00001 diff --git a/png_out/CHOCOS7.png b/png_out/CHOCOS7.png new file mode 100644 index 0000000000000000000000000000000000000000..194533a2fe4bad90020ccc8647f0a9290dbe441f GIT binary patch literal 375 zcmeAS@N?(olHy`uVBq!ia0vp^Vn8g-!VDz4Sdy**DTQQ@AYTTCDm4a%h86~fUqGRT z7Yq!g1`G_Z5*Qe)W-u^_7tGleXakgx2=EDUWnifP&+wli*&Qe_Ihdi?oFQ15;s5{t zSC`oW^)WCedAqx?izRlv26EU-Jbhi+U$Kj^3+a5e@>v8FvhZ|q43W5;oFI_U!0gD9 zkRWp;C#B)kVWt^VB&Q@CI5PDh$GNgZj<$`y&JP})%2ebi+$n4mXvob^ u$xN%nt>NTe&Luz%8gLs*GILXlOA>PnaO;`3LZcd}hr!d;&t;ucLK6UK25UnA literal 0 HcmV?d00001 diff --git a/png_out/CHOCOS8.png b/png_out/CHOCOS8.png new file mode 100644 index 0000000000000000000000000000000000000000..eacabfa9ff4935960a08b263ce9b6fba7b8e9b40 GIT binary patch literal 323 zcmeAS@N?(olHy`uVBq!ia0vp^JV4CC#0(^ldzeWADTQQ@AYTTCDm4a%h86~fUqGRT z7Yq!g1`G_Z5*Qe)W-u^_7tGleXakhs4DbnYWnifP&+s1z7TX-s1qw1IdAqwXrE%A! z06FX>p1!W^uh_-dg>*h!`78no346LYhHzX@PDo5h;Nay=6=+Rh;NQj6B$@bgD^Oas z#5JNMC9x#cD!C{XNHG{07@6rBnCluDg&3Gy8CqDGm}naqSQ!}Xc(73dMMG|WN@iLm qZVe~*axMXC(16=el9`)YT#}eufLqVJ6&lq*Jq(_%elF{r5}E+&1yip8 literal 0 HcmV?d00001 diff --git a/png_out/CHOCOS9.png b/png_out/CHOCOS9.png new file mode 100644 index 0000000000000000000000000000000000000000..eacabfa9ff4935960a08b263ce9b6fba7b8e9b40 GIT binary patch literal 323 zcmeAS@N?(olHy`uVBq!ia0vp^JV4CC#0(^ldzeWADTQQ@AYTTCDm4a%h86~fUqGRT z7Yq!g1`G_Z5*Qe)W-u^_7tGleXakhs4DbnYWnifP&+s1z7TX-s1qw1IdAqwXrE%A! z06FX>p1!W^uh_-dg>*h!`78no346LYhHzX@PDo5h;Nay=6=+Rh;NQj6B$@bgD^Oas z#5JNMC9x#cD!C{XNHG{07@6rBnCluDg&3Gy8CqDGm}naqSQ!}Xc(73dMMG|WN@iLm qZVe~*axMXC(16=el9`)YT#}eufLqVJ6&lq*Jq(_%elF{r5}E+&1yip8 literal 0 HcmV?d00001 diff --git a/png_out/COCO.png b/png_out/COCO.png new file mode 100644 index 0000000000000000000000000000000000000000..3901246d8d287a5dc63b8fc5db09c3025c20fb39 GIT binary patch literal 294 zcmeAS@N?(olHy`uVBq!ia0vp^j35jm7|ip2ssJg4WRD z45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VW5yxS$b1ju7A@$_|Nf5k4wE~N9>%4ZQ! zh|AN(F@)oKasrUe#K8DSagQ;OrCQ<|QIe8al4_M)lnSI6j0}v-bPddPjf_GJ%&iP9 ztV~R_4GgRd40b%&D1o9OH$NpatrE9}lY2QqPSJqdP?DLOT3nKtTYy{7ycHVNKs^ke Lu6{1-oD!MG?qD?9A|=;s5{o|Ns9dGt965|9kav z(6b#?QFEOy&|uI>h!rdr|}QIe8al4_M)lnSI6 zj0}v-bPddPjf_GJ%&iP9tV~R_4GgRd40b%&D1o9OH$NpatrE9}lY2Rr05xd9Z79ji cO)V}-%q_sJXWj~pYM>qlPgg&ebxsLQ052zj@c;k- literal 0 HcmV?d00001 diff --git a/png_out/FAC1.png b/png_out/FAC1.png new file mode 100644 index 0000000000000000000000000000000000000000..af0f07dda10dc58ae1b718f68e3f8ba400ca243e GIT binary patch literal 412 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!Lb6AYF9SoB8UsT^3j@P1pisjL z28L1t28LG&3=CE?7#PG0=Ijcz0ZJGL_=LCu>G?qD?9A|=;s5{o|Ns9dGt965|9kav z(6d3EzSES9fVpO6Kbrdr|}QIe8al4_M)lnSI6 zj0}v-bPddPjf_GJ%&iP9tV~R_4GgRd40b%&D1o9OH$NpatrE9}lY2Rr05xd9Z79ji cO)V}-%q_sJXWj~pYM>qlPgg&ebxsLQ0N=`ibpQYW literal 0 HcmV?d00001 diff --git a/png_out/FAC2.png b/png_out/FAC2.png new file mode 100644 index 0000000000000000000000000000000000000000..7a374ee0d9e0ebc682d78dafc45a056d974516b6 GIT binary patch literal 412 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!Lb6AYF9SoB8UsT^3j@P1pisjL z28L1t28LG&3=CE?7#PG0=Ijcz0ZJGL_=LCu>G?qD?9A|=;s5{o|Ns9dGt965|9kav z(6b#?QFEOy&|uI>h!rdr|}QIe8al4_M)lnSI6 zj0}v-bPddPjf_GJ%&iP9tV~R_4GgRd40b%&D1o9OH$NpatrE9}lY2Rr05xd9Z79ji cO)V}-%q_sJXWj~pYM>qlPgg&ebxsLQ052zj@c;k- literal 0 HcmV?d00001 diff --git a/png_out/FAC3.png b/png_out/FAC3.png new file mode 100644 index 0000000000000000000000000000000000000000..7a374ee0d9e0ebc682d78dafc45a056d974516b6 GIT binary patch literal 412 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!Lb6AYF9SoB8UsT^3j@P1pisjL z28L1t28LG&3=CE?7#PG0=Ijcz0ZJGL_=LCu>G?qD?9A|=;s5{o|Ns9dGt965|9kav z(6b#?QFEOy&|uI>h!rdr|}QIe8al4_M)lnSI6 zj0}v-bPddPjf_GJ%&iP9tV~R_4GgRd40b%&D1o9OH$NpatrE9}lY2Rr05xd9Z79ji cO)V}-%q_sJXWj~pYM>qlPgg&ebxsLQ052zj@c;k- literal 0 HcmV?d00001 diff --git a/png_out/FACTOR5.png b/png_out/FACTOR5.png new file mode 100644 index 0000000000000000000000000000000000000000..0b58052778b450f1460bbd42ea0865fd3c037b91 GIT binary patch literal 29080 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 QKMj<;w6av4gmK9K0e{J10{{R3 literal 0 HcmV?d00001 diff --git a/png_out/FON_1.png b/png_out/FON_1.png new file mode 100644 index 0000000000000000000000000000000000000000..cce01a64474c3b60eb1df67c912e43487be40b92 GIT binary patch literal 575 zcmeAS@N?(olHy`uVBq!ia0y~yU~~Yo**Tbjq+d$P4=ES4z)+>ez|hdb!0-zw z)bN6Vq11qZ;Z*_ygVhWM2JwP9y8>;15|#lzA+A7rJ`g%PGyG@x|G)nK|NqGh^Xvcr zUcKD7zWG1H{P_$F&g{hum+Sw7lGs>>JNL_f`)h^^MRrx6|9H}7 z!bODt;da=wKF)(sw(-d8CvPv_5(kB(2?-T1M#V#gLsCD$6(`Ky=ltPyTJ zqNQ?C@_v!+RJSuy9eZ|K9njh+@0UXlt9st wo1c=IR*74~$-SIQfEqO5Hk4%MrWThZ<`&@AGjD}PHBb+Or>mdKI;Vst0DAP-*#H0l literal 0 HcmV?d00001 diff --git a/png_out/FON_1B.png b/png_out/FON_1B.png new file mode 100644 index 0000000000000000000000000000000000000000..11b9ad0b988449b13c9c7b3c8fe587d090d0433d GIT binary patch literal 566 zcmeAS@N?(olHy`uVBq!ia0y~yU~~Yo**Tbjq+d$P4=ES4z)+>ez|hdb!0-zw z)bN6Vq11qZ;Z*_ygVhWM2JwP9y8>;15|#lzA+A7rJ`g%PGyG@x|G)nK|NqGh^Xvcr zUcKD7zWG1H{P_$F&g{hum+Sw7l7sn8f<8LRw=4)2qX+8h!MsMz|eg6;l8R)q>n9u%^ zt~n>)7J@;bk1n0a{b;e`xG-(<8bS!HoQXXEq|;}`WW*1PO{xJi6_jZA2_ ztKa#I#%{(>{T5EgvKB~6uVwu5$09^9QQXz%;k=6i43pJ+9rD6MN*TZXR*y61vYI!Ha%8e`u37#Hae2j?MoB(EAF7tPMwFx^ zmZVxG7o`Fz1|tI_GhG97T_d9q19K}w3o8>7Z36=<1A`q8HcFsq$jwj5OsmAL;pAS< lB|r@ta2rZ8b5n~;5_1c1>zTJgqZ+7(!PC{xWt~$(6987Y%rXD~ literal 0 HcmV?d00001 diff --git a/png_out/FON_2.png b/png_out/FON_2.png new file mode 100644 index 0000000000000000000000000000000000000000..8db6da4a6eb8483e309930a811b591d22f987c6a GIT binary patch literal 2195 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 literal 0 HcmV?d00001 diff --git a/png_out/FRA_L.png b/png_out/FRA_L.png new file mode 100644 index 0000000000000000000000000000000000000000..c194e143e3a564e65caf45178ec5f88b4bd7b91c GIT binary patch literal 322 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx93dtTpz6=aiY77hwEes65fIkL;Kp=OG& o@=q~=e5(Psp(HamwYVfPw*a>ui~GvwfqED`UHx3vIVCg!0I@Yvb^rhX literal 0 HcmV?d00001 diff --git a/png_out/FRA_LO.png b/png_out/FRA_LO.png new file mode 100644 index 0000000000000000000000000000000000000000..c194e143e3a564e65caf45178ec5f88b4bd7b91c GIT binary patch literal 322 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx93dtTpz6=aiY77hwEes65fIkL;Kp=OG& o@=q~=e5(Psp(HamwYVfPw*a>ui~GvwfqED`UHx3vIVCg!0I@Yvb^rhX literal 0 HcmV?d00001 diff --git a/png_out/FRA_LU.png b/png_out/FRA_LU.png new file mode 100644 index 0000000000000000000000000000000000000000..c194e143e3a564e65caf45178ec5f88b4bd7b91c GIT binary patch literal 322 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx93dtTpz6=aiY77hwEes65fIkL;Kp=OG& o@=q~=e5(Psp(HamwYVfPw*a>ui~GvwfqED`UHx3vIVCg!0I@Yvb^rhX literal 0 HcmV?d00001 diff --git a/png_out/FRA_M.png b/png_out/FRA_M.png new file mode 100644 index 0000000000000000000000000000000000000000..c194e143e3a564e65caf45178ec5f88b4bd7b91c GIT binary patch literal 322 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx93dtTpz6=aiY77hwEes65fIkL;Kp=OG& o@=q~=e5(Psp(HamwYVfPw*a>ui~GvwfqED`UHx3vIVCg!0I@Yvb^rhX literal 0 HcmV?d00001 diff --git a/png_out/FRA_O.png b/png_out/FRA_O.png new file mode 100644 index 0000000000000000000000000000000000000000..c194e143e3a564e65caf45178ec5f88b4bd7b91c GIT binary patch literal 322 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx93dtTpz6=aiY77hwEes65fIkL;Kp=OG& o@=q~=e5(Psp(HamwYVfPw*a>ui~GvwfqED`UHx3vIVCg!0I@Yvb^rhX literal 0 HcmV?d00001 diff --git a/png_out/FRA_R.png b/png_out/FRA_R.png new file mode 100644 index 0000000000000000000000000000000000000000..c194e143e3a564e65caf45178ec5f88b4bd7b91c GIT binary patch literal 322 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx93dtTpz6=aiY77hwEes65fIkL;Kp=OG& o@=q~=e5(Psp(HamwYVfPw*a>ui~GvwfqED`UHx3vIVCg!0I@Yvb^rhX literal 0 HcmV?d00001 diff --git a/png_out/FRA_RO.png b/png_out/FRA_RO.png new file mode 100644 index 0000000000000000000000000000000000000000..c194e143e3a564e65caf45178ec5f88b4bd7b91c GIT binary patch literal 322 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx93dtTpz6=aiY77hwEes65fIkL;Kp=OG& o@=q~=e5(Psp(HamwYVfPw*a>ui~GvwfqED`UHx3vIVCg!0I@Yvb^rhX literal 0 HcmV?d00001 diff --git a/png_out/FRA_RU.png b/png_out/FRA_RU.png new file mode 100644 index 0000000000000000000000000000000000000000..c194e143e3a564e65caf45178ec5f88b4bd7b91c GIT binary patch literal 322 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx93dtTpz6=aiY77hwEes65fIkL;Kp=OG& o@=q~=e5(Psp(HamwYVfPw*a>ui~GvwfqED`UHx3vIVCg!0I@Yvb^rhX literal 0 HcmV?d00001 diff --git a/png_out/FRA_U.png b/png_out/FRA_U.png new file mode 100644 index 0000000000000000000000000000000000000000..c194e143e3a564e65caf45178ec5f88b4bd7b91c GIT binary patch literal 322 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx93dtTpz6=aiY77hwEes65fIkL;Kp=OG& o@=q~=e5(Psp(HamwYVfPw*a>ui~GvwfqED`UHx3vIVCg!0I@Yvb^rhX literal 0 HcmV?d00001 diff --git a/png_out/GAMEBAR.png b/png_out/GAMEBAR.png new file mode 100644 index 0000000000000000000000000000000000000000..be0249de03824227fca55472c9992e6f7bbfd637 GIT binary patch literal 820 zcmeAS@N?(olHy`uVBq!ia0y~yU~~YoC0Uq(a@a2CEqi4B`cIb_Lo1CFBBpLR|kd{QnPR1A+hi`sfD|Rt9_+8WW)Odrud~5Rc<$ zr#1E-GT?D7-hOaxf%cOb40l-q@|a$gG~9a0#2KsLyWN)kMdu}zrB;erij4oGzXi{} zCZ;5xFaNV**Z-;}$@;$y|9iflS8t!;KQZ1_Y1^mjiRU)@hj&+2YaUyww)A^Yoveo3 z@wetW7cC3suMztkA=F-Tu29?j!nchdc38h)t>UQm3GJ@Z>6~bG@?lz0@!MzWqUH7% z(==_btT5O7HskoD3qNH}H=KR?T=MSyE$_SBzvs z%;P39=omG)Za%WQyZXRynLIbgqNzvkX}NE2a49^{BG#I7<6O;QZ?k;X<6A6(!IBVh7THOcFB`yd~xh35zpeHlm<-XSPaFz_gmm&(L zQKe2_I&4>p-c3plC{I|pBuH3unakr~qG5 z=YjumTo#tivh$r(5;jd!Hw*OqaVffnox^vz|I$D|$*a;iKPT$lHr>na`}&`o$@xi% zbJnnYu!*qcVcO62@Rz!2xbbH*^JU6%-brf9^`3ZqTJf{^tI%xEwB(bzR)YPihLeN6 zEu-Gqyf-Nk4B8!=_x$vlF2jD+i)qC+%*(DlzEU>l=B&e;?taPi_g@;ntJ6zm0Xkxq!^40jLdWm%yo^7LJZ8U3@xloOtlRRtPBj~rteyVq9Hdw uB{QuOw}$*vOaed+8gLs*GILXlOA>PnaO<(SuY4Y;hr!d;&t;ucLK6TfCqupf literal 0 HcmV?d00001 diff --git a/png_out/ITE0.png b/png_out/ITE0.png new file mode 100644 index 0000000000000000000000000000000000000000..e1d722e9661548f819e0f4e22160439a3d76f252 GIT binary patch literal 412 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!Lb6AYF9SoB8UsT^3j@P1pisjL z28L1t28LG&3=CE?7#PG0=Ijcz0ZJGL_=LCu>G?qD?9A|=;s5{o|Ns9dGt965|9kav zSi8M1#o0u#=28MZ!dm zik`c^Y{T9nmLDq@Xhwy9$?naQ;IH3%UEO>ki`}-LtGj`wsg}4#l%yncptHiA#{}dA_95vuJlw{_n b7MCRE7U0%nabNj7P!EHrtDnm{r-UW|GdqAi literal 0 HcmV?d00001 diff --git a/png_out/ITE1.png b/png_out/ITE1.png new file mode 100644 index 0000000000000000000000000000000000000000..e1d722e9661548f819e0f4e22160439a3d76f252 GIT binary patch literal 412 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!Lb6AYF9SoB8UsT^3j@P1pisjL z28L1t28LG&3=CE?7#PG0=Ijcz0ZJGL_=LCu>G?qD?9A|=;s5{o|Ns9dGt965|9kav zSi8M1#o0u#=28MZ!dm zik`c^Y{T9nmLDq@Xhwy9$?naQ;IH3%UEO>ki`}-LtGj`wsg}4#l%yncptHiA#{}dA_95vuJlw{_n b7MCRE7U0%nabNj7P!EHrtDnm{r-UW|GdqAi literal 0 HcmV?d00001 diff --git a/png_out/ITE2.png b/png_out/ITE2.png new file mode 100644 index 0000000000000000000000000000000000000000..6514edc3eb82356c35f8884c4b56595b075e43d1 GIT binary patch literal 417 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9Q!3-pIZrslUQVPi)LB0$ORcZ_j4J`}|zkosw zFBlj~4Hy_+B``2p&0t^;M1%pUg17{{QdQ z%Z=-s|1->=&%of!Ud(X0{y#{`?%hCDr_8Qx1!`kV@^*J&{gMCjIFQ3$;_2(k{)%0U zT}ZdZw#Eb~7$R|b>3K_`1_K`Fi}R1>aJKxOFUG%8$16^~pG#7~Rb~Ivh8U5h zTB|gB*1HB?>$N?=$Lf1=*P{7xdlK&adGh+Xu<>5GGs-L%KBaN60F6{Fag8WRNi0dV zN-jzTQVd20MrOJO=DJ2kAqM7Fh89*PrrHJuRt5%g(|4^w(U6;;l9^VCTSNXSCIO%Z i4Y&;@nYpROC5gEOxb;}vS3VEa!{F)a=d#Wzp$PzbE`pZ; literal 0 HcmV?d00001 diff --git a/png_out/ITE3.png b/png_out/ITE3.png new file mode 100644 index 0000000000000000000000000000000000000000..5c9894121cb93bd54252fca2e4a477cf7d01dcee GIT binary patch literal 408 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~i!3-n?Kj!QJQVPi)LB0$ORcZ_j4J`}|zkosw zFBlj~4Hy_+B``2p&0t^;M1%pUg17{{QdQ z%Z=-s|1->=&%of!Ud(X0{y#{`?%hCDr_8Qx1!`kV@^*J&{gMCjIFQ3$;_2(k{)%0U zT}ZdZw#Eb~WasJP7{YPA_ms6*g8~oh#YTaUx?TUTdd*CKs{5SBq03|UlZG5F?XE{$ z&sS@`vDnG9NApFOok;S#%!7YFT;^Vr&mwp(?8i@_Nvb8T5hW>!C8<`)MX5lF!N|bK zOxM6%*T^Wuz}(8v!pg){+rYrez(8*Lt~Dqca`RI%(<*Um$Unsd3PTOJ4JDbmsl_FU YxdpiOSlm}W57fip>FVdQ&MBb@0OrwwX8-^I literal 0 HcmV?d00001 diff --git a/png_out/KARTE.png b/png_out/KARTE.png new file mode 100644 index 0000000000000000000000000000000000000000..b2b8bea20299544fabc0a114e28390c4e3d549e4 GIT binary patch literal 18292 zcmV(-K-|BHP)004R> z004l5008;`004mK004C`008P>0026e000+ooVrmw0001lP)t-s00030|NsAs|NqNJ ztEV$RbIZHCyZ_@?(|aGU*Z)t8FCR;zo12?+Hvos9M>{(^-{0S7pYN|Te|xJ>Yinx& z8)p+Mi#JQ3KXbcNGXVc*FaL`#e>VXCr#Gih4*)*^3ttCUk4qnW6L*(aS6f$?o0I=5 zNB>jPlgt1AYj6LT&wJ}zzX$ad00001VoOIv0sjIm-T(jq2XskIMF;8!76%e89W*VD z002eFNkl%!ub4&2svmc&T*HIog zR8=LfPQLtje|@_BUwehR$*yyA*6ZbNFKmv#B=ZIh!2AfO>cqc)_ND)Bc6<@-8+va5 zCWdQ>8=%MVB1@={0npRNPGcMtC1J~A{y;Uh!G7pSYpNl@}lRMgsMR@s0Q;dc6L;8~D8do4&0@+CuN957w`JYuQC^-qCV4D~VGXd{N({ z^K*Kq@VmXpAA9mmF`g-#E)PjU$lO z4W+LI!upHn`{;f*dDjY|dK>2_HyoG>A5OpD2xiZY*BB>A7({LJvO-<%>sXhiNge6! z_WRvDPQx$_q3*jn)Gdr*{{h@Ph%YFeS?05qp1TgxyI!v#c>3*5I0G1lX^NL}FB&=Q z_vNrj(FN8%&dP5X2H}TW_WOApCZRb2UfYKrn*5Gm+bTnau`zF_w^|%L&^fBMs{9>= z-yDh{1P{mRH;2(HfaAW5rJ$PxV7UPp>TbX9T>ypG5a$rU&u@|U+4gOqFJ7>voU5+e zwylHX`-UMrhUFimXZ8;O@h~&^{dNt`0haqRz{m|@5*=NCvf(TM<5(^ie93N}%@9Ha z+rAI=QUriq?0XBS@s5eGeiO{RM|d=?T`uzB0`!#Xml+|jUYS=g|OY2yf2)}=?y(4$e%I_tZR|_-S52o*(E3u z)fFNUwoqI_exDxv!~$Lvpun31cZ|snl3!?Vx7KnHffvQ>89`o-@Lfgptqi_{S1l1V zJ|2jB6ZXIJvS&X_VA9u+yq0Oj>Mr^(m>t*QNrIR$nL&6E5rmsw%Fh6TpyetK(Otvh zWM6a|Uc=1Z;VX9MzYxIlSs;2wwz@~8`1LWx&ZfcwkXCSNtpy5bI3d z@@l~fojKj={e|eJZkc*#0C#@@fXZ-#4p+^a?7h>AOtV?S7!X85d)o~@It+6g3qu8I zm8#P#H?LoPf)|zD8lUiU(f>WyFP=U2kUoEZ?uPY$k_ID>tHsLco!j<@`wyzG`;F|X z&ECDUf|i_p6g`MJ`61sCa*aRaUl?Fp3%@o+a6z?q(u|JDoXB5Dbj+VGE;mPKD!h`r zJnpMLUm|?!j#&B*H)VGt&D$dWe?5Q^;zy7sfTMenk@zI$u7gWfR-#dY%atR{0e%H7 zhu5etuluIymUF4s{*6|?srY!D!@1`^r8u%2}9q%=XaqaziE6;hyb3ge|#x?vF)34>q#K$ zWctA-c1G~8sls$0ymtLu*D=H-fYT6Z24k=AKGZ{Ir)LkC$I(l=@d+O2HD{Av(xWbH z>4D#0Qv%z#gr~b+(h8SAlnX5m>`CuKF3(?YRuB0$XMcq5U)4d87ClQ|k z%;KYeg!}Kh4)Qk~wl}WG(FTe%?7AJnQ3Agx?!3s|ERXn&rKCzr^a`#fI3cIyn^wV* zmVdf|721C#tW$<4|2~|y_uLRnB$eM7;}`3Q^BaEOAXr(u9|5Z4I2}OHj34o_h$`3h zY6Qc-l3;brzCSHeSB3iV&N$8vojcv(5#1P~~`U}$S>6hS%<64YN? zs;~)Qkr6!H|23DmwKO;Qd zjh{TLT0s!RFCW5+pAsxc&{n7UPUczug!}vlRQga=pMDhh$G*4#9!`!)1W<75g9ykV zKRLa5thtT2Kx-m9z@s0=Es(+RhX8(suuAwUd~(cg>c|&-20O(+`}YO@-1#L5oygiTF5jCKtms70z4@vMvnQIXE0W(ZeA42t04l=pK>+W> zXTp!G($`dl)oV~4-iqMd>>D)cd>3GakL-FiAq?`p|7IxK+t0_(8}MZSPX|$3wSrvS zSAwFz2LUKLd^%O~0-`U};XpaWb)Pyse!kwD}$hwM={YTzF0stBv_^XE_d z)ewHlTfX683(36w@q`q5ARvNEPagS+JaA2C0eI4YXI?015Gd3Zh6MNxer~7_FK=a8 zEn2@p+>(i_TrU#%s=}hdXKHX=;~@&=a^T0ddD<%BQ-0U0Ap6<=tW^{XmIGU0Q2mjHzovj-KP0ItXCSsMzGMCB(I`T(1E zqyUOGBceHoz!e%1axtPZfG3dtzzR(%1fkxYeP$psIt=L!RRhjB!&Y7l>s z6!&`o*ZhiNC3rw20=5^+?;2Ya)>(pgdp3e!0qpBeTt<)o*J>A6{QQxxTY%?tDdF)7 zpg3;GUeE4Pz`NLQndWMh1ASsu6sk;lD{F^3RTBQkyJ>f|07R3Z)v-n*l%RRS^*z^n z&BZHWQ-)%R_(l}n-b8OtPjEKX1;VdYx9+>p$@}dCOjf&W7QbHRxn@Z+3srV!0^IQr z1^6ZgQ`|-kg5(!^5Zv+8aDXVGp6sDdkg*7=EaDuLphPgj^eCU7gB!H(K*7c6uMzL~dtc>DcIkq5zRG4aB!471IGwZZbZaDisV+|zK5fx!1v%uuf5D+VBsEN z-(Y2zZzXMeS~H=ucgsd~)jy!u^)t$?MdEke?M=I`NyokrJh6PSsq02xXi>BP7m?P@ zc+`EX0ND|W8m2#_(A_r;WD6O_Ret@71$z1a&z}W*(^&7(#6(gw2%actQD}h7tQY?G zuJ~a3t}KC|40x0{bzbC88xA0VBg$2O1mK>~7SpEQlv@vXz$Z6%vA*o==lfl*Uh?y~ z*6!-|6TiMa3&1cp+Be5?OxN^bzJ`vE*u;Pm@ZP#=6F&a5Ya<+MiwF%>g~VgHFA?jH9|uK?vSi*8?ZkgQH^X@l0KSpe=6zS;1} zbDwoxR)R&1BKfKd?W{@tEK@%20Lt{rdOpV^!RggZ*!)%nqfbRt2qW+U-CepK@)_uG-+Ucq!ityQbg z^x8f*oA@>8f@qwd$Z8DwbM%)4_wpT{I*^@Qa<`+d?N_Xza%a?u0kQzp{ZiF2vIZR( z`Yiw#)u9bU>52eZ#QF}vJ=I4QRN#qw=x6q(3qaULAq5EpLGy}0(h6gP-a|I({=N9A zMAag7J2pe~gw{dq+6EuczR^ayrLzv}d%7}~B#_Vk=v(#0l75`!4&5%0T}KU~2!bCH z4f}IsP3X?b0p=`N@}??WEKY<@7&<&!*TLWwz;8+5F3I2iDzEF(%st=Z8QM!xW5EtN zlQoF#FCYYA~YIK81WzV84}3)AH+}q&Z#?By@)rDLjdFV z`Judo#FXJ3%v&=v*h8w-b&9JMA;_98Bj_z54_>_7*!FG4Zg<|(m&@Zf`+85S*JC@a zMv;;~2r>P17Qt)#rsw{7e1V8{RAISC)Xz`ywui)kI@kf5(-_Ljeb6a|-6@*o9x97m zP)|J^mhhRrgw=!Ne0G4=fX2ll1ow;leQWh?&-Vpr=Z@|{G}FzuyfzF0$Ow{7Xc17$ zy&lT((c=wr-zUFZ+?O`ZtR_@t8H9VrOPyj970v)ELWnmx>L&Vgvtzm@PhCKHB?zpo z^S!1grV-{XNBOW!cje1m&GS*qE}E_(d|q~j$MXVE2%>*BQ20nPRXx4~5O~Bwb6`RT zfF929cJ_ zj$);gCJ~s0tg(F5vfr^)wWuM0y4BeMvR+H?ApnIY3el{ySmo3zs3L!{$pPMOd)+j! zRR6-q7LFHyMzC&lUQ9n*s@CB@ND;RIF;0f5wFZQ2IV&^6F-+m0bo<#j(JWC6YTbm}5Y zmngWv`ND^o2uj@5tO260W%0&Zh5jx;(EvEQ9=1m;puA@Q^mj^pc#VJfemGslBx=i-_Dds&>5O@#~KqSMW%7uwJs$!`FzPB|Nd{8J+(T`WUa&zzo zP};y+6qpwF1)%NxkADmxw6Jj_6x$ZA1W~^7Be+_>x`wvB&gv1lJ5yX!_yP;1R&r;L z0WZP#RX9NG4&WoV+;-SoFiAD=4N_uIL!TNp&2rq%T7z9IEmlAlfC#7Y+VSy-;Gy&e zfQNhKN-Po>k9e0oM-9CJ2!w;}D*UbultY)6!sB(`$Xm1rBJd3{lmPVD`vt4H~(|%7o()vRL1K1}O4!8ci*##8RCJK4!p;LU4 zG13LeCs=UQ05V}+UP6mhtdBKE4xK*$bPfJCz-9@=#2i_kadzj%*ICyg%QI>MXb|)& zzuJCoA402MW3L&GmU`go``#Y~&qTZ0Aap`7gfF}08P%M~%YbQgFD&nJyNybX1qp^$ z;!Q-?{NNdfiyf-&jA>@pvUC|v4a6saJ`ra8sKIYkxb+0IXJ)lO)BMo*1rYOP&$rr%BsA>KZ0x0(?yeD9o@;6z zL-x+V5AawhV4|?6!+|X2CLzVk63X<5Mb8Wf+a!T1s>{ZC$e;-K3ZTZQh!ON-QuU<= z*+Yf*^RYQpHTa#95f4i66(A-iSQztB0AB$@FlLt(MADiV7jUji0JEwRfM3Ix+h%*( z?L9Ms?siON_aTaDD=E`AtxW|@gIa0S zw-z-OZdf2m`7HlO$?$ETS>m?D#i&D+ta@KA=UsDI4QzsKixjE29?$z`<@j3Ff! zwN|I-L}>3CC%CGQ>2HO(v@(VOw0*JucAb?VP`}MmPIsV&y_R z%eRhCVn+2W^Q<#3=6M|VEZhph^qMk&Sk*f(CQzQw%9Sb>X~St=?}+hLg{L&#Y5Kks z(Zb5v+*h~c`mVioFx!z7&EG%6Ra@V1+v4$dzw4M^Fn813qgU6H;v(Lc`Qt1>z(usz z!tULUdv?yf2BYVluLyS2Jl8R74WW3KV$aAc31C;4TZ9cb~NQ8PYyA_rJZ68=JD>v~ZJB~!<=8X~RUH7EyYmG9)+&6q64znY{3M-f*yliY2hgGgCy*+%0%E|L3C$D%=yiZ zw9No&#S3k9=ar06W6n^y5%=aLIP5$EO7myNqC_eXTU(0PBQy7bj)05jTRiiV*Xz~Z_X zPWk5gD2m6NB+&R_ih(u-{{en|V&kTb<)C_<{VrL76;go@F*1YXn1>{c5u3f1=IC=x zcq1B&S_CYyHNz)<5FC4GFfr~Byv$}T@!{?-``z<-fknJ{2M_+iPZsL~Ou4&rDX)2& z+=1*_N<$>p6V|nWywxdweYd>n((Xg4($=zm>w0H2c7#9H`4# zZRS}}&B63ZvkK&Ls&)K%>*{Y&9+uB<$#?u^$s;!FR0v=*StM4DU5T`Wk}zMd0TPH# z;y`NxiF^SVIO^3J&$a%l{8}A`rC-L^JeYcGbx)Ift7w|!`5KvJ5+3lg6b0Tfqy>-~ zHm>a&bVTm3z^r~kLqPr8Lx;!blfq?Tzc8H5O@dyGmy&Qatw*nbFx=r53_+B5@mW4` z7u;(sMgH(1@RJaNU58sc%m`x;j?c#2Sg`e|`GNIM*npK2hUT8q3^id$fGzqTS`Pif zcUyoed*pcb$y!>V4JZD z#e`@v7XrOm;Q^eyH&A)1YG4p|Jd3UK zFh1ZahVtvq{#(H_OTd%&4F;5*i9v78%{6fnxlw)v(WvNAa7NTGpQQ_3VSu5)qahq9 zxVG6@cnQXFDpls>%S9XeY(}ijH()t{yGcW;CvNjMAHaykztb_>$jc^k*h-~XWBbH5 zf|i(|gVEdTf}(i^|xJFOy zeyUiKgb0xS;xnoDQ_VnGF7v*y&6y7|mJ~$WKTd>jEaF;5riA0h=S+pBQ_ z#5VwmP={n|BNBhAB^+S~0NWv7^WLg1%`&Q2FO)(0y3K2;QCm;6RMVxSGju%;3`}>Q z`o5q3?rEQfnJ$&|co&B|MiG`tcd`^tPleBw+z1YM29@o?`I{sPLxIM7nmxT-aF=<2 zpAa3aTZu)Xi-8j_5Oie#SCbKrdLwT#^=r4-MDcVftlxBm*WPZCRoT?7u!)?u>_WH8 zS_;NUDYay=%4C8}r>K?0NosJKkh$@~9$KhcRAd0L3<)=CSe?zVE`sai?7Cbs^47e0 zt&!Qan!{m-2DsI?*UMCEePi3E^mTLhnVz(NkvVRE@ubVjE9~ zl1i3tke=l;VN3EfmXY)R2i6xv^)3+)65(wkV!m=Tot-eKxy+PWpUIrW=x%#j!M&6= zQs7#nV%D?KZGIqR-XYt3J7zEB*j|B|%(3TlGs7ctYVy9}f&!VS;e&un zMi!Icn>b^h+BK4aJsR#L&prTP34%cw#wo>c8iG8HnLbCHh!M_LT`*WbR~OF%xZ+%c zeXT>~`ySb?B>M{RsukPs15Ew@8-P~X^|>A7hi!BrxPZlI6MmB^7h37u2ghaH##_R=SPyiUlI%npOy|##o7igYN$XU07VFVXQ8yQ z$f|}qk!P?e=bUjqP|i&BOyQ6lEvr^Tv^JcXzZ%9>ib96!7-spaE4yl=Xw5Xp5lWh-R zJKCE~+fFDKe3OHq(@bqpS6Pyvo~k1NA!AdVfm2~}178TEjueJ=PNvNgl#7(c(j2&a zjWzbEm4rA&?Y4-D?+NeAJ;7I>DLS(jn+;7VX0CF1%=;CpIe_baOF< zktz&^fm%FKA1R2ih8DTnbaQ-XqBik-my)4}*h3eVi4J_cn1AqrW-(PgFmRp@l& zNOu3#xc&fsV*4a5y_qm(Csnu#Yr|GhD~4kn6kIe9LV>ejwS4kjiisI4kcEPlQMWGA zD@ZO;;+>3Y>q?T7XPMP1GCEX?ihE2taTY*rQ!@=47;?U~ekQOT0uZkN?ws~f<&@S` zJ-pn?ddh@s1DtFKvyEal<$cT%-#m8K+|9m^&j4-ZXvDG}{cu*&(qD5Gmhj7hU)GU4 z=e$_WME#7aA4Nsek!K-E*2u`wtliS$DFv{90GfI8NR90_oawdTKhE7xZcOe=3=r>jQU zU_Zk?r!Zb)7z3Dg7i$qn1D$e0${&VjmX3(cq4))A9$W^^R$DVnlQ#|d;BiA5wwTcr zYdER%oKuYfzevNUktNKO$hxFw{N$k1n)}I}=$16{Z0XDgGYj(jb&Vyq8SAK~=18zO+UIuWs{7e1g6#E@kgQ*dYpbyzF7jQ%u` z*M1L{v*{;FO+#QBMswJE2sHdIoI+CpN|X!XlIzF90hd~g^stSrj3U#X(W6ZCJTZm zrr1`3hS3}}Wm({w*?>EePY=N&mC}Mhb-)8}(Bw%4A27w^MO*1W2*|p!ckt_a*D`zS zilWT5X>x*J15Esm68YFE1bxFHE1^{hl($QTg%aRZhBON=rU;J)>xnX*retCcMUD02 zFU4Dw1gP<}hz{bwDB?F*#$m}9;M9{wdXpYw=Wr+QUUY3uB`v-bHIw|LhLoc)z%hQ4 zx;OE%D6#jx<<(lh2yjM(h=_XEG)-3Z{1rewB$a0tVVMqdaT;yprwt#Oe6vj(xW z`6x^xt+7OzShyipVO;p6JrbKovjk{(_YlB|o?z01VnUU4(vovq^FACrW%Iuo2U^rT z(XK&4C$C)~-DO5OhBT|xMmR?+V`pREbeRpy3%Ye8={RDA3_`f6XxxS(JZZLBo`V>a;xu%I1(W^(wu`A% z^m-G1Q_F?|P}Og+a*hJDP)5r(0vFCjEh|=uG!f^)jCS~#$u(jeNUP~f7%s)b3ovKx zz-)ELNmCc8j5Y7p%NAcc5eneZPEg_aBz>Gc&b-_8$jCH?#@|s59X%SW&@A%TB7N`- zx7+iHzZ5+b<$OhK(u$}Tm1sqEsvd8?P)OQQqumxa&#K!@Tn7svnQlh}O>jDz`7+JZ z7+nGc`&Tr@HkwgCbS8qsTOt>6ZfWohL)g?d)hX8Ot z?*(9q5Srjl&TX6tT z*og}fAB-~bvi9>uARSZy=e?`$Zm&ytu%n^t@#2Eb-kuV_l2XP+U^Hfnic3;Gn!Kaf z)!sr8y;^5ARy$9_x+zR*VC=PC*Vb;VG~MXa@5_Csr0zI>7Ci%283aJznZeUKY8VT7 zvIvErv_j*{amclYU;rB(JyzQ+f)E~$tEjKY-;An;?)J0|%D0aI0Z+cLY1C8~gPE|8 zcJ6EffQEo9>M=~AVH<^D$^Cvk{l^o>5|`!{B-|E$227oamc3Mx-0m^x8?*){>WnQ$ z_+12gazoEzo+cns!%zK1)?foAb&7cR+O9Eb0LYV3t=<#i&HX4Dm{Jyw*^VsS=qJ=1HAF9OHss~0;KM;oA8PQgLFI>V>;FVgBDk{g9+6+^^E21 zdC`0E=MyN?{b}*dR{zC*O8!6DL~7N`(gMU(nIS4$xaIOBtI}EuCBs3TLl|`dpw&ov za2+4Q#8uBh%e?YCv$r4V%A^CV*>cu<%OtN^L%|14L+`z9UsY65JU!||5+HSV-V@gB zhl+H;3I|q67QB45}*)d z*ToJt5W1@daQ2Zj=#eokEG;&E>JoNDczhd21~h|}1zlfl43ZW3;gG4NZ9SPcF@zQa zQzz}v651|xEE>OoO^6x>c}E(RlHw}4k(L_Ohf~p8en0zKF4EX|3CwrjRPrth^ z^in>YHZ$J70>~aB?b+jU9)Fem@S|>z?HXN3tNKzpNO&sV6AE{fEo$&$fR zS;lGBei<%r+GCW6O1YB7@p{ajICha~06GurTzeD0v=i)C0Gay=!X90}c5B!D?3G`T z|A*0$l&-#%wJ`7?b#6e7neJxwPirP%jR}=udHeM|MXM)>WTZV1tS}3}KCmLFg_IC% zBrp$|tAhuLqMsT_1K_gsVJ(9tY+6O#adq zxDYY~6s@|!R+^TF1n|wa8P4ekuD=I;jryrRT~M1;NWJd~Q<;TB1M2@uUlb00RMhf7RhPk>1=efifV zGI&+32@*+L3yi5wWVTjXv9!gCS*mYZeNPmNz15s;qt*DKrwCG5+eHA2`<()a6AV<3 z8A4K;#q~0-#^DC)l`!}wl3%N3BYe`j*B$2FXUTEfOwjP}F*8_7_`t8WUEb816%JsJZUol=dKuC83w_R08`Ae$CkDHl1HgU0I@2UdOIg0H(F&i0jx2s;&wqxfaSg# z1lLmykn$ebN-*FsiTit%5KoqJHVJ%&CcwD;wQJPT*JC)zuL3aVs#3Xfk@ z5Un}F26d?CJumyFeIHA&1TBgb95M}0 z?Hk}QxpBJPuoKsI2C>Z#h!B{xHNZh31`J> z#i$Jp<9&Gy$0)i?kUq^P=#V$tbKH6W*b-H%L1CU>zy;eIGcBIJ0El&{fE`CoGJkFV z`1vzX009sVWWu)I%7 zz38kR&Xoykm`ojn-*Wq+@qEDheNF&bcwz5z)1(OcQ<4S)w%XMvjLS~|X#?b$bQ@}; zL(6!?$+d$30^n04)+I=`4M0J+)U!HSLj+q*S9MV-PF{`D@v?RH7OM%VJx^Wf`=7BJ+6v^RzY)Hs$|s#fX_Q;$Hbf5ggH2mw6}u`nz*VYm*1MuP2puw&%J5zn4^ ztZ6JlxBwJ)Tp?e(ukU%!o&>*=hQ##Zoa!_dMghk663F^O&QB#)MDQ)ZmEhaqz5cXX zMx3<(jeZv9wS#3}@+q}eWgppfEBv&g0%_Gn;7|teI~1D>euPm2rg6_~rmMiO$| zlVX~_q2LbF>;PTl>|?TX)sk1N(J$V+MRNhH`?vh+oZs1hK}7INfc{F9A=d5v5ogM*Q}X7^lY@XA5t219qq|5Enp>>Az>~QNrto>&(AiUbyjWewgq^|X~{S9d|1G3 zPERz6HkIN4`My~RU~E6}>t6*>e&H7qsAl(ZwZjANYk+KX@za4Ob;)fL(8Xgtf_R;r zwS&R|%IG*l1;I|tHPM7f-X~p6%RpMaPRPT)cLY~{gx4&>y*l|`l6ud053QbQy~KaL<3wOeB89 zrAq{ly{^o$EMseFT4jxl7y5HbDilZzn>Iikyc^y8*|4uR`#(^XpM5Bs9$L@0|@4h#0=!+AI; z%|X;ry)BD4)?P<`)?VZ{ZTQt#KKG!_%>H#w?xVMHbD>>^0*C!)fE%ZG1Hi{E>rjo> z)teQik%*=pw}W;vvIHYvm+0&;xBBxrzwDq_vGdxnWHa}~{(CB$TfF-VK1*Df{sqh_ z(J}7Kf`U1TLARp~NSYJB6+jghTn~Kzn01_-Rt=qCNc=u!B6zXpHt;C7+oQM@^7o!~ zsH(EsQru)-*9xQ>QY!-P=f$Lm>R@lQnz1yF$`k(#Tqhp}137Tp1j+*T;B%E3JOWJr zNbcjlI3bGoq%B)h&#@l9Qp8#YyO5)f-row~x{kl*cV0CH+USQ*#RPY}$mqZi(g!Kb z0Mgp|e3ro!cNnyEj)YE>b}7(c*MUc4;D>&1v__9955!XAFmS_|w(zEzqvc#Jaopjs zSkCMm>|7k>6RIcMtzWY5ns`t_MSn2kgLev?1TfIP+}i08^^vVY*`j(~r)J|cab%A|cCdddnv})=^4||H>{9FLTdLeEjf14=~0Qhx56=w8K*%RTr zQ4AkTs5H~mO@liN8^Tg54_&dgdUaN=!2;u@T&`tZl>eY)&|+!p(C9l)%F*Jwab+*F z3lVaR#(A_>>}A_}X`PICz$ul_Ee1>iXd3)@U?Bugx8b)Q2q8)HXMh)4z&okkAbe2d z;+_GVVsKaCjTW;nVp_N4obdV5<|VbsB)5&OqcY`vD#xK2RO<&FAT-+6PAnX;uV_t? zr}QA6KPui75m=|v=#yf61$)RTEF-PigJtME{!93pC01OjDxU#f)t-ReLmAS#ETyuU zdpjbNHth#zHE{C%H);>F4fSQ2y$Q`=N}FzFZT$h^qi(?K8`?n=^2wqPEcoiaFcvH_ z53a@fFx!@6wa)Q5V26+HO>$c@T1yd5JP5WB;{31zH?vNuQ6VbpSmDlGb*{s=F9Fhh z6bcSvsKUJh7_AmPa)W_JF=^OTo|Ke}DwlLEutlfSbjq$NPFXM+#k`~u+Y z03QbN6`-~*kBm8N*3ZP+;H0)&-Z|#}Y-LdH;n1q=ic@wMEPfhoL1+cWVRT!oY8-WA z^_13H;hxt6uh~5y>u^;*iq!D z{n1YPWZ41ZnQR#!i>ObV^}(3P_El+rp{g(!zETPtL%S3VT1RLn%hp-(AlKlpB#=H> z31;bB=0w;EVB9#X!!wX+v>9jXsX;p0W+inM5;!Jv0BD0E?#qY`ejgZ(e4C8Y&gf=b&CyGbw<=~+;eV>4lzOcBDT!Y?kxflz zc7T~XN@?3!xBREB^O*dvZn&H(Roc+{D-Z% zBt>N-F;T4e(9v7cGYO zR7KO7f}HGTZ-tX}d$Uq}ogV#7)E&M1NWnWS1T~I!f_S@w_U$rVK^il&zlFvW1ZQ-F zG!11Dea~#3ym&&c)V1HbkRMYDVIQ#m6(=;p2l)f#jYd#URZBhkt@{mID#IE^T)Lxq;jEI$f3Ep)#IyixsKGpKD$ZGLkk&5+EG~JPJX}(| z0nPlUUVLrxXj(~DTPo3bO>v~Ju-t_JslI7A8>V-bnut%VR)HTzp+U{}&+;jsvj||& z=3@228KGq={R-zMc6NU42Y^<+Znzy}Ug}wk6Tun9`k%*gr(=kXO_>q_yrf`jw6MiJ z$Kl}B7`djUH67dF{;94Bf5pJZy7XC6w#y;aEVRTjx&(S|;U5MEDADSL;#P?G4S~lm zp(g^0BIG9BT;*+k>w|DIH&N&3F0Ss9HGgaX+7cfC>T>!@22q?no?fqGfI#@UmSbua zEVX`&`Q+2$bW^ILtr(f3(kRc6ques1nOgfy zg!CRgGv$-xc?NCrf0eMf0a&jCzh(OC?L9!p2cxhxfdX_6c8G2wr~e4tKhHj=Hl_{1 za1E#FwDB7Lf8GO|OIYek@X#zjUxgsHccEugN95Dmv9kutQw-!>0@HjNHu+mvO#{oy zgm&mb0{4+kWJ9pxkv9IdT4P={;J*i$|LgW1ptZjBJScF^13|70hY<8I=X5A6f*AnR zf?soP9iZhC!z4kAo4v({;LG%MzlqWTl-C1Hv?o&r>-uctkvW7sGpu+rJw!A5HWlRF zBik$8J{Luah)D%-D0L}avS~Ns*;&(1~zyzo;2#7Mmn3q9!JNq3?o3ew9pzg|ghba{Lakn*P^dE~x7 zHjiPFhm$y?!=nQMKuW+sfU&;#`jQx=lku`PtHlHklQtJ}z-i1pUK{Zq0Q&pF{mfN3$>gy~Gu+Wq?HM?B-e6PzoOTjOUphe;*iyrTqO{9Q`wHjbOn&lI`BoQNm4uhS#sFPn|Yd_?X! zc7AFteSM(OljJNCv?8hVs|uxuB_=(*tAzvx`3#L9nhZ?{PX^G7_>Y`q-1?EgAzSYO z>acdlX8?VMl=Jh(#8v_FgmGIOjy(E`n}7Vggyb?w4nQx6IE|0>upinq+h$p6U*( ziue}4b{d{zxV+2!A6s^60n4{GPne;rv)RT|Wk~tn?FwYYK)~x2wC3kMEBc*)N zPG}NkW&E;QMg<*ySrEQn-i~_u6+i@)s?a}Nhbtv`BEoT>1FSTP)`8a=NMjgz?S-gu z;`_+jSgJ(|wXap@U`IXnQUHp2Ty?_4NEN0J$ttpCIwfGb^bv`^)x0FhMgQxP@$h-H zZ3*I52-jKnl~f1&pIP^To$@P$*H82U2X?&ysO{FQ&L)6<3Whlm0XXjW*0|(9g8*K! zvEZ!dPvlhFn{0LvTdC=#a9@i(!CKaNrt)Ll)i9Hk0Z+c^c>z0 z5Xc*KPEWPhEZ?yMwf^n|d|bV+fi`Laz7(bYe0K83uPG3cYUYr}vzWg-=tSt3V_?r~ z#k8Y#sv`*tR_0I?ZEC>q1LD<;X-Vj4GCa)WJEk3kZ!W+3r4G}L#ojoKdSO>{GrS{a z6nFWLM7la<(MTz}t+@pFzQldCzuBt1+?j9{jDCej!!u``eM8&GAgtdeD&^;++$ zlnHIWH7P9&CsAb-1bWsEqZ(lmG?q;~DPpN)jINDr=$98Q9U5S&S}B1og}#>@NR1f9ebRg?QT!!g<;WaDsCg)8~VPp%=#ov7cJI zWV>?RJ&&7vjdE?!x*|V~PK6~o(Ewy-y)qgyHHs9ILPVB8XEEoYUsCc1v^%b9T=KsB zwhzcN!#*xtqiJjEYpIkcvZ5!fWN(Tbs`0NQVnoTponqX+FbYU3U}@VZ1aW6pD7HJw zL1_eNZC^skJ^oBSK|X@{B5VJAS3Fb9X?YKzt?@KRe1S*3R zIQNH8n*vhbEcqafq+zTtLY`G*?3^3vpw3q*pzU~Mn{2pi6os$a_h_Jx_H!US{K}r* zRom%n3hr%O0h?ccg&dvEFzM@6<(5l+;WQ3>mlm*hwS%z0nOLCL1=rQuy{DzO`yI;O z68C{cT%N|LX%dei24u0+&C-wF0)%Zoy0n`A<@qK2&wKgih`2e~P1 zO1h6+CQ^KDPs*-l-+8!Z98fBX{yn*>cecY_Ru#l?32!?bM%dV!6|R$Qe=DI|QXkyc z<`3_|I$W0z04gJT{8*PY_Ab*=_t)F;2SdvnCmtSSGAg2N2HSPbo?3zo$OMBSVMdzF zp3>9q`BlQq{~-1U6RwyeCqK#jA$n=fO#3YPfCCSf`W!Oz{SrG;RJi{1pKLKEAsvO+ z_Rp}UV}1m&I2-ET)sqRnyFEV^g*Tv?hgf*4Z1@>}%Z2b+=-w2-&G#*yOiFm6C=-D1 z%;C6D$l7JOqZvrSj)KbUlVzymNbdqU@z!wBsQ2n&j*%*Fu=0-RrO%d3@jop|ZcF{`+)KP8iei*1bwP{_#B#W95Ay6sU`pUrDf3vq52H z-*0B!V^;EuELQMqPG|q>oNO*r+?k_$jPYiMW%mT2Zq*Xkh?11Vl2ohYqEsNoU}Ruq zrfXoXYh)B+U~Xk-VP#^fZD3$!U?4Yr*BTTJx%nxXX_dG&^0BX>H+fb63n_66w Ym|K8bkHvlE^FTcep00i_>zopr0NHMQjQ{`u literal 0 HcmV?d00001 diff --git a/png_out/KARTE1.png b/png_out/KARTE1.png new file mode 100644 index 0000000000000000000000000000000000000000..bfecb3fa915a398c5f7dbeac7beeabf8b108f4fc GIT binary patch literal 346 zcmeAS@N?(olHy`uVBq!ia0vp^Y(UJy!VDziwSo(PltQvckS_y6l^O#>Lkk1LFQ8Dv z3kHT#0|tgy2@DKYGZ+}e3+C(!v;j&;2l#}zK95(9W{Ca|1l|AtpLSop+}OVO^zPle z|341DxT-z_sEjem+uemJjk_iV$YC$>^mS!_#V*D!q}yU!V*(VC@N{tu;kcfhkRp;2 z5EPUoAR>}tz_}Wz_6Oto$JZ??fNE4rTq8h=IA4 zp@o%+skVWEm4SiW^j&LEH00)|WTsW(){uXSNdTxp18ze}W^QV6Nn&mRZao(FmCpn9 OFnGH9xvXei*1bwP{_#B#W95Ay6sU`pUrDf3vq52H z-*0B!V^;EuELQMqPG|q>oNO*r+?k_$jPYiMW%mT2Zq*Xkh?11Vl2ohYqEsNoU}Ruq zrfXoXYh)B+U~Xk-VP#^fZD3$!U?4Yr*BTTJx%nxXX_dG&^0BX>H+fb63n_66w Ym|K8bkHvlE^FTcep00i_>zopr0NHMQjQ{`u literal 0 HcmV?d00001 diff --git a/png_out/KARTE3.png b/png_out/KARTE3.png new file mode 100644 index 0000000000000000000000000000000000000000..bfecb3fa915a398c5f7dbeac7beeabf8b108f4fc GIT binary patch literal 346 zcmeAS@N?(olHy`uVBq!ia0vp^Y(UJy!VDziwSo(PltQvckS_y6l^O#>Lkk1LFQ8Dv z3kHT#0|tgy2@DKYGZ+}e3+C(!v;j&;2l#}zK95(9W{Ca|1l|AtpLSop+}OVO^zPle z|341DxT-z_sEjem+uemJjk_iV$YC$>^mS!_#V*D!q}yU!V*(VC@N{tu;kcfhkRp;2 z5EPUoAR>}tz_}Wz_6Oto$JZ??fNE4rTq8h=IA4 zp@o%+skVWEm4SiW^j&LEH00)|WTsW(){uXSNdTxp18ze}W^QV6Nn&mRZao(FmCpn9 OFnGH9xvX5On|lf7*TZa%21A)4O-? z{{J}qa<%;W>;L_`_2s=6&z?QI*qot#zPq)x_5J(z)91fmZ(Lu!+CMux8)(x1<>tZ0 z4B^q?lWyOh1LQL%dAqwXrE%A!06FX>p1!W^uh_-dg>+kNYfOMbF`h1tAsp9x&z%-( zP~c#_(4F}$?6k-K|L(!7C9|(aGL%O!I4CF;o-StX4O#o{m*cBVvdeciJ!NfMqqIG5 zQ^Wo259`=edsOY_InUqyKlxXe<=-%`cN`O0j~ArcF&?_g=2o~ta5~T))e_f;l9a@f zRIB8oR3OD*WME{bYhbQxWE5gxZe?g;Wn!vrU|?lnAUA#28Wat=`6-!cmAEzJpJEaK jYS4h&P?DLOT3nKtTYy`S#eL=TKs^keu6{1-oD!M5On|lf7*TZa%21A)4O-? z{{J}qa<%;W>;L_`_2s=6&z?QI*qot#zPq)x_5J(z)91fmZ(Lu!+CMux8)(x1<>vn{ zd;jm&pWvya4CFH=dAqwXrE%A!06FX>p1!W^uh_-dg>+kNYfOMbk)AG&Asp9x&smB! zDDbdc;B4B#+$H#~K2UIad)Pm%$s)oH4la+1&aj3AUEP&wz4G%``D0AW#3eR$-Pv=3 zr%w0aZlNg#(<*j%+wJ|I{Htr`(Plv>o8nu=cNh;eu(|#4{kI=ziE4>!L`h0wNvc(H zQ7VvPFfuSQ(={;HH8Kh@Ft;+aure{#HZZU@=q}d05xd9 gZ79jiO)V}-%q_sJ$Kt;7d7vH!Pgg&ebxsLQ0CmBe5C8xG literal 0 HcmV?d00001 diff --git a/png_out/KARTE6.png b/png_out/KARTE6.png new file mode 100644 index 0000000000000000000000000000000000000000..2b6a6686546dcabbc4e6880fbf0ea4e158992780 GIT binary patch literal 446 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~i!3-n?Kj!QJQVPi)LB0$ORcZ_j4J`}|zkosw zFBlj~4Hy_+B``2p&0t^5On|lf7*TZa%21A)4O-? z{{J}qa<%;W>;L_`_2s=6&z?QI*qot#zPq)x_5J(z)91fmZ(Lu!+CMux8)(x1;LBy- zr!E4r7?Zr+U6|6iYf^w5_7YEDSN2!zV(db?Ew(i#Kp}rm7sn8e>%HeZ`5Fv(m>sN_ zOxdd|^5eh1piuOKLw95%ix`@g#C%Ix5D@-rRo)f(-fgdWdBPYLCrhc@DxMcB+Vnuh zMenuk@1KwFJIX2OOLK9v?u$F#(g8GDwZt`|BqgyV)hf9t6-Y4{85o)A8kp-E8HE^_ zTNzqdnV4!D7+4t?$W7n121P?|eoAIqC2kG*rI(3)EF2VS{N990fib~ zFff!FFfhDIU|_JC!N4G1FlSew4N$@(z$e7@dAxEoL-cGrzwEODi#`eXhckkZ) z|8e-`YWelo|ND3A%X=@LJ$rVsIYaw=cWZ0w`}gms&wsz(xW0O|e|B~@(4_y%%@;aM zuL80dlf2zsn9{gwQh*%x5>H=O_E+p;>_U37Cc1q;SKg$W z1iN{Q{NMlox=Ty^YjX`#wj=9`>%Y_90!>#fag8WRNi0dVN-jzTQVd20MrOJO=DJ2k zAqM7Fh89*PX4(b@Rt5(8^$QG9H00)|WTsW())1#8(F@d|0k@$fGdH!kBr&%Dw;oP& ROHd>+c)I$ztaD0e0ssXJlQ#eW literal 0 HcmV?d00001 diff --git a/png_out/KARTE8.png b/png_out/KARTE8.png new file mode 100644 index 0000000000000000000000000000000000000000..d1b62b0fe0cf6bf9fc8593e219529e505b827684 GIT binary patch literal 1058 zcmeAS@N?(olHy`uVBq!ia0vp^N>&tsDo;`bZu{lHge0OVW>-+cbr_X=C-nhPcwSRVYHqaz?Zw3Z? z2JU$FdUJ;5{`}$n-oeHU^3}rP)%^CwyThZymD7c_^Tnl;`L(sRt6xW3*DJfXs|!bS zn|sf9c6R0tX1BMuH&5U1UVT|Te0}!f_tBFd`?ueAcXzMf{=NI~@9NE;mtX#0zW#Im z^7oTZ|KGlS`{~F3ci;cty!(57eSQ97_wBd;Pe1+NVaGLYplcYDyxm=x(zt6up!T}Vv9L>8U@!b+}mW8a3_W9d6m+= z#z&{W|M#==Jbu7FCGGpACHrkM*GmREx(2?nNwnI3^u^7D?>|2rJ$*6ZhyT=%_g3q= zt^dF6@1un67CQHN1q+|FIgd*2 zo|`){XIeV5E#EYDPeGAM?yNS)Z*lJ4y3Tj*g<9XUpBa=~u5q7?;;wpdk-bzla(|Xy zWAO35dy{WucEsIlJiz&4I(tKZ|Mv>VDwTtLb`|2zc8SG{pX&K>>NdG-;b$*1707mW zh?8b{Z~3sW;LZ8x)u;I*mb3g@k-T*;_tL+Dy4TArqvJL#xWseq#bcq1{+~Y=&oX_s zTK8sEdDyzJ)GX<_0X?^ROr(DHm@!{k7NT`U>zdjrDPJ##kYiq%PM5c7m40pQ$v7Qk zJncrX$g{}BagzmnugCLdhQ(&x3avlzm0Xkxq!^40jLdWm%yo^7LJZ8U3@xlo%(M**tPBkF>lYZJXvob^$xN%ntszcH lq8F$^18ze}W^QV6Nn&mRZatjlmY`CA!PC{xWt~$(6989{#d-h$ literal 0 HcmV?d00001 diff --git a/png_out/KARTE9.png b/png_out/KARTE9.png new file mode 100644 index 0000000000000000000000000000000000000000..291f3ce5f58a872b9534d6a5637b1b40ff5e07fa GIT binary patch literal 1177 zcmeAS@N?(olHy`uVBq!ia0vp^c0jDi!3-p~&3|D5q!f}pf_xbms?-=58d?|_egTCV zUNA6}8Za=tN?>5Hn!&&zUNC1@pbb!>D8MJg^?AH>&tsDo;`bZu{lHge0OVW>-+cbr_X=C-nhPcwSRVYHqfNcw}ZLk z*~9z2<*S9ur-xU+j%KiD2#*f0H)r^-?H+8*u-u>jf4ctvZhiaW-6D&w8Upn&CV9KN zFr{(VqyRbWC7!;n?626x*oE|DO?3Mh7?>G6T^vI^jxP<#PQI%a4RVDfw0)~@E<4=)R?JYG)VYd`$4*X@n9PVJ7Je=EMf{5*a3?*BZ0zTW=( zxAxb+?Y1&<`TYLp?eqSfo%E-sU$wHTf9dVVhaW5cuhK4kyliQQ$3}^zQ;H^4JZEvU z$zHZHY^D3ZJ=Y%13z0S7$|>J=T=>1ZA46_a|K@962{Bh!Gt9bDZ1%v&E~MPNS^I%M zTXo>}L?u(>g|&?$h3Iaz~6r$3%wnU8^;1dp!IW zq+fSsL?59ZGXvwb#}8a= zatAm>RAs1dbog9e(wY>8xlYDW&fhYFHXBssuic(& zogckD^<&_xywpF38m=GXx>(L^+tS{A?|OrBiFA$o<}ynI`K>4WqCI=oR%#wQCcJ;% z`PW^$#1H5vK2>u6@Ko;eDy5WtDFT_2iY;5`hi}-XV|qI$O!K$G#2*V-x>t3+mh@$l zF}|pKLCf3rsjN=**$RhfP3_tFot{sdcFN2P)ndASOX1_n$r3r=4NDguGxrW*n$ga0 z#*!4_)hYIBYFx^9rY$}%6Pp!(dUzQJJ1n35Q=or;!THz(Yt~auq0J7btfwlNO|Fbr zU@hpsare95^rDjt0T1=K^o3NH%#6;vyC-q+7q)ljXHVA@o*5;pD_^R8UbLLW`!VxL zZ}v!zd$-Ee{%F1S{&Zx~@x#myr#-vXpk2y+)#z9D!Oa{Cy^|jwJNIOne{dk%M31`G z^mWt2ZFYCLWqS0jVtp(2LEAIwxmk#xMTv80-`14{3mAKuSxdz?Hk|ME`#WJrpf$?| z9jmH0hg*A_53QJUZAZD6)D8vvZEsr2WfC{dnZm>WO1bd;wU=ynT}>O_$4*QT`;g0R zGo`t}O-}jD3CjR~Y zk$<(=>T2OC7#SFu=^B{p8X1Kcm|GcISeck<8yHv_ z80gn80A((OhTQy=%(P0}8sd~BdVv}=;5L+G=B5^xB<2?2*28IT2`YRTJYD@<);T3K F0RYq7^A`XB literal 0 HcmV?d00001 diff --git a/png_out/KELL256A.png b/png_out/KELL256A.png new file mode 100644 index 0000000000000000000000000000000000000000..18aea5a30b0659be2f64584b750ccec801822ad9 GIT binary patch literal 17933 zcmV)SK(fDyP)008g^0{{R3u%Dmk0000WV@Og>004R> z004l5008;`004mK004C`008P>0026e000+ooVrmw0008$P)t-s0001tS|P?ULX<*U zN=ianguT6#AvtTDdr}aT#^(T()>?#PF`O8Ltx7RU2y2u8oULOJgkvFELVLZOy$BGs zoGHe}#>Tz1V~inMj2KdLAzF+GIYJ>)dk9Kv076nRYqb!2tto4@7;}_4V}vndj45kt zV<|ZpIa&ZYQV2p?7*b~QQXxt?At@m-b5b!%Qgf7qF>5&xF(FDZ827ahb4nrq-ViBLdjMLT zW1N&ygp4t3gaB);5IJixW0U|wgcwqU0EA;obEP4i-WZI|dz7t0t=?LUrE4JoQk>4M zz0Uvt|IU;E|Gf~-wL*lHb5d)2dz{9#a{%7XT9i^DlsPe+V?uka&U3xzrDFj1wE*v& zW35s-)?-4oLOG>#N^^5_|L1G(&WzStW8QOn-h_;$b8DqiQk-L2-dc>Mt-Yn3l<$-P z|L2s}YisY6t)+}>=cT2TrM1SCWADbs#*9MNN*J{=Ijya&5PMqA-tQrEN(h8n=X)XVj48Fw-p)c&08%-et-UFPW3}G*&b4Eu zj6yL|S^!EhIh1pALNRkvF)2Ap2stU7N&t*P0Ifn0oVCuzwMsEcT6-}7)>0VWYa!lR z7_|T~U=+S400001VoOIvem}TDa{vGU2XskIMF;8!76%e89W*VD002S$Nkl5*hxLeeAIk}x*5OJXH~C21W%L9G)KQkcD#fM39t3nf9^ zkg&Y*7Fg0|A$VKX3}UY5LP-tOo*la-NgK*_y96WKcY~$Nw%aE64zhpm@Ao_BJTJ1H zZlC+lJ@`eEB|Tq#zrWXW&hx++V{^Xn#ey%+oi}%W;ev%lGmiiArOzG3w$B}Zuz<#* zg_f~+k!9HbV6lCHWh|aEcVQu83kv>oV;=jjUuOR=V+oDh98SgIa5`PTZ!m{jRXrZn zqnd|j+ED2k?it=e<$qH32fVW$RZ)Dt5?^U)Ntr+J|0}=}AB-<8^(*+Q-;2)Wvaz7z z@r3A0$3j2DFhYF5y-)}r4ccaehp#anaci^Ub8~#9Wf4WOe5Tn)lm*Ilj%J}x)xRrd z<_}*BpH)2K49kufB1)VN$^Vd;mB0jp&joaGAO<$%lt>MGmU;N!CZAGCI)>au}TFH#w`eE`~n+H*xYdf7T47k7(<>A0Mo)@oyxd-IzV^= zS+H5j*#J7-9AK&6U#W02#23!W9|4To`~pMV1dZUqFAeC4>k!po-iL)lEZ5+Ls=)$K zSTP$Lwh9i=S6UJa_(5hRE=(~o%PRn&t;(z6!Ra_=U-5)BNhlzU;|FkC{S)3>s}9HW zy-}M@Vw)h)7b`6*3n+>S;O8)Ciw?H$_5IHV95?-c*^?0o24+LtSJb-W<+e~qWI0Pq_5KBvA zm`+G%g+rW`!CJ4xw~RB0a1@FGraVH=(Jb&ZEo_a^d^l&0)X}J|q|{ehY61w@KxozZ zIcAsufHjp7#1u!6%XA(io;U{v>MlbX!vM#`ApFU#!0Tk7FiA9n#Q4{Qt(1m=u#Phr zcPfcl6i(P!RaK1_juIC+gMLGBsf=5aN}NPCA6bdJDR`@95DEM-v%(2iG!`o@F(Hg$ z%>W#F6~#GwC}dG!P{~VffYKGItE#eLazV(Li4me99`NT3hdueZihNa>0bdmA!ms#B zU>FpZtb|~rDwUCd;+)luA|Sm6Vkt zMxd|E;RIN*SY1FNgtOTofbg1X1&DtHtcHvb5ylN~mJ$QNuolltar~$1RJ1@$@mdcP zB?iHZD+@}%?m*sH!0B|vd{wo+DufuRtjmW;1V#y9$?awb#z$&vYD)^rIKqU>qkjO- zj9RV4XN-Wvpi&(O#A1PnYC2#vfdETO0p{27Iw(nSn5Yd8CS>G$6b)<}WLY z#RNWIZEaOD=5Y7{A&;Zh&&(2tpg{VEAQ0fyR;`Sb7znuw34n?_PCp*2y zcyY9-LpF4noIEKBO)EGWxOr#Hh3x`mTX5 zip4@LD2%XWFve{yhGMi08#FPSG!B9BpRy}z&g1|@R1vs(7!N6e)pbp>ySBZ8B zAo>GXAAlV~QC%4+LVzXpHBK->zmZN76yCvf84y@o>lXGW0Y%C9Dv81 z3WY1Q{5~R~+aJz8xV@NdlPF-otD+U6jR3$>4iFnAFP4IlNI|5s5Dh2kAeWpD$8mh61mLkCNNt7gC!dB2XKX&fC%S-qL8N(Hu^@0 z7(S|Ls>=;^zbTLsKJXqYUok`{4KTh49>o{)nGr%6?T zbRtOz+1*|ncLL!Iz@H7PH-M2qd^W6<5<+7fK_!uwIITKA`KhW1PM$905;bGU$vP* z5n1AzTj2x-Omvm{R>Aw$nh7M4G0ON+W6aF;^`-Uocdf3ut2P=nmoiSL6Zr#xN*!<% z;>11)i!#JmUtj;#KlsX5>Z;7rxau6qs@i*N?`1V^1c)R?qiB6V zi;Jd9fI))o5}<8C&S1zi$1CHX%DZTwFji`&%eOj@K|~mHRYJWG!E6V~xC9a2_0^Rt z-8BiDDKUY@H3YCWScL$=9}=W07Zd@~)A6Uup}IYs!I06lp}bH+C?XcB=*1Qezfxl4 zIMEQ7CY}Bm)UD8NMwCkbon zfEU*QzI(|@^x+~wRh!Nq2MGoVe}q1c;|m2%4om_IQ;e%xz)4QxGS+QY`h2A(#I?Sd z6LUz+;l+g#2e$Fx3K$)gsF}e8GWfN7(FUt1?zu$t6W|0uo6DtZUEvOs!XYh~P{Uz8 z#2Aw}5NJSRXVS+S=FPjGk1v_XtA*0J7K$8*-ldL6#DSrPB6}@_!ZL5v>?KZxD6D1m z!76axD92#qt1>2uIZpHOWE4{j6)#&sPF1OCTm1r+e$aDm6Bdh;Ga(Vm99R zQ*@+wB7MUI5NaDGWiJX6fsDa{A7HE)AVs7D6Zhc6(PSdIW{r;TOFrmLu)u<$IO-sz zz(GMeUrCK0qD_qW#ccQ08h0!zy#%m09gs?pK{p0Sh{+gh@E8P?+}Y)qs|!wNA{kAr zPumNS!Zqycc<8l^eM40%P5gn}0Zcy@0--`AbebYS*3`pc0b_}8MS#zAq4?;=nnTPm za(bNj%v$DEcvb@zT~yalULg-^PW*h8W`SUgj1Phkv>lZ8qB4j` zgsP(sj^IwiDA4i2c#sg%e2z$UepeFO3IPx}W&s;cdqlB!tbK?IJm`-gWurBgKvNMT z2lCb4wesu!#>Q1azK%w!0m83ACaDX$(TOpWs5~RX5Fw;eP+sRu#0a20y}p`l&;j1h zm`hg}3kOAUfe{LT52GhJAfZDU;)4%ZR$p5sAVR@k0~}Trh|CC&-BscT8!Cdfo9hV& zbzr1sHNhYnp~xgy*;I*a2MpQ-LZ<^{(ttp_y@3%l9_Aily1=yVqd1@hE7k{zHJi$tq$qW8o-ii8O5sz^ zI$+ST5g1IfhdFheNEYmZlI*7XjXm`ADQG!nwfn)-Tfgm=}{ zJ&F>gi=-je)u9nWptgV0NtHr^3=j%yP#9d5728~Xkx;-Ol2tMMglWc^+r&YvVX8jY zPkGq|?VO7}$N~DI1Q7L!mc_6r1}39bLTCp#OUWJR#29Dlzh1ZAjt58=Rk&$h8SDyj z9jjfJE^_M%i%A6!MPiRluYa70nyTbx_=G9Ok8Nk-hRWAd$e9(*&EvEH2=C<(e&%-o zH0Z{tYm5pO>oldL4kNb@b4&oy5kxPqmoQM@%f1#&r&lQn6TYg1jTOQHDwxQ12@Fa} z?#7!a2D2i8lzqcvtkrwsUM*$@SX}IJaG$i{w2Mn5)P!z|fKaKgB{#0E^``8I4 z#!~{$UDR@bS`30Q!mEwg1%q~bBR01-XAOAz*H{Ho>ZI_ZPa84rgjnJeZHU0V|dSc^`q($VL!gwyF)j3!V4 zVY%f&l;KjZ@t6U6!>Sfd#(X?i)4<7IzdumvudJ+$K&Rw1D&YkB3LuOtNMZe>CVW8Q zMrgldwSqz5^^X!ZU11$y(pd+of!?vsSyiPJ!7DkywQD$$(>4QnUC7`(9iSnq%@y#g z02YusxWgbN$elwgfuBmsj1Nc*Dpdr~%^zJc6N5mZ=EM(+QN1dLM#!}liEd3?iyH{z z(0#fAU~(pa6l$=$ar(RLUDiQy=Bt6Hf)PF<55AVU-POx28-l_BFzK5Gpe-Uwb!3qyQ!z&)hY)M-tyh+( z4SX1J-3s7?FhhjeQ^Be#EaXEtU9LNcGp=YwcK*K;}{83)spN(6-uv(2DHQ?*%RT#1SbiJ2Y;Wh_+vrm0!KKT=udNC<>=8X$B$ znzq~1hO?yHHD7xKXeipm%He?^akGX&RVV;L0R{{zPH6NXabqB~FxbE#LjAEUT8Tku z@mwy!AX^j4-)Ivt_hSx!5x6x??4rsVQkYJgV~u^YyQYpc7vU#u1V-82{Cx$$ISePx zRYk)f3`Kuc?YHnnlm&&xo9vsZdGhc`?a@NegSsSxA?Q&mEdZUC9WpkKF_t9ngc`9* zOIc%$y|EnoGx)rP-crUxFj!L&1sI(|ti6Ou zF(7vplXbkbK`KTS4HR^$z#u5FozPb9uWneUAKQ(>hTps#Y@2$a$TUw&WO4--(1hO7~xvft150@@uI{Mpj)f7 zSyorohy|NKtM~=Ngtp4;$Mns(uy-@NL1Cc)m=MeC3OYf;R~slwlcx8xi2a+=nW5_Q z2!LwX6UMni9bnL7wLx@~{6!!tg&>k2oKc(;sRcrHdm>xs;WA7 zBXuGV!>4J|pUc#^K!}^<+$JYcgP}6Zjv9DQK-Jk(B|bj)8L4w(uNGb}!Zaj129_rz zZa@Ybg=KLMT~kHdk>vaz1cIQbqRUg?WEJyE!M{A zGOrI9096H=TMYK=Q@k^wK#z7;!960K7eiQa0vF-oB{YL?Lx7D;rU+y51sLRE&?EOW z@N$ra6nDt!pDw6weMS=JE2$!@Ys=S@=|M?X!65Gbu`V%0ZgZ&;vhl4H;Qb0`up&(g zL-aF(HH1OEsl#$hl|3B`yTc)8WCjK~Is>3-pRuYwpm{gKU|h_#43KiOUx&(<8?y#1 zl%PF6stdi?1^DVKEVUNIPI@-0@EEm1H5~UFjBVMlfjNVrkmC+lK7)z`DAl!W%6g!< zx)I=|WlavSL~UHic+gpEB@j1GP^89n#~{>NCL;w6&?1<3x$H^8o@y7)EATQQ7%Fx~ z%=7lTsxH+~n9rLC4z*%$DowT~3X%#YC4QJu!%}Y4QfqCr)k9V5pjUI@{-mJYZlZ7v zD=%kjpfgHEL?%WCU5Kz40fGel+O`@Dh zNr2FveN)b1*m>YyBb}Jm_;XUfhyFP_rv>1we@4x&ud=E1{&1r`%P&KuveA{Lj;@Z`?&a5YG_ z%qxl*(SH*zh!ziUr{sT3amhC@IWd_4jq6b2pk35L+!&0iEp0C%k;7q))*-cxkO;yg zF%NjwwBZr4*^E!Cc2%G<8)XtU09J6Tdyt6)&8vXNSeWw%eTkwufWUi$1}tmQW>2Nv zstD7B1bne6Sj_QFQ&zQ{bwMDtYV`YxyYF7hSUE4Vj8w%6WkD$BZkRMd3e(sUYYO?W zglCze;Ebl+R10djYO8wO)OI62+!&QdpK8Dh@$Y!?8i02})uZp4MYUT&Ml@hV@z4zVdc+(o4mwm(wHU>KTx>J} zOWVzfotzXqOI}Z{F+W};!;8qll!9%pq*L(*YAE{6h)=){QV~dJjHT#4*`B$YlCb#M zTO6oXBqx*gQAl3Od!7e)b`#zpBDD053VcJGnsC)YimTzyVfnJ&U!|e(A%PKmpHu|^ z6!~_>fJ~?PRBK4q8j&;~)C&XCB0`0US?-$nyhj??dfLe40)-ulqTAjy`totK9iYhf)EhN_Aey=x1a^z4remg_aU0q~o` z6GabT_ww}N1RHb`gR{zuUroV~8xpC=lj-$A1gK6cN7WE7`4AqiIft9LvV{ev`Xr@? zIb7usX2>39DcMHxNRwWL@!95bIJCO@db1O!?K4nVq!q{A8$~y3PgfNCU1kq4Aw+en z`I0y;IzPxw&<^d9fP(W1BJXZAHR&n2d?Hdo)S*Oz_~@!D_8Y&QpNI zLBF{hvKB1h9HBL=IAq{^1cRL5Y7NaDG>F)@S-J_A)d*~SHW*Suog+|JQxnP09@AoC z(CwCUQh2|jQq?O{kC{Oz_rl>2^n;8chq5Gr_m!0kW?Q?II4!y*DA~*HCVWH$PVs;j zJL+ovMRxh1edaGH3#?OSN;N;R)XbsE;UT`eLDe-tp~xQ;LnJ_)&KFH}6UIq~(UBR< z$wS&BG^OgOs|l=6>lK#x+M35;y2yGTbcD({ZmO%|TDZ74OgolXG1bVxV1sEs@!DlxCPnVY?rFqE}e=CVZ%vn<(%r6Vl>4ghZc}}d8OMllW zp8>>Wyi}o6lr=46>~tt(*b9i7X)(S5zrBIy5iamX!|T#aHztAMo8ZGWHN5?)tB>bX(4$=cgQ@nkP*@-2%12p7q2nOWzHp1X}1f34$839WEDj3fpaw>eW-NxD8oqyxt}tuF+omu9$t&BhxO2GnrIPPo6n2K+uH!2$z`S`mznXc z(aWZJOzeOab1SUbZs8BhDN|N6K0nJp+{XG~zOS~V+jby-)@WqmG4AoIUe2sAcBH2xB#Xc|b4SS%V-@Y-hN;;cjV)=~PQ=Ylj$}tt~An%K?~G zt9`< zYdGn0RtrRHnMND1zhRo@cm%7079_9BH0HwS+Pb}?bq0y2(PwYzdSXvDixL;^{crbg zc=CaJ_Dy?cNzyoxD``wa<3y`kE#n{y@*Uz#r*ICRa_ML%dFK;I{5h8pc6L0~k|*(W zanmhN@5~as$o_9XxnaYGKY8Za=kfu@d`SRE81Wa883!WqCR7QgB8Ebszz22wD$=L3 zy%P+ulg182itwJ8yQ8zCCEtsu<4ZsP!tU&C0C4AlgHQemj6;Wy9C`8RzLeQbaOZw9 z8RaNxaH#mO)2+L($RfBYk){VWibJ$^O7HF1wryKGjQQ;Za&B8^>-1v50&o6;7j_+E zw=JAM@8GvL{OL|Md00I`qB2c=^zaFAIFHV7tZWw1=cm(1$0<={)+9 zf#PCO$TTqW4+0r6MR_b?+Dzc|u@fqy(z1;-x=%GW0Uiz!= zzwydn{}sVox@q0Ih6cvZ6G4E|{Gu-7l(lM^)#kBc9bmCFj)EVyb#%hNZB~>VV2ddF z*))7<;BR5qZB0u7-ob+h?>~G9$4iI*8pdD#<@b-T+q4M)Hi(l%2w8%VMO{(-#Ek0j z8ncJ+>6qe_$s_HUFVZQkP#Lk1pR`2#NP7$9M3}o}L%MfBy`?A;4D=p8*gFEOU{@PD5ayFIF7V8Eo*9#PFlY zQo0zKy=5!a35LvQhPyjjQ=CC7z7`^I8~O(#{BlpvY4|#Fn7haE|Go(Z2;5+tQCb#7 zgieQvKwoKbSaxq~nJf~+nh|g9`kD}=JAuvYD-dj2J1CnlYXxSvFL(iS+dUlL!Na{h zF#hKB@#BQ=`wY#`0?_BHgy>x9G85?YDH+@F+2z=pCwW%=G;qgJSnjp4s z(}T_K&Q{K#d9M!%ys(lB{N=*};46sk`!fTCpiEa>u$~}Utal_2NQuMM=3*GXpEBXo zBerC)Ywi;i40);(l(%qw_Y=ImXL`)|jvs$zMgo&btPY|Ud_FgpE)`T$t&x*7MP_j! z8(6V*7z_%OfUvEN+o0}RPm{pMy1Sn_TX=BZivr)_X#$%G^d<4iZ%M1fV1gJ3w=kx= zh-Ou{Wt&bPW#dj6vCUTaG+3c&ZidVIqwaHWy|w?~k9&Gf5xf_F4?HLCce9}L#i&2R z?LV^5!w6&UjoKuAyb;;n(b?8v*x)u13wLjAHP6kYxxOd6`wu*L@ZeiLy_~-@9N+h6 z0SE~F$z;L;v6S`$tbw1Jj4JV)Hp9TCMOue z)pD|-C~fv(Jq_b%lVo;wn(9LtY}gZBoxC9@g@2Ge*WLZrnuCMAfBUz8OC$oo?^!|& zW0lsJlJxs28<*mqkf+gs5DJF;0wa^Gqwd?A{Il2}Q;IF%piYe>t$|vR zt{bj4%9#ARnD}fHfZEb6I*-b`8jr)n`Pd(kq7 z#FvzXg0MS{x9e2J%rwK&+40k#{uBct^iLf>?bzP2eXH3BIYu_OYbUU`72$P{92o35 zJNP)qH~6!k{VdOYna2~(GrwrWCBh)*Q1}OmtBEW!Qk{SpAY8%l(4_4Eu54!#5QjlTQt@pl2D1z_A$ZE+Al_=`}X$?Z!v|!ZQB@5{h_>ouMhD(JNWaxzjz<eF{=$aQpo zJ&9014s_CR_x^*Y6(V&C3=u+W}yw1o+E&ckkan z?~RjRzvq$G_V%`P`d2^CV=%0FJc_(F3k+8r&#F;WUi6dB)#0!fmJ?ctunAsRfIYY! zkkVX%SoAWg2D@EmmzK^vfD74fgf>(TfpF-Tzy9Ul4Gm=}NVeEh_N6~xXN4E`c!~`t zNoqK^N>^H-dJ6$+%RgwAZY&Fb#y7ULtmjLHA7)R;H93h(tk1|rkX8{9J0V1OvaN`4 z9egjzX3x_N0N5sqp{6_+348QF2o9_!@dOcmGKVljCH|;4Y(iMhUrO^tyscw!ga)QN zv1uN}bdN*C5Z%c-I-bgAH?0`T!Yelo!H-K2f8?`MtITBrUGG*i2z26fuj)}eq%f%* zZ@y{-8Zg5Z{H3e#&6>zlSavA8RPV-h9(6uBoh^`=w{d{z<=IP3<=OJvvTOw~IKB5}t4ds6D-rHAH*??M1ZwcI^ATZjO-)PJrwUkhX|{l+>~hnD z9whatR{^mT@oj}vH}qk7(}!$H_C!NA+q$jIvO&dQk6+s;AX1!`jN;5CXsd`T=|Nkf zEN>QmLI2#0HD$A0-=+fEQO<@=WZAS?asHhWN|PbBwk3@! zK@;W{TD#;k|E%NuCDyd!d^Y=GwyU!v@1w2I@zGir$(wXJ<%$C_xQxyjgRjMztD4SV zm=V5l#=vKT`}@|dE9WHIQ`WkH-`RJ3pRs=Q-R}tgsNCwnM2z1}ogHn~mccG#mV-_# zC54kwymFPWK2`OKo$q)R>RhhbST1HH3J40#Lc#vNqnEO8Hp~9fM8PN`0%RL@&pX$@=PXYFbJ<&0bwfw z8Z=xwFfjro44q%cOta|xF!zi;zS^Gt-tnL4lQu6Pfkx-ac%_j20pQCojO=)-9VZa+ zdBP4_wV^D+3G`?>gVniA=4!P>xH*Fio>(0$7#|;hqi^!BhlZwpaO}0F{Gw~Pr?+SD zp1(N$KZRl~&(rjQX+oV*qB{=;*_pPyR)i(QhYN5j#AuDL(w<{&+*Ob7$AicFM&xnPch*jdC)zluokd zdngrN)t8copj~Pjo%JLL%;ktezz1q)uCEw5G4%GHe^@&8#>8a*(2~aq;cA_F<(HR$5iMjePT2FUYj zbk2n80v85Uxof2HorpDaWnOmZwecT)`$tRm4~z```mx9UG5hwk?rsneK0dguwWYOl z?gGIdpS_$9`~kvtHa|-f*w!5C|2r;S3*(u@qd41a2NV znjIRSdhD?cQTdTfiuQ^IOI{ZFeN(esvwZQU_8_J2Ii-I_cQkTO9v(< zC(GF;xSzL4C;e?`E+DqFF8t0yj!y#I(Y5mlaN(U@G_!yR?bFB?NKL1$xPnG6f@c#$ z{h)X#6-$M=E9WwsKkENAhS#N#e(%VF#FLY&&u5Prg+9mEbMV{v`zf(+2&*f(64nL( zo&ZlKfE^uT-OdsM1yp%%ArWO-BPIs1R;69iQesXcMCpco2oUN7){s50zkdKi^%6`< zMP{9joTOjtw{;4HGC+e1Kk)?oATQp=U1XZJ;@crlt;Ui{;d4YunTeNa@ermG-A6JU zDWgn`nlg3_7#x`#7&t^(eV=K`SZ)Gs+9nZ70^4`e9+fU2a2vyhKAq0r8Ydw-jWZur zSGAcyq%f}FmMtD+Fc5McX-5MAgpzOx5QzBte*{&{Z3FvEnLxxb`wj%yE&{Z45*h;F zc5?zTc`|%EEzW4J|`fUO+0Cklj_5aJ`|xW50isbIy@^Kakw z;dx#q?LROwF@OM10^kh;M~&@Oa;u`gSZvz00PuFS3xJ)L>uXqx8SAA);xS)RR;sj< zEbK)CtfnL<1YT6$Kl#Sef=hBPAp7I}ee;k(aFa{fp?-nTZcpib=6lVHl2Yf+;ed*W<0r0^7z6lO+U=m{E zOCtl%HQD(&gz`A=@fF297IDWE&aJb&++itM%~y-Tc&&&m>=Ik?;t^R13W*=;>zh2e z4-jUL-6jE!K%AbO9KmrYn>}>$j+1nHEuS7FBecw03W%NUowT;|6ieIF`5a0|N$3BU z9MwM2ED^$Z+!Mk7Xvpy4+&M&Z{=|pi9ZR{)2gdsPz)Mbk^wH6yADw$Cn|3eeVm@hTrmbl${ zTLKJxjUVSS4$CDH;9GOj)!W2w%Vosi2f7m>-b+X3IgUFVnXzVr}lSh~K+ zD2eTujXVB%Z(rXE)3h6mt-zl>pFu-lAjM%eK{{1VTizT;&sF2suJa3DY8mOorfH@I z_S*UEK0r7`1`q7b#pKZS;rS1LbN=WglVMDJ;RNu%^!1HBWdaBAp85fu12fHg#T_`X zVS=Kybg9cTSFZuYWzD(Va@wt0Ee&w90q?`}d%%Y;Ejb}6#KN<^>t7>#UOVyB(5sUL zmYE|SvWxoq`rhM*g2Jj z?s(VGvB@iTvs4dlcydnKUI+kx`+$A-*6p-hGJls{ECtNCj~d=!QBIdwKLyRji)U_g zxs34>#&0;jrYyEf3!d0HHI#jguWs-qt@ed;@lWHs#`jG=V&P)Wz~r2J_MIE)8{7Ze zRC>-k?>y9Ems8gkiOnisM}>7S78gh0HP&J?GNVjgO!$ss5jehQ=L;_^7?Rm|oNu1R ziMLG}4~;+nDS{iH+S9dbXy`}tt{~})$jtt608s5GQtsQ^ zH*d@B#>p-p=W=N}pVzAIM!h`dS303nFH9HNi3=mN=$l!Mjisay1fIIVB}QGR<^#4H z<5Qo4qcFDmWD&h4cm4XusVC8Qsd2Jj00${FYWYU~xj(+1CviHh&kyMO@{{K+?i|0C zu@ZQ0tPk`Z(h1xHn1+VP?8cwpLF_%>)i#cE3oEWmw_0>^0POD^Ps>*T;1*-X;A8Rj zAKR_FfH%tGSa`5;hPCNZF_2BJS>R;=--Of`06zV~)VLf|T`O8X-Sg?wU0Xi|=(NBu}nK4O>-y3sQefhaS@|pzFli@Gks~MBNk-o8claqgE z;F}9BB2;Z)4e!l=YWE(Bj!W3z>rv@{Bf1fgw{c?%q#hef3GS|E7KzXOaoX&~l;6zy zx@ZDWl^32f^{*Jdg})5l`1LxS`OO2}fbhov zs4?^L?T7ltK9S2i*M&5>MUC=w4XOMhtG@av^p<*t-)X*X=zDzxJ>(@*)O)&X?i0^H zJ$L^9VPZ9hrUI>`lUMebtAa3NUjlFHFpx!eM_R#KX#_k zIKhxhoXS|`<*`p*bu?RKdB7UKewn`e)*a!sZ6F}K& zsql(?e4y?>4pegCa`#OFeSKqd;MI+}%$5nj_iyN};4O_AUEW61R5VDuF_W(^Hf@^6 zTx`X~H5xT>3_~&^&Ae;`G=j z0lb+`=S+o1qY-be3xI~cPMO*~9~k_>{gAk@JZbkHyV>yP!nK9ZSi06zZ%_HZ4~<|T`NYg7rvb~r@wgR7pphta^D1a zcMO>etJ`{x965cu2OdAc@gaM7=-US{GVk3xP)O5sbI6mo@UruIqn`dUBKU1=?SrsvI8|{m8^ns&c<{;-5T3n#Q3gA?$stQ^`WztqpFNv!Y8o@~je$q` zr|$=N7+*fR6Yp()81daKl%e#x?!SUS@E{nCSkf>G&{AQFe_HdM)#l6bp#hTr;yU3? z0r1p|U_A}2eDc?XP=aha^5V-!dJ0&CN`)J5f5boiswa`Y?!LWqNN|52+#c)Sk`c=m zhQf`anBi4HBWTYWujfk~|6sX+&+H)x@Hvj}^ywo<&YnHH>7jvvU-QC6AY4-ZtHaOH zJ|@h^3mzqIa^5-5JckmWyc3Z$&+9`5-`Q-M`jirXyfK6M&lrqLi~m3NogYZk6LY*F z?i&dc$CLVo7*lxzd>S4~`<+t8?{PGuW9yxO6?Ck>+OQ7?(VQJnteK%e?O0)V!{(mbR11$rD zplF18wkub2({<(btGP!sMP}U5p<jyPJJ$#E>slu#1-8D0paSNo=-lx`1mk+@afBs zkB*LBIr+l#d-6K;8w+l{I(qR4^zf4t6C<}WvbD-o78U}5TV_<(glh(g{i^30{Asa1 z7brbA9_Q(e4|f4>4?c?kd%p06!7~7G^vo{o(5(_LSTH(zxrZp6xb@jNor%bPfcMr_ z1IvF{Vz1JSe_HOccrc7+FV7^L!MgGw#J#f@3E}YB%NG&hiwkff&Dd=~)k0Sg?M z=)ZNV|C)Z#ACJ9NcxNVO()2$nF-`d86k|SGTt@SQxFK=;+#%3xa^?#sEq7HkBdG7h z1biWdlM@%tj-DMI9llJ)c=_3>8&gwq9%1T*(f5akFJA2J=|_tI22cI!?{!cXE}!Yg zSlNHy@0a*Xv1=r;{y*7?rPk${Yoe67?;QCg=sSrRC$9j$b(~pL(g_rYk;FZ9TqzyR zQp_QPu-rma#ADfH(`YVfDis=TxfY~?7B2tXrm)PF9LjN-Mjem2$Rr3Kak)Zq4H-Rq`}6w%U&7@ZVV6iWK9^ zXIoP!^4)^X8TfiZ64bpmtRm}jqUL1d$XnaD6C72VI{*AskrT|kw(XStkQ_LT*(u&o zPUZLISRF#o8m!vgHLfylo73507MfDhAMQV#Ex`btT+is%wQ4;Z(67opR(x>hIzj(w zv@6*r8XO2mORr=tD)}=b)ygFBDm{)!7NjExuOmM(vPvNu6E2yw9|wpb+{?P^yy?c^+ktlk=PE z9j2`%g9i>s2%C~|K&r|p?I_*N0?^0TAx54FZsd8PsW&#y9T1+k3q1y&p$IoZf4gv` zOZlqi^oH6U+)c8`;-mTum4U?OFCD-z*kz#MW-vuE$P@)8(WhPnE!1@i;!G#8MaqF5 z-gHSvy^`9j(%ugOF(NotGx=qcq>iss`Q50~VG6ZbpNLB-@YtMbjTXPD@_Z!9NXxvh zlyJn5G!p?KYlY(lzNL*N65uw`V6ru#*!q-VJ6R0-nUrOYuIr&1B^%?U4b!Jp?vPnV z&#~#*u_UNLCG!R?g|9CPJcfNds8Tz6ydHMz%cyBguI`W7*;5BoY0=B`>sQl9asud14w$_uuU3B$SuIo5F4{W#?69k>#U%7N)pqaT7rl1BtW1DFo7Y;T1O&<}C-X5p#TO>ANc1Dy?nb1$ObLHjbR4DDwaL+N$ zYY4=FS36Yakj)XRF%+Ev$5-SA6jLz_g%yP~!4&42MPw~zpVe8(sEJzTvwn8*F5>_! z6D-qO?xdzy&$s9nOOstiodvavx~AY%2Yn6Upuzxmn`=D(y`%znhVeMB2Ii#)EX{%B zZa%ogjq?gMQQpHOu`r9kY>%AoS3TR|_RTMM|rRKqxt?)1Krk`*_a z&+p4~bt4>;a|cg`p=($i%}A??c6u>;ql|^RJQll=OXpf$kZSp;WQ=O$V%;$xgm6AR zA%l=SVTJyoHUDq(9Yj~n@c?$A*=Q2jSOjxTzSj+(h!~mc#SgX1YkJw)4- z44@?=1*8Wud&HHzh-HU>;8^-aJKm{rs(Mg?eszZ9=LO=DcV`rB*Jr<12p~gX*nVcp zi}%y^o>A%7bPJPgg*1CIW;A)XjXh>OQZMt_@8wz2zH_yRiX>Vf+M8+`X4mq4C? literal 0 HcmV?d00001 diff --git a/png_out/KELL256B.png b/png_out/KELL256B.png new file mode 100644 index 0000000000000000000000000000000000000000..d4481b362c5a20c75f63af3ec98967c3e08687f4 GIT binary patch literal 13981 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 KTOn-{{Qm$|ZSpJt literal 0 HcmV?d00001 diff --git a/png_out/KELL256C.png b/png_out/KELL256C.png new file mode 100644 index 0000000000000000000000000000000000000000..836d366f1a32939fe545921ab7a27b4b37f6304e GIT binary patch literal 16322 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 I2=k!-2P-3rXaE2J literal 0 HcmV?d00001 diff --git a/png_out/KELLOGGS.png b/png_out/KELLOGGS.png new file mode 100644 index 0000000000000000000000000000000000000000..fc581cbeb8ae4943fc4eed0ad93ea6e7088f6b72 GIT binary patch literal 3533 zcmb_fX*kr4*Z%!x#@HImVC+jI3SqJnQ(?%SHD$||EmLG~jGc%!Fw2&2|9tzO59dDT+}C~1*ZU-x8e7GLbm*7qQS`_Qf(kOp0C37lU;DB} z(AZj5;>)~ZR4kR(?U`rlq~fKbX_}cy@Z}vY#hiq5$KRyBnJsL7h(JVsxOE{-c%g491G948d?&FrNBi?(5)2G zWAVR4|KQqjwQibauJP-CeE46FcTv3UHuEGaQpRoB#2H*Xu>@f+xkeyTLk7H+k86m_ zF{0jTAzfG)=Z+$XO=kDRZV3|E?Ot&e24sBFP_L;hHjVLR{?pu4aDxdIWH1*RaKXVQ z4c1bU8ybLexXIlBHd=>CDL@);rtXf8h8oHY_j%YQ@g1HHO|J0dq*L)16)rtu#~+W5 z;!g*If9f2=|Ex;4q&t!!zNyoZA|4T$4zpt`O@S2nlbg~0T+P(u_r*uSLCkr&D9NVu zl%qXzMlDl4;)Rh2)TRnDZ+|rO?zH` zg6(y0Q%TAYJ1)V_%6|@zQX?p|kJBW2U|TK!!6AlKJfo!vQAP4jWV{s@9*!WXLu&;T zZ7jp0kdKDC_^ZV<9f_;pab;yoDAeU8L=>x!f0bocv7R1rtF1=WW~Ndr6j~d{>zI9G zW>KZ3LSM)1m4jY^FEliyp)O*uSI*?}LCA0%<;T5AdAOw47g9enZ4{9+S3nf%zOqY} zWXIc~lhK1Apj^t%k_>!q+#DOW=FU!ICB*bhzogouJojAdELg@x<a`(1!lF!w3+=z$ihL`OAwb|1_8SxkJY^oE z`>hUfaYks5yn{OK4#*Z3;nF<*d3=BS)Kfr z4O4#n+U-;O;t!`y!Emxqc4x|T0xavUfONzIO;Aq$69p&^?t1zPDt434W)R9@C>b!8 zQS~-upFJRUiLev>H8Z45^=F&ub*eCZv5aqmN6?X|VpqP0n7b*f=-zAb<%?2Sued)}t8mHI)yF5g!J_4QcH=kYm(t#0UcOw} zQ;iZ{;*TbJWNdQQ{K0$d3JD37pjOo%E>zFS;}ewF_L@W;`ki@GvEE>?qT>DrTnWJ@ z$#9A38#ZkN1?z4?zq*!}Us8J~-@EbE7kwr+N3wz?l86x*?v-jgDr;q2jC7uju|8FoP-KX=`bTU( zIK)YUPeVw5+3mBc%Bnya5Z|59yM)3lC0!HQQ$S-P7++)->_5ODp9K-@o~@d-i_fhW zf#+>udPkr=!?0nl!sU{pft7&~&@<88=+l9?V<(&Fy$R-VZV{Q{?wWa35iy6!o}@eK z??Q`?;~HZh-1%bq%+irpR9@W&Z1fxiO0z@SQtmi2nT?cRR(oq;nw$%_g!ZJViZcef zgrOyJT}{Dy)GM{f7hA6K)$w5)S|f9s zzPidMvU+*U4&EN@FHe_Mh$mvZyY`SRmTrTPA!+LdTX}yJe zK?|K~Xcxhq_H}zyyaD;*TIPCQgpj47wxC3%t;3}#LlHeqxP8`_d4T^SUTS3cts z>*_N)+O?h?Z&w%X4#JQI_xJS@?9<))`qHiE7>nQuZMk3$g(fkDzgm;clB3pbe%?T~ zCg?k>LfWphn@`3>o#Y@tY#ZtBiguQy|D*(0?AWv_RH!1zUQ8iwMLa5I)Zm|fAg}$C z>F*}+n4X71#y;y}j?b}x2LknXrMge=NlT2Uj?dLXF`6r(FfEN5S3`nQJqDXq^W8op`4F{v42^LA>841D@$PK#M1BGTqo0CSC&YE zGo_>RT$j(ca%KwdH=V}BJpL$N0I`@YzHzI8+Hj`TXyrAjR56fe=Mxr~(97f$mDRe4je(9RR98<2<7g&On3HXCB zxyazJQe{7Oje*HMXTvb-#q{-_<)Os^#@2Mx$jZB0k|k6?puTrBAQwVTf~0!F(Lr6gO{|u- z(bqw>?ZD(8QryXtZ>T^tucLHd|3Qqez>FSS>Vv%oJ`u(k6aS4P<3;E%Nlatf*nE`C z-Px`HVT{gm`1j;X)Ncu#)2C)|EM|TxpG!DMf-ii4Hp^X6TC$57IKh11bBl5w`H&YBE=OoS< zt;#RXTGL1?-iB2|A}!0?fctJc^{SsoMPApvzs*|enVuV^Kgr@mtSD@TVdc%_f*8Ah zDvR7M`=?yz*$qn-nQJPm^`{aK+F)eIkgK>IrlwzW7=gi_d#vUvWc2T!f2ba!LhZ4L7c(B%EG4*Sad&NN z-Oq!gH4yehN)OU#O)$6({N|h~*BV|Jncd|oB^$A>yoB2rJz*XMx^%0M3LX2sEh0$Z zK1bO*o<#30QMd|}^X&JVr}xfpc*za{VyziRelXcel-KWeJQA7&U`>AJ!&rw*R@>MJ z?^CYfZb0)=GT^w<_Eg7fS~uv<0#Gu#QW=j`d?pO?Fj$EV{WYJ(g0TTrwz)$t5A%zn^G%%9J|;LKjkaJl|JNXhQq|Nq}+kk1Z}4lkb`{{MXV|7`cu4BY>-)Bi8; zHmGmj0yK^>$=lt9^+*28<3J93iKnkC`zv-ab|F1k6Wu-r2Ie?V7srr_TW{~i7EgAN zaCmrC%60KIJ;e|I>sMZ6IQ#C?)Om$Mmy6$7UG{uw{GLfXheNT2f5T<>nikuGb_dJy z_1-YOF@F8hTXf&1vilK<{9M1^hksLU`FmbqUcIgGx9RRL3;#`)R#otEn9*Rsn8?W-;y*~_rkKO*tEOh;?3w>#trsg@BZR=zo)f0VeS2C z=fWTEd|Lf_@o)ZFk%vMn-)7uCw`*Ol@YH8}TGXHGe|&xKAJ6Z@SD!W=WqJ1b`n_Kh z-mfW3Wm;UPy|r6-#_yd~pLf+T1s|~5`_HOARb1GjP&$}%M;Kp(F5|AI(^ia;#P|)_ z_Zut^)UBT0kS*FEUUYOF8{_FBhlgg<4)#XxWw~=h=0TwrH|&e5U3w?~&$kzh2J(*KA5%|0-g}avui+@iznO=& zZC;msJNe=FUtgapC!CQB+B%c(B*Q+YdGAw1VqO^g;F7VYW%j1PfoJ7;d;S zGoG))uqA9-|9z1KEt`Em_%hAoFx6T0NaQ}xgP%DOHv?p!&v?d|8%=7Q;R;|J;rGUT z*OAZnBu-W@1!g|g64!{5l*E!$tK_0oAjM#0U}UCiV6JOq6k=d*WoTh#Vy10iU}a#S zU%$W*MMG|WN@iLmZVhot61_kT8gLs*GILXlOA>PnaO>eTw*;113=E#GelF{r5}E*b Cme&>l literal 0 HcmV?d00001 diff --git a/png_out/PARTY1.png b/png_out/PARTY1.png new file mode 100644 index 0000000000000000000000000000000000000000..a5e313df3e2f27275e0e01934b54679fa2c6936a GIT binary patch literal 1265 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 Hr-UW|0mJ{A literal 0 HcmV?d00001 diff --git a/png_out/RAUSER2.png b/png_out/RAUSER2.png new file mode 100644 index 0000000000000000000000000000000000000000..24ef693591c8e63765a99c2cc1ff67dd191a1fb7 GIT binary patch literal 1078 zcmeAS@N?(olHy`uVBq!ia0vp^Pk>mIg&9aL*&fdXq!f}pf_xbms?-=58d?|_egTCV zUNA6}8Za=tN?>5Hn!&&zUNC1@pbbz$BEToa6-fX8|DT~{>+I#*)2r+6KYwoSAFgcd z{AK&n0H7RWlDE4H<9{aIdq56*iKnkC`zv-ab|F1k6Wu-r2Bz77q zPuolB9??tdo(l?mN$Hh3VwGhX86JAolxxa$`FNoP%U8^vd6KE)=iBpzd6D0CzI{-9 zy6)|!`U__k~wpy;2fd@M9Uv0r8X&sVb5zd3UwHY?~6^SPUg z+3(tU$}sqp9KQbMgc@_@<)0Vk9v3ar&#Ibb?GU|reX{er2Mvt12XYQ7FxS88+-v-% zsZylLCV)TN+3)1XLh&U>EY?lf_g2_QKHxCpT8S+uuCk=NG4)<*V?CMW6!xaf-=pXc zS5u4mlk4ASOpwZc~sHQq%u?icxXakFscxyM}|+_{Fzm9LnOyKirv z9oE+>zkOn*u3}2&|yJ2q^p5E9BhcX{rF8H&n={CD?@O>@ds_!=XWeI zPR7EzqXj8H7sn~y-t>fb{sf6>6JIRrlB`Toxn(xtm6-DqQSbP=xI;SMA2(fL{900> zqSBVCvgO@_2dR@U1a51*^ZCKL)BBFhdm*MGZl@&rP_wt;7CH_@zDMCdf~} z++MXke91I_x1zI}?UFxbSzaE$EFENPK4DtB)HGwU>ccfmk7oW#jxXw(a;qm~vchMB zbrVdL9~$methD~n*yeQi-qLXOC1OwNW=x!8`giuk3tU0If19odzPvxt#x%xq&(oei zoux~%-z$0SowLz==C#*cFP&rN2~L;M^xD@rWmh=sgWmb?#I5u;KDn|XuJ_MzZaMb# zPmA`Od|=;hmUZj-1yNmKu23y;jVMV;EJ?LWE=mPb3`Pb-9!_&hP|3jH>FVdQ I&MBb@0Cz~kO#lD@ literal 0 HcmV?d00001 diff --git a/png_out/RAUSER3.png b/png_out/RAUSER3.png new file mode 100644 index 0000000000000000000000000000000000000000..c27deadc5c28a1bce2fc12bfb0533e6321563fdb GIT binary patch literal 426 zcmeAS@N?(olHy`uVBq!ia0vp^0zhoe!VDz8mt4OCq!f}pf_xbms?-=58d?|_egTCV zUNA6}8Za=tN?>5Hn!&&zUNC1@pbbz$F~BFp6-fX8|DT~{>wkv-vzKo-_YYS#c22LZ zzyJI>Lr^tC_MErUS;0U>j7i?^E{y+~bngK<>?NMQuI#Va#n^@PWKDGYfI>;0E{-7* zmy;737#%ed5(E-b6r>oga!EFo9Na2=RG^TNNx<1eS65f`hyc6MrH#fe4Lu@ncsNts z*vi@zjFefAd8o`X z45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VW5yxS$b1ju7A@$_|Nf5k4wE~F=GqT2@) z;_`HH4B@z*oB(7qF)%(-++z%6sg}4#l%yn z45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VW5yxS$b1ju7A@$_|Nf5k4wE~F=GqT2@) z;_`HH4B@z*oB(7qF)%(-++z%6sg}4#l%yn z45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VW5yxS$b1ju7A@$_|Nf5k4wE~KAjEGq#N z;_`HH4B@z*oB(7qF)%(-++z%6sg}4#l%ynG?qD?9A|=;s5{o|Ns9dGt965|9kav zazLGBS6zsOI#yLQW8s2t&)pU zffR$0fsvW6fw``cQHX)Lm7#@|iMh6cft7(lC&%hm6b-rgDVb@NxHbF;6}ALw(16=e el9`)YT#}eufLqUc2cu^|Jq(_%elF{r5}E+7;(>Dj literal 0 HcmV?d00001 diff --git a/png_out/VIT2.png b/png_out/VIT2.png new file mode 100644 index 0000000000000000000000000000000000000000..1d2a2acd245dd773343f868a3fc18780044a2cb9 GIT binary patch literal 415 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!Lb6AYF9SoB8UsT^3j@P1pisjL z28L1t28LG&3=CE?7#PG0=Ijcz0ZNz!_=LCu>G?qD?9A|=;s5{o|Ns9dGt965|9kav zazLGBS6zsOI#yLQW8s2t&)pU zffR$0fsvW6fw``cQHX)Lm7#@|iMh6cft7(lC&%hm6b-rgDVb@NxHbF;6}ALw(16=e el9`)YT#}eufLqUc2cu^|Jq(_%elF{r5}E+7;(>Dj literal 0 HcmV?d00001 diff --git a/png_out/VIT3.png b/png_out/VIT3.png new file mode 100644 index 0000000000000000000000000000000000000000..1d2a2acd245dd773343f868a3fc18780044a2cb9 GIT binary patch literal 415 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!Lb6AYF9SoB8UsT^3j@P1pisjL z28L1t28LG&3=CE?7#PG0=Ijcz0ZNz!_=LCu>G?qD?9A|=;s5{o|Ns9dGt965|9kav zazLGBS6zsOI#yLQW8s2t&)pU zffR$0fsvW6fw``cQHX)Lm7#@|iMh6cft7(lC&%hm6b-rgDVb@NxHbF;6}ALw(16=e el9`)YT#}eufLqUc2cu^|Jq(_%elF{r5}E+7;(>Dj literal 0 HcmV?d00001 diff --git a/png_out/VIT4.png b/png_out/VIT4.png new file mode 100644 index 0000000000000000000000000000000000000000..1d2a2acd245dd773343f868a3fc18780044a2cb9 GIT binary patch literal 415 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!Lb6AYF9SoB8UsT^3j@P1pisjL z28L1t28LG&3=CE?7#PG0=Ijcz0ZNz!_=LCu>G?qD?9A|=;s5{o|Ns9dGt965|9kav zazLGBS6zsOI#yLQW8s2t&)pU zffR$0fsvW6fw``cQHX)Lm7#@|iMh6cft7(lC&%hm6b-rgDVb@NxHbF;6}ALw(16=e el9`)YT#}eufLqUc2cu^|Jq(_%elF{r5}E+7;(>Dj literal 0 HcmV?d00001 diff --git a/png_out/VIT5.png b/png_out/VIT5.png new file mode 100644 index 0000000000000000000000000000000000000000..1d2a2acd245dd773343f868a3fc18780044a2cb9 GIT binary patch literal 415 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!Lb6AYF9SoB8UsT^3j@P1pisjL z28L1t28LG&3=CE?7#PG0=Ijcz0ZNz!_=LCu>G?qD?9A|=;s5{o|Ns9dGt965|9kav zazLGBS6zsOI#yLQW8s2t&)pU zffR$0fsvW6fw``cQHX)Lm7#@|iMh6cft7(lC&%hm6b-rgDVb@NxHbF;6}ALw(16=e el9`)YT#}eufLqUc2cu^|Jq(_%elF{r5}E+7;(>Dj literal 0 HcmV?d00001 diff --git a/png_out/VIT6.png b/png_out/VIT6.png new file mode 100644 index 0000000000000000000000000000000000000000..1d2a2acd245dd773343f868a3fc18780044a2cb9 GIT binary patch literal 415 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!Lb6AYF9SoB8UsT^3j@P1pisjL z28L1t28LG&3=CE?7#PG0=Ijcz0ZNz!_=LCu>G?qD?9A|=;s5{o|Ns9dGt965|9kav zazLGBS6zsOI#yLQW8s2t&)pU zffR$0fsvW6fw``cQHX)Lm7#@|iMh6cft7(lC&%hm6b-rgDVb@NxHbF;6}ALw(16=e el9`)YT#}eufLqUc2cu^|Jq(_%elF{r5}E+7;(>Dj literal 0 HcmV?d00001 diff --git a/png_out/W1.png b/png_out/W1.png new file mode 100644 index 0000000000000000000000000000000000000000..dd55b2fbe19e8a374e92fc04ee2908adf4422bd6 GIT binary patch literal 294 zcmeAS@N?(olHy`uVBq!ia0vp^j35jm7|ip2ssJg4WRD z45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VW5yxS$b1ju7A@$_|Nf5k4wE~KAjEGq#N z;_`HH4B@z*oB(7qF)%(-++z%6sg}4#l%yn?NMQuI#Va#n^@Pvy5dWfI?iJE{-7_*OL=~Y$gWAM~Zulfh^S$*NBpo#FA92*O(OsR literal 0 HcmV?d00001 diff --git a/png_out/W3.png b/png_out/W3.png new file mode 100644 index 0000000000000000000000000000000000000000..73413be0b355b0de81bf0f97816ea12956ef4313 GIT binary patch literal 311 zcmeAS@N?(olHy`uVBq!ia0vp^j3CU&3?x-=hn)ga3dtTpz6=aiY77hwEes65fIKS;^$-ObI-)2B}lj}B*dW+*miC@wB$kk9_#t?X?refsq2 z?c2BCzJ2@u`S9KQ|7!;y*RDVQfBN~^%coTUtzk^^c6VX@k^k~Iki%Z$>Fdh=id~Fd zNI%P1Rstyf(9^{+#N+tXDX+_JD+six7j6rkJ!O*w*P*^U-|J8Dy-2d0boKC`3x?ln z-h{F>Oc#6DdL+B~LsgcrUw-bP*;_c9!fLaH{q9@;$q;ywKD*(&*~7n!eSiEos=)T+ z?wz&nvS$`n7D(R|I`~fZ8{_W@SJV#c9+)3`w?sGd`5micatoANXYlQk>0`Laxc0Wy)Mu65?Ds_x$%o3y;S}S!GY>ThG3co1upxU#&X8lI=q~pYY6wd>ZeQ?6Dl4B6r;Zt#13 zivFSV|12k5IOu=it5g63|BQ5pSB5`p)edZ&>UyZFf+Z;TxrBo8(oJ5^kKcUQegC-R zgj*`xw#xZ#icWa@eZJCkt2R$IX@#S9yocYKO*wux%wh8P$EtN&%?{TDiaxqmvSiHP z-had7gP{|j;?%wmh5`$kHE&PR(VyMb<`}g+CHO_PT>GNi3};tPnYlUZK-Fo*Q|l!Z zvUVQqV-WVTiSC-$>hYapR*Z*~i`~q?lk?Lgiv@mWZ)=znxp8&A*9ys7SM!%Hmu6ro zGHu^^wu=3fRpOu1kzHzm0Xkxq!^40jLdWm%yo^7LJZ8U3@xlo%(V>+tPBh~Iaar# yXvob^$xN%nt>H(guq9A~2Hb{{%-q!ClEmBs+PiB~3|Nr;u z<;L~R{~6}bXJBw1P?sN&uy|c)B=-cpRTQrLm}4 zLBPe_Ff-RV(@^8V|N4yg778nTr@rw?yYl1CZEFSwzuZHeGm0k{yo+jmcS$Q|-P%K< zZ>zFJcYT+W_dWD=bLfG!p*vQ()dv2X&9<*TE+b~?-JN?3PQ}hl$?H>M;aPO%jo3WK zv_6IJTo!E!o-z(%2NYAB-yDk$14z zDg@3MCcXa4^e<(?c3~IJs`tT*Zm|4wxpi{EE(uBRSk6zSN=|Ku9DH8sG_?i@1u`3) zH|EuNrpfX2bH7Q_6rsY?&sJnOd#Jd{F@)TGF~_4Yw&{$`{GJR;7iY810tWxhZqGVe zX4uXDweXeWy9aC&+a^xBxT&~aNzFj1Rc!tl6_w-is@|)5-XC4@&T$`eFnR{m!{F)a=d#Wzp$Pyrg*b-* literal 0 HcmV?d00001 diff --git a/png_out/WECH_3.png b/png_out/WECH_3.png new file mode 100644 index 0000000000000000000000000000000000000000..3c5ac0b27ae26431ad16fbc4a6ac0f1e2f4dde9c GIT binary patch literal 826 zcmeAS@N?(olHy`uVBq!ia0vp^CP1vk!3-o%S9KTxDTQQ@AYTTCDm4a%h86~fUqGRT z7Yq!g1`G_Z5*Qe)W-u^_7tGleXakgp4e$wZ1=90@(Ak;cKg0k3_5c6>PiB~3|Nr;u z<;L~R{~6}bXJBwFVYWrSByEprlVoH+dM_I-{ z$!lei>^Ae*a>k-fpv7W^(93^Kk0gs_celheiap_Ki|;+ARj)iHyj}TXpu%=e&(g$| zdd4oxg)iq{5LJF89H?KCQp)wZRo6tjB_`cUSoY&hhjaCvcOI1dxpb-3N7%A2L;3sU zSKRkHo?Tq~#cdcaqS!B`#yT6PhZxy@^pK6yBJP79~SZP^4e*}i{^R078cc#jO>2YzVM0EhAx>C zfi8c~bC^WvTK)cb$0yuL=d7>91YXtej`yU_)jir*$tjyOCrECJrESEg=KC!{9a~oX z@-3)$iaGHn{f3FZ6Z2A@l|`1b-RdP`(kYX@0Ff!9MFxNFQ3NbLZGPJNVG1oRQure^{PnaO+v`VDt>Ahr!d;&t;ucLK6VeltLkk1LFQ8Dv z3kHT#0|tgy2@DKYGZ+}e3+C(!v;j&a2l#}z0_pic=2>C;c2K7Cxf`F(bFu{i@!`hU0b z|MTJ6^~ZPb|IhBs5FQ<_9ekWYKD+vB>O7z|j7i?^F04QDUmgc?*h@TpUD;o;i?Ivo zXBo>%0Hs%Yx;Tb-9G`pXZB(-X59@=)(sjP8eOoWFw*21jHTlryi-%^I+JAeq_`RPL z69a#0E4yL8YwL06%!dU!x-zRTIkkSO($bZg7yltDWW_x%Zi}g6e(zhqDt@<@eDL|T zd~@`byU&Z(zxiVS?Ys-$ek^Q2wJtkSwAxYRgSzBb($-J&t){6Y4`i|)PPd6}uH z|47I1ZOXOVTU3t3Uf&q_@b%&D$#C-Kb?)OE9-puSLY6&XL7}hRQ8^ydyj3Bh;09n zJALMsi#=!Be%DT#G12<3Rj;S#y_*&@*X{RRB`W!oKjm=A$(8Ynyn%atlzt_7?@ibT3DHwYa19?85neOtZqfokei>9nO2Eg p!;es5OP~e~xD6$lxv9k^iMa*1^{jU=dIr?P;OXk;vd$@?2>^AHNKya* literal 0 HcmV?d00001 diff --git a/png_out/WECH_5.png b/png_out/WECH_5.png new file mode 100644 index 0000000000000000000000000000000000000000..c10111ac58f57129a3c99d9fe77b8fe2d7183439 GIT binary patch literal 814 zcmeAS@N?(olHy`uVBq!ia0vp^20*OM!3-oh&;EW3q!f}pf_xbms?-=58d?|_egTCV zUNA6}0u{bWU|_JC!N4G1FlSew4N$^6z$e5NNY4jCXJ>~04FCVv|Ns9#nPGnY|KF>Z z8`n4gXP7^qfx(%*nBj8$e~^;hyPKPvr%#_A9v$v&E$wV9U0hsz`t<4T+qd7oeOpW4 zCmm=UW0JSK3+s>km&bt|_7YEDSN2!zV(dctS;n#wKhH`S}^luzTaSn$=C`?~lGEc^`B?W_V!rs%@%r3_o-p9pA8E z@Aqz*_6CdeBN-mX=NQy^XY@|Dt@wCPm!Y2T0H>TTbH!v$ev=}$2sGgt3 zAaf%z!7h82r;_5n8TCxo7HL`+xAavAJaM>&gG{jusyX+_!qNuTg$KybCQ@|Zc@26Lnud^k;gME+cI$p-d@J=Yck;_do~tUSmwhx|A$sK5dOd%K-`#(i-)CCRdK0p;7Z|mwC9V-ADTyVi zR>?)FK#IZ0z{pJ3z+BhJD8#_r%Fx2f#9Z6Jz{5Hn!&&zUNC1@pbb#MBfuxb6-dtqLT6`&{|x{C*Z=?jKbc{E{r}&q zmmAkN|7Vy#pMk-dy_n&0{eO^>-MiEIg{M!S-rU?=TwHwm^l5Kv>G0@qXJhG?u6tvE zW-%stySuRd$bWep$YC$>^mS!_#V*D!q@QIhD*=>V;_2cT;&FWL)X1d63Op|A(c4Re zw|)4VAH}J-#=@6(?w=!k{AWFGFg6^XQ6TWlLPf@Z@u8PCT66RlA7Xu6B_-;2UcW+C zNH2de)4IinzSaiFPx}9hv!?d{;zGyW#WzK-&Rrocs4#QR&C-VrMz$xOFq~Y@?Wn>b z>+w0H<4U8#8u3K?e_k_g?YZFZW9{)aRQb|Bjp+4VX-wOvzEEyj&(3jIWoG6yr7z~2 z{Enw!Ww%$6uXo|!VFru*B_Zt ze7s|cwaay#PtF17lG=-Wx8(Gm6u6R?m)bHxT4_J4V;-N6Vg={D35`<&%6lyBk}l}x z3f`uJn{7uKVv1~S%!JBQ;SOya|>|mS?^%<45){})78&q Iol`;+0Dk&2RsaA1 literal 0 HcmV?d00001 diff --git a/png_out/WECH_7.png b/png_out/WECH_7.png new file mode 100644 index 0000000000000000000000000000000000000000..a2248521450955f81f0265f912e5144b5e331b43 GIT binary patch literal 745 zcmeAS@N?(olHy`uVBq!ia0vp^MnJ5|!3-oFK6Kp%QVPi)LB0$ORcZ_j4J`}|zkosw zFBlj~4Hy_+B``2p&0t^;M1%pUg17{{QdQ z%Z=-s|1->=&%of!Ud(X0{y#{`?%nD9!qcZu_qLV}j}C8cZa#hbba8R9v$1sEz79>G zS&T{E?k=o9@?RbYa@b2eeO=jKv5T<_>1P?sN&uy+JY5_^JdV$u@_O1K1)i4USKpo8 z%j!}2-~4XNglS2;wa@XNcl>Oa!ohSP)5n7Ivx$n$T=&+`sUbUj79VOUwC(45K0SO7 zFX!doD;i#}DEKRJW%-x-zfAk;(&Bm@oB}92W`%G_D_@*UN*Cm$J6Bek=cr`CTdA< zyTz@3M%GEO+av1Zp=p=(FSO^dO12(}%IMnlLO^!X5=W)qF@}@p=SnhV2}JZdls-SA z5_;s7PM2(`fRKy%I-cSw$CT6)d!vj>RMdq$9GtJX)O9*_iJN|8t5L@? literal 0 HcmV?d00001 diff --git a/png_out/WECH_8.png b/png_out/WECH_8.png new file mode 100644 index 0000000000000000000000000000000000000000..be1b2e818631a2433e6694f4efd5ffd500f2b13b GIT binary patch literal 772 zcmeAS@N?(olHy`uVBq!ia0vp^MnJ5?!3-n?Y^5`RltQvckS_y6l^O#>Lkk1LFQ8Dv z3kHT#0|tgy2@DKYGZ+}e3+C(!v;j(Z2l#}z0_pic=2>C;c2J{=w%-rU^mY%INf`}QoE z9bG`<7?Zr+U08qQzdR1)u$OrHy0X7w7h@OF&oY*k07_5tba4#vI6ik$_oQY64%e55 zYfIxBo&NmSzsqeEDm*){D*cw>MCF3Uju#iytr{%LI{TK#U3_^*+lqhhqQ+leFKJut z-FLBidd80zq8FEjm;8KlMf}(P8sWcx>=N&I@jw4`L_=QFcje{%f-J>eot2t9dKD&E zp8Tq%y{y$>wXmnlgy(5K%!#63bvEbm1}d}eJJLcAaFy8=cj%H}(FF4e7tOr`oR3(e3+}msVnSZBxIL zy|bXT$C7&n?;6D0LT|V~J1#2JbL3UT%`?BaS(E(^?!5H$YveYc2wo?t6K1?NC-$-2 z(puxuT-tGaW5Tvpu@h%Bwoc5=v^uu+j{B)o8A)!t`a{?Pu5tZjj(_2jU?_gp78qfw zC9V-ADTyViR>?)FK#IZ0z{pJ3z+BhJD8#_r%Fx2f#9Z6Jz{3Z(xt{6E}$dGg`U|AAnAk1kM%G0EHA zg{42^W+0HmUgGKN%KnO7j9o}S%UD(dC}iU4;uvCaIyoUhe#^;s_f^Exr7#Oc}KmGHwBLk>kwZt`|BqgyV)hf9t6-Y4{ z85o)A8kp-E8HE^_TNzqdnV4%E7+4t?baJe2MbVI(pOTqYiCe>uP+?1;1`W6kC7HRY b#U+Wk1-SLBcQASe)WhKE>gTe~DWM4f!qZ|` literal 0 HcmV?d00001 diff --git a/tools/pcc_to_png.py b/tools/pcc_to_png.py new file mode 100644 index 0000000..29f66e1 --- /dev/null +++ b/tools/pcc_to_png.py @@ -0,0 +1,105 @@ +#!/usr/bin/env python3 +"""Finaler PCC-Decoder fuer Kellogg's Tony and Friends (2026-07-22, ARIA). + +Format (verifiziert gegen MENU.PCC/RAUSER1-3/FACTOR5, visuell + byte-exakt): +- Byte 0-15: echter PCX-Header-Anfang (Manufacturer=0x0A, Version=5, + Encoding=1/RLE, BPP=8, dann Xmin/Ymin/Xmax/Ymax als LE16 bei Offset 4-11). + WICHTIG (Bugfix 2026-07-22): Width/Height MUESSEN aus Xmax-Xmin+1 / + Ymax-Ymin+1 berechnet werden. Die 2 LE16-Werte bei Offset 12-15 sehen fuer + Vollbild-Screens (320x200) zufaellig identisch aus und wurden erst dafuer + gehalten -- sind aber tatsaechlich NICHT die Bilddimensionen (vermutlich + ein DPI/Reserved-Feld wie im echten 128-Byte-PCX-Header), sondern ein + Konstantwert der bei kleinen Sprites/Logos (z.B. RAUSER1.PCC: 182x46, + FAC0.PCC: 16x16) komplett falsch war und zu kaputten/leeren Bildern fuehrte. + Mit dem Xmax/Ymax-Fix konsumiert z.B. FACTOR5.PCC exakt 100% der + komprimierten Bytes (51609/51609) statt vorher mit falscher Hoehe (200 + statt echten 199) zu ueberlaufen. +- Byte 16 .. (len-769): RLE-komprimierte Pixel-Indexdaten, SCANLINE-weise + decodiert (pro Zeile wird bis width Pixel gefuellt, ueberschuessige Pixel + eines Runs am Zeilenende werden verworfen -- klassisches PCX-Verhalten). + RLE-Tupel: Byte mit oberen 2 Bits gesetzt (0xC0-0xFF) = Lauflaenge (&0x3F), + gefolgt von einem Wert-Byte. Sonst literaler Pixel. +- Letzte 769 Bytes: 0x0C-Marker + 768 Byte (256 x RGB) eingebettete Palette + (klassische PCX-v5-256-Farben-Erweiterung). PRO DATEI eigene Palette, + keine globale Palette noetig. + +BEKANNTER OFFENER BUG (Stand 2026-07-22, noch nicht geloest): + KELLOGGS.PCC und KARTE.PCC (volle 320x200-Screens) zeigen weiterhin einen + lokalen Deko-Fehler (ein "Kerbe"/Notch-Artefakt rechts neben dem Kellogg's- + Schriftzug, roter/gelber Fleck der nicht ins Referenz-Screenshot passt). + Ausgeschlossen als Ursache: (a) horizontales Rollen/Verschieben des ganzen + Bilds -- getestet mit 18 Shift-Kandidaten, Artefakt bleibt IMMER an + derselben Position relativ zum Bildinhalt, nicht zur Leinwand -> kein + Rotations-/Scroll-Bug. (b) Zeilenweises Verwerfen von RLE-Overshoot -- + zeilenbasierte und "kontinuierliche" (ohne Row-Reset) Decodierung liefern + BYTE-IDENTISCHE Ergebnisse fuer diese Dateien. Vermutung: entweder eine + Palette-Fehlzuordnung fuer einzelne Indizes, oder eine RLE-Ambiguitaet bei + literalen Pixelwerten >= 0xC0 (die durch (b&0xC0)==0xC0 faelschlich als + Lauflaengen-Token statt als literaler Indexwert interpretiert werden + koennten) -- noch nicht verifiziert. FACTOR5.PCC's "Geister"-Doppellogo + ist dagegen vermutlich KEIN Bug, sondern ein Reflexions-/Schatten- + Designelement (Byte-Konsum ist bei diesem File exakt 100%). + +Nutzung: python3 pcc_to_png.py +Schreibt ein PPM und konvertiert via ImageMagick `convert` zu PNG. +""" +import sys, struct, subprocess, os + +def decode_pcc(data): + manuf, version, encoding, bpp = data[0], data[1], data[2], data[3] + xmin, ymin, xmax, ymax = struct.unpack('= n: + break + val = pixel_region[i]; i += 1 + row_out.extend([val] * count) + else: + row_out.append(b) + row_out = row_out[:width] + if len(row_out) < width: + row_out.extend([0] * (width - len(row_out))) + out.extend(row_out) + + return dict(width=width, height=height, marker_ok=(marker == 0x0C), + pixels=bytes(out), palette=palette, + consumed=i, pixel_region_len=n) + +def write_png(pixels, palette, width, height, out_png): + ppm = out_png + '.ppm' + with open(ppm, 'wb') as f: + f.write(f'P6\n{width} {height}\n255\n'.encode()) + buf = bytearray() + for px in pixels[:width*height]: + r, g, b = palette[px] + buf.extend([r, g, b]) + f.write(bytes(buf)) + subprocess.run(['convert', ppm, out_png], check=True) + os.remove(ppm) + +def main(): + inp, outp = sys.argv[1], sys.argv[2] + with open(inp, 'rb') as f: + data = f.read() + res = decode_pcc(data) + print(f"{inp}: {res['width']}x{res['height']} marker_ok={res['marker_ok']} " + f"consumed={res['consumed']}/{res['pixel_region_len']}") + write_png(res['pixels'], res['palette'], res['width'], res['height'], outp) + print(f"-> {outp}") + +if __name__ == '__main__': + main() diff --git a/tools/split_pre.py b/tools/split_pre.py new file mode 100644 index 0000000..9887468 --- /dev/null +++ b/tools/split_pre.py @@ -0,0 +1,99 @@ +#!/usr/bin/env python3 +"""PCKELL.PRE Splitter v7 -- FINAL (2026-07-22) + +Format komplett verstanden: +- .BOB-Eintraege (32x): kein Tag-Slot, Header direkt per Pfad-Praefix-Suche + gefunden ("H:\\WIWA\\ENGINE\\GAMEDATA\\"), Header = Fundstelle-4. +- Alle Nicht-BOB-Eintraege (PCC/MAP/ARE/ICO/SAM/TFX, 146x aus APPEND.LST, + PLUS 3 weitere System-Dateien ohne APPEND.LST-Eintrag): Tag-Slot + [1-Byte-Namenslaenge][Dateiname][Fuellmuell bis 256 Byte], danach + [4-Byte-LE-Laenge][Rohdaten]. + +WICHTIGER FUND: APPEND.LST listet nur die 178 Spiel-Assets. PCKELL.PRE +enthaelt zusaetzlich, im GLEICHEN Tag-Format, direkt im Anschluss an den +letzten APPEND.LST-Eintrag (TITEL2.SAM), noch 3 System-/Runtime-Dateien: +DPMI16BI.OVL, RTM.EXE, START.EXE (die DOS-Extender-Runtime -- macht Sinn, +das ist ein self-contained Redistributable). Der letzte dieser 3 Eintraege +endet EXAKT auf EOF (0x238966) -- damit ist das Format zu 100% verifiziert, +keine Bytes bleiben unerklaert. + +Ergebnis: 178 (APPEND.LST) + 3 (System) = 181 Dateien total. +""" +import struct +import os + +RAW = "/home/aria/kellogg_remake/raw/PCKELL.PRE" +APPEND_LST = "/home/aria/kellogg_remake/raw/APPEND.LST" +OUT_DIR = "/home/aria/kellogg_remake/extracted_pre" + +with open(RAW, "rb") as f: + data = f.read() +with open(APPEND_LST) as f: + names = [l.strip() for l in f if l.strip()] + +# die 3 unlisted System-Dateien, empirisch gefunden direkt im Anschluss +EXTRA_NAMES = ["DPMI16BI.OVL", "RTM.EXE", "START.EXE"] + +PATH_PREFIX = b"H:\\WIWA\\ENGINE\\GAMEDATA\\" +N = len(data) + +pos = 0x100 +entries = [] +all_names = names + EXTRA_NAMES + +for i, name in enumerate(all_names): + is_bob = name.upper().endswith(".BOB") + if is_bob: + marker = PATH_PREFIX + name.encode("ascii") + p = data.find(marker, pos) + if p == -1: + print(f"FEHLER: Pfad fuer #{i} ({name}) nicht gefunden ab {pos:#x}") + break + header_start = p - 4 + length = struct.unpack_from(" N: + print(f"FEHLER: Datenende {data_end:#x} > Dateigroesse bei #{i} ({name}) length={length}") + break + entries.append((name, header_start, length, data_start, data_end, path)) + pos = data_end + +print(f"{len(entries)} von {len(all_names)} Eintraegen gefunden.") +if entries: + print(f"Letztes Datenende: {entries[-1][4]:#x} von {N:#x} (Match: {entries[-1][4] == N})") + +mism = sum(1 for name, hs, length, ds, de, path in entries + if path is not None and path.split("\\")[-1].upper() != name.upper()) +print(f"BOB Pfad-Mismatches: {mism}") + +if len(entries) == len(all_names) and entries[-1][4] == N and mism == 0: + os.makedirs(OUT_DIR, exist_ok=True) + for name, hs, length, ds, de, path in entries: + with open(os.path.join(OUT_DIR, name), "wb") as out: + out.write(data[ds:de]) + print(f">>> ERFOLG: {len(entries)} Dateien geschrieben nach {OUT_DIR}") + import collections + ext_count = collections.Counter(n.split(".")[-1].upper() for n, *_ in entries) + print("Typen:", dict(ext_count)) +else: + print(">>> Unvollstaendig.") + for e in entries[-5:]: + print(" ", e[0], hex(e[1]), e[2])