From a1a0c680d5d6ba5c987d6cd3196908b2a6bdff7b Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 01:53:49 +0100 Subject: [PATCH 01/64] include lib --- src/main/c/Mathe.c | 10 ++++++++++ src/main/c/Mathe.h | 10 ++++++++++ 2 files changed, 20 insertions(+) create mode 100644 src/main/c/Mathe.c create mode 100644 src/main/c/Mathe.h diff --git a/src/main/c/Mathe.c b/src/main/c/Mathe.c new file mode 100644 index 0000000..2a36dd9 --- /dev/null +++ b/src/main/c/Mathe.c @@ -0,0 +1,10 @@ +//1 +#include +#include +#include +#include "Mathe.h" + + + + + diff --git a/src/main/c/Mathe.h b/src/main/c/Mathe.h new file mode 100644 index 0000000..f5bb425 --- /dev/null +++ b/src/main/c/Mathe.h @@ -0,0 +1,10 @@ +#ifndef TEST_H +#define TEST_H +int berechneErgebnis(int zahl1, int zahl2, char operator); +int generiereZufallszahl(int min, int max); +int multipliziere(int zahl1, int zahl2); +int dividiere(int zahl1, int zahl2); +int addiere(int zahl1, int zahl2); +int subtrahiere(int zahl1, int zahl2); +int multipliziere(int zahl1, int zahl2); +#endif // MATHEMATIKSPIEL_H \ No newline at end of file From 0b849b59927e1ac3b5d2243e8244c72baf729386 Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 01:56:35 +0100 Subject: [PATCH 02/64] function initialisiereZufallsgenerator --- src/main/c/Mathe.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/c/Mathe.c b/src/main/c/Mathe.c index 2a36dd9..7b791ac 100644 --- a/src/main/c/Mathe.c +++ b/src/main/c/Mathe.c @@ -4,6 +4,8 @@ #include #include "Mathe.h" +//2 +void initialisiereZufallsgenerator(); From c1a2f710643077c6a31311dbc69f4b39d55d7a4e Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 01:57:35 +0100 Subject: [PATCH 03/64] function generiereZufallszahl --- src/main/c/Mathe.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/c/Mathe.c b/src/main/c/Mathe.c index 7b791ac..8097ed2 100644 --- a/src/main/c/Mathe.c +++ b/src/main/c/Mathe.c @@ -7,6 +7,7 @@ //2 void initialisiereZufallsgenerator(); - +//3 +int generiereZufallszahl(int min, int max); From 1387c0d87fd6c8ee7036cdcc9bcabd3e97c460b1 Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 01:59:42 +0100 Subject: [PATCH 04/64] function generiereZufallsOperator --- src/main/c/Mathe.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/c/Mathe.c b/src/main/c/Mathe.c index 8097ed2..8ede420 100644 --- a/src/main/c/Mathe.c +++ b/src/main/c/Mathe.c @@ -10,4 +10,5 @@ void initialisiereZufallsgenerator(); //3 int generiereZufallszahl(int min, int max); - +//4 +char generiereZufallsOperator(); From bd14a2118aa920b5cebc483c3a41fd02eba7bf54 Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 02:00:35 +0100 Subject: [PATCH 05/64] function addiere --- src/main/c/Mathe.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/c/Mathe.c b/src/main/c/Mathe.c index 8ede420..80a2fe2 100644 --- a/src/main/c/Mathe.c +++ b/src/main/c/Mathe.c @@ -12,3 +12,6 @@ int generiereZufallszahl(int min, int max); //4 char generiereZufallsOperator(); + +//5 +int addiere(int zahl1, int zahl2); \ No newline at end of file From 6ad0a5f95e3d9937cf9457252890dd1f2c56dc88 Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 02:01:34 +0100 Subject: [PATCH 06/64] function subtrahiere --- src/main/c/Mathe.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/c/Mathe.c b/src/main/c/Mathe.c index 80a2fe2..bfe372b 100644 --- a/src/main/c/Mathe.c +++ b/src/main/c/Mathe.c @@ -14,4 +14,7 @@ int generiereZufallszahl(int min, int max); char generiereZufallsOperator(); //5 -int addiere(int zahl1, int zahl2); \ No newline at end of file +int addiere(int zahl1, int zahl2); + +//6 +int subtrahiere(int zahl1, int zahl2); \ No newline at end of file From ba5b08cfe000ca44d7f90e2c438a5a7035a62e37 Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 02:02:25 +0100 Subject: [PATCH 07/64] function multipliziere --- src/main/c/Mathe.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/c/Mathe.c b/src/main/c/Mathe.c index bfe372b..c4d3bbf 100644 --- a/src/main/c/Mathe.c +++ b/src/main/c/Mathe.c @@ -17,4 +17,7 @@ char generiereZufallsOperator(); int addiere(int zahl1, int zahl2); //6 -int subtrahiere(int zahl1, int zahl2); \ No newline at end of file +int subtrahiere(int zahl1, int zahl2); + +//7 +int multipliziere(int zahl1, int zahl2); \ No newline at end of file From d23695b49cb56efc44344fd9608b5c5cf29cf8b2 Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 02:03:30 +0100 Subject: [PATCH 08/64] function dividiere --- src/main/c/Mathe.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/c/Mathe.c b/src/main/c/Mathe.c index c4d3bbf..bf1fda0 100644 --- a/src/main/c/Mathe.c +++ b/src/main/c/Mathe.c @@ -20,4 +20,6 @@ int addiere(int zahl1, int zahl2); int subtrahiere(int zahl1, int zahl2); //7 -int multipliziere(int zahl1, int zahl2); \ No newline at end of file +int multipliziere(int zahl1, int zahl2); +//8 +int dividiere(int zahl1, int zahl2); From b150d4757a369bfb32b5b80228df75a78669877d Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 02:04:16 +0100 Subject: [PATCH 09/64] function berechneErgebnis --- src/main/c/Mathe.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/main/c/Mathe.c b/src/main/c/Mathe.c index bf1fda0..69ac38c 100644 --- a/src/main/c/Mathe.c +++ b/src/main/c/Mathe.c @@ -23,3 +23,17 @@ int subtrahiere(int zahl1, int zahl2); int multipliziere(int zahl1, int zahl2); //8 int dividiere(int zahl1, int zahl2); +//9 +int berechneErgebnis(int zahl1, int zahl2, char operator); + + + + + + + + + + + + From 05665e3f9deab25c0043a171742b3983312ce46b Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 02:04:42 +0100 Subject: [PATCH 10/64] function spieleRunde --- src/main/c/Mathe.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/c/Mathe.c b/src/main/c/Mathe.c index 69ac38c..3e5730d 100644 --- a/src/main/c/Mathe.c +++ b/src/main/c/Mathe.c @@ -25,7 +25,8 @@ int multipliziere(int zahl1, int zahl2); int dividiere(int zahl1, int zahl2); //9 int berechneErgebnis(int zahl1, int zahl2, char operator); - +//10 +void spieleRunde(int schwierigkeitsgrad); From 14d75ff49cf9702b173ae07bff768bf63e8a5cc4 Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 02:05:07 +0100 Subject: [PATCH 11/64] function zeigeAnleitung --- src/main/c/Mathe.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/c/Mathe.c b/src/main/c/Mathe.c index 3e5730d..853aadf 100644 --- a/src/main/c/Mathe.c +++ b/src/main/c/Mathe.c @@ -27,7 +27,8 @@ int dividiere(int zahl1, int zahl2); int berechneErgebnis(int zahl1, int zahl2, char operator); //10 void spieleRunde(int schwierigkeitsgrad); - +//11 +void zeigeAnleitung(); From 48e86b7f7137f5c6f9d94966fc2c59bc081cef0f Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 02:05:43 +0100 Subject: [PATCH 12/64] function zeigeHighscore --- src/main/c/Mathe.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/c/Mathe.c b/src/main/c/Mathe.c index 853aadf..3d107fa 100644 --- a/src/main/c/Mathe.c +++ b/src/main/c/Mathe.c @@ -29,7 +29,8 @@ int berechneErgebnis(int zahl1, int zahl2, char operator); void spieleRunde(int schwierigkeitsgrad); //11 void zeigeAnleitung(); - +//12 +void zeigeHighscore(int punkte); From 1de1f58a4ac8d11c2432053de030f40344469b78 Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 02:06:05 +0100 Subject: [PATCH 13/64] function holeSpielerAntwort --- src/main/c/Mathe.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/c/Mathe.c b/src/main/c/Mathe.c index 3d107fa..528fa0b 100644 --- a/src/main/c/Mathe.c +++ b/src/main/c/Mathe.c @@ -31,7 +31,8 @@ void spieleRunde(int schwierigkeitsgrad); void zeigeAnleitung(); //12 void zeigeHighscore(int punkte); - +//13 +int holeSpielerAntwort(); From a081a77739e874c9969de43934d331d367030c1b Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 02:07:03 +0100 Subject: [PATCH 14/64] function bewerteAntwort --- src/main/c/Mathe.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/c/Mathe.c b/src/main/c/Mathe.c index 528fa0b..cfd7e1e 100644 --- a/src/main/c/Mathe.c +++ b/src/main/c/Mathe.c @@ -34,6 +34,11 @@ void zeigeHighscore(int punkte); //13 int holeSpielerAntwort(); +//14 +void bewerteAntwort(int spielerAntwort, int ergebnis, int* punkte); + + + From 6e942a9523da373ea4be6e32b184df32a017e259 Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 02:07:36 +0100 Subject: [PATCH 15/64] function zeigeRundenEnde --- src/main/c/Mathe.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/c/Mathe.c b/src/main/c/Mathe.c index cfd7e1e..8077347 100644 --- a/src/main/c/Mathe.c +++ b/src/main/c/Mathe.c @@ -38,7 +38,8 @@ int holeSpielerAntwort(); void bewerteAntwort(int spielerAntwort, int ergebnis, int* punkte); - +//15 +void zeigeRundenEnde(int punkte); From 6aa206c95664cf9396c9a2af740b7c6f08ec52a8 Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 02:08:06 +0100 Subject: [PATCH 16/64] function zeigeAuswahl --- src/main/c/Mathe.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/main/c/Mathe.c b/src/main/c/Mathe.c index 8077347..1fd9c3b 100644 --- a/src/main/c/Mathe.c +++ b/src/main/c/Mathe.c @@ -42,6 +42,14 @@ void bewerteAntwort(int spielerAntwort, int ergebnis, int* punkte); void zeigeRundenEnde(int punkte); +//16 +void zeigeAuswahl(const char* text); + + + + + + From 523c2edf4189716e13a7ecc1359463a47dc8d5a5 Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 02:09:09 +0100 Subject: [PATCH 17/64] function initialisiereZufallsgenerator --- src/main/c/Mathe.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/c/Mathe.c b/src/main/c/Mathe.c index 1fd9c3b..2acfa1b 100644 --- a/src/main/c/Mathe.c +++ b/src/main/c/Mathe.c @@ -45,7 +45,10 @@ void zeigeRundenEnde(int punkte); //16 void zeigeAuswahl(const char* text); - +//17 +void initialisiereZufallsgenerator() { + srand(time(NULL)); +} From d52d75edb0e0a36a10df47fa2edd932292f0c413 Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 02:09:43 +0100 Subject: [PATCH 18/64] function generiereZufallszahl --- src/main/c/Mathe.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/main/c/Mathe.c b/src/main/c/Mathe.c index 2acfa1b..6b752d1 100644 --- a/src/main/c/Mathe.c +++ b/src/main/c/Mathe.c @@ -49,6 +49,23 @@ void zeigeAuswahl(const char* text); void initialisiereZufallsgenerator() { srand(time(NULL)); } +//18 +int generiereZufallszahl(int min, int max) { + return min + (int)((double)rand() / (RAND_MAX + 1) * (max - min + 1)); +} + + + + + + + + + + + + + From 14af5f6e8e228d0b50853aabd61776ba6a9e0fb6 Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 02:10:20 +0100 Subject: [PATCH 19/64] function generiereZufallszahl --- src/main/c/Mathe.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/c/Mathe.c b/src/main/c/Mathe.c index 6b752d1..64c1513 100644 --- a/src/main/c/Mathe.c +++ b/src/main/c/Mathe.c @@ -56,7 +56,12 @@ int generiereZufallszahl(int min, int max) { - +//19 +char generiereZufallsOperator() { + char operatoren[] = {'+', '-', '*', '/'}; + int index = rand() % 4; + return operatoren[index]; +} From ef2de1dd00445f01a6ca120778bb29734233fadc Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 02:11:20 +0100 Subject: [PATCH 20/64] function berechneErgebnis --- src/main/c/Mathe.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/src/main/c/Mathe.c b/src/main/c/Mathe.c index 64c1513..0e060c4 100644 --- a/src/main/c/Mathe.c +++ b/src/main/c/Mathe.c @@ -63,6 +63,34 @@ char generiereZufallsOperator() { return operatoren[index]; } +//20 +int berechneErgebnis(int zahl1, int zahl2, char operator) { + switch (operator) { + case '+': + return addiere(zahl1, zahl2); + case '-': + return subtrahiere(zahl1, zahl2); + case '*': + return multipliziere(zahl1, zahl2); + case '/': + return dividiere(zahl1, zahl2); + default: + return 0; + } +} + + + + + + + + + + + + + From 792d4c09b17876ee0538284ec64c84b75a54eda3 Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 02:13:11 +0100 Subject: [PATCH 21/64] function spieleRunde --- src/main/c/Mathe.c | 35 ++++++++++++++++++++--------------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/src/main/c/Mathe.c b/src/main/c/Mathe.c index 0e060c4..74c0c34 100644 --- a/src/main/c/Mathe.c +++ b/src/main/c/Mathe.c @@ -63,23 +63,28 @@ char generiereZufallsOperator() { return operatoren[index]; } -//20 -int berechneErgebnis(int zahl1, int zahl2, char operator) { - switch (operator) { - case '+': - return addiere(zahl1, zahl2); - case '-': - return subtrahiere(zahl1, zahl2); - case '*': - return multipliziere(zahl1, zahl2); - case '/': - return dividiere(zahl1, zahl2); - default: - return 0; - } -} +//21 +void spieleRunde(int schwierigkeitsgrad) { + int punkte = 0; + int anzahlAufgaben = 5; + zeigeAuswahl("Berechne die folgenden Aufgaben:"); + + for (int i = 0; i < anzahlAufgaben; i++) { + int zahl1 = generiereZufallszahl(1 * schwierigkeitsgrad, 10 * schwierigkeitsgrad); + int zahl2 = generiereZufallszahl(1 * schwierigkeitsgrad, 10 * schwierigkeitsgrad); + char operator = generiereZufallsOperator(); + if (operator == '/' && zahl2 == 0) { + zahl2 = generiereZufallszahl(1 * schwierigkeitsgrad, 10 * schwierigkeitsgrad); + } + int ergebnis = berechneErgebnis(zahl1, zahl2, operator); + printf("Aufgabe %d: %d %c %d\n", i + 1, zahl1, operator, zahl2); + int spielerAntwort = holeSpielerAntwort(); + bewerteAntwort(spielerAntwort, ergebnis, &punkte); + } + zeigeRundenEnde(punkte); +} From 41565af9ce8718de88777a4df81b05ef64a05bb8 Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 02:15:14 +0100 Subject: [PATCH 22/64] function zeigeAnleitung --- src/main/c/Mathe.c | 37 +++++++++++++++++-------------------- 1 file changed, 17 insertions(+), 20 deletions(-) diff --git a/src/main/c/Mathe.c b/src/main/c/Mathe.c index 74c0c34..56caed4 100644 --- a/src/main/c/Mathe.c +++ b/src/main/c/Mathe.c @@ -64,26 +64,12 @@ char generiereZufallsOperator() { } -//21 -void spieleRunde(int schwierigkeitsgrad) { - int punkte = 0; - int anzahlAufgaben = 5; - zeigeAuswahl("Berechne die folgenden Aufgaben:"); - - for (int i = 0; i < anzahlAufgaben; i++) { - int zahl1 = generiereZufallszahl(1 * schwierigkeitsgrad, 10 * schwierigkeitsgrad); - int zahl2 = generiereZufallszahl(1 * schwierigkeitsgrad, 10 * schwierigkeitsgrad); - char operator = generiereZufallsOperator(); - if (operator == '/' && zahl2 == 0) { - zahl2 = generiereZufallszahl(1 * schwierigkeitsgrad, 10 * schwierigkeitsgrad); - } - int ergebnis = berechneErgebnis(zahl1, zahl2, operator); - printf("Aufgabe %d: %d %c %d\n", i + 1, zahl1, operator, zahl2); - int spielerAntwort = holeSpielerAntwort(); - bewerteAntwort(spielerAntwort, ergebnis, &punkte); - } - - zeigeRundenEnde(punkte); +//22 +void zeigeAnleitung() { + printf("\n=== Anleitung ===\n"); + printf("Beantworte die mathematischen Aufgaben, um Punkte zu sammeln.\n"); + printf("Du kannst zwischen verschiedenen Schwierigkeitsgraden wählen.\n"); + printf("Versuche so viele Aufgaben wie möglich korrekt zu lösen!\n"); } @@ -104,6 +90,17 @@ void spieleRunde(int schwierigkeitsgrad) { + + + + + + + + + + + From 4730c3cba11ebaded0c64697363a386efc349a27 Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 02:15:46 +0100 Subject: [PATCH 23/64] function zeigeHighscore --- src/main/c/Mathe.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/c/Mathe.c b/src/main/c/Mathe.c index 56caed4..dbb1c10 100644 --- a/src/main/c/Mathe.c +++ b/src/main/c/Mathe.c @@ -74,6 +74,11 @@ void zeigeAnleitung() { +//23 +void zeigeHighscore(int punkte) { + printf("\n=== Highscore ===\n"); + printf("Dein aktueller Highscore ist: %d Punkte\n", punkte); +} From a2727822d668b77dacebbf521845a802df36743b Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 02:16:11 +0100 Subject: [PATCH 24/64] function holeSpielerAntwort --- src/main/c/Mathe.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/main/c/Mathe.c b/src/main/c/Mathe.c index dbb1c10..aec59eb 100644 --- a/src/main/c/Mathe.c +++ b/src/main/c/Mathe.c @@ -80,6 +80,13 @@ void zeigeHighscore(int punkte) { printf("Dein aktueller Highscore ist: %d Punkte\n", punkte); } +//24 +int holeSpielerAntwort() { + int spielerAntwort; + zeigeAuswahl("Deine Antwort: "); + scanf("%d", &spielerAntwort); + return spielerAntwort; +} From e874db38735abd7bbc3a62c679ac5e622539845b Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 02:16:44 +0100 Subject: [PATCH 25/64] function bewerteAntwort --- src/main/c/Mathe.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/main/c/Mathe.c b/src/main/c/Mathe.c index aec59eb..32df048 100644 --- a/src/main/c/Mathe.c +++ b/src/main/c/Mathe.c @@ -87,7 +87,16 @@ int holeSpielerAntwort() { scanf("%d", &spielerAntwort); return spielerAntwort; } - +//25 + +void bewerteAntwort(int spielerAntwort, int ergebnis, int* punkte) { + if (spielerAntwort == ergebnis) { + printf("Richtig! Du erhältst einen Punkt.\n"); + (*punkte)++; + } else { + printf("Falsch! Die richtige Antwort ist %d\n", ergebnis); + } +} From 5d7f8ca1e1334057f18daf04a3bef5969412a491 Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 02:23:31 +0100 Subject: [PATCH 26/64] function zeigeRundenEnde --- src/main/c/Mathe.c | 56 ---------------------------------------------- src/main/c/Mathe.h | 2 +- 2 files changed, 1 insertion(+), 57 deletions(-) diff --git a/src/main/c/Mathe.c b/src/main/c/Mathe.c index 32df048..ee49eac 100644 --- a/src/main/c/Mathe.c +++ b/src/main/c/Mathe.c @@ -37,66 +37,10 @@ int holeSpielerAntwort(); //14 void bewerteAntwort(int spielerAntwort, int ergebnis, int* punkte); - //15 void zeigeRundenEnde(int punkte); -//16 -void zeigeAuswahl(const char* text); - -//17 -void initialisiereZufallsgenerator() { - srand(time(NULL)); -} -//18 -int generiereZufallszahl(int min, int max) { - return min + (int)((double)rand() / (RAND_MAX + 1) * (max - min + 1)); -} - - - -//19 -char generiereZufallsOperator() { - char operatoren[] = {'+', '-', '*', '/'}; - int index = rand() % 4; - return operatoren[index]; -} - - -//22 -void zeigeAnleitung() { - printf("\n=== Anleitung ===\n"); - printf("Beantworte die mathematischen Aufgaben, um Punkte zu sammeln.\n"); - printf("Du kannst zwischen verschiedenen Schwierigkeitsgraden wählen.\n"); - printf("Versuche so viele Aufgaben wie möglich korrekt zu lösen!\n"); -} - - - -//23 -void zeigeHighscore(int punkte) { - printf("\n=== Highscore ===\n"); - printf("Dein aktueller Highscore ist: %d Punkte\n", punkte); -} - -//24 -int holeSpielerAntwort() { - int spielerAntwort; - zeigeAuswahl("Deine Antwort: "); - scanf("%d", &spielerAntwort); - return spielerAntwort; -} -//25 - -void bewerteAntwort(int spielerAntwort, int ergebnis, int* punkte) { - if (spielerAntwort == ergebnis) { - printf("Richtig! Du erhältst einen Punkt.\n"); - (*punkte)++; - } else { - printf("Falsch! Die richtige Antwort ist %d\n", ergebnis); - } -} diff --git a/src/main/c/Mathe.h b/src/main/c/Mathe.h index f5bb425..9c04579 100644 --- a/src/main/c/Mathe.h +++ b/src/main/c/Mathe.h @@ -7,4 +7,4 @@ int dividiere(int zahl1, int zahl2); int addiere(int zahl1, int zahl2); int subtrahiere(int zahl1, int zahl2); int multipliziere(int zahl1, int zahl2); -#endif // MATHEMATIKSPIEL_H \ No newline at end of file +#endif // MATHEMATIKSPIE \ No newline at end of file From 379ce3049a0f22c73923da331a451e5fdb55783b Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 02:25:25 +0100 Subject: [PATCH 27/64] function zeigeAuswahl --- src/main/c/Mathe.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/c/Mathe.c b/src/main/c/Mathe.c index ee49eac..468ec88 100644 --- a/src/main/c/Mathe.c +++ b/src/main/c/Mathe.c @@ -44,6 +44,8 @@ void zeigeRundenEnde(int punkte); +//16 +void zeigeAuswahl(const char* text); From e0a0a7f4d1f0add8c973acb0c7fba7d2efd884dc Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 02:25:52 +0100 Subject: [PATCH 28/64] function initialisiereZufallsgenerator --- src/main/c/Mathe.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/c/Mathe.c b/src/main/c/Mathe.c index 468ec88..0c0da1d 100644 --- a/src/main/c/Mathe.c +++ b/src/main/c/Mathe.c @@ -47,7 +47,10 @@ void zeigeRundenEnde(int punkte); //16 void zeigeAuswahl(const char* text); - +//17 +void initialisiereZufallsgenerator() { + srand(time(NULL)); +} From be4069db1fff36dacff38ad94aea47e40971dca4 Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 02:26:24 +0100 Subject: [PATCH 29/64] function generiereZufallszahl --- src/main/c/Mathe.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/main/c/Mathe.c b/src/main/c/Mathe.c index 0c0da1d..9ac095a 100644 --- a/src/main/c/Mathe.c +++ b/src/main/c/Mathe.c @@ -53,6 +53,14 @@ void initialisiereZufallsgenerator() { } +//18 +int generiereZufallszahl(int min, int max) { + return min + (int)((double)rand() / (RAND_MAX + 1) * (max - min + 1)); +} + + + + From 6e7fafed15d6db33113dfd0f8330f89300ea4015 Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 02:26:44 +0100 Subject: [PATCH 30/64] function generiereZufallsOperator --- src/main/c/Mathe.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/c/Mathe.c b/src/main/c/Mathe.c index 9ac095a..199374c 100644 --- a/src/main/c/Mathe.c +++ b/src/main/c/Mathe.c @@ -57,7 +57,12 @@ void initialisiereZufallsgenerator() { int generiereZufallszahl(int min, int max) { return min + (int)((double)rand() / (RAND_MAX + 1) * (max - min + 1)); } - +//19 +char generiereZufallsOperator() { + char operatoren[] = {'+', '-', '*', '/'}; + int index = rand() % 4; + return operatoren[index]; +} From 201e9fba79bb2c34c07e6bc83dee8d9ea248639f Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 02:29:18 +0100 Subject: [PATCH 31/64] function zeigeAnleitung --- src/main/c/Mathe.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/c/Mathe.c b/src/main/c/Mathe.c index 199374c..35983d6 100644 --- a/src/main/c/Mathe.c +++ b/src/main/c/Mathe.c @@ -63,7 +63,13 @@ char generiereZufallsOperator() { int index = rand() % 4; return operatoren[index]; } - +//22 +void zeigeAnleitung() { + printf("\n=== Anleitung ===\n"); + printf("Beantworte die mathematischen Aufgaben, um Punkte zu sammeln.\n"); + printf("Du kannst zwischen verschiedenen Schwierigkeitsgraden wählen.\n"); + printf("Versuche so viele Aufgaben wie möglich korrekt zu lösen!\n"); +} From 9ba4263149818dba74eb658acbb178b512f5d93c Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 02:29:45 +0100 Subject: [PATCH 32/64] function zeigeHighscore --- src/main/c/Mathe.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/c/Mathe.c b/src/main/c/Mathe.c index 35983d6..731d5ff 100644 --- a/src/main/c/Mathe.c +++ b/src/main/c/Mathe.c @@ -71,6 +71,11 @@ void zeigeAnleitung() { printf("Versuche so viele Aufgaben wie möglich korrekt zu lösen!\n"); } +//23 +void zeigeHighscore(int punkte) { + printf("\n=== Highscore ===\n"); + printf("Dein aktueller Highscore ist: %d Punkte\n", punkte); +} From d012f42b919e73f6551515237954dbf6de0ce9f3 Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 02:30:27 +0100 Subject: [PATCH 33/64] function holeSpielerAntwort --- src/main/c/Mathe.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/main/c/Mathe.c b/src/main/c/Mathe.c index 731d5ff..1fb20f5 100644 --- a/src/main/c/Mathe.c +++ b/src/main/c/Mathe.c @@ -78,6 +78,13 @@ void zeigeHighscore(int punkte) { } +//24 +int holeSpielerAntwort() { + int spielerAntwort; + zeigeAuswahl("Deine Antwort: "); + scanf("%d", &spielerAntwort); + return spielerAntwort; +} From 7ad83170c841a255ff5d8f78c2c64991fa2aaa18 Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 02:31:08 +0100 Subject: [PATCH 34/64] function bewerteAntwort --- src/main/c/Mathe.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/main/c/Mathe.c b/src/main/c/Mathe.c index 1fb20f5..5869ab1 100644 --- a/src/main/c/Mathe.c +++ b/src/main/c/Mathe.c @@ -87,6 +87,21 @@ int holeSpielerAntwort() { } +//25 +void bewerteAntwort(int spielerAntwort, int ergebnis, int* punkte) { + if (spielerAntwort == ergebnis) { + printf("Richtig! Du erhältst einen Punkt.\n"); + (*punkte)++; + } else { + printf("Falsch! Die richtige Antwort ist %d\n", ergebnis); + } +} + + + + + + From 04d06a914892f715b1951417a19e473be029fce2 Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 02:35:03 +0100 Subject: [PATCH 35/64] function zeigeRundenEnde --- src/main/c/Mathe.c | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/src/main/c/Mathe.c b/src/main/c/Mathe.c index 5869ab1..a8570cd 100644 --- a/src/main/c/Mathe.c +++ b/src/main/c/Mathe.c @@ -77,16 +77,6 @@ void zeigeHighscore(int punkte) { printf("Dein aktueller Highscore ist: %d Punkte\n", punkte); } - -//24 -int holeSpielerAntwort() { - int spielerAntwort; - zeigeAuswahl("Deine Antwort: "); - scanf("%d", &spielerAntwort); - return spielerAntwort; -} - - //25 void bewerteAntwort(int spielerAntwort, int ergebnis, int* punkte) { if (spielerAntwort == ergebnis) { @@ -96,7 +86,7 @@ void bewerteAntwort(int spielerAntwort, int ergebnis, int* punkte) { printf("Falsch! Die richtige Antwort ist %d\n", ergebnis); } } - +int main(){} From 69056dbba16f6728b265da569e222798e1b0c8d4 Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 02:35:33 +0100 Subject: [PATCH 36/64] function addiere --- src/main/c/Mathe.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/c/Mathe.c b/src/main/c/Mathe.c index a8570cd..ab99883 100644 --- a/src/main/c/Mathe.c +++ b/src/main/c/Mathe.c @@ -86,9 +86,15 @@ void bewerteAntwort(int spielerAntwort, int ergebnis, int* punkte) { printf("Falsch! Die richtige Antwort ist %d\n", ergebnis); } } -int main(){} - +//26 +void zeigeRundenEnde(int punkte) { + printf("Runde beendet. Du hast insgesamt %d Punkte erreicht.\n", punkte); +} +//27 +int addiere(int zahl1, int zahl2) { + return zahl1 + zahl2; +} From 1fbad8e9e87ccdbc143bd36d23f5ebb2d2cf3332 Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 02:35:59 +0100 Subject: [PATCH 37/64] function subtrahiere --- src/main/c/Mathe.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/c/Mathe.c b/src/main/c/Mathe.c index ab99883..3bff6b5 100644 --- a/src/main/c/Mathe.c +++ b/src/main/c/Mathe.c @@ -95,7 +95,10 @@ void zeigeRundenEnde(int punkte) { int addiere(int zahl1, int zahl2) { return zahl1 + zahl2; } - +//28 +int subtrahiere(int zahl1, int zahl2) { + return zahl1 - zahl2; +} From fbb83c2958209ce7511e5eb0ec94aa36d0e84b6f Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 02:37:11 +0100 Subject: [PATCH 38/64] function multipliziere --- src/main/c/Mathe.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/c/Mathe.c b/src/main/c/Mathe.c index 3bff6b5..8497adc 100644 --- a/src/main/c/Mathe.c +++ b/src/main/c/Mathe.c @@ -101,6 +101,9 @@ int subtrahiere(int zahl1, int zahl2) { } +int main(){} + + From 31807329bea7510403ea03613db39eab72c8f44f Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 02:37:43 +0100 Subject: [PATCH 39/64] function dividiere --- src/main/c/Mathe.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/main/c/Mathe.c b/src/main/c/Mathe.c index 8497adc..f16a15f 100644 --- a/src/main/c/Mathe.c +++ b/src/main/c/Mathe.c @@ -99,10 +99,21 @@ int addiere(int zahl1, int zahl2) { int subtrahiere(int zahl1, int zahl2) { return zahl1 - zahl2; } +//29 +int multipliziere(int zahl1, int zahl2) { + return zahl1 * zahl2; +} +//30 +int dividiere(int zahl1, int zahl2) { + if (zahl2 != 0) { + return zahl1 / zahl2; + } else { + printf("Fehler: Division durch Null vermieden.\n"); + return 0; + } +} -int main(){} - From 19a0b4a0343024b5a53c2d38e5f9025074ca9ef3 Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 02:38:18 +0100 Subject: [PATCH 40/64] function zeigeAuswahl --- src/main/c/Mathe.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/main/c/Mathe.c b/src/main/c/Mathe.c index f16a15f..c5a5832 100644 --- a/src/main/c/Mathe.c +++ b/src/main/c/Mathe.c @@ -114,6 +114,13 @@ int dividiere(int zahl1, int zahl2) { } +//31 +void zeigeAuswahl(const char* text) { + printf("%s\n", text); +} + + + From 778b8219ddc9d994a45cd306bcf5a3f5a4472556 Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 02:39:50 +0100 Subject: [PATCH 41/64] function holeSpielerAntwort --- src/main/c/Mathe.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/c/Mathe.c b/src/main/c/Mathe.c index c5a5832..f1f4e22 100644 --- a/src/main/c/Mathe.c +++ b/src/main/c/Mathe.c @@ -118,7 +118,13 @@ int dividiere(int zahl1, int zahl2) { void zeigeAuswahl(const char* text) { printf("%s\n", text); } - +//24 +int holeSpielerAntwort() { + int spielerAntwort; + zeigeAuswahl("Deine Antwort: "); + scanf("%d", &spielerAntwort); + return spielerAntwort; +} From 7a4c56ceccd0b4b4ab4bffc99e16b9254cd9b635 Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 02:45:30 +0100 Subject: [PATCH 42/64] function berechneErgebnis --- src/main/c/Mathe.c | 40 ++++++++++++++-------------------------- 1 file changed, 14 insertions(+), 26 deletions(-) diff --git a/src/main/c/Mathe.c b/src/main/c/Mathe.c index f1f4e22..e2f7931 100644 --- a/src/main/c/Mathe.c +++ b/src/main/c/Mathe.c @@ -125,30 +125,18 @@ int holeSpielerAntwort() { scanf("%d", &spielerAntwort); return spielerAntwort; } - - - - - - - - - - - - - - - - - - - - - - - - - - +int berechneErgebnis(int zahl1, int zahl2, char operator) { + switch (operator) { + case '+': + return addiere(zahl1, zahl2); + case '-': + return subtrahiere(zahl1, zahl2); + case '*': + return multipliziere(zahl1, zahl2); + case '/': + return dividiere(zahl1, zahl2); + default: + return 0; + } +} From fb37c340ff5ab2348f7336158ad1ef2973312a56 Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 02:46:18 +0100 Subject: [PATCH 43/64] function spieleRunde --- src/main/c/Mathe.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/src/main/c/Mathe.c b/src/main/c/Mathe.c index e2f7931..ffb6cad 100644 --- a/src/main/c/Mathe.c +++ b/src/main/c/Mathe.c @@ -140,3 +140,31 @@ int berechneErgebnis(int zahl1, int zahl2, char operator) { } } + + +//21 +void spieleRunde(int schwierigkeitsgrad) { + int punkte = 0; + int anzahlAufgaben = 5; + zeigeAuswahl("Berechne die folgenden Aufgaben:"); + + for (int i = 0; i < anzahlAufgaben; i++) { + int zahl1 = generiereZufallszahl(1 * schwierigkeitsgrad, 10 * schwierigkeitsgrad); + int zahl2 = generiereZufallszahl(1 * schwierigkeitsgrad, 10 * schwierigkeitsgrad); + char operator = generiereZufallsOperator(); + if (operator == '/' && zahl2 == 0) { + zahl2 = generiereZufallszahl(1 * schwierigkeitsgrad, 10 * schwierigkeitsgrad); + } + int ergebnis = berechneErgebnis(zahl1, zahl2, operator); + printf("Aufgabe %d: %d %c %d\n", i + 1, zahl1, operator, zahl2); + int spielerAntwort = holeSpielerAntwort(); + bewerteAntwort(spielerAntwort, ergebnis, &punkte); + } + + zeigeRundenEnde(punkte); +} + + + + + From 20cf04df894460b9c5643976043d0953c4e0a189 Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 02:56:02 +0100 Subject: [PATCH 44/64] add main --- src/main/c/Mathe.c | 22 ++++++++++++++++++++++ src/main/c/a.exe | Bin 0 -> 44266 bytes 2 files changed, 22 insertions(+) create mode 100644 src/main/c/a.exe diff --git a/src/main/c/Mathe.c b/src/main/c/Mathe.c index ffb6cad..d4bb7dc 100644 --- a/src/main/c/Mathe.c +++ b/src/main/c/Mathe.c @@ -166,5 +166,27 @@ void spieleRunde(int schwierigkeitsgrad) { +int mainx() { + srand(time(NULL)); + + int weiterSpielen = 1; + int gesamtPunkte = 0; + + zeigeAnleitung(); + + while (weiterSpielen) { + int schwierigkeitsgrad; + printf("\nWähle einen Schwierigkeitsgrad (1 für einfach, 2 für mittel, 3 für schwer): "); + scanf("%d", &schwierigkeitsgrad); + + spieleRunde(schwierigkeitsgrad); + zeigeHighscore(gesamtPunkte); + + printf("\nMöchtest du eine weitere Runde spielen? (1 für Ja, 0 für Nein): "); + scanf("%d", &weiterSpielen); + } + printf("Vielen Dank fürs Spielen! Auf Wiedersehen.\n"); + return 0; +} \ No newline at end of file diff --git a/src/main/c/a.exe b/src/main/c/a.exe new file mode 100644 index 0000000000000000000000000000000000000000..0e3a6cc9f6e52305bec9d18fba73a5a938d82f21 GIT binary patch literal 44266 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 Date: Thu, 8 Feb 2024 03:05:43 +0100 Subject: [PATCH 45/64] test_test_Mathe_plus --- src/main/c/Mathe.c | 2 +- src/main/c/Mathe.h | 2 +- src/main/c/a.exe | Bin 44266 -> 0 bytes src/test/c/test_Mathe.c | 20 ++++++++++++++++++++ src/test/c/test_test.c | 28 ---------------------------- 5 files changed, 22 insertions(+), 30 deletions(-) delete mode 100644 src/main/c/a.exe create mode 100644 src/test/c/test_Mathe.c delete mode 100644 src/test/c/test_test.c diff --git a/src/main/c/Mathe.c b/src/main/c/Mathe.c index d4bb7dc..858a96f 100644 --- a/src/main/c/Mathe.c +++ b/src/main/c/Mathe.c @@ -189,4 +189,4 @@ int mainx() { printf("Vielen Dank fürs Spielen! Auf Wiedersehen.\n"); return 0; -} \ No newline at end of file +} diff --git a/src/main/c/Mathe.h b/src/main/c/Mathe.h index 9c04579..d0e1b2c 100644 --- a/src/main/c/Mathe.h +++ b/src/main/c/Mathe.h @@ -7,4 +7,4 @@ int dividiere(int zahl1, int zahl2); int addiere(int zahl1, int zahl2); int subtrahiere(int zahl1, int zahl2); int multipliziere(int zahl1, int zahl2); -#endif // MATHEMATIKSPIE \ No newline at end of file +#endif // MATHEMATIKSPIE diff --git a/src/main/c/a.exe b/src/main/c/a.exe deleted file mode 100644 index 0e3a6cc9f6e52305bec9d18fba73a5a938d82f21..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44266 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 Date: Thu, 8 Feb 2024 03:08:02 +0100 Subject: [PATCH 46/64] test_Mathe_minus --- src/test/c/test_Mathe.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/test/c/test_Mathe.c b/src/test/c/test_Mathe.c index 3fce345..ee30654 100644 --- a/src/test/c/test_Mathe.c +++ b/src/test/c/test_Mathe.c @@ -17,4 +17,18 @@ void test_Mathe_plus(void) TEST_ASSERT_EQUAL_INT(a,3); } + +void test_Mathe_minus(void) +{ + + int a=berechneErgebnis(1,2,'-'); + /* assert */ + TEST_ASSERT_EQUAL_INT(a,-1); +} + + + + + + #endif From 0215a5f00da452840444c6ec0bd1c36ea6c310b3 Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 17:38:56 +0100 Subject: [PATCH 47/64] test_Mathe_multi --- src/test/c/test_Mathe.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/test/c/test_Mathe.c b/src/test/c/test_Mathe.c index ee30654..7d8ec5d 100644 --- a/src/test/c/test_Mathe.c +++ b/src/test/c/test_Mathe.c @@ -27,6 +27,15 @@ void test_Mathe_minus(void) } +void test_Mathe_multi(void) +{ + + int a=berechneErgebnis(1,2,'*'); + /* assert */ + TEST_ASSERT_EQUAL_INT(a,2); +} + + From 97f387552808a35201c7144f0659418ac9c9ca1c Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 17:42:34 +0100 Subject: [PATCH 48/64] test_Mathe_divided --- src/test/c/test_Mathe.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/test/c/test_Mathe.c b/src/test/c/test_Mathe.c index 7d8ec5d..9f243e2 100644 --- a/src/test/c/test_Mathe.c +++ b/src/test/c/test_Mathe.c @@ -37,6 +37,17 @@ void test_Mathe_multi(void) +void test_Mathe_divided(void) +{ + + int a=berechneErgebnis(2,2,'/'); + /* assert */ + TEST_ASSERT_EQUAL_INT(a,1); +} + + + + From aa200f63bb5196e4cdd702a9d2f5e32bc0ad21c2 Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 17:45:49 +0100 Subject: [PATCH 49/64] test_Zufallszahl --- src/test/c/test_Mathe.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/test/c/test_Mathe.c b/src/test/c/test_Mathe.c index 9f243e2..c9e77f4 100644 --- a/src/test/c/test_Mathe.c +++ b/src/test/c/test_Mathe.c @@ -47,6 +47,17 @@ void test_Mathe_divided(void) +void test_Zufallszahl(void) +{ + + int a= generiereZufallszahl(1, 10); + + /* assert */ +TEST_ASSERT_INT_WITHIN (10, 1, a); + +} + + From 9e572e3ca2fa628f695b020ba880305dd8ab3842 Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 17:48:57 +0100 Subject: [PATCH 50/64] testGeneriereZufallsOperator --- src/test/c/test_Mathe.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/test/c/test_Mathe.c b/src/test/c/test_Mathe.c index c9e77f4..3cd0107 100644 --- a/src/test/c/test_Mathe.c +++ b/src/test/c/test_Mathe.c @@ -58,6 +58,12 @@ TEST_ASSERT_INT_WITHIN (10, 1, a); } +void testGeneriereZufallsOperator() { + // Since the function always returns one of {'+', '-', '*', '/'}, no specific range check is needed. + char result = generiereZufallsOperator(); + TEST_ASSERT_TRUE(result == '+' || result == '-' || result == '*' || result == '/'); +} + From 72c03a59cec41d871c5ee9dfd1e779ffa18ff79f Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 17:50:50 +0100 Subject: [PATCH 51/64] test_multi --- src/test/c/test_Mathe.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/test/c/test_Mathe.c b/src/test/c/test_Mathe.c index 3cd0107..84fe7a9 100644 --- a/src/test/c/test_Mathe.c +++ b/src/test/c/test_Mathe.c @@ -66,6 +66,21 @@ void testGeneriereZufallsOperator() { +void test_multi() +{ + + +int a=multipliziere(4, 3); + /* assert */ + TEST_ASSERT_EQUAL_INT(a,12); + + + +} + + + + #endif From 1d7ce0e67ae28f3a962781e378713c28a95122ac Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 17:52:26 +0100 Subject: [PATCH 52/64] test_dev --- src/test/c/test_Mathe.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/test/c/test_Mathe.c b/src/test/c/test_Mathe.c index 84fe7a9..e32f775 100644 --- a/src/test/c/test_Mathe.c +++ b/src/test/c/test_Mathe.c @@ -81,6 +81,23 @@ int a=multipliziere(4, 3); +void test_dev() +{ + +int a=dividiere(10, 5); + /* assert */ + TEST_ASSERT_EQUAL_INT(a,2); + + + + +} + + + + + + #endif From d991bdf2a13a37752636afde4c211e82198be590 Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 17:53:55 +0100 Subject: [PATCH 53/64] test_plus --- src/test/c/test_Mathe.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/test/c/test_Mathe.c b/src/test/c/test_Mathe.c index e32f775..b7f5554 100644 --- a/src/test/c/test_Mathe.c +++ b/src/test/c/test_Mathe.c @@ -97,6 +97,20 @@ int a=dividiere(10, 5); +void test_plus() +{ + +int a=addiere(10, 5); + /* assert */ + TEST_ASSERT_EQUAL_INT(a,15); + + + + +} + + + From 576e1c2431f9e43531633d793422cddaae166aae Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 17:55:28 +0100 Subject: [PATCH 54/64] test_minus() --- src/test/c/test_Mathe.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/test/c/test_Mathe.c b/src/test/c/test_Mathe.c index b7f5554..ebddf8d 100644 --- a/src/test/c/test_Mathe.c +++ b/src/test/c/test_Mathe.c @@ -111,6 +111,19 @@ int a=addiere(10, 5); +void test_minus() +{ + +int a=subtrahiere(10, 5); + /* assert */ + TEST_ASSERT_EQUAL_INT(a,5); + + + + +} + + From deb85d0f7cf2e281254fec1cd4d637dc3edde09e Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 18:32:58 +0100 Subject: [PATCH 55/64] =?UTF-8?q?refactoring:=20Programmiername=20als=20Ko?= =?UTF-8?q?mmentar=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/c/Mathe.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/c/Mathe.c b/src/main/c/Mathe.c index 858a96f..2a77221 100644 --- a/src/main/c/Mathe.c +++ b/src/main/c/Mathe.c @@ -1,4 +1,4 @@ -//1 +// Geschrieben von Yasin Al Satouf #include #include #include From 89ba5bb9bec0f2d1e632d4403743a6efea051de1 Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 18:44:05 +0100 Subject: [PATCH 56/64] =?UTF-8?q?refactoring:=20variabelnnamen=C3=A4nderun?= =?UTF-8?q?gen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/c/Mathe.c | 4 ++-- src/main/c/Mathe.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/c/Mathe.c b/src/main/c/Mathe.c index 2a77221..af3b076 100644 --- a/src/main/c/Mathe.c +++ b/src/main/c/Mathe.c @@ -92,8 +92,8 @@ void zeigeRundenEnde(int punkte) { printf("Runde beendet. Du hast insgesamt %d Punkte erreicht.\n", punkte); } //27 -int addiere(int zahl1, int zahl2) { - return zahl1 + zahl2; +int addiere(int ersteZahl, int zweiteZahl) { + return ersteZahl + zweiteZahl; } //28 int subtrahiere(int zahl1, int zahl2) { diff --git a/src/main/c/Mathe.h b/src/main/c/Mathe.h index d0e1b2c..26ef11e 100644 --- a/src/main/c/Mathe.h +++ b/src/main/c/Mathe.h @@ -4,7 +4,7 @@ int berechneErgebnis(int zahl1, int zahl2, char operator); int generiereZufallszahl(int min, int max); int multipliziere(int zahl1, int zahl2); int dividiere(int zahl1, int zahl2); -int addiere(int zahl1, int zahl2); +int addiere(int ersteZahl, int zweiteZahl); int subtrahiere(int zahl1, int zahl2); int multipliziere(int zahl1, int zahl2); #endif // MATHEMATIKSPIE From 2fdc5110dcbbd9dba7c777316fd439c219fc51bc Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 19:12:51 +0100 Subject: [PATCH 57/64] =?UTF-8?q?refactoring:=20L=C3=B6schen=20von=20unn?= =?UTF-8?q?=C3=B6tigen=20Kommentaren?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/c/Mathe.c | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/src/main/c/Mathe.c b/src/main/c/Mathe.c index af3b076..1c75bf5 100644 --- a/src/main/c/Mathe.c +++ b/src/main/c/Mathe.c @@ -4,47 +4,47 @@ #include #include "Mathe.h" -//2 + void initialisiereZufallsgenerator(); -//3 + int generiereZufallszahl(int min, int max); -//4 + char generiereZufallsOperator(); -//5 + int addiere(int zahl1, int zahl2); -//6 + int subtrahiere(int zahl1, int zahl2); -//7 + int multipliziere(int zahl1, int zahl2); -//8 + int dividiere(int zahl1, int zahl2); -//9 + int berechneErgebnis(int zahl1, int zahl2, char operator); -//10 + void spieleRunde(int schwierigkeitsgrad); -//11 + void zeigeAnleitung(); -//12 + void zeigeHighscore(int punkte); -//13 + int holeSpielerAntwort(); -//14 + void bewerteAntwort(int spielerAntwort, int ergebnis, int* punkte); -//15 + void zeigeRundenEnde(int punkte); -//16 + void zeigeAuswahl(const char* text); //17 From 16db1ea703ec1e4f667fd0cb449d345ac8df0da7 Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 19:19:47 +0100 Subject: [PATCH 58/64] =?UTF-8?q?refactoring:=20Printf-Ausgaben=C3=A4nderu?= =?UTF-8?q?ngen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/c/Mathe.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/c/Mathe.c b/src/main/c/Mathe.c index 1c75bf5..d25f353 100644 --- a/src/main/c/Mathe.c +++ b/src/main/c/Mathe.c @@ -80,10 +80,10 @@ void zeigeHighscore(int punkte) { //25 void bewerteAntwort(int spielerAntwort, int ergebnis, int* punkte) { if (spielerAntwort == ergebnis) { - printf("Richtig! Du erhältst einen Punkt.\n"); + printf("Super, das ist richtig! Du erhältst einen Punkt.\n"); (*punkte)++; } else { - printf("Falsch! Die richtige Antwort ist %d\n", ergebnis); + printf(" Leider Falsch! Die richtige Antwort ist %d\n", ergebnis); } } @@ -176,7 +176,7 @@ int mainx() { while (weiterSpielen) { int schwierigkeitsgrad; - printf("\nWähle einen Schwierigkeitsgrad (1 für einfach, 2 für mittel, 3 für schwer): "); + printf("\n Schwierigkeitsgrad wählen (1 für einfach, 2 für mittel, 3 für schwer): "); scanf("%d", &schwierigkeitsgrad); spieleRunde(schwierigkeitsgrad); From 9fcf777de991171f584fa6294501ba84e3e37406 Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 19:25:02 +0100 Subject: [PATCH 59/64] =?UTF-8?q?refactoring:=20Korigieren=20von=20Output-?= =?UTF-8?q?S=C3=A4tzen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/c/Mathe.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/c/Mathe.c b/src/main/c/Mathe.c index d25f353..f617e62 100644 --- a/src/main/c/Mathe.c +++ b/src/main/c/Mathe.c @@ -66,9 +66,9 @@ char generiereZufallsOperator() { //22 void zeigeAnleitung() { printf("\n=== Anleitung ===\n"); - printf("Beantworte die mathematischen Aufgaben, um Punkte zu sammeln.\n"); - printf("Du kannst zwischen verschiedenen Schwierigkeitsgraden wählen.\n"); - printf("Versuche so viele Aufgaben wie möglich korrekt zu lösen!\n"); + printf("Beantworte folgenden mathematischen Aufgaben, um Punkte zu sammeln.\n"); + printf("Du kannst dich zwischen verschiedenen Schwierigkeitsgraden entscheiden.\n"); + printf("Löse so viele Aufgaben wie möglich korrekt, um einen höhen Hichscore zu erhalten!\n"); } //23 From 21c8844c45f4f16d2ef4a3b868d986ecfeaca0cc Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 19:28:07 +0100 Subject: [PATCH 60/64] =?UTF-8?q?refactoring:=20Code=20von=20unn=C3=B6tige?= =?UTF-8?q?n=20Kommentaren=20grreinigt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/c/Mathe.c | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/src/main/c/Mathe.c b/src/main/c/Mathe.c index f617e62..c6d30da 100644 --- a/src/main/c/Mathe.c +++ b/src/main/c/Mathe.c @@ -47,23 +47,23 @@ void zeigeRundenEnde(int punkte); void zeigeAuswahl(const char* text); -//17 + void initialisiereZufallsgenerator() { srand(time(NULL)); } -//18 + int generiereZufallszahl(int min, int max) { return min + (int)((double)rand() / (RAND_MAX + 1) * (max - min + 1)); } -//19 + char generiereZufallsOperator() { char operatoren[] = {'+', '-', '*', '/'}; int index = rand() % 4; return operatoren[index]; } -//22 + void zeigeAnleitung() { printf("\n=== Anleitung ===\n"); printf("Beantworte folgenden mathematischen Aufgaben, um Punkte zu sammeln.\n"); @@ -71,13 +71,13 @@ void zeigeAnleitung() { printf("Löse so viele Aufgaben wie möglich korrekt, um einen höhen Hichscore zu erhalten!\n"); } -//23 + void zeigeHighscore(int punkte) { printf("\n=== Highscore ===\n"); printf("Dein aktueller Highscore ist: %d Punkte\n", punkte); } -//25 + void bewerteAntwort(int spielerAntwort, int ergebnis, int* punkte) { if (spielerAntwort == ergebnis) { printf("Super, das ist richtig! Du erhältst einen Punkt.\n"); @@ -87,23 +87,23 @@ void bewerteAntwort(int spielerAntwort, int ergebnis, int* punkte) { } } -//26 + void zeigeRundenEnde(int punkte) { printf("Runde beendet. Du hast insgesamt %d Punkte erreicht.\n", punkte); } -//27 + int addiere(int ersteZahl, int zweiteZahl) { return ersteZahl + zweiteZahl; } -//28 + int subtrahiere(int zahl1, int zahl2) { return zahl1 - zahl2; } -//29 + int multipliziere(int zahl1, int zahl2) { return zahl1 * zahl2; } -//30 + int dividiere(int zahl1, int zahl2) { if (zahl2 != 0) { return zahl1 / zahl2; @@ -114,11 +114,11 @@ int dividiere(int zahl1, int zahl2) { } -//31 + void zeigeAuswahl(const char* text) { printf("%s\n", text); } -//24 + int holeSpielerAntwort() { int spielerAntwort; zeigeAuswahl("Deine Antwort: "); @@ -142,7 +142,7 @@ int berechneErgebnis(int zahl1, int zahl2, char operator) { -//21 + void spieleRunde(int schwierigkeitsgrad) { int punkte = 0; int anzahlAufgaben = 5; From 1d3101fa39c17ca426b4e494223fb8191114819f Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 19:41:27 +0100 Subject: [PATCH 61/64] refactoring: Umformelierung des Parameters min --- src/main/c/Mathe.c | 6 +++--- src/main/c/Mathe.h | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/c/Mathe.c b/src/main/c/Mathe.c index c6d30da..9099808 100644 --- a/src/main/c/Mathe.c +++ b/src/main/c/Mathe.c @@ -8,7 +8,7 @@ void initialisiereZufallsgenerator(); -int generiereZufallszahl(int min, int max); +int generiereZufallszahl(int minimum, int max); char generiereZufallsOperator(); @@ -54,8 +54,8 @@ void initialisiereZufallsgenerator() { -int generiereZufallszahl(int min, int max) { - return min + (int)((double)rand() / (RAND_MAX + 1) * (max - min + 1)); +int generiereZufallszahl(int minimum, int max) { + return minimum + (int)((double)rand() / (RAND_MAX + 1) * (max - minimum + 1)); } char generiereZufallsOperator() { diff --git a/src/main/c/Mathe.h b/src/main/c/Mathe.h index 26ef11e..16daed3 100644 --- a/src/main/c/Mathe.h +++ b/src/main/c/Mathe.h @@ -1,7 +1,7 @@ #ifndef TEST_H #define TEST_H int berechneErgebnis(int zahl1, int zahl2, char operator); -int generiereZufallszahl(int min, int max); +int generiereZufallszahl(int minimum, int max); int multipliziere(int zahl1, int zahl2); int dividiere(int zahl1, int zahl2); int addiere(int ersteZahl, int zweiteZahl); From 07b1a04cff0d5b74fe30a2fd68da997a1b3ab8e9 Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 19:46:10 +0100 Subject: [PATCH 62/64] refactoring: max-Parameter-Umschreibung --- src/main/c/Mathe.c | 6 +++--- src/main/c/Mathe.h | 2 +- src/main/c/a.exe | Bin 0 -> 44266 bytes 3 files changed, 4 insertions(+), 4 deletions(-) create mode 100644 src/main/c/a.exe diff --git a/src/main/c/Mathe.c b/src/main/c/Mathe.c index 9099808..351fb29 100644 --- a/src/main/c/Mathe.c +++ b/src/main/c/Mathe.c @@ -8,7 +8,7 @@ void initialisiereZufallsgenerator(); -int generiereZufallszahl(int minimum, int max); +int generiereZufallszahl(int minimum, int maximum); char generiereZufallsOperator(); @@ -54,8 +54,8 @@ void initialisiereZufallsgenerator() { -int generiereZufallszahl(int minimum, int max) { - return minimum + (int)((double)rand() / (RAND_MAX + 1) * (max - minimum + 1)); +int generiereZufallszahl(int minimum, int maximum) { + return minimum + (int)((double)rand() / (RAND_MAX + 1) * (maximum - minimum + 1)); } char generiereZufallsOperator() { diff --git a/src/main/c/Mathe.h b/src/main/c/Mathe.h index 16daed3..b95e151 100644 --- a/src/main/c/Mathe.h +++ b/src/main/c/Mathe.h @@ -1,7 +1,7 @@ #ifndef TEST_H #define TEST_H int berechneErgebnis(int zahl1, int zahl2, char operator); -int generiereZufallszahl(int minimum, int max); +int generiereZufallszahl(int minimum, int maximum); int multipliziere(int zahl1, int zahl2); int dividiere(int zahl1, int zahl2); int addiere(int ersteZahl, int zweiteZahl); diff --git a/src/main/c/a.exe b/src/main/c/a.exe new file mode 100644 index 0000000000000000000000000000000000000000..e650f6d7f59149f1a7ba6920982c75fd0cdc4e28 GIT binary patch literal 44266 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 ZVS54!1X>SMqv&W$joW*<=;{jp{{{*7T}J=_ literal 0 HcmV?d00001 From 2f567de876751e9b96dd9a325b644442475156c5 Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 19:52:40 +0100 Subject: [PATCH 63/64] =?UTF-8?q?refactoring:=20=C3=84nderung=20der=20Spie?= =?UTF-8?q?lanleitung?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/c/Mathe.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/c/Mathe.c b/src/main/c/Mathe.c index 351fb29..380cbdf 100644 --- a/src/main/c/Mathe.c +++ b/src/main/c/Mathe.c @@ -66,9 +66,9 @@ char generiereZufallsOperator() { void zeigeAnleitung() { printf("\n=== Anleitung ===\n"); - printf("Beantworte folgenden mathematischen Aufgaben, um Punkte zu sammeln.\n"); - printf("Du kannst dich zwischen verschiedenen Schwierigkeitsgraden entscheiden.\n"); - printf("Löse so viele Aufgaben wie möglich korrekt, um einen höhen Hichscore zu erhalten!\n"); + printf("Löse die folgenden mathematischen Aufgaben, um Punkte zu erzielen.\n"); + printf("Sie haben die Möglichkeit, zwischen verschiedenen Schwierigkeitsgraden zu wählen.\n"); + printf("Versuche, so viele Aufgaben wie möglich korrekt zu lösen, um einen höheren Highscore zu erzielen.!\n"); } From d5dd1b92e92895fc2c40d1766ed7f48723c63620 Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 20:04:55 +0100 Subject: [PATCH 64/64] refactoring: IndexParameter umgeschrieben --- src/main/c/Mathe.c | 4 ++-- src/main/c/a.exe | Bin 44266 -> 0 bytes 2 files changed, 2 insertions(+), 2 deletions(-) delete mode 100644 src/main/c/a.exe diff --git a/src/main/c/Mathe.c b/src/main/c/Mathe.c index 380cbdf..094750a 100644 --- a/src/main/c/Mathe.c +++ b/src/main/c/Mathe.c @@ -60,8 +60,8 @@ int generiereZufallszahl(int minimum, int maximum) { char generiereZufallsOperator() { char operatoren[] = {'+', '-', '*', '/'}; - int index = rand() % 4; - return operatoren[index]; + int indexnumber = rand() % 4; + return operatoren[indexnumber]; } void zeigeAnleitung() { diff --git a/src/main/c/a.exe b/src/main/c/a.exe deleted file mode 100644 index e650f6d7f59149f1a7ba6920982c75fd0cdc4e28..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44266 zcmeIb4R}=5wKu-c%!CXiWD*I2iaOY!pb!WGMGZQWWbz^TG9P>>IOJnOQYIhHoB>3U z&`B(((|EbJ_SW9gdqr$7x39OgEjQ9?Z6KIHr5Y)%DAbEebz;y)MGRn__qX;wXU?2V zV()XG`~3g!+qVZ!&faUUwf0(Tuf6s@`<%0<LdiYm%- zTkS-G^dLE74vr^#dA)XmKaP{|DsaXegf~A+D6*8`Pvay!UIPKd0ey4kFT90kB4ofG zoY&x7fivcCu+*ISi?TRmzJ$wZoWxJY8FO&F#fv%QFyRg3B)p9r6#c{TmVBA#xqRfI zgts}0!V}OV#|ZiVJ{LSYBb1k653vwi_V=*RrqX3yxcJvCgCq6WI*&r6{=5wCnf;aw z@|y61OvZvElC7fzY!A34x_K(D^LjlIJZz36Z zHHImq+WQnU?s1HN*#*`!NT=cB^dk?Ks!|%XfT_~C${D^@Btdt z7JeULOGxp@&qa+YCa>|`xzPD=WblZwj2rnywd~(f)+JxhRQaowKUN0MrtjWd=^!i3 zfD&W}ZWnSfwc^M?@N6=rQynZ^NQ#}cgv%!}w%h7(FvXG)u7qUae@2wpZExeOaza<{ z-|k?0k_iFE4CSU0-p?QhM-i|E1p5~wtejvWz`{SmpU_m!AvOG=4b`3*4mUxc@GdGL zzSi9g^%1k(7D|A$39hE}hMRz*%*Y5|psUti!L!+2c^PwgTLB#^5f!pP0$N^1>TU}J z4xW~fP6q01sw2D@#lb__y*uIGpdq72ralSv!p|D*Day%mYWa7K<&jwfpz7MF**`L? z2l<`R1MRT_4U$T>E(d!HReaV$F7y*HRl(5i#hZA+9^9$6<=*^{obe@JM9U%zo7 zxpRFS$W+oqMhM+{v}WuQi_!RS$<;R%t-v)aM$$sn7M{ zygt`QH}<(co*(`J)pt-CI52YUf$%lb!QflwImm)X7m=Qm25j9-qlS=;WXk(Ng!F@y zZWietO4o?A^)95Vk&Y?={SWTnRf?JcBJQ3yJ z`E+aYP#UCIN_@T!KKrS4G&@i|Xd_>gfAH*VAiH^`_ye=SGftbN0jY-+Qe|2HXABpv z@HnMKymUAm!gYu1-S(~T&JSb+w+^$wHRDiB6BMw>yQl>%H7qI%laUW2+9OosUv^8GP0m{=;Xm@G77_ zMKaU^1#vc=Y6Xn@Kqg=zf`P^T5D)1Yls*MY;Cx1OHwwDxv2^EWak}Z9J%Pu8mxskMhu?>bHw2%OsQ8lWWNf$JzAG-k0p#N@-NitBJzk2+ro_DQzqOCy~}low@x`=vW< z9bK@6?eF%1vi;HxwvMNfZNGG*ts}q_*V#HJBB303<$|r_HHap?5o~v@ z_XJi8Yuas{Kc?Dyx;96CPIAZ#yB@q%QU>(#4l%gT0cA!4pL84vq#;u6n4Z-$_&YT6 zPLfwS*p(yonYIo6QPc-s*=Qu19`kZd{)>T6LayUz=f%4p!vGpwis|DEsFB7g2d+wT zhEmcKE`dAJjPhB4LM1)H3lnV}Bx2V}X~(swcP;AW;@Ub&x%$V07q;0RJph_-^-Mf4 zxD5U-j83f&;RkO5h0r$D)^RV2MN?&iT6(2nrzW3htm|wYkAaRFYbVhMj^CjCI@(Hu z|A{Wtb(hp9U8lod1Z?*qs1#!7ErkwDic!ZcTaWqzA=d!(ZBZ_AWUym{{|w|lXyZBo zy{!a7Z$L*sEV}Sf>N9sw2V#b1-|(gLG(4+KN_F3$*Ih>JOlzRSU>=D^(?r*azC^OB z&VB7+WeuX+)}u;xM)#J1hU*u2tX58u&L#+d2lJTV+;{?Fn+|lgR9c!I|xe zte*3Il59r3=U=eP36t9aJ>S<(5Ywjz(X|*QEtF)E+#Eb?#hAAJEZsg~E@}IbB_p&e z<1h-h@8g#@dZsYjkKjB4N(f)mlF1o2i{z2*mk2L#4QFej8d7=ELP`7i16(4L5|ZoAUTONF@Z?#`4|%&_1K;2AXmUl=vvIc8+Jwp zIHarG5^`9SsZW~E_jrCt3YeW`^!~bgHUvWLiI9o-_a_j5Y(MlUi74*( zGJ+#!IUQ)Jyjkd$Em`!}P!*p+TM)tR7>M{xpb(nI;E9f|-j7ghP7f}tM%v^BQ)B z%nBG?g93msmJ}m}21>@P+ZxKXD2p;81EG7YohJjo)3{6&$dK@!dwW+@W}T<|F$b7} zE)`H^7;x?Wm&8tHe4r)i!&TQ3f2CJ;k`gLQ#f(gbl4}VkfcI`yK!r=Hq2yY_J3&iQ z4vVUvN1%xeJ)#a=YI~4BabZGhGVBn@2CvELxkr~rHN`IQ3Qg5aaZH{TGTqV}m^4%x zvflEVJV!Yg%CUm{Lrv*)QMbxX_qR}?Rk>5l7qPOUVZVbkBpn(6mpxR8GB9*fj0b$Z z0sbe+1-@x;!@xw%b{@^gdNoKbPXIS?M&;a}K!&Cx{FYkB5fxib7lmZzC?~pK=S{yx z#XcE+577&KK{Z?WBxS!%uEG!QFT3eR7%gW-u;e2Y@$8Z_GQjOY%u%{lIS^8l!<(>} zzbJbB{*UUT&Fw;#&U**ZWKQPRq#-;7~7-wqrhL#<%K7Kt%KNlGx!|@cPMyvHfNuT zZoM>y8G81N@NO^!d`9r1L;gYVqD9`#brB4xk1gP%5@c4u=wqt>Ec{zY0R63~(?Y7i zDv#34tp@|b?lrt4$cgIwWB-|Im@%4b9VXBbTgUSNJxkc3Tq}IT)|m^=!QSNUmk4MJDnv3R^nj)7 zr;GvX>-5*wU1{z58l{34F%kF{aDo@@wvMwrVYPMq3<;QprnH|y8R$l;vG5T5gV!e5 z`!hq!EuksFUaR@y55w2*IZyZ2uVHg<5?H z_2MTqf3!XGZDQDf@n*vIUt?7wGUp@d6=I9~fEhnGkw|+X(qIzE&<$k`3dktjk!x#~ABzLWnx-8!V1;5!^a0RXh zlzi)cGa#KuMH0tQ_7vr6wKE#`TiecHd z=ciLIha=d7m)0tOuyxc>H@P&=*0BnS5WGn_{OJIiU^b7Ib7&4acWAQm!A)|;3=Dsb zw&!05W!EOm)UVV?yC4R-We45!1TW3Ebx^Mk(mlqfD6w^4uKYpy^izy%%mI0Srp(RQ zQI(Mq{{1v)+J}(B?+OniH>c0mjgrpufyXH71W((CE+hK}`=yR!whqi9!EIXm#kIDM z+fhaP#chEzXzNazx7)f`O28ZXE%*PG633z*4T&+Tw?Q|1*Cx~UH%W+F{$T5}fe2wV zLkTM{4W*&J*GMK(|9ef9A z%s0Sf@F0@v_yeCywsq%AU^VnK^r8Dtsvz($;M$chakf-D*rD>Bw(dmKo{8G0lBrPp z;8t{usJ{z-1>8Pw5I@-IMPgMTSdmnFP`&MuW%$dD^3u??x<5hnxm|OYcD^sqyXBJd zXIsZ|aEF1mMgnKhn&ITjq09@Kfj*xK1HI7se&DyG4P@)c1|h^u5k`7%@b_H*SbhH} z^c{MM8eUu9Ua7o5{yVq*)=cqI)>#1A9)DcF*m*g6kV zGo@$nq49d?MFVtScm`6?ZN{8Fj7=Ru!Wo!zB6w)7+TOPAYDwvBzj$LHRrJ?hwBHou zTj@XQTGL$UzZGR}juHd9sL%%vByLzm3P@* zBzX9vL7Lo9o2#Ysd$@$~S;&cb1{hipt7h^sTTWCy3jY=bG%b4o)rp|Y+aD#XQ8M&< z)&979#Y{)(4W9KX)dTJCSd@}Ow$2p@_=;yQ(Z6^ZM%QvF*psR*UwwT9!}uXg6_eqL zR=Ra3tq&gq(NM`zOsP7%K}KzqJzu^edyPCb6gd8?*;Sa=0M0)CfvqDc z0en#{B)AfiNGERTwFMgziOSl3Vg8PiJ+_WAWZN&S31keqkW%%xbr)jE04TPO4HI~| zt)mu+uJXt&zYV-;>vlwx>ccx+d(g;xP`x#KjjhuMgi!TiTX$d&?sogIzG3S&WzV-g z+KbXh4_IFeyax?A842Zj63buEy5Dt_VC-iKbvtZ&}0nD8n>C!{9a<(H2vjj$=DkMC2K^?o=8$ zhiu*CU^K>PWeDcUxPOMWut%SA%GOap6|X%SykxRH+GFeP35KPay;#Ch)*jvKuyxAt z*wEVjH1_`pn6sFJth-O?A4(6WLZZ$dOu3g^9=ZM{{XOZ_tNM)-DK5y#l} zhVlw#V5dSLcJ0G_lkSegvp5S|$8@TudY{r}?RTIW+*{Beta8{MIYE6U*E0AC+88a3 z*iDb+LY}=L*HLYOtYN3(=^O1zlfb0o0vY3@p+_(uC@?Fp2m8%KU1Iz>AU#W_ z>2n>Ih6WmT?m%^YsC7cH-!y1Nr_Y{?g=iosBeawZH8CYEl-e(CvvpnzK>KDB3tTqX zi6YLA=DYG1<$$ewwW-T#0-k)f{n7*S{q2{w2C9P}NP%C19NkzNN+fx0-K1Xd07iiw zIgtQ8pF?|u0s{y;)Ga;=z9fa;y@=JU5lIOQAhJNF_B-a|Rp=xyrU-%a6t;+(DH+qg06sy-1`5MCkJ-~gmn4iA0~8P2-~Qf-~D z!(PhT!+owjYx-SJ!eVUDk3LUa0(b@ys@{)Vk0kzdZhv?WxP-Po*X728_0LG;9Ecn$ zuuurP42*(Xk77wgS^L~z1@X|He}_t}6rg*+Jmh(La4X7CxkW6n3VzCnh+Q9|Cvk>Y z%s~irSg@2v6}?7qGbR~-LYP#04#h~VSK)L7F-u!l8U{4#4z$ zY&d)yMkPM__q#|bHn@|_Y8J7jlb%;8uKk0lob)ur9IT?`)Nt zp$X6-@+ujTrVWUL_gXO59-=hHhmt*mPr~k6l=&4}g;0M=#iK&Z&<;2gH6@0V!KbLP zss}J9+Vx>{Y$fNTN#Q%;Y2c%K+iSyoz@`BFYXo3;Kh1&Q{p4VXGvr`m`tvpgU6LO` z7Y=q6X;y8e=^od&+8Vz4Q-EAt?=@7N>+s;)Fqo}-I+8oq?iu_Ya_w7>Gh4?om^6E? z@{z6c1e$JeF8&}`SgD)r1{bCJsPgh)Es%`&hkQPQ`E@9e9$IS+ZRIPSpZ3$hDKFlB z`;8d&<;iHLTqxc@fwJ&}P)VwC5!T2AW31{b2jpo8xyoTa3GUB_Mp%eFNc}(fZmN6+ zPc#+J8JgX^kLikTsUQCd+LfH<{nDab9J2A}FHv({Wi(feB?Es{N={S1`tu|*UdVF> zY-}By$y+{BO3sA;hzK7lIWyP*h(TYz%#<3EGwiBvDVXu`$=<%}N$OC(CA0z~FP?yP z&7gZo_Rtlfd~5JeQphr0?Ld!_5|K#YT@;`<*ae5d?EusJ5WEWUh6>2xYh=st6qKTw zd*w;g%UqCK>7@m;Y*h4FNJ6@QRY;EU*8fqWBY0sYT;FK zsoq4~6;i#5R48!f=XkS?DZ>p)3Rq?xYfw@(+hFmO%!y(a9^vy>3Bgfqi|R9E^(@SK zL)B+Qi}VozpcFyF{U8`T2-1+})Zmrq*SdaP`Jdn7I%5mc;tVE=pDTS_jWAc^EvzYB zXi&)-(tN@QeGeFUm2hv$q0M-pt0yg|BLfQ?{_nZP3s4a!}g z%e4)`rE6#rYbCePFc1R&iMIr@&NnDoTy8j_7`Vg95FN{Q@KV{*XPIDds|6?{x7v&= zG^2=sM<3)FJJJ5QS}e4J8nN)MGZo)ZSV%S zgs&&7oyF>OMCp_7#>)lE@#0eMgsh$+ICAa;44MtgEa)mozJg}Qd^^vQjWI(CoDSt> zq-LxNj-+l(@6Wa3Suopvh}iR|N|@i~T4VCzd1R8_@IT^$XDNzV&I(_N^!BAmAd#nq zCsV;vll*Mhj8s3n9Q=lU6h4m$Za+(>%%aTg4A-2XjwHcd5( zuKI7hj^QJaCpdDMd@NiRl`KYQl`y(qw4!qR*}2d*)RE!9g|5e$oy&X2Ehv2rrshy8b@$`RAX1`pV2-Z-1*DhdlV{!S;6a$&N`x_X>L@ zc)~nq1dEoItJ)D~a@!GRZvXijSPc;`5iL5jfX2VS!0g|FA7%E78!30GK}k=fCkmFX zuW}iV%^aA;MR@PuNP@tG1L4$QF9uz9Ab8R|=TcX228o1-^CvVKwTZ2x1Dv|{P6r&L zDeuB~K11tu&jAHPWH?-j&P4wBFufoz`}fnO|KW7}rGp|AX_9Z*eu#{zcI1Yg2i{Ai z-a{`n@cFo!rwJC%hyNEU$U5K8xc?js@4~g8zf?Z-AK|}K%edG50P~2f^Wo)y4gFJe zev73(YiLbID%Ndp!ed}mjl~e?^i4`Wlokq-oVb~;hxoY7HYr$pv)hTK zhtBHp6#S-xpB?-%RALzFpMj0%kzin>0MZYhw3LqL>ER)y`x!CX4;>>zgGT>~;Wt(1 zSE}&~q=tVOWxyGB1*sJv@mrXBk-@nJ^4tAfIkGZG)7IDU=#P3lB%2g!C!K?bl6%7| zqCACA??vs!pHE^slfjidzqyR`SqZ^0iTHBxS+Z6naMjRUjepdDU&8zlwM-F4hQHp@ zr*M(Bol>7EbdzvldRIfl33XK~Hrnmn8JT7Ossr!8MrO@WuhZ3Qx_V7jugU7ws$MPX zm8sXywhKNZ>h+v@9agVr)oWP2o>8x-)$1wsdP2P(SFcCa>tXf!oO<1-UY}C0d)4dX z>UEcTeN?@+tJeqB>t^*TtJgO5>Q%3e>a||Iu2ZjT)axqsTBTmg)oZbOEmW_0>eZoM zv(@W2)awp@rDtvQ5A)BpgPX7zsWub&aL*kMMhB&N;xGJxGc$Cr2y@`m2hjdk>HY%S zzZL&qU;%Ga?fSYpx8GgAY2m!A%zCevx!pd``X;~Z@wprD9hb-5)Y8xjXuW4FIA`#c zd09&Y?VTIl6)JVEx5n@H_=OQBEnBwC?riaTn&d#sdOLEA<#=jZQ8f(0=r)4JN zN*6Y*SIbE0JkZ%|Hpl^w*X!|tP%DJNZ?(^=S9QegBHo`1w0V4U?e#T&J4)?7R3bO6 zpJ|8AsH68uuMDV=gIk7fUhKuBkk6i9$YdftUI1m4a|4`H_7k*}~`dz)`4$=s4|gT;pIR zO)cv;+3|6t+|&$1)HHbmKF_U_nBBgj$tMSDymtjWzWaHBryhp#QDfBJ4}tA9vc0Ch z-skcA?X%j5qupNJvZ1AQQ;WUL?+Mhm+I=2xYaO}~ng$7gZK+_=gI4LPWQ%17CXsaGNiRU1 z{&6JoedJkgirrK(DaEopiI*(}Nd8GA@-D8-nPTlU`}mW0LJf0kS4snI6Gosgf zf1zH!2IZvRc=A7p^7~NE+gYP8*Xehm+=KEPW9x6w%b!DeE6O`!%T4VZfpk8F^53HT zI$WdnGhZVS0+oLT`0w^bB2O9U_j3C2d@mcgL|gnHk;uQ8kOEAGaPvY*^ z&mFKJ$$TU>?@StxZ-&bEQQQnBlDunEtU;5hFgYQ)(`+JUR+GCo#WEf}!AY+ApGP8d zab=|`scXuH(6ER>jNbJ9e zM98#sj3)=xLvmPvyAD@lJ;f{x>%z8QSuS>5Cvn`pyRJSBF6f=Na{j z(>Mn}|81g&v^B7$GpUIqtVKG9SO7kr9mocB&V5#oL%O};4=BsVxd!FKxC(zodwdP; zk@~R3nUWq%C`ehiDy1qnWnI&xlyqpAiuOr%_QPB+&|pxXQjRiHKELFSfdXTYk3EU= z4C;B2{P!y<)~`{!KWuiUqy{ayDGN+zCV_J=IQM~be~RT!*l;|(rh^6P_2@4n5gJqY z*yQBK8JC7+AesTte3NL3qP}M;nxrV8 zdaH}^tsN*20{1`YrkeNvQTEJDDL1!BFch4?V9VSjQwhL%qrlE26PYz0EaakgJK7V8 zTseMy4%6dfv9N zDsPUj##&Q;3_6r@0EZqz4Flh;;v0R?UN*`F3zIe(eR4d1q&`Hxbq>7GQE=kzj`@%# z%TFiu=Jq*7*mowG%S}ev#^dWy`R;l-62TjUvGyxWIc+LWIe}n(+GL82O1VizF)_-S zR1C6pIA;$;B2VBN(*_0}1u;~GNpQqyoO34Kqi47sp9Y&9;P(vdFLdQTj=rqMjQo@y zleuJUCkKfg=Q*5~W5#hO^*(*vA>W~e)CIuFL7M8}@pAtoe7G(c(s0LP75VIAD7%l!P_G^{X$Bk(^94zzdWKNPYe(`8 zI;)OHBDByfYzF_}^8f<;|96zP>vgZ|#CWhB<97^fGhjOa+ZzK*e;Ba=u(6KWU&ZGO zI9K6p!0E$DFX%st^9h{$a2~>W0_S@;Cj_x23(icO#W?TA>BULMgSbAdrvCxgCvg50 z=RuqUIN!o~7Uy}KrVi{yg!6Ko*WsLta|zBIoOj}^!g(*w2Apj;x8Qsj=T4meg!2iU zKg78Y=W{p@<2;7*b)08#et`2lP6m4<}QjXUndvbkEa#LN6x6)HbYYW)p z$kl=slhI%{O>%8+lFNOqby%ZdbEW*Imik<8tKY*G@N|BY&oAdUc|A^a2M#I4hDZXi zPRjRrJjG45z8c^CtV1gB$hob}%{49c#aN?pvd;-pjAbg9&)4c>EX{;`No#$;>nQ}1 z;7Ks5-YJ$z7<`l?LJKI<)<75|>jeEzOzzee&fpg&cbfoyXrf9)jkj59YO#jPaxFF3(~9c3(*g&<>JwudEDdN$ zY>;GW*aXKxYLBH^E&HLRxz;bYZmPoy@sBOdp60r?`|%LY(&lSwksHtpEo}iAWd|)j zm>W^U;`0d7!xlgG7HeQHS|9|ia(O-MHx_@>`j#3m?&>UlPVl+~#^n}$lTuj6V{F7i zOKo`CVUb(Ctyl|0)&xUAr?A!`~S?j+*MKPD!zFkUmXX_bnvCK*}t*Q zCkyCo?ulE#SDu!G^DP{FQ6@H}%G|fb_V7&A_=7F9uq6{>=}@v(sNA zobF3ZTrms(YtL}dc3jaT9Vrw0SNs*_(SpAv{wgf62U@7@FOfpj{&(Wc%$zU&`+aru z@rHnSP&Z$^E-=5YwWXnH{rskzmoAxKcmMiLO)Z&~Y<^>Fvu8d%VQ-vIRQx$1r>zY% zdFyp9+7rZib-q@=e_jioQf~AJ^qUu|RWLlpvpXy83o{okWm0<;{M5p4uq_gm$U%73+?l?vw=&4XPEPZGWK~5Ev@tX za!uWadGw?dQ+3=_B!9611nI)ey8mIVY01H4Nx*!Rna}ccVxWa)ws-(cK$9ua--y|^ z-3YZNcw6yS1^>g*k}W)4-x{dJt1A7Q9%(q?5#M2Ag2H9oNMCqGA`5POYRW&fw1_oDDL6X66XD&q1veoMP9su!Ax(r06NLt>c=|{%ye;tR|5Cv*-O!EbIn)aL#EGkKvN3= z{!D-*x42g`xg@I0WJ#n4?fhnIQY-E!akFF2=5is2|IEBh%aMrY+qE1tWo9SIn&hsp zx!;R-Nn~bO!?`B8=}u=0?%bGVt+X6CT&YSk8tf!=kU%4E;jLh~SIPxANoTQDu+TX? z#5p8s1lu@4BHk2f+*spv%PiqWQY^7iuBmkslqJmX2FnSS=kRy(qxkb8&J_9s;48S; z1hVHomaybaP)y zv9Lt~W{!m|6);Phw-ptsR0%xCCZq*ge7Lpu)VryaC8llUK}O`PX?RZxH|&sYA{riY zS?OKv5hRd*AD0Q1e6*kW&qyXgwKfml*WzOP*@PU45LNI-9sV^AryF0PIuf`&Uw=PK zPVC(R_6f9>ka*~07=tBH-H9)dNh}F1tym#h-@+36s4c9_{AFP4e1Pg_ixPYG6A!$O zMX#K=$$wemL1MrXM5g~RkufXPMM>^-W@aY3%MfO1S*X?Lu50z<9)G%&c=Y>N8BM@D zEiCajLMX4Nh9$m4X$v}iQ-kc@h!B?eGC`~=1mh5TW#RzAk`tN(UKuZ|VF@Dfm0y5e zs(|2C7MA#1Ldi&|$LmU1CP_R_<+Br-TQ~Y)hToH_*_7LY9FJ;_1TVT5z5C{eElv=1 z9wB(#uwzpzOMHz$g`B3=i0rqJskj$-8HOv4aCtnn8l>Ou*ZBD$NklJjMZn z<}7jD#Q`eK2L#zmT!>6=h34=VbhgA{BHowa&2rb_#VU{5+8+^ge}Z?R0s1jPpG%<5 z^VoY261 zVuUhB6BYLj@0GA9xm@HQSx{ERZE5*qyXVRb6;&y+ho zMO|k~WYQq?Jwtg~1yl3kDOg!T!^8N^vMPrp5#?E}gzTr5n0d*tR>BRb7Fl@Fxhd%A zvAhyEc!YytVzn}%ua%d5maYO(OvIvWA}?c7I)Qlq@0M#ecv{?sHkiy2QdI=(=06sajU(aRb@Ok~xvgX^>Rr6YTbTKW zNOK@L7zdh|`Bxf{JXIZ#%*TX3cB1w4nZ-Rvagn(0oQ47;00#D`W zG!KN=;yqB0UxfL@4bt7Xfk|5hW>wXtE_Y>ap)0Q%vy2#6xwE3G$XV>Ja22@oT;;CP zJXdM%YK#IpRi(>44wlJ?RastKR7IRBnOQHmbZ}l-b&dv}qJuT;vT~NLLp5YTr|QshXP&#Vu&koWonKv= zTUAt6$}TsSR=BFFD@rTbG##8@R$bw~vl@+ETvSq2#ir{;Xs)W2&I-s{;mUWxQ^+zo zu2NTiQ7(L%U7@2E=a#E(bfpeN;hq_i(xtA`udFhwkxn-pY2&Gk(>?XZY)$m>5w8OZ8&jCCV!c ztMhZ%Ejn1`sRdWJYn3avnum{DbtKU%7Uir)6s34jv<+!iS-jG@y3(DGK?_5i69{l>=FkzUOA+desaqDi zN|{qHs4OhXugYRMI^=E_b=p-`7`5G^uF^b~tCyosmz2RCYA2*%!}9dvd}n2qYAfc_ z!7*Xcy|SXH%Ej{aLLM?ovfL|*oNjnzfnHKtRt4*pJBuou7${hwUZTwaXpSMq@}ihR zRmQt`G+=kemlPI>ImL3lNL7f;$BK2ZaMj{6b%3m7C3+b-=c?Sof*e+A1VW<)tW1ZI z9>U`&a3SRq80h z4%{Or-MV?)p~Trv~U|56|e`jri=vEzp}AJS}xV%rZRy4ihXD_&XKfe!1)D zi!OC)eOtm>?2edLS|(hRrC}OE8s^c(l$J{ub6O5vENPWRbWKRhM4-sUd;*g~?ixk823QfES-?$oq@qOt zm|_691*|HnE`j&zNX5?OxJ@Xnf-mbp6%hcqb{u#S*8Ox~X&Kzm35VA~xtQ)O#0{Aa zDRmV(i!lkF7z3-s9p37kilV#%7jC<_p#SK=oIHq{g{8U?x;w?U&oi*UOW1FGV@t{e?o zh#MUp>u#FxW#KMI2hqal)iJ{WOT1#DZ91HkFEUV&Wr%3b8HM*McON%JQF3}9X? zZ~+0Q6G2kS!~`?_Uc&V2DQ83O6mow%q%@W~Ax*kWGFz{*&azIy;v1r)gj5niQsI`S z43?C1JF;-E>siqhEXYp*dQ#G@Nw+0Q$l|v!%vQ=2O<9Ups3+KfPiTpkN8uP>B&lc$ zVNaZiDkd$87Ts}0Huk|zQUM7?Qv@J+CaRhbc9W+{H(Vh|QxbUfw(G$m)xu>cnxaXO zHXAHwfZ#GNU4jOmqDlwOBwcz;7RpYIVUs}OT|NzLNTO*|*$uc%U&IQijsz28z+d0d z43$i*2!AE%Qp#lfmGG z1dRFR`li;*MzRxxT6KvsLr01s3dTVLy)NAD(38M0bg9cBL8M=B_3zYjFcgI4w1U%Sdpdlv|w zKy0Vawc5=MDb^lmisit6ySl#-{vT+8a>(>Je<#3B9*Uz8=V=3EGlAi%5+fY9`l`2G zho~=!FNi|4UpOX0bQ5NlmY^*5-7qxfXkkv}D$~TWh~UR7B1Ba26r{m%D?KtAfwbdSm`jXl7e0^NR`#KA1p<1ca45ABzq2?9lc zQ>Pckq~1Y#6_^MdY{)$7$oxtjzNLt@k7jv%Fu;W6OK5Wzy!2!|K16mMICJ}qW5ZOy zw`w??{CYt84G;$)31~iHXF@6m;mv@;yNQXn^bmWb%YqdAb3aX@LA1kmUvleOdl;6oRRH6Fxj(A0}#iH2)D6qxM<` zE6gJ?qle}{C{X<;S`YANo!ndv%XGJ_a90@?Yj7aEK3m7eA_BsIesj zyoG&8^7z9FvT|&5FrLgraTRddH5`0lBU*JJ3eofud`O;Mpu%J8m_ut*vKmQh<}m?c z#~fOl&Ias@WX=QwM~dcA#J~y2Kop|MGt4EVy50s3TrlR)>Y59fs4KobGx4kK8LRT> zAv&iPGRH7MQpIr+HPtXaPO+0H$HkGo{*1ftzMCQ`#YD4Yv<=Z_5{}c!`HY7{c(gyC z18&9JlmN_2_Ax-Z0BM8J0!OphX>LQR{RWg9dxB=MZ158nvlHvM;|WlfUpAU^Dnc%4 zWR{ZP^D_-p8s{~Dj@Ry5Uw#nO_zylmH1ME|7O}S@Eh2UUUh0TLW50xibdZOdrGLfW z_`Y#O#lbxjaL5DVk5^S3bXDNc%d4cJerQ&;gIwr-qh6?{w0=P~5W6wsnA(>cQ7-JG z5|6sPt;&OULcqt4zbXJJ?f6Iqp=$tVDgGL9G#gT^6E@Um+8Pf{ui~g)T8V!BpVW)m zi&{yv*D7?8vD=GmDB9~PV?(H7k$vn)3;WP~BOZ;~lv+}>DZPvvfAH}F4I%sxjy=W^ z0iSYiA3GMU;t@0(3LI(+FOaBp^&{Sf@p=>XL+iZh$LpoZLvMr%c`&IM zvt%^RlDTn^>qbKsKNrX6^3ga;XoDq# zH5TuSqcX+eJQas?7Jc5xhwg$5kR@-$;XEFPb1)8PR~*hyN8>DcVl-s&qj6Lel??JM z+KWhIfW%WRZja;R9nEL)gK;=_$Kh;_!zqr#k>hYO<8bJ%)gbedYvORcaX1s=a2n%q z-WwfT7T3q&oQT6&7l(5w4rfgq&b~ODRdF~p8#ZXVxGE0k(KsBs^EXf}>4?KAj>GZA z;S|Qk2s;&2>sIN5PHvq$4BDv$HkII6|ph~x8cT)Xdx!=d{EgBFW+ z#nlx4HEaf}E%NLE*FsDw5jyxR1Us+*LNiCGrb2!NNY8vRml$*Qj(s6y zVDINRG;=^^)S=DvqMXOVQSSn@dE!`ni0vtyQJJM|law3 zRk!{a$rPUHfZ5ntqdFV3IXSFgFH_H zqFWvx7tvNHY=?o0zL`22!`Z#r>#pNHlGaj0?Jod_4%+cuK>k1w+~w$y^Bl(>14)JW zWJVolE-8dV=X`q{q&yC?4iGJBk=K!gTlgKM&ZiAHk43ehIywM3XMpSkWL?xgZm|Ij z+i9@IAp@irkm*rARM&Ap=zfn(Anfx#Ao~qe7XVphpqfnL^TUpNSUe3L zqjzTjXEWG>Smk^xAXnLW1?HID#{M zQG|_g*k*&pULhQVCkz7el%cLq0nzSmggh3wztv!k%K*{l5(4K&K*|j`*?^#`82>2+ z#13>}AH4stXAn5Yp>jP&FDj-xtSuJ0RNK7I_^uug9w(bm(^eJKzi( zH2p3hI*wc2m}tMD_NRd}V4!*)kTV9zOMuJRi0yF$&K510>Zz^(G)Yq7ZzC$hT>7 zL?sllrG_e3eM~^=xh&-9g7XL9Gr;+1kk0_w8|6dv6KFXNhuU}CSnPI}R8joZHN6}- zZ3f77fY=QX+93V2sKrpkZc{ny@+=30)*5xrD-Af*FK8#Qr*+-Q@*9a;EL9VzbiMHH zrI$9^IvmxDfA$TELLH)hZk`M%*+$rBvs$~}Q$m1*4O)B$kj+tfK+1kdRA8V}{Spvu z1x9c_0*E)t2k&lj5!<8k5TAE}b2^GckWT>Fk1LHvg3m;C)~VNZ4Im>1s(FB98z8p< zvezK93lQ=;;j6T9T0KPx^g-Qw%Yd^k$_HP#@~y-gqcY=p54ZEvQ3x2aCQ#`!8G>vA zM4QD4ExrZ_9l9330OT=)gvS608#w=gQ>DgGod?7iSFO~bEH>Iq1%&39dR<=vL|gk3 z@?>$USe$i$XqFH-8vr@3TSIK`#s&-$-mmhZzF?AQbrS@mjz@s=Xp|2X?g7M(t5zSZ z1xTI&=LJCK0!QyDe*mP=V6lsUWEgNJVLAVVfzRcD$Og!5fQW-+rj<(+k2o4_5(V>|c$5EH%{b1H=)PkObNZ$f+pgpOMS-G>Tu%VVU)w z+Q51Q@tPL=l!}(+zonxU)zT4-K=XKwVBS>*82TlC#}RcaMFnmkr7A7A6&vSkb7 za?y^OetPBN?mz>gBz`vrJE_#*JvD}HENN37y=Y5KBYs|JG_(xAawG7!c$(IGqCXPE z+&mxsi5%vx^sU2BHPN~F9vZ_Gd5zSoo)5qY#mFP+qmzmBWnrOQ&EktN>FimrK>uRKAI}VNAv32>nbOG zAJ#FLiprwfuENFeq>a8N@X4e|%#OK^MO0txi|{J{vE1(bHr^VeOpmehrNd25KVP{?karSiPi>^w{8RW zpJ>KUON~)L+v@tTPYih%-v^4K5vMIcm>VZ#}i7-lC1zOV};mvtXHE5wv-ur=~5o$wjvjOMGgD zVi`kpA#HPJwFu_HCeYee)a3c`5DX;b547)(+NDKnMYkj-n%HfysW(Q6j1D4hU)0L^ zA{r0K*l(%TZ}35`hWakAiXPpR*-c9GM$x(-?rr`e%;wqT61pxzx6whX2p?x^nnWv)`Ub+W=8oB!oI9%K zJ$$ohHLz-87`Ec(VVUn@&go)5KtdnH&N{T2H5vty=o@eg|I_%<8iOIgiWNJpCF`R4 zi+Mr4XLGcbX(u7gH4Gm=p{K;gG}??yYfQ1LHkaENdFk>aq4j*A1rL z5<~JaI;04EV|kmliMQKLtsT`UCa96-Fqfvon6YJy(Ji{8c{F~Ep2YG9G&ig4X7rOB+A=v!zKI|D%~>OUYNL@NqWHus9!e z`3JL@_@CWWQH-0(qqS7?>Tz>acQ6Eef1p*1_g^^N8mGaUcb;LS52bcT2h~D+~Ait;Jaf;tOcA6 z9$$;ci|uG?0F3QeF+Qn2R@0)Y-omj1JeMc>y9eBxU|R&?cwIPZbR+s`%NgT{p<(KA z>!1$ARih?MoY}bZpD*szV~sJK-{?@T`f*Ii9X~c}!z#vi-MG=YoSRe;(GK&em|GQs ZVS54!1X>SMqv&W$joW*<=;{jp{{{*7T}J=_