From 3edc26ebf4619b69ddcbf730fad11c73eb2f6f51 Mon Sep 17 00:00:00 2001 From: Markus Birth <mbirth@gmail.com> Date: Fri, 12 Jul 2013 02:23:52 +0200 Subject: [PATCH] =?UTF-8?q?UTF-8=20Konvertierung=20und=20fehlende=20Dateie?= =?UTF-8?q?n=20hinzugef=C3=BCgt.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/README | 65 ++++++++++++++++++++ hangman.dat | 139 +++++++++++++++++++++++++++++++++++++++++++ hangman.java | 45 +++++++------- hangman_notopics.dat | 111 ++++++++++++++++++++++++++++++++++ images/hm.gif | Bin 0 -> 830 bytes images/hm0.gif | Bin 0 -> 399 bytes images/hm1.gif | Bin 0 -> 445 bytes images/hm2.gif | Bin 0 -> 599 bytes images/hm3.gif | Bin 0 -> 614 bytes images/hm4.gif | Bin 0 -> 626 bytes images/hm5.gif | Bin 0 -> 2472 bytes images/hm6.gif | Bin 0 -> 6733 bytes 12 files changed, 338 insertions(+), 22 deletions(-) create mode 100644 doc/README create mode 100644 hangman.dat create mode 100644 hangman_notopics.dat create mode 100644 images/hm.gif create mode 100644 images/hm0.gif create mode 100644 images/hm1.gif create mode 100644 images/hm2.gif create mode 100644 images/hm3.gif create mode 100644 images/hm4.gif create mode 100644 images/hm5.gif create mode 100644 images/hm6.gif diff --git a/doc/README b/doc/README new file mode 100644 index 0000000..0c6c7ea --- /dev/null +++ b/doc/README @@ -0,0 +1,65 @@ +HangMan for Java 1.9 [08.12.1998] +(c)1998-99 bei Markus Birth <Robo.Cop@gmx.net> +================================================================================ + +Dieses ist meine eigens programmierte Hangman-Version für Java. Das Programm +liegt im Quelltext und als vorkompilierte CLASS-Datei vor. Es verwendet die +System.events des Java 1.1 und läuft somit also nicht auf älteren Versionen. + +Um es auszuführen, einfach folgendes am Prompt eingeben (sofern ein Java- +Development-Kit der Version 1.1.? korrekt installiert wurde): + + JAVA hangman + +Danach sollte Hangman starten und Sie können loslegen ;-). + +Die Spielregeln sind ganz einfach: Sie müssen das Wort durch eingeben einzelner +Buchstaben vervollständigen. Dabei dürfen Sie 5 Mal falsch tippen. + +Die zu erratenen Wörter werden aus der Datei HANGMAN.DAT gelesen. Sie können +Sie beliebig erweitern - müssen allerdings die Hinweise beachten, die in der +o.g. Datei stehen. + +Das soll's auch schon gewesen sein - ich finde, mehr gibt es zu Hangman nicht +zu sagen =). + +Viel Spaß mit diesem Programm! + +================================================================================ + +HISTORY +------- + + +1.9 [08.12.1998/19:29.52] +-mehr Statistik am Programmende + +1.8 [08.12.1998/19:05.35] +-Wörterwahl-Routine verbessert - jetzt ist unbegrenzte Zahl an Wörtern in + der Datendatei möglich +-mehrere Kommentare hinzugefügt + +1.7 [03.12.1998/20:18.42] +-Vor-Version ... sozusagen erste BETA + +1.6 [03.12.1998/19:45.14] +-Grafiken eingefügt + +1.5 [02.12.1998/15:42.09] +-Fehlererkennung verbessert +-kleinere Bugs mit Windows-Java beseitigt + +1.4 [01.12.1998/19:34.33] +-Anzeige der Vorkommnisse der Buchstaben im Wort + +1.3 [01.12.1998/19:12.21] +-Eingegebene Buchstaben werden jetzt in Großb. konvertiert +-außerdem: einige Kommentare hinzugefügt + +1.2 [01.12.1998/18:19.40] +-Tastatureingabe mit Anzeige schon gedrückter Tasten hinzugefügt + +1.1 [01.12.1998/17:52.38] +-Ursprungsversion: erster Versuch + +================================================================================ diff --git a/hangman.dat b/hangman.dat new file mode 100644 index 0000000..8d3e3c6 --- /dev/null +++ b/hangman.dat @@ -0,0 +1,139 @@ +# ## ## ### # # #### # # ### # # #### ### ##### +# ## ## ## ## ## # ## ## ## ## ## ## # ## ## ## ## # +# ##### ##### # # # ## ## # # # ##### # # # ## ## ##### # +# ## ## ## ## # ## ## ## # # # ## ## # ## ## ## ## ## ## # +# ## ## ## ## # # #### # # ## ## # # ## #### ## ## # +# +############################################################################# +# Hier stehen die W�rter, die erraten werden sollen k�nnen untereinander # +# Jede Zeile, die mit einer Raute (#) beginnt, gilt als Kommentar # +# WICHTIG: Hinter dem letzten Wort sollte mindestens ein LF (LineFeed) sein # +# und es d�rfen keine Leerzeilen in dieser Datei stehen # +# # +# Format der Eintr�ge: Thema: Wort # +# Beispiel: Auto: Lenkrad # +# # +# Es ist wichtig, da� hinter dem Doppelpunkt ein Leerzeichen ist!! # +############################################################################# +die Sinne des Menschen: Bl�dsinn +die Sinne des Menschen: Stumpfsinn +# Hier ist z.B. ein Kommentar +die Sinne des Menschen: Wahnsinn +# Und hier noch einer! +Linguistik: Wort +Fremdwort: Extension +Regierungsform: Diktatur +Fremdwort: Korrespondenz +Fremdwort: Interaktion +Fremdwort: Bilabidarekorrelationsdivergenz +Pflanze: Rose +Pflanze: Blume +Computer: Thermotransferdrucker +Krankheit: Hyperventilation +B�roalltag: Kaffeetasse +Getr�nkezeugs: Teebeutel +DJ-Zubeh�r: Mischpult +Schule: Lehrerkonferenz +Schule: Stundenplan +Schule: Kursfahrt +Computer: Computer +Heimelektronik: Radioapparat +Kommunikation: Telefon +Kommunikation: Handy +Spiel: Sackh�pfen +Fremdwort: Subliminationsverfahren +Computer: Linux +Naturereignis: Sonnenfinsternis +Naturereignis: Mondfinsternis +B�roalltag: Kaffeeklatsch +Auto: Volkswagen +Heimelektronik: Satellitenempfangsanlage +Heimelektronik: Kassettenrekorder +Arbeitsger�t: Schreibtisch +Arbeitsger�tezubeh�r: Schreibtischunterlage +Computer: Tastatur +Computer: Maus +Computer: Monitor +Heimelektronik: Fernseher +Heimelektronik: Antenne +Computer: Diskette +Computer: Microsoft +Tier: Hase +Tier: Rentier +Ger�cht: Weihnachtsmann +Fest: Weihnachtsmarkt +Fest: Weihnachtsmarktschreier +Fest: Weihnachtsmarktschreierin +Computer: F�nfeinviertelzolldiskette +Computer: Dreieinhalbzolldiskette +Computer: Notebook +Fremdwort: Bibliographie +Schriftart: Calligraphie +Regierungsform: Aristokratie +Fremdw�rterlexikon: Duden +Heimelektronik: Radiowecker +n�tzliche Erfindung: Alarmanlage +Naturereignis: Schneefall +Ort: Nordpol +Ort: S�dpol +Ring um die Erde: �quator +Laster: Telefongeb�hren +n�tzliche Erfindung: Notizzettel +n�tzliche Erfindung: Papierzettel +Zellstoffprodukt: Papierblock +n�tzliche Erfindung: Hefter +n�tzliche Erfindung: Klammeraffe +Tier: Pawian +Tier: Schimpanse +Tier: Giraffe +Pflanze: Venusfliegenfalle +Computer: Hardwareproblem +Computer: Computerfehler +n�tzliche Erfindung: Tischdecke +Akkustik�bertrager: Lautsprecher +Fernsehen: Live�bertragung +Naturereignis: Eisgl�tte +�ffentliche Einrichtung: Restaurant +Heimelektronik: Funkuhr +n�tzliche Erfindung: Tischlampe +Licht: Deckenbeleuchtung +n�tzliche Erfindung: T�rschlo� +Auto: Karosserie +Landwirtschaft: Mistgabel +Landwirtschaft: Heuhaufen +Landwirtschaft: Pferdeapfel +Landwirtschaft: Pferdestall +Kinderspass: Kinderschaukel +ist meist offen: Hosenstall +n�tzliche Erfindung: Rei�verschlu� +Computer: Laserdrucker +Flugzeug: Hubschrauber +Flugzeug: Helicopter +Tontr�ger: Langspielplatte +Tontr�ger: Musikkassette +Ort: Toilette +Ort: Schwarzwald +Ort: Liechtenstein +Ort: Nowosibirsk +Fahrzeug: UFO +Redewendung abgek�rzt: UPG +Alltagsbedarf: Armbanduhr +KFZ: Motorblock +KFZ: Karosserie +KFZ: Krause +Pflanze: Fettkraut +Pflanze: Liane +Pflanze: Gras +Kinderfreude: �berraschungsei +Elektronik: Laserdiode +Unterhaltung: Dartscheibe +Horror / Angst: Beierlein +Horror / Angst: Vampir +Horror / Angst: Verkehrsunfall +KFZ: Stau +Horror / Angst: Atomunfall +Horror / Angst: GAU +Computer: DAU +Computer: Festplattencrash +eklig: MatthiasKlein +Tier: Grizzlyb�r diff --git a/hangman.java b/hangman.java index 1389744..7dc5f35 100644 --- a/hangman.java +++ b/hangman.java @@ -3,7 +3,7 @@ HANGMAN FOR JAVA (c)1998/99 by Markus Birth <Robo.Cop(a)gmx.net> This is the first program I wrote in Java. Thanks to -Mr. Fr�bel for making me learning Java so quick (We had to +Mr. Fröbel for making me learning Java so quick (We had to finish our projects for the computer science lessons.) Things used for the making of this: @@ -17,8 +17,8 @@ import java.applet.*; import java.awt.*; import java.awt.event.*; import java.lang.Character.*; -import java.math.*; // eigentlich nur f�r die eine Zufallszahl -import java.io.*; // f�r Dateioperationen ("Tupfer, Schere ...") +import java.math.*; // eigentlich nur für die eine Zufallszahl +import java.io.*; // für Dateioperationen ("Tupfer, Schere ...") public class hangman extends Frame { // Globale Variablen @@ -26,13 +26,13 @@ public class hangman extends Frame { final int SX=50, SY=50; RandomAccessFile file; String myword=null; // Wort: was es mal werden soll - String topic=null; // String f�r das Thema des Begriffes - char xyword[]; // Wort: xy-ungel�st + String topic=null; // String für das Thema des Begriffes + char xyword[]; // Wort: xy-ungelöst char probed[]; char notprobed[]; char alphab[]={'A','B','C','D','E','F','G','H','I','J','K','L','M','N', 'O','P','Q','R','S','T','U','V','W','X','Y','Z', - '�','�','�','�'}; + 'Ä','Ö','Ü','ß'}; int mistakes=0; // Anzahl Fehler (MIST!-akes) int tries=0; // Anzahl Versuche KL CONTROL; @@ -41,17 +41,17 @@ public class hangman extends Frame { public hangman() { // Hauptroutine String stmp=new String(); try { - int wordcount=0; // neuer Integer f�r W�rterzahl - int wordseek=0; // ~ f�r Zielwort-Position + int wordcount=0; // neuer Integer für Wörterzahl + int wordseek=0; // ~ für Zielwort-Position // und jetzt machen wir die Datei auf: "Schwester: Skalpell!" RandomAccessFile f=new RandomAccessFile("hangman.dat","r"); while ((stmp=f.readLine())!=null) { // solange das, was wir lesen, nicht nichts ist ... if (stmp.charAt(0) != '#') { // und da auch kein "#" am Anfang klebt ... - wordcount++; // z�hle es als Wort. + wordcount++; // zähle es als Wort. } } if (wordcount==0) { - System.out.println("ACHTUNG! In der Datendatei sind keine g�ltigen W�rter zu finden."); + System.out.println("ACHTUNG! In der Datendatei sind keine gültigen Wörter zu finden."); System.exit(0); } System.out.println("Woerter in Datendatei: "+wordcount); // Statusbericht @@ -68,20 +68,21 @@ public class hangman extends Frame { if (stmp.indexOf(": ")!=-1) { topic=stmp.substring(0,stmp.indexOf(": ")); myword=stmp.substring(stmp.indexOf(": ")+2,stmp.length()); + System.out.print(" Thema: \""+topic+"\""); } else myword=stmp; break; // und raus hier! } } } - f.close(); // Datei wieder zun�hen + f.close(); // Datei wieder zunähen } catch(IOException ioe) { // Falls doch mal ein Fehler auftreten sollte ... - System.out.println("IOException: "+ioe.toString()); // Fehlermeldung und tsch��! - System.out.println("\n\nFehler beim Bearbeiten der Datendatei. Stellen Sie sicher, da� die Datei HANGMAN.DAT auch existiert und lesbar ist."); + System.out.println("IOException: "+ioe.toString()); // Fehlermeldung und tschüß! + System.out.println("\n\nFehler beim Bearbeiten der Datendatei. Stellen Sie sicher, daß die Datei HANGMAN.DAT auch existiert und lesbar ist."); System.exit(0); } CONTROL=new KL(); // neuer KeyListener: CONTROL - addKeyListener(CONTROL); // hinzuf�gen + addKeyListener(CONTROL); // hinzufügen xyword=new char[myword.length()]; // array erstellen for (int i=0;i<myword.length();i++) { // array initialisieren xyword[i]='_'; @@ -99,7 +100,7 @@ public class hangman extends Frame { // g.drawString("Wort: "+myword,40,200); // g.drawString("Zeichen: "+c,40,230); g.setColor(Color.black); // Farbe auf SCHWARZ - g.fillRect(0,0,WND_B,WND_H); // Fenster sch�n SCHWARZ machen! + g.fillRect(0,0,WND_B,WND_H); // Fenster schön SCHWARZ machen! g.setColor(Color.white); // und Farbe auf GELB setzen g.drawString("Wort: "+new String(xyword),40,215); g.setColor(Color.red); @@ -117,7 +118,7 @@ public class hangman extends Frame { } public void UpdateHangMan(Graphics g) { - Toolkit tk=Toolkit.getDefaultToolkit(); // Toolkit (f�r Grafikdatei-Support) zuweisen + Toolkit tk=Toolkit.getDefaultToolkit(); // Toolkit (für Grafikdatei-Support) zuweisen switch(mistakes) { // CASE mistakes of ... case 6: @@ -161,17 +162,17 @@ public class hangman extends Frame { public void keyReleased(KeyEvent e) { } public void keyTyped(KeyEvent e) { c=e.getKeyChar(); // Taste holen - c=Character.toUpperCase(c); // Buchstabe(?) evtl. GRO� machen + c=Character.toUpperCase(c); // Buchstabe(?) evtl. GROß machen int i; // Wir brauchen bald ein Iiiiihh boolean status=false; // Booleans - boolean check=false; // f�r versch. Status-Werte + boolean check=false; // für versch. Status-Werte for (i=0;i<alphab.length;i++) { if (c==alphab[i]) { // wenn c = einer der Buchst. des Alphabets ist ... if (probed[i]!=c) probed[i]=c; else check=true; // und der auch noch nicht vorher getippt wurde, dann ... u.s.w. if (notprobed[i]==c) notprobed[i]='-'; } } - int underscores=0; // Integer f�r Anzahl der "_" im bisher gepuzzleten Wort + int underscores=0; // Integer für Anzahl der "_" im bisher gepuzzleten Wort for (i=0;i<myword.length();i++) { if (c==Character.toUpperCase(myword.charAt(i))) { xyword[i]=myword.charAt(i); @@ -188,7 +189,7 @@ public class hangman extends Frame { System.out.println("Anzahl versch. Buchstaben im Wort: "+(tries-mistakes)); System.out.println("Trefferquote: "+(((tries-mistakes)*100)/tries)+"%"); } - if (underscores==0) mistakes=-1; // wenn keine fehlenden Zeichen im L�sungswort ... + if (underscores==0) mistakes=-1; // wenn keine fehlenden Zeichen im Lösungswort ... if (mistakes>=6) mistakes=6; // wenn mehr als 5 Fehler ... repaint(); // Grafikfenster neuzeichnen } @@ -196,14 +197,14 @@ public class hangman extends Frame { public static void main(String args[]) { Frame frame=new hangman(); // neues Fenster - frame.addWindowListener(new WindowAdapter() { // WindowListener hinzuf�gen + frame.addWindowListener(new WindowAdapter() { // WindowListener hinzufügen public void windowClosing(WindowEvent e) { // wenn auf X geklickt: System.out.println(); System.exit(0); // Programm beenden. } }); frame.setTitle("HangMan for Java - \u00a91998 by Markus Birth"); // Titel setzen - frame.setSize(WND_B, WND_H); // Gr��e setzen + frame.setSize(WND_B, WND_H); // Größe setzen frame.show(); // und ab auf den Bildschirm damit! /* Pictures Image pic; diff --git a/hangman_notopics.dat b/hangman_notopics.dat new file mode 100644 index 0000000..ccc497d --- /dev/null +++ b/hangman_notopics.dat @@ -0,0 +1,111 @@ +# ## ## ### # # #### # # ### # # #### ### ##### +# ## ## ## ## ## # ## ## ## ## ## ## # ## ## ## ## # +# ##### ##### # # # ## ## # # # ##### # # # ## ## ##### # +# ## ## ## ## # ## ## ## # # # ## ## # ## ## ## ## ## ## # +# ## ## ## ## # # #### # # ## ## # # ## #### ## ## # +# +############################################################################# +# Hier stehen die W�rter, die erraten werden sollen k�nnen untereinander # +# Jede Zeile, die mit einer Raute (#) beginnt, gilt als Kommentar # +# WICHTIG: Hinter dem letzten Wort sollte mindestens ein LF (LineFeed) sein # +# und es d�rfen keine Leerzeilen in dieser Datei stehen # +############################################################################# +# Planung: Format: Thema: Begriff +# Beispiel: Auto: Karosserie +Bl�dsinn +Stumpfsinn +# Hier ist z.B. ein Kommentar +Wahnsinn +# Und hier noch einer! +Wort +Extension +Diktatur +Korrespondenz +Interaktion +Bilabidarekorrelationsdivergenz +Rose +Blume +Thermotransferdrucker +Hyperventilation +Kaffeetasse +Teebeutel +Mischpult +Lehrerkonferenz +Stundenplan +Kursfahrt +Computer +Radioapparat +Telefon +Handy +Sackh�pfen +Subliminationsverfahren +Linux +Sonnenfinsternis +Mondfinsternis +Kaffeeklatsch +Volkswagen +Satellitenempfangsanlage +Kassettenrekorder +Schreibtisch +Schreibtischunterlage +Tastatur +Maus +Monitor +Fernseher +Antenne +Diskette +Microsoft +Hase +Rentier +Weihnachtsmann +Weihnachtsmarkt +Weihnachtsmarktschreier +Weihnachtsmarktschreierin +F�nfeinviertelzolldiskette +Dreieinhalbzolldiskette +Notebook +Bibliographie +Calligraphie +Aristokratie +Duden +Radiowecker +Alarmanlage +Schneefall +Nordpol +S�dpol +�quator +Telefongeb�hren +Notizzettel +Papierzettel +Papierblock +Hefter +Klammeraffe +Pawian +Schimpanse +Giraffe +Venusfliegenfalle +Hardwareproblem +Computerfehler +Tischdecke +Lautsprecher +Live�bertragung +Eisgl�tte +Restaurant +Funkuhr +Tischlampe +Deckenbeleuchtung +T�rschlo� +Karosserie +Mistgabel +Heuhaufen +Pferdeapfel +Pferdestall +Alarmanlage +Kinderschaukel +Hosenstall +Rei�verschlu� +Laserdrucker +Hubschrauber +Helicopter +Langspielplatte +Musikkassette diff --git a/images/hm.gif b/images/hm.gif new file mode 100644 index 0000000000000000000000000000000000000000..893083df570cf2624daca7555cbbf47d6c0ac75e GIT binary patch literal 830 zcmV-E1Ht@9Nk%w1VPpVg0Du4h|H@ha|NkNX3r<B;Q$s;eMKUfh0|5X403rSkO<`nZ zAa`kWXdp*PO;7+K`2-0R0096j00000WB_CU00RDukEzS;52Kv4+KaQ^y!!=&BJh=F zGN$RtYU;bTvIN)Tj5qck=DxuTl72H`kSH?>ktgMn`Efp>9qE+nk_LF#jrFkWdX=b} zID1ss&Y3G>&AxDT=D1}Jg4-+lJZvx5_a+D!5$5+-NP!2$sAy=F_&5<MIe9}@iTPMp zrYQmzBgXjY##D-`(v`~EgVoA93R@~WTN!5?X_xC%$m<CBYk4W`I;qBc>|m=5(b`Ny z3r%@Deb;M^VVcc%$c;Aq9T+ZtO<qpjiEjR~-lp!p2p<nQPygV3U*E2u&fmXJ6~KT3 z2WGNouu;B*gBCI*!%(4-h+D8F)Mc>RKx|DLIRccX4<x-*AxXx20!&;QiRY}X425vo zOPDd0ZL3JA*-e}|iKT4V)7MNyL2>Q$<Z#zfWIt;)Wv~>=M0Q0_MLk%R$kk;}wGJIu z(`#0FVSgkY^Y6@9Z3Wq+O=4`1D2jCJ+P#Z+S^)qd`2-0R0096j00000WB_CU00RDu zkEzS;52Kv4+KaOVymt+Tmq(J~i7Mq<rY^|F=1WiV?bUjN_uLLV_=Z8?kXWQ0kxAFm z*L>j;%xGw;>RC_NMR%+DW@F&%&2cWnWDmAFoMyP+7_FR4&)BK+{6=gL=lAy|I7s-k za;TTcvdGw&^9UIUFiF{X2^Xok`P8|#1Zq|_ifL#%0+kwy%8J<cN^vA>lUa*a`GY&A zYso9*JA*6i_*x9Oh)nyqeCy}TnHOD2NA0Ut9lTtY=tT|2{5|(+waOD4AZl(5;i@j4 z`VN0CpU$^8I*(8fx{r^?)V*8*{S748!d}5y!}R?FhHfE5TM{R_OJ*_R!EuZLA99Sx zu~)v39Y>O+x9()1XC!r<6c!R$MrRYj@hWA~VLy}`o0Zzu^AO0Aige~Any}MOjTHwi zMc8y2#x_&mRHf>1OHiy^*(LQ9)oR05VO8=hYL@BOwByjSZM*g@(qD3!*1d~2uim|U IQ4|0GJ4_yp4*&oF literal 0 HcmV?d00001 diff --git a/images/hm0.gif b/images/hm0.gif new file mode 100644 index 0000000000000000000000000000000000000000..2df97694930882f99aa99362058456462ff25d7f GIT binary patch literal 399 zcmV;A0dW3DNk%w1VPpVg0HFW?|H@ea|NsC0|NsC0A^r|cVPs_>cWHEJAV*0}PyiwM z1OXHP0RSuj0001F0Av6_0{)DTsmtvTqnuQNi?iOfd%uO^czx!XkN`xYE~>`bOV@^K z=lVVF{v->we#8Z?i0mAb%!aVkL<SGjXfE@SS-0HcQ`>bd9pkXFS~c6gP_?(`{;}Kf z*Zf(p4fE0%|9Xe<2eQYIHi(#LSg3dwDA>sIC=yA=m{L~BLn#TTNtKBZ`Z*c$`A~Z5 zII2o<*}BRBd%`-qS;~2e>t`$a*o*23Tv0o`_-br)n2b5c9I#6V3#LG=o7;)}tgOB5 z{oS+zek}Bznj9_On=Y-&4mr(xD}OCaZrWNrFY9i9&tDJQKP<E8`RW$w-LQ1%aBcfF z4$rt|{wD4tXpthmPmBjQas(ytBSLT1n7wPK>Ew)nD%DkLiLoC$k_I!5G*{7PPK)|z t-ZWWr;xcd&g|Z<U=%GVnGuPEDNvamqggZO_tm84lRGvMRR#i{{06WZ$#Ml4; literal 0 HcmV?d00001 diff --git a/images/hm1.gif b/images/hm1.gif new file mode 100644 index 0000000000000000000000000000000000000000..d7e77288ea9a3d4df02fe86733406cb6ad132dec GIT binary patch literal 445 zcmV;u0Yd&qNk%w1VPpVg0HFW?|H@ea|NsC0|NsC0A^r|cVPs_>cWHEJAV*0}PyiwM z1OXHP0st%k0001F0Av6_0{)bbsmtvTqnuQNi?iOfd%uO^czx!XkN`xYE~>`bOV@^K z=lVVF{v->we#8Z?i0mAb%!aU(3rMHbs`WYr$_~LO_KVd*m9eJze12}xw57w%{s?*H z_)a~xBZqn-KHt~&Hy3EbSD3Vhm@}AB0|prx@BpXKwTPJsa;Rz2IMXTi$q~xJnNnGb zaB9S=Dp1Fe`pPv*N=rG4E2p>%)8qT%8eB0;jA{$)n;d(*`so}o94$Rf{bqdK+N-^d zr*p-`4EP~wZe=>l-ErPNi5()U+$|qZe~%x!lArs;537sbxP8<Hl3Ql*Ag*5ih-ITA z;@Cro_JUcXcnje?eOVhdcEp&`p+Ri}1t!Y}?H|aGDx0aa#PTJ;m@hB>v&j$Vy>;CZ zDtzS=)UKdHX%TfKF=0-ZGFSeTsS{t+ol|>Gl*$w;&!v~Ns%hB><w+XuAdwm8qU^b9 nm9|PyyA~czw-De;>Q_;2RRng!q(fRSubC`qu8O6ppa1|nDBIYK literal 0 HcmV?d00001 diff --git a/images/hm2.gif b/images/hm2.gif new file mode 100644 index 0000000000000000000000000000000000000000..57283b2160c3c8342f1669ecec89472cf9e42890 GIT binary patch literal 599 zcmV-d0;v5*Nk%w1VPpVg0HFW?|H@ea|NsC0|NsC0A^r|cVPs_>cWHEJAV*0}PyiwM z1OXHP0st%k0001F0Av6_0{)bbX~C=yqnxzb({j5K_z#96M^2hn3gXJPUJ9QM>;jYv zlk%3U^$+TCb~E9lX6z9INeHePBj$kACln*SB9Pi)wrk*mDNAtmrCqAa7V5!$UCWv6 z5A6s3j`u=#=?uj8pm!nGVYTP?2L~spb_Iwgn4k#RGHF717l{c`NfHT|sA<X4=}FoY zc#4p^87gTsH;Zz3X=~WE!^)evYlhe>@W}x?!b^N(eA}5kk(+>r>H5r!yE5rq9URS_ zN3FbkoDE*L%&I-LDxBWqecG;WDvb5p1&v%DAuc@@@5HZP8hwk5k+TPE9=(6Buq`Cm z&|xozpc<irXpYms{#wHjx(gU92d$Ce-mQx=QqHz<C9ToxB{0s3moz)dsQK__CmT2y zU|eZ2pT~j*C;r?5k|(^QVUmV)#MEh!W>E#6p*plBOMos%>8#lG$h(akiEibp(Cb&Q zY0;kjmNjGBH~4fhrRx;y+7x;9&J+UjVqCML1n*69mEB#fZ<h`>GS+X|QgaO-Ru$Ir zWXg>lU&dTnbB2VG4}O-L)bwAzQaj69+*%^p)r4dFTZ~jHABt=<tKQ5x1Wn$(g})?T z%=a|hjHfDo47u*_(PK`E=0UpjZRioT!#yo8v1i)RVO^(#I3Sdi#C7*!ud=!E+}<O= lp95630_$EF?x*t}ln(xp=hjpC>E{?s()E;`YYG$q06VkhCaC}b literal 0 HcmV?d00001 diff --git a/images/hm3.gif b/images/hm3.gif new file mode 100644 index 0000000000000000000000000000000000000000..e604832dd6797e727b86616241811b8575398eac GIT binary patch literal 614 zcmV-s0-60sNk%w1VPpVg0HFW?|H@ea|NsC0|NsC0A^r|cVPs_>cWHEJAV*0}PyiwM z1OXHP0st%k0001F0Av6_0{)bbX~FFeqnuFLi?gM?a{z`SsFmhLoe99U?hD7RN~2MY z$Ze?u_@DY6dc>Fz7d&E!%BCRcRP>@sXsw7XQWe&%fa$Guz2NX^?9A@Mp0-1k9b(yT zv}N|2o9q03!%SnRp%w>-F_AaLqiDE*D5Pdk*y#93MYu-EWf{h(dB}N$nfbXXp)`uw zD43>G3VLd&_lgkOl=`ye=QikhHw(Bc>_NLRd<@}JY<eS#o4d?<@$9Q9{p-3^W*v)D zjV<$e4IZwY&E1_y4f8tQOI_?vGr9a^yY)>ge|278*=%N;zkNB@38a&bpTUDv2%1<Y z?jF8=^&G;<SIXiE{w)I~wgRTlBP3jVD*StJX(5X!$V5uwC<UgFmH?-fdnnVNznr>g z($sm<=P;o5gdQVW)My`Q9hEwG*0iR=h0$D^Q>m<-RdQHECfq2Kkk+q@C~{?r&g4`h zWp7d<3)bybwr{td#ghS}7mYk$>g@?PZr6-<=RzDSRo!94YHvY}SNI}5$blXIP20GW z*{YRMU9KB>-e$^)C(5lDTJ&kor9XaNmAW8SQik}>rdzUe-rKnM#`en_FT&PqRe~n& zdUQnHo>zNCo*XS|=FXfmM%jqr^*7nIFNfazb#Cz0y&un<a`N^+npKfTAAZz(?oo_4 z^yzK36Q>L(a2^CH27dv(qudvLoxvZ0?6f7GG59gKl4=e5HsCS`B1MUL3KReUJ1ylh A9RL6T literal 0 HcmV?d00001 diff --git a/images/hm4.gif b/images/hm4.gif new file mode 100644 index 0000000000000000000000000000000000000000..10a95f62077a1d087b1ce423d5233147e2ee3519 GIT binary patch literal 626 zcmV-&0*(DgNk%w1VPpVg0HFW?|H@ea|NsC0|NsC0A^r|cVPs_>cWHEJAV*0}PyiwM z1OXHP0st%k0001F0Av6_0{)bbX~FFeqnuFLi?gM?a{z`SsFmhLE#3jN?hD8Ad)Ap( zVY6HAfDJ_8f&!mWMkJ<^8YA<0SVAwpDO4IfYLC{<q-$}4gV?b_Y(AB{Tb>yQXVkVV z?K}QG(TMgm{tuXDv(|Ce)+dMp*pPsh;h2c0M^}WHsFKHa*m8-nra9AT@|m^CDe9TY zXL@)^3W|i9DsgEk8$}Do3Inz{^jHPV<?37fDr=nl@N=t}tAMo|(~SEpP-rL}+MM#6 zy-fv492mA^BJTIsgkEQk8fT*oF1o@b&wP7qZ%eKJ6iiKsDl-5BR*R5`9k+q;?iEaD z4T!^G5D})4_m1J1{)Ykm{o}YWB0+`pG+Jq6@S4eetSU0Xlw-=oQ&*H(6b7;q$x${R ztc!JyV#=XH$Mm#06z0)lNmVXo+VtrnUPGlW+m-SYhjtD-4#cK&X1`4J!p_8(F;`i$ z^I9P@hF~XKs%go^&DjXAQM(HCas@h0k`BLf-IRpagI&=`a2lS?=WUKy$Xk<49P9CC zOUyTQq0G7x%3{tjFS<*bxzuUUp+C-J-Ff6|gQ-;mhF#jT+)lOoo;4gex8vV?1ogg4 zobDZwl9Lx-9@{c;-mP5|X3SjoZLis3O+#JX`uD2gS<Vg_edBK9<yWnD=`$g}x823R z-&<e$ChqAo&6^_afOgvS(vxjn)g)C=;>=frRdV2T-d_>&lpuu44K`YXM=AImhpS;` MP=-y3a$f-eJMc6$1poj5 literal 0 HcmV?d00001 diff --git a/images/hm5.gif b/images/hm5.gif new file mode 100644 index 0000000000000000000000000000000000000000..e3375947b60efc208cb91a631efc70a31cb21d19 GIT binary patch literal 2472 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 S?C6;JR;&{1;g3Wj#Qy^*;-{1V literal 0 HcmV?d00001 diff --git a/images/hm6.gif b/images/hm6.gif new file mode 100644 index 0000000000000000000000000000000000000000..63e379d3aa370e2224b1074d111ce2f8fb53fbf5 GIT binary patch literal 6733 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 E0TNA|q5uE@ literal 0 HcmV?d00001