From 57e234187a1b7f2d332dfaf6b473a33720a03f52 Mon Sep 17 00:00:00 2001 From: Agamjyot Singh Chadha Date: Fri, 19 Aug 2022 01:02:37 +0800 Subject: [PATCH 01/75] first commit --- src/main/java/Duke.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/Duke.java b/src/main/java/Duke.java index 5d313334cc..a02b3cb4c4 100644 --- a/src/main/java/Duke.java +++ b/src/main/java/Duke.java @@ -5,6 +5,6 @@ public static void main(String[] args) { + "| | | | | | | |/ / _ \\\n" + "| |_| | |_| | < __/\n" + "|____/ \\__,_|_|\\_\\___|\n"; - System.out.println("Hello from\n" + logo); + System.out.println("Hello I'm\n" + logo); } } From 2b23dc86b6293152a5a4839cd372cfd25b80497e Mon Sep 17 00:00:00 2001 From: Agamjyot Singh Chadha Date: Fri, 19 Aug 2022 01:07:59 +0800 Subject: [PATCH 02/75] Add Chatbot.java and modify Duke.java --- src/main/java/ChatBot.java | 30 ++++++++++++++++++++++++++++++ src/main/java/Duke.java | 32 ++++++++++++++++++++++++++------ 2 files changed, 56 insertions(+), 6 deletions(-) create mode 100644 src/main/java/ChatBot.java diff --git a/src/main/java/ChatBot.java b/src/main/java/ChatBot.java new file mode 100644 index 0000000000..baf927d40a --- /dev/null +++ b/src/main/java/ChatBot.java @@ -0,0 +1,30 @@ +class ChatBot { + + private String name; + private final String line = "------------------------------" + + "----------------------------------"; + + ChatBot(String name) { + + this.name = name; + + } + + public void greet() { + + System.out.println(line + "\n\t Hello I'm " + name + "!!\n" + + "What do you wanna chat about today?\n" + line); + } + + public void echo(String input) { + + System.out.println(line + "\n\tYou just said " + input + "\n" + line); + } + + public void bye() { + + System.out.println(line + "\n\t Bye. Looking forward to chating " + + "with you soon again!\n" + line); + } + +} diff --git a/src/main/java/Duke.java b/src/main/java/Duke.java index a02b3cb4c4..cde10681f5 100644 --- a/src/main/java/Duke.java +++ b/src/main/java/Duke.java @@ -1,10 +1,30 @@ +import java.util.Scanner; + public class Duke { + public static void main(String[] args) { - String logo = " ____ _ \n" - + "| _ \\ _ _| | _____ \n" - + "| | | | | | | |/ / _ \\\n" - + "| |_| | |_| | < __/\n" - + "|____/ \\__,_|_|\\_\\___|\n"; - System.out.println("Hello I'm\n" + logo); + + Scanner sc = new Scanner(System.in); + + ChatBot chatBot = new ChatBot("duke"); + + chatBot.greet(); + + boolean quit = false; + String input; + + while(!quit) { + + input = sc.next(); + + if(input.equals("bye")) { + + quit = true; + chatBot.bye(); + + } else { + chatBot.echo(input); + } + } } } From c55c8ed86fcefde5c740648e3c3633fcaa80b499 Mon Sep 17 00:00:00 2001 From: garfield-oo7 Date: Fri, 19 Aug 2022 03:18:59 +0800 Subject: [PATCH 03/75] Duke Level-2: Add List --- src/main/java/ChatBot.java | 81 ++++++++++++++++++++++++-------------- src/main/java/Duke.java | 62 +++++++++++++++-------------- 2 files changed, 83 insertions(+), 60 deletions(-) diff --git a/src/main/java/ChatBot.java b/src/main/java/ChatBot.java index baf927d40a..1ba2f55bca 100644 --- a/src/main/java/ChatBot.java +++ b/src/main/java/ChatBot.java @@ -1,30 +1,51 @@ -class ChatBot { - - private String name; - private final String line = "------------------------------" + - "----------------------------------"; - - ChatBot(String name) { - - this.name = name; - - } - - public void greet() { - - System.out.println(line + "\n\t Hello I'm " + name + "!!\n" + - "What do you wanna chat about today?\n" + line); - } - - public void echo(String input) { - - System.out.println(line + "\n\tYou just said " + input + "\n" + line); - } - - public void bye() { - - System.out.println(line + "\n\t Bye. Looking forward to chating " + - "with you soon again!\n" + line); - } - -} +import java.util.ArrayList; + +class ChatBot { + + private String name; + private final String line = "------------------------------" + + "----------------------------------"; + private ArrayList tasks; + + ChatBot(String name) { + + this.name = name; + this.tasks = new ArrayList(); + + } + + public void greet() { + + System.out.println(line + "\n\t Hello I'm " + name + "!!\n" + + "What do you wanna chat about today?\n" + line); + } + + public void addTask(String input) { + + this.tasks.add(input); + System.out.println(line + "\n\t added: " + input + "\n" + line); + } + + public void printTasks() { + + System.out.println(line); + + for(int i = 0; i < this.tasks.size(); i++) { + + System.out.println("\t" + (i + 1) + ". " + this.tasks.get(i)); + } + System.out.println(line); + } + + public void echo(String input) { + + System.out.println(line + "\n\tYou just said " + input + "\n" + line); + } + + public void bye() { + + System.out.println(line + "\n\t Bye. Looking forward to chating " + + "with you soon again!\n" + line); + } + +} diff --git a/src/main/java/Duke.java b/src/main/java/Duke.java index cde10681f5..1a13bf7831 100644 --- a/src/main/java/Duke.java +++ b/src/main/java/Duke.java @@ -1,30 +1,32 @@ -import java.util.Scanner; - -public class Duke { - - public static void main(String[] args) { - - Scanner sc = new Scanner(System.in); - - ChatBot chatBot = new ChatBot("duke"); - - chatBot.greet(); - - boolean quit = false; - String input; - - while(!quit) { - - input = sc.next(); - - if(input.equals("bye")) { - - quit = true; - chatBot.bye(); - - } else { - chatBot.echo(input); - } - } - } -} +import java.util.Locale; +import java.util.Scanner; + +public class Duke { + + public static void main(String[] args) { + + Scanner sc = new Scanner(System.in); + + ChatBot chatBot = new ChatBot("duke"); + + chatBot.greet(); + + boolean quit = false; + String input; + + while(!quit) { + + input = sc.nextLine(); + + if(input.equals("bye")) { + + quit = true; + chatBot.bye(); + } else if (input.equals("list")) { + chatBot.printTasks(); + } else { + chatBot.addTask(input); + } + } + } +} From 0660f258b5dc79079d6e1981dc6bc4157d699330 Mon Sep 17 00:00:00 2001 From: Agamjyot Singh Chadha Date: Fri, 19 Aug 2022 09:10:30 +0800 Subject: [PATCH 04/75] Level-3: Mark as Done --- src/main/java/ChatBot.java | 25 +++++++++++++++++++++---- src/main/java/Duke.java | 32 +++++++++++++++++++++++--------- src/main/java/Task.java | 33 +++++++++++++++++++++++++++++++++ 3 files changed, 77 insertions(+), 13 deletions(-) create mode 100644 src/main/java/Task.java diff --git a/src/main/java/ChatBot.java b/src/main/java/ChatBot.java index 1ba2f55bca..cf78090081 100644 --- a/src/main/java/ChatBot.java +++ b/src/main/java/ChatBot.java @@ -5,12 +5,12 @@ class ChatBot { private String name; private final String line = "------------------------------" + "----------------------------------"; - private ArrayList tasks; + private ArrayList tasks; ChatBot(String name) { this.name = name; - this.tasks = new ArrayList(); + this.tasks = new ArrayList(); } @@ -22,8 +22,10 @@ public void greet() { public void addTask(String input) { - this.tasks.add(input); - System.out.println(line + "\n\t added: " + input + "\n" + line); + Task task = new Task(input); + + this.tasks.add(task); + System.out.println(line + "\n\t added: " + task + "\n" + line); } public void printTasks() { @@ -37,6 +39,21 @@ public void printTasks() { System.out.println(line); } + public void markDone(int index) { + + this.tasks.get(index).done(true); + System.out.println(line + "\n\tExcellent! I have marked " + + "the task as done:\n\t" + this.tasks.get(index) + "\n" + line); + } + + public void markUndone(int index) { + + this.tasks.get(index).done(false); + System.out.println(line + "\n\tNoted! I have marked " + + "the task as not done yet:\n\t" + + this.tasks.get(index) + "\n" + line); + } + public void echo(String input) { System.out.println(line + "\n\tYou just said " + input + "\n" + line); diff --git a/src/main/java/Duke.java b/src/main/java/Duke.java index 1a13bf7831..abe491717d 100644 --- a/src/main/java/Duke.java +++ b/src/main/java/Duke.java @@ -1,3 +1,4 @@ +import java.util.ArrayList; import java.util.Locale; import java.util.Scanner; @@ -14,18 +15,31 @@ public static void main(String[] args) { boolean quit = false; String input; - while(!quit) { - input = sc.nextLine(); + while(!quit) { - if(input.equals("bye")) { + input = sc.next(); + + switch (input) { + + case "bye": + quit = true; + chatBot.bye(); + break; + case "list": + chatBot.printTasks(); + break; + case "mark": + chatBot.markDone(sc.nextInt() - 1); + sc.nextLine(); + break; + case "unmark": + chatBot.markUndone(sc.nextInt() - 1); + sc.nextLine(); + break; + default: + chatBot.addTask(input + sc.nextLine()); - quit = true; - chatBot.bye(); - } else if (input.equals("list")) { - chatBot.printTasks(); - } else { - chatBot.addTask(input); } } } diff --git a/src/main/java/Task.java b/src/main/java/Task.java new file mode 100644 index 0000000000..0bd344a101 --- /dev/null +++ b/src/main/java/Task.java @@ -0,0 +1,33 @@ +public class Task { + + private String description; + private boolean isDone; + + public Task(String description) { + this.description = description; + this.isDone = false; + } + + public Task(String description, boolean isDone) { + + this.description = description; + this.isDone = isDone; + } + + public String getStatusIcon() { + return (isDone ? "X" : " "); // mark done task with X + } + + public void done(boolean done) { + + this.isDone = done; + } + + @Override + public String toString() { + + return "[" + this.getStatusIcon() + "] " + this.description; + } + + +} \ No newline at end of file From 9c8a9703e1b3af5bc82347f8c325fe910970077d Mon Sep 17 00:00:00 2001 From: Agamjyot Singh Chadha Date: Fri, 19 Aug 2022 13:53:58 +0800 Subject: [PATCH 05/75] Level-4 ToDos, Events, Deadlines --- src/main/java/ChatBot.java | 8 ++++---- src/main/java/Deadline.java | 22 ++++++++++++++++++++++ src/main/java/Duke.java | 18 ++++++++++++++---- src/main/java/Event.java | 24 ++++++++++++++++++++++++ src/main/java/Task.java | 2 +- src/main/java/ToDo.java | 17 +++++++++++++++++ 6 files changed, 82 insertions(+), 9 deletions(-) create mode 100644 src/main/java/Deadline.java create mode 100644 src/main/java/Event.java create mode 100644 src/main/java/ToDo.java diff --git a/src/main/java/ChatBot.java b/src/main/java/ChatBot.java index cf78090081..19a7c1c8b9 100644 --- a/src/main/java/ChatBot.java +++ b/src/main/java/ChatBot.java @@ -20,12 +20,12 @@ public void greet() { "What do you wanna chat about today?\n" + line); } - public void addTask(String input) { - - Task task = new Task(input); + public void addTask(Task task) { this.tasks.add(task); - System.out.println(line + "\n\t added: " + task + "\n" + line); + System.out.println(line + "\n\tGot it. I just added the " + + "task:\n\t\t" + task + "\n\tNow you have " + + "" + this.tasks.size() + " tasks in the list\n" + line); } public void printTasks() { diff --git a/src/main/java/Deadline.java b/src/main/java/Deadline.java new file mode 100644 index 0000000000..6c687563c3 --- /dev/null +++ b/src/main/java/Deadline.java @@ -0,0 +1,22 @@ +class Deadline extends Task { + + private String completeBy; + + Deadline(String description, String completeBy) { + super(description, false); + this.completeBy = completeBy; + } + + Deadline(String descrpiton, boolean isDone, String completeBy) { + + super(descrpiton, isDone); + this.completeBy = completeBy; + } + + @Override + public String toString() { + + return "[D]" + super.toString() + " (by: " + this.completeBy + ")"; + } + +} \ No newline at end of file diff --git a/src/main/java/Duke.java b/src/main/java/Duke.java index abe491717d..eee9059b79 100644 --- a/src/main/java/Duke.java +++ b/src/main/java/Duke.java @@ -1,5 +1,3 @@ -import java.util.ArrayList; -import java.util.Locale; import java.util.Scanner; public class Duke { @@ -14,6 +12,8 @@ public static void main(String[] args) { boolean quit = false; String input; + String[] command; + String time; // for the deadline or time of the event while(!quit) { @@ -37,9 +37,19 @@ public static void main(String[] args) { chatBot.markUndone(sc.nextInt() - 1); sc.nextLine(); break; + case "deadline": + command = sc.nextLine().split("/by "); + chatBot.addTask(new Deadline(command[0], command[1])); + break; + case "event": + command = sc.nextLine().split("/at "); + chatBot.addTask(new Events(command[0], command[1])); + break; + case "todo": + chatBot.addTask(new ToDo(sc.nextLine())); + break; default: - chatBot.addTask(input + sc.nextLine()); - + break; } } } diff --git a/src/main/java/Event.java b/src/main/java/Event.java new file mode 100644 index 0000000000..efcfc56681 --- /dev/null +++ b/src/main/java/Event.java @@ -0,0 +1,24 @@ +class Events extends Task { + + private String eventTime; + + Events(String description, String eventTime) { + + super(description, false); + this.eventTime = eventTime; + } + + Events(String description, boolean isDone, String eventTime) { + + super(description, isDone); + this.eventTime = eventTime; + + } + + @Override + public String toString() { + + return "[E]" + super.toString() + " (at: " + eventTime + ")"; + } + +} diff --git a/src/main/java/Task.java b/src/main/java/Task.java index 0bd344a101..a54063e119 100644 --- a/src/main/java/Task.java +++ b/src/main/java/Task.java @@ -30,4 +30,4 @@ public String toString() { } -} \ No newline at end of file +} diff --git a/src/main/java/ToDo.java b/src/main/java/ToDo.java new file mode 100644 index 0000000000..b76cb22987 --- /dev/null +++ b/src/main/java/ToDo.java @@ -0,0 +1,17 @@ +class ToDo extends Task { + + ToDo(String description) { + super(description); + } + + ToDo(String description, boolean isDone) { + + super(description, isDone); + } + + @Override + public String toString() { + return "[T]" + super.toString(); + } + +} From f257b8b133867364a4e96e14eab65ea1cc927a59 Mon Sep 17 00:00:00 2001 From: Agamjyot Singh Chadha Date: Fri, 19 Aug 2022 15:09:36 +0800 Subject: [PATCH 06/75] A-TextUiTesting --- text-ui-test/EXPECTED.TXT | 55 ++++++++++++++++++++++++++++++++++----- text-ui-test/input.txt | 11 ++++++++ 2 files changed, 60 insertions(+), 6 deletions(-) diff --git a/text-ui-test/EXPECTED.TXT b/text-ui-test/EXPECTED.TXT index 657e74f6e7..cf53c29311 100644 --- a/text-ui-test/EXPECTED.TXT +++ b/text-ui-test/EXPECTED.TXT @@ -1,7 +1,50 @@ -Hello from - ____ _ -| _ \ _ _| | _____ -| | | | | | | |/ / _ \ -| |_| | |_| | < __/ -|____/ \__,_|_|\_\___| +---------------------------------------------------------------- + Hello I'm duke!! +What do you wanna chat about today? +---------------------------------------------------------------- +---------------------------------------------------------------- + Got it. I just added the task: + [T][ ] read book + Now you have 1 tasks in the list +---------------------------------------------------------------- +---------------------------------------------------------------- + Got it. I just added the task: + [E][ ] project meeting (at: Mon 2-4pm) + Now you have 3 tasks in the list +---------------------------------------------------------------- +---------------------------------------------------------------- + 1. [T][ ] read book + 2. [D][ ] return book (by: Sunday) + 3. [E][ ] project meeting (at: Mon 2-4pm) +---------------------------------------------------------------- +---------------------------------------------------------------- + Excellent! I have marked the task as done: + [T][X] read book +---------------------------------------------------------------- +---------------------------------------------------------------- + Excellent! I have marked the task as done: + [D][X] return book (by: Sunday) +---------------------------------------------------------------- +---------------------------------------------------------------- + 1. [T][X] read book + 2. [D][X] return book (by: Sunday) + 3. [E][ ] project meeting (at: Mon 2-4pm) +---------------------------------------------------------------- +---------------------------------------------------------------- + Noted! I have marked the task as not done yet: + [T][ ] read book +---------------------------------------------------------------- +---------------------------------------------------------------- + 1. [T][ ] read book + 2. [D][X] return book (by: Sunday) + 3. [E][ ] project meeting (at: Mon 2-4pm) +---------------------------------------------------------------- +---------------------------------------------------------------- + Got it. I just added the task: + [T][ ] join sports club + Now you have 4 tasks in the list +---------------------------------------------------------------- +---------------------------------------------------------------- + Bye. Looking forward to chating with you soon again! +---------------------------------------------------------------- diff --git a/text-ui-test/input.txt b/text-ui-test/input.txt index e69de29bb2..306d3792ff 100644 --- a/text-ui-test/input.txt +++ b/text-ui-test/input.txt @@ -0,0 +1,11 @@ +todo read book +deadline return book /by Sunday +event project meeting /at Mon 2-4pm +list +mark 1 +mark 2 +list +unmark 1 +list +todo join sports club +bye \ No newline at end of file From 0ccc628b4ecc9ca1d005495b67bb97d1d67cf555 Mon Sep 17 00:00:00 2001 From: Agamjyot Singh Chadha Date: Fri, 19 Aug 2022 16:09:34 +0800 Subject: [PATCH 07/75] Level-6: Delete --- src/main/java/ChatBot.java | 9 +++++++++ src/main/java/Duke.java | 3 +++ text-ui-test/EXPECTED.TXT | 16 ++++++++++++++++ text-ui-test/input.txt | 3 +++ 4 files changed, 31 insertions(+) diff --git a/src/main/java/ChatBot.java b/src/main/java/ChatBot.java index 19a7c1c8b9..e730a06309 100644 --- a/src/main/java/ChatBot.java +++ b/src/main/java/ChatBot.java @@ -54,6 +54,15 @@ public void markUndone(int index) { + this.tasks.get(index) + "\n" + line); } + public void delete(int index) { + + System.out.println(line + "\n\tNoted. I've remove this task:" + + this.tasks.get(index)); + this.tasks.remove(index); + System.out.println("\t Now you have " + this.tasks.size() + " " + + "tasks in the list.\n" + line); + } + public void echo(String input) { System.out.println(line + "\n\tYou just said " + input + "\n" + line); diff --git a/src/main/java/Duke.java b/src/main/java/Duke.java index eee9059b79..f63c13dc9e 100644 --- a/src/main/java/Duke.java +++ b/src/main/java/Duke.java @@ -48,6 +48,9 @@ public static void main(String[] args) { case "todo": chatBot.addTask(new ToDo(sc.nextLine())); break; + case "delete": + chatBot.delete(sc.nextInt() - 1); + sc.nextLine(); default: break; } diff --git a/text-ui-test/EXPECTED.TXT b/text-ui-test/EXPECTED.TXT index cf53c29311..0a36981473 100644 --- a/text-ui-test/EXPECTED.TXT +++ b/text-ui-test/EXPECTED.TXT @@ -44,6 +44,22 @@ What do you wanna chat about today? [T][ ] join sports club Now you have 4 tasks in the list ---------------------------------------------------------------- +---------------------------------------------------------------- + 1. [T][ ] read book + 2. [D][X] return book (by: Sunday) + 3. [E][ ] project meeting (at: Mon 2-4pm) + 4. [T][ ] join sports club +---------------------------------------------------------------- +---------------------------------------------------------------- + Noted. I've remove this task:[D][X] return book (by: Sunday) + Now you have 3 tasks in the list. +---------------------------------------------------------------- +list +---------------------------------------------------------------- + 1. [T][ ] read book + 2. [E][ ] project meeting (at: Mon 2-4pm) + 3. [T][ ] join sports club +---------------------------------------------------------------- ---------------------------------------------------------------- Bye. Looking forward to chating with you soon again! ---------------------------------------------------------------- diff --git a/text-ui-test/input.txt b/text-ui-test/input.txt index 306d3792ff..24a6ecf028 100644 --- a/text-ui-test/input.txt +++ b/text-ui-test/input.txt @@ -8,4 +8,7 @@ list unmark 1 list todo join sports club +list +delete 2 +list bye \ No newline at end of file From bf66b624e5314ac506bf2218f30d42e8649ba5d0 Mon Sep 17 00:00:00 2001 From: Agamjyot Singh Chadha Date: Sat, 20 Aug 2022 03:48:25 +0800 Subject: [PATCH 08/75] Add ChatBot Exception class --- src/main/java/ChatBot.java | 2 +- src/main/java/ChatBotException.java | 8 ++ src/main/java/Duke.java | 117 +++++++++++++++------------- 3 files changed, 72 insertions(+), 55 deletions(-) create mode 100644 src/main/java/ChatBotException.java diff --git a/src/main/java/ChatBot.java b/src/main/java/ChatBot.java index e730a06309..77ef20ff9b 100644 --- a/src/main/java/ChatBot.java +++ b/src/main/java/ChatBot.java @@ -65,7 +65,7 @@ public void delete(int index) { public void echo(String input) { - System.out.println(line + "\n\tYou just said " + input + "\n" + line); + System.out.println(line + "\n\t" + input + "\n" + line); } public void bye() { diff --git a/src/main/java/ChatBotException.java b/src/main/java/ChatBotException.java new file mode 100644 index 0000000000..2d5ade523c --- /dev/null +++ b/src/main/java/ChatBotException.java @@ -0,0 +1,8 @@ +class ChatBotException extends Exception { + + ChatBotException(String message) { + + super(message); + } + +} \ No newline at end of file diff --git a/src/main/java/Duke.java b/src/main/java/Duke.java index f63c13dc9e..bb93a325f5 100644 --- a/src/main/java/Duke.java +++ b/src/main/java/Duke.java @@ -2,58 +2,67 @@ public class Duke { - public static void main(String[] args) { - - Scanner sc = new Scanner(System.in); - - ChatBot chatBot = new ChatBot("duke"); - - chatBot.greet(); - - boolean quit = false; - String input; - String[] command; - String time; // for the deadline or time of the event - - - while(!quit) { - - input = sc.next(); - - switch (input) { - - case "bye": - quit = true; - chatBot.bye(); - break; - case "list": - chatBot.printTasks(); - break; - case "mark": - chatBot.markDone(sc.nextInt() - 1); - sc.nextLine(); - break; - case "unmark": - chatBot.markUndone(sc.nextInt() - 1); - sc.nextLine(); - break; - case "deadline": - command = sc.nextLine().split("/by "); - chatBot.addTask(new Deadline(command[0], command[1])); - break; - case "event": - command = sc.nextLine().split("/at "); - chatBot.addTask(new Events(command[0], command[1])); - break; - case "todo": - chatBot.addTask(new ToDo(sc.nextLine())); - break; - case "delete": - chatBot.delete(sc.nextInt() - 1); - sc.nextLine(); - default: - break; - } - } - } + public static void main(String[] args) { + + Scanner sc = new Scanner(System.in); + + ChatBot chatBot = new ChatBot("duke"); + + chatBot.greet(); + + boolean quit = false; + String input; + String[] command; + String time; // for the deadline or time of the event + + + while (!quit) { + + try { + input = sc.next(); + + switch (input) { + + case "bye": + quit = true; + chatBot.bye(); + break; + case "list": + chatBot.printTasks(); + break; + case "mark": + chatBot.markDone(sc.nextInt() - 1); + sc.nextLine(); + break; + case "unmark": + chatBot.markUndone(sc.nextInt() - 1); + sc.nextLine(); + break; + case "deadline": + command = sc.nextLine().split(" /by "); + chatBot.addTask(new Deadline(command[0], command[1])); + break; + case "event": + command = sc.nextLine().split(" /at "); + chatBot.addTask(new Events(command[0], command[1])); + break; + case "todo": + chatBot.addTask(new ToDo(sc.nextLine())); + break; + case "delete": + chatBot.delete(sc.nextInt() - 1); + sc.nextLine(); + break; + default: + sc.nextLine(); + throw new ChatBotException("I am sorry, but I don't " + + "understand this command"); + } + + } catch (ChatBotException e) { + + chatBot.echo(e.getMessage()); + } + } + } } From 4fe9d41c523799afe447c95da08e64119757ae72 Mon Sep 17 00:00:00 2001 From: Agamjyot Singh Chadha Date: Sat, 20 Aug 2022 04:57:34 +0800 Subject: [PATCH 09/75] Level5: Handle Errors --- src/main/java/ChatBot.java | 108 +++++++++++++++++++------------------ src/main/java/Duke.java | 12 +++-- 2 files changed, 66 insertions(+), 54 deletions(-) diff --git a/src/main/java/ChatBot.java b/src/main/java/ChatBot.java index 77ef20ff9b..d885740b36 100644 --- a/src/main/java/ChatBot.java +++ b/src/main/java/ChatBot.java @@ -2,76 +2,82 @@ class ChatBot { - private String name; - private final String line = "------------------------------" + - "----------------------------------"; - private ArrayList tasks; + private String name; + private final String line = "------------------------------" + + "----------------------------------"; + private ArrayList tasks; - ChatBot(String name) { + ChatBot(String name) { - this.name = name; - this.tasks = new ArrayList(); + this.name = name; + this.tasks = new ArrayList(); - } + } - public void greet() { + public void greet() { - System.out.println(line + "\n\t Hello I'm " + name + "!!\n" + - "What do you wanna chat about today?\n" + line); - } + System.out.println(line + "\n\t Hello I'm " + name + "!!\n" + + "What do you wanna chat about today?\n" + line); + } - public void addTask(Task task) { + public void addTask(Task task) { - this.tasks.add(task); - System.out.println(line + "\n\tGot it. I just added the " + - "task:\n\t\t" + task + "\n\tNow you have " + - "" + this.tasks.size() + " tasks in the list\n" + line); - } + this.tasks.add(task); + System.out.println(line + "\n\tGot it. I just added the " + + "task:\n\t\t" + task + "\n\tNow you have " + + "" + this.tasks.size() + " tasks in the list\n" + line); + } - public void printTasks() { + public void printTasks() { - System.out.println(line); + System.out.println(line); - for(int i = 0; i < this.tasks.size(); i++) { + if(this.tasks.size() == 0) { - System.out.println("\t" + (i + 1) + ". " + this.tasks.get(i)); - } - System.out.println(line); - } + System.out.println("You currently have no tasks"); + } else { - public void markDone(int index) { + for (int i = 0; i < this.tasks.size(); i++) { - this.tasks.get(index).done(true); - System.out.println(line + "\n\tExcellent! I have marked " + - "the task as done:\n\t" + this.tasks.get(index) + "\n" + line); - } + System.out.println("\t" + (i + 1) + ". " + this.tasks.get(i)); + } + } + System.out.println(line); + } - public void markUndone(int index) { + public void markDone(int index) { - this.tasks.get(index).done(false); - System.out.println(line + "\n\tNoted! I have marked " + - "the task as not done yet:\n\t" - + this.tasks.get(index) + "\n" + line); - } + this.tasks.get(index).done(true); + System.out.println(line + "\n\tExcellent! I have marked " + + "the task as done:\n\t" + this.tasks.get(index) + "\n" + line); + } - public void delete(int index) { + public void markUndone(int index) { - System.out.println(line + "\n\tNoted. I've remove this task:" + - this.tasks.get(index)); - this.tasks.remove(index); - System.out.println("\t Now you have " + this.tasks.size() + " " + - "tasks in the list.\n" + line); - } + this.tasks.get(index).done(false); + System.out.println(line + "\n\tNoted! I have marked " + + "the task as not done yet:\n\t" + + this.tasks.get(index) + "\n" + line); + } - public void echo(String input) { + public void delete(int index) { - System.out.println(line + "\n\t" + input + "\n" + line); - } + System.out.println(line + "\n\tNoted. I've remove this task:" + + this.tasks.get(index)); + this.tasks.remove(index); + System.out.println("\t Now you have " + this.tasks.size() + " " + + "tasks in the list.\n" + line); + } - public void bye() { + public void echo(String input) { - System.out.println(line + "\n\t Bye. Looking forward to chating " + - "with you soon again!\n" + line); - } + System.out.println(line + "\n\t" + input + "\n" + line); + } -} + public void bye() { + + System.out.println(line + "\n\t Bye. Looking forward to chating " + + "with you soon again!\n" + line); + } + +} \ No newline at end of file diff --git a/src/main/java/Duke.java b/src/main/java/Duke.java index bb93a325f5..38c1ff0276 100644 --- a/src/main/java/Duke.java +++ b/src/main/java/Duke.java @@ -14,7 +14,7 @@ public static void main(String[] args) { String input; String[] command; String time; // for the deadline or time of the event - + String taskName; while (!quit) { @@ -47,7 +47,13 @@ public static void main(String[] args) { chatBot.addTask(new Events(command[0], command[1])); break; case "todo": - chatBot.addTask(new ToDo(sc.nextLine())); + taskName = sc.nextLine(); + if (taskName.isEmpty()) { + throw new ChatBotException("The description of todo cannot be empty " + + "please use the format:\n\t" + + "todo "); + } + chatBot.addTask(new ToDo(taskName)); break; case "delete": chatBot.delete(sc.nextInt() - 1); @@ -65,4 +71,4 @@ public static void main(String[] args) { } } } -} +} \ No newline at end of file From 38189607182706c47cec2d573671bdcca85564a5 Mon Sep 17 00:00:00 2001 From: Agamjyot Singh Chadha Date: Mon, 29 Aug 2022 20:49:00 +0800 Subject: [PATCH 10/75] Add Storage.java to save commands --- src/main/java/Storage.java | 92 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 src/main/java/Storage.java diff --git a/src/main/java/Storage.java b/src/main/java/Storage.java new file mode 100644 index 0000000000..ef111a82d0 --- /dev/null +++ b/src/main/java/Storage.java @@ -0,0 +1,92 @@ +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileWriter; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Date; +import java.util.Scanner; + +class Storage { + + private final String DATA_FILEPATH = "src/main/data/duke.txt"; + + Storage() throws IOException { + + createDataFile(); + + } + + public void createDataFile() throws IOException { + + String[] dataPathList = DATA_FILEPATH.split("/"); + String currentDirectory = ""; + + for(int i = 0; i < dataPathList.length - 1; i++) { + + currentDirectory += dataPathList[i]; + File directory = new File(currentDirectory); + + if (!directory.exists()) { + directory.mkdir(); + } + + currentDirectory += "/"; + + } + + File newFile = new File(DATA_FILEPATH); + newFile.createNewFile(); + } + + public ArrayList convertToTaskList() throws FileNotFoundException { + + ArrayList taskList = new ArrayList(); + File file = new File(DATA_FILEPATH); + Scanner sc = new Scanner(file); + + while(sc.hasNextLine()) { + + String task = sc.nextLine(); + char type = task.charAt(0); + boolean isDone = task.charAt(1) == '1'; + String[] description = task.substring(2).split("\\|"); + + switch(type){ + + case 'T': + taskList.add(new ToDo(description[0], isDone)); + break; + case 'D': + taskList.add(new Deadline(description[0], isDone, description[1])); + break; + case 'E': + taskList.add(new Events(description[0], isDone, description[1])); + break; + default: + break; + } + + } + + return taskList; + + } + + public void saveTaskList(ArrayList taskList) throws IOException { + + FileWriter fw = new FileWriter(DATA_FILEPATH); + + for(Task t : taskList) { + + fw.write(t.toFileString() + System.lineSeparator()); + + } + + fw.close(); + + } + + + + +} From 57d85ac12b33db394ef5368f7e00b8a3aa2ecbc3 Mon Sep 17 00:00:00 2001 From: Agamjyot Singh Chadha Date: Mon, 29 Aug 2022 22:12:11 +0800 Subject: [PATCH 11/75] Level-7 Save --- src/main/data/duke.txt | 4 ++ src/main/java/Deadline.java | 11 +++- src/main/java/Duke.java | 117 +++++++++++++++++++++--------------- src/main/java/Event.java | 7 +++ src/main/java/Storage.java | 7 +-- src/main/java/Task.java | 11 +++- src/main/java/ToDo.java | 7 +++ 7 files changed, 107 insertions(+), 57 deletions(-) create mode 100644 src/main/data/duke.txt diff --git a/src/main/data/duke.txt b/src/main/data/duke.txt new file mode 100644 index 0000000000..34eebc882e --- /dev/null +++ b/src/main/data/duke.txt @@ -0,0 +1,4 @@ +T | 1 | read book +D | 0 | return book | June 6th +E | 0 | project meeting | Aug 6th 2-4pm +T | 1 | join sports club \ No newline at end of file diff --git a/src/main/java/Deadline.java b/src/main/java/Deadline.java index 6c687563c3..d879197734 100644 --- a/src/main/java/Deadline.java +++ b/src/main/java/Deadline.java @@ -7,12 +7,19 @@ class Deadline extends Task { this.completeBy = completeBy; } - Deadline(String descrpiton, boolean isDone, String completeBy) { + Deadline(String description, boolean isDone, String completeBy) { - super(descrpiton, isDone); + super(description, isDone); this.completeBy = completeBy; } + @Override + public String toFileString() { + + return "D | " + (this.isDone ? 1 : 0) + " | " + + this.description + " | " + this.completeBy; + } + @Override public String toString() { diff --git a/src/main/java/Duke.java b/src/main/java/Duke.java index 38c1ff0276..07587e550c 100644 --- a/src/main/java/Duke.java +++ b/src/main/java/Duke.java @@ -1,4 +1,7 @@ +import java.io.FileNotFoundException; +import java.io.IOException; import java.util.Scanner; +import java.util.ArrayList; public class Duke { @@ -8,6 +11,8 @@ public static void main(String[] args) { ChatBot chatBot = new ChatBot("duke"); + Storage taskStorage = new Storage(); + chatBot.greet(); boolean quit = false; @@ -16,59 +21,77 @@ public static void main(String[] args) { String time; // for the deadline or time of the event String taskName; - while (!quit) { + try { + ArrayList tasks = taskStorage.convertToTaskList(); + while (!quit) { - try { - input = sc.next(); + try { + input = sc.next(); + + switch (input) { - switch (input) { + case "bye": + quit = true; + chatBot.bye(); + try { + taskStorage.saveTaskList(tasks); + } catch (IOException io) { + chatBot.echo(io.getMessage() + "\nUnable to save data. " + + "All the data will be lost!"); + } + break; + case "list": + chatBot.printTasks(); + break; + case "mark": + chatBot.markDone(sc.nextInt() - 1); + sc.nextLine(); + break; + case "unmark": + chatBot.markUndone(sc.nextInt() - 1); + sc.nextLine(); + break; + case "deadline": + command = sc.nextLine().split(" /by "); + chatBot.addTask(new Deadline(command[0], command[1])); + break; + case "event": + command = sc.nextLine().split(" /at "); + chatBot.addTask(new Events(command[0], command[1])); + break; + case "todo": + taskName = sc.nextLine(); + if (taskName.isEmpty()) { + throw new ChatBotException("The description of todo cannot be empty " + + "please use the format:\n\t" + + "todo "); + } + chatBot.addTask(new ToDo(taskName)); + break; + case "delete": + chatBot.delete(sc.nextInt() - 1); + sc.nextLine(); + break; + default: + sc.nextLine(); + throw new ChatBotException("I am sorry, but I don't " + + "understand this command"); + } - case "bye": - quit = true; - chatBot.bye(); - break; - case "list": - chatBot.printTasks(); - break; - case "mark": - chatBot.markDone(sc.nextInt() - 1); - sc.nextLine(); - break; - case "unmark": - chatBot.markUndone(sc.nextInt() - 1); - sc.nextLine(); - break; - case "deadline": - command = sc.nextLine().split(" /by "); - chatBot.addTask(new Deadline(command[0], command[1])); - break; - case "event": - command = sc.nextLine().split(" /at "); - chatBot.addTask(new Events(command[0], command[1])); - break; - case "todo": - taskName = sc.nextLine(); - if (taskName.isEmpty()) { - throw new ChatBotException("The description of todo cannot be empty " + - "please use the format:\n\t" + - "todo "); - } - chatBot.addTask(new ToDo(taskName)); - break; - case "delete": - chatBot.delete(sc.nextInt() - 1); - sc.nextLine(); - break; - default: - sc.nextLine(); - throw new ChatBotException("I am sorry, but I don't " + - "understand this command"); + } catch (ChatBotException e) { + + chatBot.echo(e.getMessage()); } - } catch (ChatBotException e) { + } - chatBot.echo(e.getMessage()); + } catch(FileNotFoundException e) { + chatBot.echo(e.getMessage() + "\n Creating new file"); + try { + taskStorage.createDataFile(); + } catch (IOException ioe) { + chatBot.echo(e.getMessage() + "Couldn't create new file"); } } } -} \ No newline at end of file +} diff --git a/src/main/java/Event.java b/src/main/java/Event.java index efcfc56681..126a92cddc 100644 --- a/src/main/java/Event.java +++ b/src/main/java/Event.java @@ -15,6 +15,13 @@ class Events extends Task { } + @Override + public String toFileString() { + + return "E | " + (this.isDone ? 1 : 0) + " | " + + this.description + " | " + this.eventTime; + } + @Override public String toString() { diff --git a/src/main/java/Storage.java b/src/main/java/Storage.java index ef111a82d0..e9f93d83b0 100644 --- a/src/main/java/Storage.java +++ b/src/main/java/Storage.java @@ -8,13 +8,8 @@ class Storage { - private final String DATA_FILEPATH = "src/main/data/duke.txt"; + private final String DATA_FILEPATH = "ip/src/main/data/duke.txt"; - Storage() throws IOException { - - createDataFile(); - - } public void createDataFile() throws IOException { diff --git a/src/main/java/Task.java b/src/main/java/Task.java index a54063e119..96ae0dfaa0 100644 --- a/src/main/java/Task.java +++ b/src/main/java/Task.java @@ -1,7 +1,7 @@ public class Task { - private String description; - private boolean isDone; + protected String description; + protected boolean isDone; public Task(String description) { this.description = description; @@ -23,6 +23,13 @@ public void done(boolean done) { this.isDone = done; } + + public String toFileString() { + + return " | " + (this.isDone ? 1 : 0) + " | " + + this.description; + } + @Override public String toString() { diff --git a/src/main/java/ToDo.java b/src/main/java/ToDo.java index b76cb22987..ac54db46e9 100644 --- a/src/main/java/ToDo.java +++ b/src/main/java/ToDo.java @@ -9,6 +9,13 @@ class ToDo extends Task { super(description, isDone); } + @Override + public String toFileString() { + + return "T | " + (this.isDone ? 1 : 0) + " | " + + this.description; + } + @Override public String toString() { return "[T]" + super.toString(); From f53dceeb52f412260350dde9b8dfccdc833d25ec Mon Sep 17 00:00:00 2001 From: Agamjyot Singh Chadha Date: Mon, 29 Aug 2022 22:24:04 +0800 Subject: [PATCH 12/75] Level-8 Date and Times --- src/main/java/Deadline.java | 20 ++++++++++++++------ src/main/java/Event.java | 16 ++++++++++++---- 2 files changed, 26 insertions(+), 10 deletions(-) diff --git a/src/main/java/Deadline.java b/src/main/java/Deadline.java index 6c687563c3..8ec4f0971b 100644 --- a/src/main/java/Deadline.java +++ b/src/main/java/Deadline.java @@ -1,22 +1,30 @@ +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; + + class Deadline extends Task { - private String completeBy; + private LocalDateTime completeBy; Deadline(String description, String completeBy) { super(description, false); - this.completeBy = completeBy; + this.completeBy = LocalDateTime.parse(completeBy, + DateTimeFormatter.ofPattern("[d/M/y HHmm]"));; } - Deadline(String descrpiton, boolean isDone, String completeBy) { + Deadline(String description, boolean isDone, String completeBy) { - super(descrpiton, isDone); - this.completeBy = completeBy; + super(description, isDone); + this.completeBy = LocalDateTime.parse(completeBy, + DateTimeFormatter.ofPattern("[d/M/y HHmm]"));; } @Override public String toString() { - return "[D]" + super.toString() + " (by: " + this.completeBy + ")"; + return "[D]" + super.toString() + " (by: " + + completeBy.format(DateTimeFormatter.ofPattern("MMM d yyyy")) + + ")"; } } \ No newline at end of file diff --git a/src/main/java/Event.java b/src/main/java/Event.java index efcfc56681..05cbe6f0d8 100644 --- a/src/main/java/Event.java +++ b/src/main/java/Event.java @@ -1,24 +1,32 @@ +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; + + class Events extends Task { - private String eventTime; + private LocalDateTime eventTime; Events(String description, String eventTime) { super(description, false); - this.eventTime = eventTime; + this.eventTime = LocalDateTime.parse(eventTime, + DateTimeFormatter.ofPattern("[d/M/y HHmm]"));; } Events(String description, boolean isDone, String eventTime) { super(description, isDone); - this.eventTime = eventTime; + this.eventTime = LocalDateTime.parse(eventTime, + DateTimeFormatter.ofPattern("[d/M/y HHmm]"));; } @Override public String toString() { - return "[E]" + super.toString() + " (at: " + eventTime + ")"; + return "[E]" + super.toString() + " (at: " + + eventTime.format(DateTimeFormatter.ofPattern("MMM d yyyy")) + + ")"; } } From 8d6ddd766a715974c20a9f8ea5cfd36cc06a4709 Mon Sep 17 00:00:00 2001 From: Agamjyot Singh Chadha Date: Tue, 30 Aug 2022 09:04:22 +0800 Subject: [PATCH 13/75] Resolve conflict --- src/main/java/Deadline.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/main/java/Deadline.java b/src/main/java/Deadline.java index 7277aeaed9..3face180f8 100644 --- a/src/main/java/Deadline.java +++ b/src/main/java/Deadline.java @@ -15,12 +15,10 @@ class Deadline extends Task { Deadline(String description, boolean isDone, String completeBy) { super(description, isDone); -<<<<<<< HEAD - this.completeBy = completeBy; -======= + this.completeBy = LocalDateTime.parse(completeBy, DateTimeFormatter.ofPattern("[d/M/y HHmm]"));; ->>>>>>> branch-Level-8 + } @Override From c1bf3581242fdae6b0965876b7e5ac6fe48e5e40 Mon Sep 17 00:00:00 2001 From: Agamjyot Singh Chadha Date: Sun, 18 Sep 2022 19:11:06 +0800 Subject: [PATCH 14/75] Add ExecuteCommand() method --- src/main/java/ChatBot.java | 136 ++++++++++++++++++++++++++++-------- src/main/java/Deadline.java | 8 +-- src/main/java/Duke.java | 78 +++------------------ src/main/java/Event.java | 14 ++-- src/main/java/Storage.java | 25 ++++--- src/main/java/ToDo.java | 3 +- 6 files changed, 141 insertions(+), 123 deletions(-) diff --git a/src/main/java/ChatBot.java b/src/main/java/ChatBot.java index d885740b36..9cedcdd185 100644 --- a/src/main/java/ChatBot.java +++ b/src/main/java/ChatBot.java @@ -1,83 +1,159 @@ import java.util.ArrayList; +import java.io.FileNotFoundException; +import java.io.IOException; class ChatBot { - private String name; - private final String line = "------------------------------" + + private final String LINE = "------------------------------" + "----------------------------------"; - private ArrayList tasks; - ChatBot(String name) { + private String name; + private ArrayList taskList; + private Storage taskStorage; + + + ChatBot(String name, Storage taskStorage) { this.name = name; - this.tasks = new ArrayList(); + this.taskStorage = taskStorage; + try { + this.taskList = taskStorage.convertToTaskList(); + } catch(FileNotFoundException e) { + try { + this.taskStorage.createDataFile(); + } catch(IOException io) { + echo(io.getMessage()); + } + this.taskList = new ArrayList(); + } } public void greet() { - System.out.println(line + "\n\t Hello I'm " + name + "!!\n" + - "What do you wanna chat about today?\n" + line); + System.out.println(LINE + "\n\t Hello I'm " + name + "!!\n" + + "What do you wanna chat about today?\n" + LINE); } public void addTask(Task task) { - this.tasks.add(task); - System.out.println(line + "\n\tGot it. I just added the " + + this.taskList.add(task); + System.out.println(LINE + "\n\tGot it. I just added the " + "task:\n\t\t" + task + "\n\tNow you have " + - "" + this.tasks.size() + " tasks in the list\n" + line); + "" + this.taskList.size() + " tasks in the list\n" + LINE); } public void printTasks() { - System.out.println(line); + System.out.println(LINE); - if(this.tasks.size() == 0) { + if(this.taskList.size() == 0) { System.out.println("You currently have no tasks"); } else { - for (int i = 0; i < this.tasks.size(); i++) { + for (int i = 0; i < this.taskList.size(); i++) { - System.out.println("\t" + (i + 1) + ". " + this.tasks.get(i)); + System.out.println("\t" + (i + 1) + ". " + this.taskList.get(i)); } } - System.out.println(line); + System.out.println(LINE); } public void markDone(int index) { - this.tasks.get(index).done(true); - System.out.println(line + "\n\tExcellent! I have marked " + - "the task as done:\n\t" + this.tasks.get(index) + "\n" + line); + this.taskList.get(index).done(true); + System.out.println(LINE + "\n\tExcellent! I have marked " + + "the task as done:\n\t" + this.taskList.get(index) + + "\n" + LINE); } public void markUndone(int index) { - this.tasks.get(index).done(false); - System.out.println(line + "\n\tNoted! I have marked " + + this.taskList.get(index).done(false); + System.out.println(LINE + "\n\tNoted! I have marked " + "the task as not done yet:\n\t" - + this.tasks.get(index) + "\n" + line); + + this.taskList.get(index) + "\n" + LINE); } - public void delete(int index) { + public void deleteTask(int index) { - System.out.println(line + "\n\tNoted. I've remove this task:" + - this.tasks.get(index)); - this.tasks.remove(index); - System.out.println("\t Now you have " + this.tasks.size() + " " + - "tasks in the list.\n" + line); + System.out.println(LINE + "\n\tNoted. I've remove this task:" + + this.taskList.get(index)); + this.taskList.remove(index); + System.out.println("\t Now you have " + this.taskList.size() + " " + + "tasks in the list.\n" + LINE); } public void echo(String input) { - System.out.println(line + "\n\t" + input + "\n" + line); + System.out.println(LINE + "\n\t" + input + "\n" + LINE); } public void bye() { - System.out.println(line + "\n\t Bye. Looking forward to chating " + - "with you soon again!\n" + line); + System.out.println(LINE + "\n\t Bye. Looking forward to chating " + + "with you soon again!\n" + LINE); + } + + public boolean executeCommand(String command) throws ChatBotException{ + + String[] input = command.split(" ", 2); + + String commandType = input[0].toLowerCase(); + +// System.out.println(command); + + switch (commandType) { + + case "bye": + bye(); + return true; + + case "list": + printTasks(); + break; + + case "mark": + markDone(Integer.parseInt(input[1]) - 1); + break; + + case "unmark": + markUndone(Integer.parseInt(input[1]) - 1); + break; + + case "deadline": + String[] deadline = input[1].split(" /by "); + addTask(new Deadline(deadline[0], deadline[1])); + break; + + case "event": + String[] event = input[1].split(" /at "); + addTask(new Event(event[0], event[1])); + break; + + case "todo": + addTask(new Task(input[1])); + break; + + case "delete": + deleteTask(Integer.parseInt(input[1]) - 1); + break; + + default: + throw new ChatBotException("I am sorry, but I don't " + + "understand this command"); + + } + + try { + taskStorage.saveTaskList(this.taskList); + } catch (IOException e) { + echo(e.getMessage()); + } + + return false; + } } \ No newline at end of file diff --git a/src/main/java/Deadline.java b/src/main/java/Deadline.java index 3face180f8..8d442b04d9 100644 --- a/src/main/java/Deadline.java +++ b/src/main/java/Deadline.java @@ -9,7 +9,7 @@ class Deadline extends Task { Deadline(String description, String completeBy) { super(description, false); this.completeBy = LocalDateTime.parse(completeBy, - DateTimeFormatter.ofPattern("[d/M/y HHmm]"));; + DateTimeFormatter.ofPattern("dd/MM/yyyy HHmm")); } Deadline(String description, boolean isDone, String completeBy) { @@ -17,15 +17,14 @@ class Deadline extends Task { super(description, isDone); this.completeBy = LocalDateTime.parse(completeBy, - DateTimeFormatter.ofPattern("[d/M/y HHmm]"));; + DateTimeFormatter.ofPattern("dd/MM/yyyy HHmm")); } @Override public String toFileString() { - return "D | " + (this.isDone ? 1 : 0) + " | " + - this.description + " | " + this.completeBy; + return "D" + super.toFileString(); } @Override @@ -34,6 +33,7 @@ public String toString() { return "[D]" + super.toString() + " (by: " + completeBy.format(DateTimeFormatter.ofPattern("MMM d yyyy")) + ")"; + } } \ No newline at end of file diff --git a/src/main/java/Duke.java b/src/main/java/Duke.java index 07587e550c..eb89a98eef 100644 --- a/src/main/java/Duke.java +++ b/src/main/java/Duke.java @@ -9,7 +9,7 @@ public static void main(String[] args) { Scanner sc = new Scanner(System.in); - ChatBot chatBot = new ChatBot("duke"); + ChatBot chatBot = new ChatBot("duke", new Storage()); Storage taskStorage = new Storage(); @@ -21,77 +21,17 @@ public static void main(String[] args) { String time; // for the deadline or time of the event String taskName; - try { - ArrayList tasks = taskStorage.convertToTaskList(); - while (!quit) { + while(!quit) { - try { - input = sc.next(); - - switch (input) { - - case "bye": - quit = true; - chatBot.bye(); - try { - taskStorage.saveTaskList(tasks); - } catch (IOException io) { - chatBot.echo(io.getMessage() + "\nUnable to save data. " + - "All the data will be lost!"); - } - break; - case "list": - chatBot.printTasks(); - break; - case "mark": - chatBot.markDone(sc.nextInt() - 1); - sc.nextLine(); - break; - case "unmark": - chatBot.markUndone(sc.nextInt() - 1); - sc.nextLine(); - break; - case "deadline": - command = sc.nextLine().split(" /by "); - chatBot.addTask(new Deadline(command[0], command[1])); - break; - case "event": - command = sc.nextLine().split(" /at "); - chatBot.addTask(new Events(command[0], command[1])); - break; - case "todo": - taskName = sc.nextLine(); - if (taskName.isEmpty()) { - throw new ChatBotException("The description of todo cannot be empty " + - "please use the format:\n\t" + - "todo "); - } - chatBot.addTask(new ToDo(taskName)); - break; - case "delete": - chatBot.delete(sc.nextInt() - 1); - sc.nextLine(); - break; - default: - sc.nextLine(); - throw new ChatBotException("I am sorry, but I don't " + - "understand this command"); - } - - } catch (ChatBotException e) { - - chatBot.echo(e.getMessage()); - } - - } - - } catch(FileNotFoundException e) { - chatBot.echo(e.getMessage() + "\n Creating new file"); try { - taskStorage.createDataFile(); - } catch (IOException ioe) { - chatBot.echo(e.getMessage() + "Couldn't create new file"); + quit = chatBot.executeCommand(sc.nextLine()); + } catch (ChatBotException e) { + chatBot.echo(e.getMessage()); } } + + sc.close(); + + } } diff --git a/src/main/java/Event.java b/src/main/java/Event.java index 07c69f0741..7cc237086f 100644 --- a/src/main/java/Event.java +++ b/src/main/java/Event.java @@ -2,30 +2,29 @@ import java.time.format.DateTimeFormatter; -class Events extends Task { +class Event extends Task { private LocalDateTime eventTime; - Events(String description, String eventTime) { + Event(String description, String eventTime) { super(description, false); this.eventTime = LocalDateTime.parse(eventTime, - DateTimeFormatter.ofPattern("[d/M/y HHmm]"));; + DateTimeFormatter.ofPattern("dd/MM/yyyy HHmm")); } - Events(String description, boolean isDone, String eventTime) { + Event(String description, boolean isDone, String eventTime) { super(description, isDone); this.eventTime = LocalDateTime.parse(eventTime, - DateTimeFormatter.ofPattern("[d/M/y HHmm]"));; + DateTimeFormatter.ofPattern("dd/MM/yyyy HHmm")); } @Override public String toFileString() { - return "E | " + (this.isDone ? 1 : 0) + " | " + - this.description + " | " + this.eventTime; + return "E" + super.toFileString(); } @Override @@ -34,6 +33,7 @@ public String toString() { return "[E]" + super.toString() + " (at: " + eventTime.format(DateTimeFormatter.ofPattern("MMM d yyyy")) + ")"; + } } diff --git a/src/main/java/Storage.java b/src/main/java/Storage.java index e9f93d83b0..a1b424a77b 100644 --- a/src/main/java/Storage.java +++ b/src/main/java/Storage.java @@ -8,7 +8,7 @@ class Storage { - private final String DATA_FILEPATH = "ip/src/main/data/duke.txt"; + private final String DATA_FILEPATH = "data/duke.txt"; public void createDataFile() throws IOException { @@ -42,20 +42,20 @@ public ArrayList convertToTaskList() throws FileNotFoundException { while(sc.hasNextLine()) { String task = sc.nextLine(); - char type = task.charAt(0); - boolean isDone = task.charAt(1) == '1'; - String[] description = task.substring(2).split("\\|"); + String[] description = task.split(" \\| "); - switch(type){ + boolean isDone = description[1].equals("1"); - case 'T': - taskList.add(new ToDo(description[0], isDone)); + switch(description[0]){ + + case "T": + taskList.add(new ToDo(description[2], isDone)); break; - case 'D': - taskList.add(new Deadline(description[0], isDone, description[1])); + case "D": + taskList.add(new Deadline(description[2], isDone, description[3])); break; - case 'E': - taskList.add(new Events(description[0], isDone, description[1])); + case "E": + taskList.add(new Event(description[2], isDone, description[3])); break; default: break; @@ -71,12 +71,15 @@ public void saveTaskList(ArrayList taskList) throws IOException { FileWriter fw = new FileWriter(DATA_FILEPATH); + for(Task t : taskList) { fw.write(t.toFileString() + System.lineSeparator()); } + + fw.close(); } diff --git a/src/main/java/ToDo.java b/src/main/java/ToDo.java index ac54db46e9..12f47c3547 100644 --- a/src/main/java/ToDo.java +++ b/src/main/java/ToDo.java @@ -12,8 +12,7 @@ class ToDo extends Task { @Override public String toFileString() { - return "T | " + (this.isDone ? 1 : 0) + " | " + - this.description; + return "T" + super.toFileString(); } @Override From accb5a3eda00356109eb1a3dea4d2d11aac120a6 Mon Sep 17 00:00:00 2001 From: Agamjyot Singh Chadha Date: Mon, 19 Sep 2022 16:21:53 +0800 Subject: [PATCH 15/75] Add Ui.java --- src/main/java/Ui.java | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 src/main/java/Ui.java diff --git a/src/main/java/Ui.java b/src/main/java/Ui.java new file mode 100644 index 0000000000..951357e061 --- /dev/null +++ b/src/main/java/Ui.java @@ -0,0 +1,41 @@ +import java.util.Scanner; + +public class Ui { + + private final String LINE = "------------------------------" + + "----------------------------------"; + + private final String WELCOME = "\tHello I'm Duke" + "!!\n" + + "What do you wanna chat about today?"; + + private final String EXIT = "\t Bye. Looking forward to chating " + + "with you soon again!"; + + private final Scanner sc; + + public Ui() { + this.sc = new Scanner(System.in); + } + + public void displayMessage(String message) { + System.out.println(LINE); + System.out.println(message); + System.out.println(LINE); + } + + public void displayWelcomeMessage() { + displayMessage(WELCOME); + sc.close(); + } + + public String getUserInput() { + System.out.println("Enter command: "); + String userInput = sc.nextLine(); + return userInput; + } + + public void displayExitMessage() { + displayMessage(EXIT); + } + +} \ No newline at end of file From d9f7d381ca6c7d6b75193f374d0baea275e0d6a0 Mon Sep 17 00:00:00 2001 From: Agamjyot Singh Chadha Date: Mon, 19 Sep 2022 17:22:55 +0800 Subject: [PATCH 16/75] Add TaskList.java --- src/main/java/TaskList.java | 48 +++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 src/main/java/TaskList.java diff --git a/src/main/java/TaskList.java b/src/main/java/TaskList.java new file mode 100644 index 0000000000..ea132b8955 --- /dev/null +++ b/src/main/java/TaskList.java @@ -0,0 +1,48 @@ +import java.util.ArrayList; + +public class TaskList { + + private ArrayList taskList; + + public TaskList(ArrayList taskList) { + this.taskList = taskList; + } + + public String displayNumTasks() { + String text = "\tNow you have " + this.taskList.size() + + "tasks in the list."; + return text; + } + + public void addTask(Task task) { + this.taskList.add(task); + } + + public void markTask(int index) { + this.taskList.get(index).setDone(true); + } + + public void unmarkTask(int index) { + this.taskList.get(index).setDone(false); + } + + public void deleteTask(int index) { + this.taskList.remove(index); + } + + public void printTasks() { + + if (this.taskList.size() == 0) { + + System.out.println("You currently have no tasks"); + } else { + + for (int i = 0; i < this.taskList.size(); i++) { + + System.out.println("\t" + (i + 1) + ". " + this.taskList.get(i)); + } + } + + } + +} \ No newline at end of file From 45236854da1891b1a9fb86d386dae08297adec89 Mon Sep 17 00:00:00 2001 From: Agamjyot Singh Chadha Date: Mon, 19 Sep 2022 18:20:30 +0800 Subject: [PATCH 17/75] Extract out Command --- src/main/java/AddCommand.java | 25 +++++++++++++++++++++++++ src/main/java/Command.java | 7 +++++++ src/main/java/DeleteCommand.java | 22 ++++++++++++++++++++++ src/main/java/ExitCommand.java | 14 ++++++++++++++ src/main/java/MarkCommand.java | 23 +++++++++++++++++++++++ src/main/java/UnmarkCommand.java | 22 ++++++++++++++++++++++ 6 files changed, 113 insertions(+) create mode 100644 src/main/java/AddCommand.java create mode 100644 src/main/java/Command.java create mode 100644 src/main/java/DeleteCommand.java create mode 100644 src/main/java/ExitCommand.java create mode 100644 src/main/java/MarkCommand.java create mode 100644 src/main/java/UnmarkCommand.java diff --git a/src/main/java/AddCommand.java b/src/main/java/AddCommand.java new file mode 100644 index 0000000000..599e4efc35 --- /dev/null +++ b/src/main/java/AddCommand.java @@ -0,0 +1,25 @@ +public class AddCommand extends Command { + + protected Task task; + private final String MESSAGE = "\tGot it. I just added the " + + "task: "; + + public AddCommand(Task task) { + this.task = task; + } + + @Override + public void execute(TaskList taskList, Ui ui, Storage storage) { + taskList.addTask(task); + storage.saveTaskList(taskList); // change this to tasklist and then see the performance + String text = MESSAGE + "\n\t" + task.toString() + "\n" + + taskList.displayNumTasks(); + ui.displayMessage(text); + + } + + @Override + public boolean isExit() { + return false; + } +} \ No newline at end of file diff --git a/src/main/java/Command.java b/src/main/java/Command.java new file mode 100644 index 0000000000..48bcf073d3 --- /dev/null +++ b/src/main/java/Command.java @@ -0,0 +1,7 @@ +public abstract class Command { + + public abstract void execute(TaskList tasks, Ui ui, Storage storage); + + public abstract boolean isExit(); + +} \ No newline at end of file diff --git a/src/main/java/DeleteCommand.java b/src/main/java/DeleteCommand.java new file mode 100644 index 0000000000..6560722fea --- /dev/null +++ b/src/main/java/DeleteCommand.java @@ -0,0 +1,22 @@ +public class DeleteCommand extends Command { + + protected int index; + private final String MESSAGE = "\tNoted. I've remove this task: "; + + public DeleteCommand(int index) { + this.index = index; + } + + @Override + public void execute(TaskList taskList, Ui ui, Storage storage) { + Task task = taskList.deleteTask(index); + storage.saveTaskList(taskList); + String text = MESSAGE + "\n\t" + task.toString() + + "\n" + taskList.displayNumTasks(); + } + + @Override + public boolean isExit() { + return false; + } +} \ No newline at end of file diff --git a/src/main/java/ExitCommand.java b/src/main/java/ExitCommand.java new file mode 100644 index 0000000000..791914c5fe --- /dev/null +++ b/src/main/java/ExitCommand.java @@ -0,0 +1,14 @@ +public class ExitCommand extends Command { + + + @Override + public void execute(TaskList taskList, Ui ui, Storage storage) { + storage.saveTaskList(taskList); + ui.displayExitMessage(); + } + + @Override + public boolean isExit() { + return true; + } +} \ No newline at end of file diff --git a/src/main/java/MarkCommand.java b/src/main/java/MarkCommand.java new file mode 100644 index 0000000000..bf6ed1ce71 --- /dev/null +++ b/src/main/java/MarkCommand.java @@ -0,0 +1,23 @@ +public class MarkCommand extends Command { + + protected int index; + private final String MESSAGE = "\tExcellent! I have marked " + + "the task as done: "; + + public MarkCommand(int index) { + this.index = index; + } + + @Override + public void execute(TaskList taskList, Ui ui, Storage storage) { + taskList.markTask(index); + storage.saveTaskList(taskList); + String text = MESSAGE + "\n " + taskList.getTaskString(index); + ui.displayMessage(text); + } + + @Override + public boolean isExit() { + return false; + } +} \ No newline at end of file diff --git a/src/main/java/UnmarkCommand.java b/src/main/java/UnmarkCommand.java new file mode 100644 index 0000000000..598b064c61 --- /dev/null +++ b/src/main/java/UnmarkCommand.java @@ -0,0 +1,22 @@ +public class UnmarkCommand extends Command { + + protected int index; + private final String MESSAGE = "\tNoted! I have marked " + + "the task as not done yet:"; + + UnmarkCommand(int index) { + this.index = index; + } + @Override + public void execute(TaskList taskList, Ui ui, Storage storage) { + taskList.unmarkTask(index); + storage.saveTaskList(taskList); + String text = MESSAGE + "\n " + taskList.getTaskString(index); + ui.displayMessage(text); + } + + @Override + public boolean isExit() { + return false; + } +} \ No newline at end of file From 5df069ba7da60b00c22e36e0dc9d18575411c291 Mon Sep 17 00:00:00 2001 From: Agamjyot Singh Chadha Date: Mon, 19 Sep 2022 19:19:25 +0800 Subject: [PATCH 18/75] Rename ChatBotException to DukeException.java --- src/main/java/DukeException.java | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 src/main/java/DukeException.java diff --git a/src/main/java/DukeException.java b/src/main/java/DukeException.java new file mode 100644 index 0000000000..08b49a6a0d --- /dev/null +++ b/src/main/java/DukeException.java @@ -0,0 +1,8 @@ +class DukeException extends Exception { + + DukeException(String message) { + + super(message); + } + +} \ No newline at end of file From 9dd15c1a8b2974e571a09c932743742c353ca4d6 Mon Sep 17 00:00:00 2001 From: Agamjyot Singh Chadha Date: Mon, 19 Sep 2022 20:02:29 +0800 Subject: [PATCH 19/75] extract out Command even more --- src/main/java/ListCommand.java | 13 +++++++++++++ src/main/java/UnknownCommand.java | 16 ++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 src/main/java/ListCommand.java create mode 100644 src/main/java/UnknownCommand.java diff --git a/src/main/java/ListCommand.java b/src/main/java/ListCommand.java new file mode 100644 index 0000000000..5f6c09629c --- /dev/null +++ b/src/main/java/ListCommand.java @@ -0,0 +1,13 @@ +public class ListCommand extends Command { + + @Override + public void execute(TaskList taskList, Ui ui, Storage storage) { + + ui.displayMessage(taskList.taskListString()); + } + + @Override + public boolean isExit() { + return false; + } +} \ No newline at end of file diff --git a/src/main/java/UnknownCommand.java b/src/main/java/UnknownCommand.java new file mode 100644 index 0000000000..8a425fd5fb --- /dev/null +++ b/src/main/java/UnknownCommand.java @@ -0,0 +1,16 @@ +public class UnknownCommand extends Command { + + private static final String MESSAGE = "\tI am sorry, but I do " + + "not understand this command"; + + @Override + public void execute(TaskList taskList, Ui ui, Storage storage) { + ui.displayMessage(MESSAGE); + } + + @Override + public boolean isExit() { + return false; + } + +} \ No newline at end of file From 7bce9901a905a5affd358781bc31a6aceffe2c7d Mon Sep 17 00:00:00 2001 From: Agamjyot Singh Chadha Date: Mon, 19 Sep 2022 20:02:45 +0800 Subject: [PATCH 20/75] Add Parser.java --- src/main/java/Parser.java | 68 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 src/main/java/Parser.java diff --git a/src/main/java/Parser.java b/src/main/java/Parser.java new file mode 100644 index 0000000000..2580d16164 --- /dev/null +++ b/src/main/java/Parser.java @@ -0,0 +1,68 @@ +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; + +public class Parser { + + public static Command parse(String command) throws DukeException { + String[] input = command.split(" ", 2); + + String commandType = input[0].toLowerCase(); + + switch (commandType) { + + case "bye": + return new ExitCommand(); + case "list": + return new ListCommand(); + case "mark": + return parseMark(input); + case "unmark": + return parseUnmark(input); + case "deadline": + return parseDeadline(input); + case "event": + return parseEvent(input); + case "todo": + return parseToDo(input); + case "delete": + return parseDelete(input); + default: + return new UnknownCommand(); + } + } + + private static Command parseMark(String[] input) { + return new MarkCommand(Integer.parseInt(input[1].trim()) - 1); + } + + private static Command parseUnmark(String[] input) { + return new UnmarkCommand(Integer.parseInt(input[1].trim()) - 1); + } + + private static Command parseDelete(String[] input) { + return new DeleteCommand(Integer.parseInt(input[1].trim()) - 1); + } + + private static Command parseDeadline(String[] input) { + String[] deadline = input[1].split(" /by "); + LocalDateTime by = LocalDateTime.parse(deadline[1], + DateTimeFormatter.ofPattern("d/M/y HHmm")); + String description = deadline[0]; + return new AddCommand(new Deadline(description, by)); + } + + private static Command parseEvent(String[] input) { + String[] event = input[1].split(" /by "); + LocalDateTime at = LocalDateTime.parse(event[1], + DateTimeFormatter.ofPattern("d/M/y HHmm")); + String description = event[0]; + return new AddCommand(new Deadline(description, at)); + } + + private static Command parseToDo(String[] input) { + String description = input[1]; + return new AddCommand(new ToDo(description)); + } + + +} \ No newline at end of file From 49e27105739876f2b808890e92a5b0291f3108c4 Mon Sep 17 00:00:00 2001 From: Agamjyot Singh Chadha Date: Mon, 19 Sep 2022 20:20:51 +0800 Subject: [PATCH 21/75] Make change Task.java subclass --- src/main/java/AddCommand.java | 8 ++- src/main/java/Deadline.java | 16 +++-- src/main/java/DeleteCommand.java | 8 ++- src/main/java/Duke.java | 5 +- src/main/java/Event.java | 14 ++--- src/main/java/ExitCommand.java | 8 ++- src/main/java/MarkCommand.java | 8 ++- src/main/java/Storage.java | 101 ++++++++++++++----------------- src/main/java/Task.java | 8 ++- src/main/java/TaskList.java | 26 ++++++-- src/main/java/ToDo.java | 4 +- src/main/java/UnmarkCommand.java | 8 ++- 12 files changed, 125 insertions(+), 89 deletions(-) diff --git a/src/main/java/AddCommand.java b/src/main/java/AddCommand.java index 599e4efc35..aa434a3a91 100644 --- a/src/main/java/AddCommand.java +++ b/src/main/java/AddCommand.java @@ -1,3 +1,5 @@ +import java.io.IOException; + public class AddCommand extends Command { protected Task task; @@ -11,7 +13,11 @@ public AddCommand(Task task) { @Override public void execute(TaskList taskList, Ui ui, Storage storage) { taskList.addTask(task); - storage.saveTaskList(taskList); // change this to tasklist and then see the performance + try { + storage.saveTaskList(taskList); + } catch (IOException e) { + System.out.println("Error while saving the text"); + } String text = MESSAGE + "\n\t" + task.toString() + "\n" + taskList.displayNumTasks(); ui.displayMessage(text); diff --git a/src/main/java/Deadline.java b/src/main/java/Deadline.java index 8d442b04d9..a59e99f72e 100644 --- a/src/main/java/Deadline.java +++ b/src/main/java/Deadline.java @@ -4,27 +4,25 @@ class Deadline extends Task { - private LocalDateTime completeBy; + protected LocalDateTime completeBy; - Deadline(String description, String completeBy) { + Deadline(String description, LocalDateTime completeBy) { super(description, false); - this.completeBy = LocalDateTime.parse(completeBy, - DateTimeFormatter.ofPattern("dd/MM/yyyy HHmm")); + this.completeBy = completeBy; } - Deadline(String description, boolean isDone, String completeBy) { + Deadline(String description, boolean isDone, LocalDateTime completeBy) { super(description, isDone); - this.completeBy = LocalDateTime.parse(completeBy, - DateTimeFormatter.ofPattern("dd/MM/yyyy HHmm")); + this.completeBy = completeBy; } @Override - public String toFileString() { + public String fileString() { - return "D" + super.toFileString(); + return "D" + super.fileString(); } @Override diff --git a/src/main/java/DeleteCommand.java b/src/main/java/DeleteCommand.java index 6560722fea..fc78d135be 100644 --- a/src/main/java/DeleteCommand.java +++ b/src/main/java/DeleteCommand.java @@ -1,3 +1,5 @@ +import java.io.IOException; + public class DeleteCommand extends Command { protected int index; @@ -10,7 +12,11 @@ public DeleteCommand(int index) { @Override public void execute(TaskList taskList, Ui ui, Storage storage) { Task task = taskList.deleteTask(index); - storage.saveTaskList(taskList); + try { + storage.saveTaskList(taskList); + } catch (IOException e) { + System.out.println("Error while saving the text"); + } String text = MESSAGE + "\n\t" + task.toString() + "\n" + taskList.displayNumTasks(); } diff --git a/src/main/java/Duke.java b/src/main/java/Duke.java index eb89a98eef..eb0f4bdd85 100644 --- a/src/main/java/Duke.java +++ b/src/main/java/Duke.java @@ -5,6 +5,7 @@ public class Duke { + public static void main(String[] args) { Scanner sc = new Scanner(System.in); @@ -25,8 +26,8 @@ public static void main(String[] args) { try { quit = chatBot.executeCommand(sc.nextLine()); - } catch (ChatBotException e) { - chatBot.echo(e.getMessage()); + } catch (DukeException e) { + System.out.println(e.getMessage()); } } diff --git a/src/main/java/Event.java b/src/main/java/Event.java index 7cc237086f..b924a4542b 100644 --- a/src/main/java/Event.java +++ b/src/main/java/Event.java @@ -6,25 +6,23 @@ class Event extends Task { private LocalDateTime eventTime; - Event(String description, String eventTime) { + Event(String description, LocalDateTime eventTime) { super(description, false); - this.eventTime = LocalDateTime.parse(eventTime, - DateTimeFormatter.ofPattern("dd/MM/yyyy HHmm")); + this.eventTime = eventTime; } - Event(String description, boolean isDone, String eventTime) { + Event(String description, boolean isDone, LocalDateTime eventTime) { super(description, isDone); - this.eventTime = LocalDateTime.parse(eventTime, - DateTimeFormatter.ofPattern("dd/MM/yyyy HHmm")); + this.eventTime = eventTime; } @Override - public String toFileString() { + public String fileString() { - return "E" + super.toFileString(); + return "E" + super.fileString(); } @Override diff --git a/src/main/java/ExitCommand.java b/src/main/java/ExitCommand.java index 791914c5fe..63b60c0e63 100644 --- a/src/main/java/ExitCommand.java +++ b/src/main/java/ExitCommand.java @@ -1,9 +1,15 @@ +import java.io.IOException; + public class ExitCommand extends Command { @Override public void execute(TaskList taskList, Ui ui, Storage storage) { - storage.saveTaskList(taskList); + try { + storage.saveTaskList(taskList); + } catch (IOException e) { + System.out.println("Error while saving the List"); + } ui.displayExitMessage(); } diff --git a/src/main/java/MarkCommand.java b/src/main/java/MarkCommand.java index bf6ed1ce71..8090d285c5 100644 --- a/src/main/java/MarkCommand.java +++ b/src/main/java/MarkCommand.java @@ -1,3 +1,5 @@ +import java.io.IOException; + public class MarkCommand extends Command { protected int index; @@ -11,7 +13,11 @@ public MarkCommand(int index) { @Override public void execute(TaskList taskList, Ui ui, Storage storage) { taskList.markTask(index); - storage.saveTaskList(taskList); + try { + storage.saveTaskList(taskList); + } catch (IOException e) { + System.out.println("Error while saving the text"); + } String text = MESSAGE + "\n " + taskList.getTaskString(index); ui.displayMessage(text); } diff --git a/src/main/java/Storage.java b/src/main/java/Storage.java index a1b424a77b..bb15811159 100644 --- a/src/main/java/Storage.java +++ b/src/main/java/Storage.java @@ -2,86 +2,75 @@ import java.io.FileNotFoundException; import java.io.FileWriter; import java.io.IOException; +import java.lang.reflect.Field; import java.util.ArrayList; import java.util.Date; import java.util.Scanner; class Storage { - private final String DATA_FILEPATH = "data/duke.txt"; - - - public void createDataFile() throws IOException { - - String[] dataPathList = DATA_FILEPATH.split("/"); - String currentDirectory = ""; - - for(int i = 0; i < dataPathList.length - 1; i++) { - - currentDirectory += dataPathList[i]; - File directory = new File(currentDirectory); - - if (!directory.exists()) { - directory.mkdir(); - } - - currentDirectory += "/"; + private final File DATA_DIRECTORY = new File("/data"); + private final File DATA_FILEPATH = new File("data/duke.txt"); + public Storage() throws IOException { + if(!DATA_DIRECTORY.exists()) { + DATA_DIRECTORY.mkdir(); } - File newFile = new File(DATA_FILEPATH); - newFile.createNewFile(); + try { + DATA_FILEPATH.createNewFile(); + } catch (IOException e) { + System.out.println("There was an error while creating the file"); + } } - public ArrayList convertToTaskList() throws FileNotFoundException { + public ArrayList convertToTaskList() { ArrayList taskList = new ArrayList(); - File file = new File(DATA_FILEPATH); - Scanner sc = new Scanner(file); - - while(sc.hasNextLine()) { - - String task = sc.nextLine(); - String[] description = task.split(" \\| "); - boolean isDone = description[1].equals("1"); - - switch(description[0]){ - - case "T": - taskList.add(new ToDo(description[2], isDone)); - break; - case "D": - taskList.add(new Deadline(description[2], isDone, description[3])); - break; - case "E": - taskList.add(new Event(description[2], isDone, description[3])); - break; - default: - break; + try { + Scanner sc = new Scanner(DATA_FILEPATH); + while(sc.hasNextLine()) { + + String task = sc.nextLine(); + String[] description = task.split(" \\| "); + + boolean isDone = description[1].equals("1"); + + switch (description[0]) { + + case "T": + taskList.add(new ToDo(description[2], isDone)); + break; + case "D": + taskList.add(new Deadline(description[2], isDone, description[3])); + break; + case "E": + taskList.add(new Event(description[2], isDone, description[3])); + break; + default: + break; + } } - + } catch(FileNotFoundException e) { + System.out.println("There was an error while opening the file"); } + return taskList; } - public void saveTaskList(ArrayList taskList) throws IOException { - - FileWriter fw = new FileWriter(DATA_FILEPATH); - - - for(Task t : taskList) { - - fw.write(t.toFileString() + System.lineSeparator()); + public void saveTaskList(TaskList taskList) throws IOException { + try { + FileWriter fw = new FileWriter(DATA_FILEPATH); + fw.write(taskList.taskListFileString()); + fw.close(); + } catch (IOException e) { + System.out.println("YOur data couldn't be saved"); } - - - fw.close(); - } diff --git a/src/main/java/Task.java b/src/main/java/Task.java index 96ae0dfaa0..4b04287c59 100644 --- a/src/main/java/Task.java +++ b/src/main/java/Task.java @@ -18,13 +18,17 @@ public String getStatusIcon() { return (isDone ? "X" : " "); // mark done task with X } - public void done(boolean done) { + public String getDescription() { + return this.description; + } + + public void setDone(boolean done) { this.isDone = done; } - public String toFileString() { + public String fileString() { return " | " + (this.isDone ? 1 : 0) + " | " + this.description; diff --git a/src/main/java/TaskList.java b/src/main/java/TaskList.java index ea132b8955..d3385bd614 100644 --- a/src/main/java/TaskList.java +++ b/src/main/java/TaskList.java @@ -26,23 +26,39 @@ public void unmarkTask(int index) { this.taskList.get(index).setDone(false); } - public void deleteTask(int index) { - this.taskList.remove(index); + public Task deleteTask(int index) { + return this.taskList.remove(index); } - public void printTasks() { + public String taskListString() { + + String text = ""; if (this.taskList.size() == 0) { - System.out.println("You currently have no tasks"); + return "You currently have no tasks"; } else { for (int i = 0; i < this.taskList.size(); i++) { - System.out.println("\t" + (i + 1) + ". " + this.taskList.get(i)); + text += "\t" + (i + 1) + ". " + + this.taskList.get(i).toString() + "\n"; } } + return text; + } + + public String taskListFileString() { + + String text = ""; + for (Task task : this.taskList) { + text += task.fileString(); + } + return text; + } + public String getTaskString(int index) { + return this.taskList.get(index).toString(); } } \ No newline at end of file diff --git a/src/main/java/ToDo.java b/src/main/java/ToDo.java index 12f47c3547..89af2e486b 100644 --- a/src/main/java/ToDo.java +++ b/src/main/java/ToDo.java @@ -10,9 +10,9 @@ class ToDo extends Task { } @Override - public String toFileString() { + public String fileString() { - return "T" + super.toFileString(); + return "T" + super.fileString(); } @Override diff --git a/src/main/java/UnmarkCommand.java b/src/main/java/UnmarkCommand.java index 598b064c61..dc6f6e16c9 100644 --- a/src/main/java/UnmarkCommand.java +++ b/src/main/java/UnmarkCommand.java @@ -1,3 +1,5 @@ +import java.io.IOException; + public class UnmarkCommand extends Command { protected int index; @@ -10,7 +12,11 @@ public class UnmarkCommand extends Command { @Override public void execute(TaskList taskList, Ui ui, Storage storage) { taskList.unmarkTask(index); - storage.saveTaskList(taskList); + try { + storage.saveTaskList(taskList); + } catch (IOException e) { + System.out.println("Error while saving the text"); + } String text = MESSAGE + "\n " + taskList.getTaskString(index); ui.displayMessage(text); } From 88b482d63bb34c04e7905e66a2ffededc8021195 Mon Sep 17 00:00:00 2001 From: Agamjyot Singh Chadha Date: Mon, 19 Sep 2022 22:09:22 +0800 Subject: [PATCH 22/75] Finish A More OOP --- src/main/java/AddCommand.java | 6 +---- src/main/java/Deadline.java | 14 +++++----- src/main/java/DeleteCommand.java | 6 +---- src/main/java/Duke.java | 46 +++++++++++++++----------------- src/main/java/DukeException.java | 6 +++-- src/main/java/Event.java | 18 +++++++------ src/main/java/ExitCommand.java | 6 +---- src/main/java/MarkCommand.java | 6 +---- src/main/java/Parser.java | 2 +- src/main/java/Storage.java | 11 ++++---- src/main/java/TaskList.java | 2 +- src/main/java/ToDo.java | 6 ++--- src/main/java/Ui.java | 4 +-- src/main/java/UnmarkCommand.java | 8 ++---- 14 files changed, 61 insertions(+), 80 deletions(-) diff --git a/src/main/java/AddCommand.java b/src/main/java/AddCommand.java index aa434a3a91..112c52c475 100644 --- a/src/main/java/AddCommand.java +++ b/src/main/java/AddCommand.java @@ -13,11 +13,7 @@ public AddCommand(Task task) { @Override public void execute(TaskList taskList, Ui ui, Storage storage) { taskList.addTask(task); - try { - storage.saveTaskList(taskList); - } catch (IOException e) { - System.out.println("Error while saving the text"); - } + storage.saveTaskList(taskList); String text = MESSAGE + "\n\t" + task.toString() + "\n" + taskList.displayNumTasks(); ui.displayMessage(text); diff --git a/src/main/java/Deadline.java b/src/main/java/Deadline.java index a59e99f72e..fd042bbaf5 100644 --- a/src/main/java/Deadline.java +++ b/src/main/java/Deadline.java @@ -2,27 +2,27 @@ import java.time.format.DateTimeFormatter; -class Deadline extends Task { +public class Deadline extends Task { protected LocalDateTime completeBy; - Deadline(String description, LocalDateTime completeBy) { + public Deadline(String description, LocalDateTime completeBy) { super(description, false); this.completeBy = completeBy; } - Deadline(String description, boolean isDone, LocalDateTime completeBy) { + public Deadline(String description, boolean isDone, String completeBy) { super(description, isDone); - - this.completeBy = completeBy; - + this.completeBy = LocalDateTime.parse(completeBy, + DateTimeFormatter.ofPattern("d/M/y HHmm")); } @Override public String fileString() { - return "D" + super.fileString(); + return "D" + super.fileString() + " | " + + completeBy.format(DateTimeFormatter.ofPattern("dd/MM/yyyy HHmm")); } @Override diff --git a/src/main/java/DeleteCommand.java b/src/main/java/DeleteCommand.java index fc78d135be..754e4a305b 100644 --- a/src/main/java/DeleteCommand.java +++ b/src/main/java/DeleteCommand.java @@ -12,11 +12,7 @@ public DeleteCommand(int index) { @Override public void execute(TaskList taskList, Ui ui, Storage storage) { Task task = taskList.deleteTask(index); - try { - storage.saveTaskList(taskList); - } catch (IOException e) { - System.out.println("Error while saving the text"); - } + storage.saveTaskList(taskList); String text = MESSAGE + "\n\t" + task.toString() + "\n" + taskList.displayNumTasks(); } diff --git a/src/main/java/Duke.java b/src/main/java/Duke.java index eb0f4bdd85..23e4a4394a 100644 --- a/src/main/java/Duke.java +++ b/src/main/java/Duke.java @@ -5,34 +5,32 @@ public class Duke { + private Ui ui; + private Storage storage; + private TaskList taskList; + + public Duke() { + ui = new Ui(); + storage = new Storage(); + taskList = new TaskList(storage.convertToTaskList()); + } - public static void main(String[] args) { - - Scanner sc = new Scanner(System.in); - - ChatBot chatBot = new ChatBot("duke", new Storage()); - - Storage taskStorage = new Storage(); - - chatBot.greet(); - - boolean quit = false; - String input; - String[] command; - String time; // for the deadline or time of the event - String taskName; - - while(!quit) { + public void run() { + ui.displayWelcomeMessage(); + boolean isExit = false; + while(!isExit) { + String userInput = ui.getUserInput(); + Command command = Parser.parse(userInput); + command.execute(taskList, ui, storage); + isExit = command.isExit(); - try { - quit = chatBot.executeCommand(sc.nextLine()); - } catch (DukeException e) { - System.out.println(e.getMessage()); - } } + } - sc.close(); - + public static void main(String[] args) { + new Duke().run(); } + + } diff --git a/src/main/java/DukeException.java b/src/main/java/DukeException.java index 08b49a6a0d..7d7525a790 100644 --- a/src/main/java/DukeException.java +++ b/src/main/java/DukeException.java @@ -1,6 +1,8 @@ -class DukeException extends Exception { - DukeException(String message) { + +public class DukeException extends Exception { + + public DukeException(String message) { super(message); } diff --git a/src/main/java/Event.java b/src/main/java/Event.java index b924a4542b..19ccc906c7 100644 --- a/src/main/java/Event.java +++ b/src/main/java/Event.java @@ -2,34 +2,36 @@ import java.time.format.DateTimeFormatter; -class Event extends Task { +public class Event extends Task { - private LocalDateTime eventTime; + private LocalDateTime eventAt; - Event(String description, LocalDateTime eventTime) { + public Event(String description, LocalDateTime eventAt) { super(description, false); - this.eventTime = eventTime; + this.eventAt = eventAt; } - Event(String description, boolean isDone, LocalDateTime eventTime) { + public Event(String description, boolean isDone, String eventAt) { super(description, isDone); - this.eventTime = eventTime; + this.eventAt = LocalDateTime.parse(eventAt, + DateTimeFormatter.ofPattern("d/M/y HHmm"));; } @Override public String fileString() { - return "E" + super.fileString(); + return "E" + super.fileString() + " | " + + eventAt.format(DateTimeFormatter.ofPattern("dd/MM/yyyy HHmm")); } @Override public String toString() { return "[E]" + super.toString() + " (at: " + - eventTime.format(DateTimeFormatter.ofPattern("MMM d yyyy")) + eventAt.format(DateTimeFormatter.ofPattern("MMM d yyyy")) + ")"; } diff --git a/src/main/java/ExitCommand.java b/src/main/java/ExitCommand.java index 63b60c0e63..5b82128c31 100644 --- a/src/main/java/ExitCommand.java +++ b/src/main/java/ExitCommand.java @@ -5,11 +5,7 @@ public class ExitCommand extends Command { @Override public void execute(TaskList taskList, Ui ui, Storage storage) { - try { - storage.saveTaskList(taskList); - } catch (IOException e) { - System.out.println("Error while saving the List"); - } + storage.saveTaskList(taskList); ui.displayExitMessage(); } diff --git a/src/main/java/MarkCommand.java b/src/main/java/MarkCommand.java index 8090d285c5..a5444e9ff2 100644 --- a/src/main/java/MarkCommand.java +++ b/src/main/java/MarkCommand.java @@ -13,11 +13,7 @@ public MarkCommand(int index) { @Override public void execute(TaskList taskList, Ui ui, Storage storage) { taskList.markTask(index); - try { - storage.saveTaskList(taskList); - } catch (IOException e) { - System.out.println("Error while saving the text"); - } + storage.saveTaskList(taskList); String text = MESSAGE + "\n " + taskList.getTaskString(index); ui.displayMessage(text); } diff --git a/src/main/java/Parser.java b/src/main/java/Parser.java index 2580d16164..4732a9e133 100644 --- a/src/main/java/Parser.java +++ b/src/main/java/Parser.java @@ -3,7 +3,7 @@ public class Parser { - public static Command parse(String command) throws DukeException { + public static Command parse(String command) { String[] input = command.split(" ", 2); String commandType = input[0].toLowerCase(); diff --git a/src/main/java/Storage.java b/src/main/java/Storage.java index bb15811159..e5913d1739 100644 --- a/src/main/java/Storage.java +++ b/src/main/java/Storage.java @@ -1,3 +1,4 @@ + import java.io.File; import java.io.FileNotFoundException; import java.io.FileWriter; @@ -7,12 +8,12 @@ import java.util.Date; import java.util.Scanner; -class Storage { +public class Storage { private final File DATA_DIRECTORY = new File("/data"); private final File DATA_FILEPATH = new File("data/duke.txt"); - public Storage() throws IOException { + public Storage() { if(!DATA_DIRECTORY.exists()) { DATA_DIRECTORY.mkdir(); } @@ -20,7 +21,7 @@ public Storage() throws IOException { try { DATA_FILEPATH.createNewFile(); } catch (IOException e) { - System.out.println("There was an error while creating the file"); + System.out.println("Couldn't create a new file."); } } @@ -61,14 +62,14 @@ public ArrayList convertToTaskList() { } - public void saveTaskList(TaskList taskList) throws IOException { + public void saveTaskList(TaskList taskList) { try { FileWriter fw = new FileWriter(DATA_FILEPATH); fw.write(taskList.taskListFileString()); fw.close(); } catch (IOException e) { - System.out.println("YOur data couldn't be saved"); + System.out.println("Your data couldn't be saved"); } } diff --git a/src/main/java/TaskList.java b/src/main/java/TaskList.java index d3385bd614..43166a764f 100644 --- a/src/main/java/TaskList.java +++ b/src/main/java/TaskList.java @@ -10,7 +10,7 @@ public TaskList(ArrayList taskList) { public String displayNumTasks() { String text = "\tNow you have " + this.taskList.size() + - "tasks in the list."; + " tasks in the list."; return text; } diff --git a/src/main/java/ToDo.java b/src/main/java/ToDo.java index 89af2e486b..2dc1b555b4 100644 --- a/src/main/java/ToDo.java +++ b/src/main/java/ToDo.java @@ -1,10 +1,10 @@ -class ToDo extends Task { +public class ToDo extends Task { - ToDo(String description) { + public ToDo(String description) { super(description); } - ToDo(String description, boolean isDone) { + public ToDo(String description, boolean isDone) { super(description, isDone); } diff --git a/src/main/java/Ui.java b/src/main/java/Ui.java index 951357e061..f816ad8649 100644 --- a/src/main/java/Ui.java +++ b/src/main/java/Ui.java @@ -4,10 +4,8 @@ public class Ui { private final String LINE = "------------------------------" + "----------------------------------"; - private final String WELCOME = "\tHello I'm Duke" + "!!\n" + "What do you wanna chat about today?"; - private final String EXIT = "\t Bye. Looking forward to chating " + "with you soon again!"; @@ -25,7 +23,6 @@ public void displayMessage(String message) { public void displayWelcomeMessage() { displayMessage(WELCOME); - sc.close(); } public String getUserInput() { @@ -36,6 +33,7 @@ public String getUserInput() { public void displayExitMessage() { displayMessage(EXIT); + sc.close(); } } \ No newline at end of file diff --git a/src/main/java/UnmarkCommand.java b/src/main/java/UnmarkCommand.java index dc6f6e16c9..a816c0848f 100644 --- a/src/main/java/UnmarkCommand.java +++ b/src/main/java/UnmarkCommand.java @@ -6,17 +6,13 @@ public class UnmarkCommand extends Command { private final String MESSAGE = "\tNoted! I have marked " + "the task as not done yet:"; - UnmarkCommand(int index) { + public UnmarkCommand(int index) { this.index = index; } @Override public void execute(TaskList taskList, Ui ui, Storage storage) { taskList.unmarkTask(index); - try { - storage.saveTaskList(taskList); - } catch (IOException e) { - System.out.println("Error while saving the text"); - } + storage.saveTaskList(taskList); String text = MESSAGE + "\n " + taskList.getTaskString(index); ui.displayMessage(text); } From 4384133cb8cc5a422ba8671e3dc4ab6c9a821b7a Mon Sep 17 00:00:00 2001 From: Agamjyot Singh Chadha Date: Mon, 19 Sep 2022 22:28:50 +0800 Subject: [PATCH 23/75] Finished A-Packages --- src/main/java/ChatBot.java | 159 ------------------ src/main/java/ChatBotException.java | 8 - src/main/java/{ => duke}/Duke.java | 81 +++++---- src/main/java/{ => duke}/DukeException.java | 2 +- .../java/{ => duke/commands}/AddCommand.java | 8 + .../java/{ => duke/commands}/Command.java | 6 + .../{ => duke/commands}/DeleteCommand.java | 8 + .../java/{ => duke/commands}/ExitCommand.java | 7 + .../java/{ => duke/commands}/ListCommand.java | 7 + .../java/{ => duke/commands}/MarkCommand.java | 7 + .../{ => duke/commands}/UnknownCommand.java | 7 + .../{ => duke/commands}/UnmarkCommand.java | 7 + src/main/java/{ => duke/parser}/Parser.java | 15 ++ src/main/java/{ => duke/storage}/Storage.java | 8 + src/main/java/{ => duke/tasks}/Deadline.java | 2 + src/main/java/{ => duke/tasks}/Event.java | 3 +- src/main/java/{ => duke/tasks}/Task.java | 2 + src/main/java/{ => duke/tasks}/TaskList.java | 2 + src/main/java/{ => duke/tasks}/ToDo.java | 2 + src/main/java/{ => duke/ui}/Ui.java | 4 +- 20 files changed, 139 insertions(+), 206 deletions(-) delete mode 100644 src/main/java/ChatBot.java delete mode 100644 src/main/java/ChatBotException.java rename src/main/java/{ => duke}/Duke.java (79%) rename src/main/java/{ => duke}/DukeException.java (89%) rename src/main/java/{ => duke/commands}/AddCommand.java (80%) rename src/main/java/{ => duke/commands}/Command.java (59%) rename src/main/java/{ => duke/commands}/DeleteCommand.java (79%) rename src/main/java/{ => duke/commands}/ExitCommand.java (71%) rename src/main/java/{ => duke/commands}/ListCommand.java (67%) rename src/main/java/{ => duke/commands}/MarkCommand.java (83%) rename src/main/java/{ => duke/commands}/UnknownCommand.java (74%) rename src/main/java/{ => duke/commands}/UnmarkCommand.java (83%) rename src/main/java/{ => duke/parser}/Parser.java (84%) rename src/main/java/{ => duke/storage}/Storage.java (92%) rename src/main/java/{ => duke/tasks}/Deadline.java (97%) rename src/main/java/{ => duke/tasks}/Event.java (97%) rename src/main/java/{ => duke/tasks}/Task.java (97%) rename src/main/java/{ => duke/tasks}/TaskList.java (98%) rename src/main/java/{ => duke/tasks}/ToDo.java (94%) rename src/main/java/{ => duke/ui}/Ui.java (91%) diff --git a/src/main/java/ChatBot.java b/src/main/java/ChatBot.java deleted file mode 100644 index 9cedcdd185..0000000000 --- a/src/main/java/ChatBot.java +++ /dev/null @@ -1,159 +0,0 @@ -import java.util.ArrayList; -import java.io.FileNotFoundException; -import java.io.IOException; - -class ChatBot { - - private final String LINE = "------------------------------" + - "----------------------------------"; - - private String name; - private ArrayList taskList; - private Storage taskStorage; - - - ChatBot(String name, Storage taskStorage) { - - this.name = name; - this.taskStorage = taskStorage; - try { - this.taskList = taskStorage.convertToTaskList(); - } catch(FileNotFoundException e) { - try { - this.taskStorage.createDataFile(); - } catch(IOException io) { - echo(io.getMessage()); - } - this.taskList = new ArrayList(); - } - - } - - public void greet() { - - System.out.println(LINE + "\n\t Hello I'm " + name + "!!\n" + - "What do you wanna chat about today?\n" + LINE); - } - - public void addTask(Task task) { - - this.taskList.add(task); - System.out.println(LINE + "\n\tGot it. I just added the " + - "task:\n\t\t" + task + "\n\tNow you have " + - "" + this.taskList.size() + " tasks in the list\n" + LINE); - } - - public void printTasks() { - - System.out.println(LINE); - - if(this.taskList.size() == 0) { - - System.out.println("You currently have no tasks"); - } else { - - for (int i = 0; i < this.taskList.size(); i++) { - - System.out.println("\t" + (i + 1) + ". " + this.taskList.get(i)); - } - } - System.out.println(LINE); - } - - public void markDone(int index) { - - this.taskList.get(index).done(true); - System.out.println(LINE + "\n\tExcellent! I have marked " + - "the task as done:\n\t" + this.taskList.get(index) - + "\n" + LINE); - } - - public void markUndone(int index) { - - this.taskList.get(index).done(false); - System.out.println(LINE + "\n\tNoted! I have marked " + - "the task as not done yet:\n\t" - + this.taskList.get(index) + "\n" + LINE); - } - - public void deleteTask(int index) { - - System.out.println(LINE + "\n\tNoted. I've remove this task:" + - this.taskList.get(index)); - this.taskList.remove(index); - System.out.println("\t Now you have " + this.taskList.size() + " " + - "tasks in the list.\n" + LINE); - } - - public void echo(String input) { - - System.out.println(LINE + "\n\t" + input + "\n" + LINE); - } - - public void bye() { - - System.out.println(LINE + "\n\t Bye. Looking forward to chating " + - "with you soon again!\n" + LINE); - } - - public boolean executeCommand(String command) throws ChatBotException{ - - String[] input = command.split(" ", 2); - - String commandType = input[0].toLowerCase(); - -// System.out.println(command); - - switch (commandType) { - - case "bye": - bye(); - return true; - - case "list": - printTasks(); - break; - - case "mark": - markDone(Integer.parseInt(input[1]) - 1); - break; - - case "unmark": - markUndone(Integer.parseInt(input[1]) - 1); - break; - - case "deadline": - String[] deadline = input[1].split(" /by "); - addTask(new Deadline(deadline[0], deadline[1])); - break; - - case "event": - String[] event = input[1].split(" /at "); - addTask(new Event(event[0], event[1])); - break; - - case "todo": - addTask(new Task(input[1])); - break; - - case "delete": - deleteTask(Integer.parseInt(input[1]) - 1); - break; - - default: - throw new ChatBotException("I am sorry, but I don't " + - "understand this command"); - - } - - try { - taskStorage.saveTaskList(this.taskList); - } catch (IOException e) { - echo(e.getMessage()); - } - - return false; - - } - -} \ No newline at end of file diff --git a/src/main/java/ChatBotException.java b/src/main/java/ChatBotException.java deleted file mode 100644 index 2d5ade523c..0000000000 --- a/src/main/java/ChatBotException.java +++ /dev/null @@ -1,8 +0,0 @@ -class ChatBotException extends Exception { - - ChatBotException(String message) { - - super(message); - } - -} \ No newline at end of file diff --git a/src/main/java/Duke.java b/src/main/java/duke/Duke.java similarity index 79% rename from src/main/java/Duke.java rename to src/main/java/duke/Duke.java index 23e4a4394a..51c2987fd4 100644 --- a/src/main/java/Duke.java +++ b/src/main/java/duke/Duke.java @@ -1,36 +1,45 @@ -import java.io.FileNotFoundException; -import java.io.IOException; -import java.util.Scanner; -import java.util.ArrayList; - -public class Duke { - - private Ui ui; - private Storage storage; - private TaskList taskList; - - public Duke() { - ui = new Ui(); - storage = new Storage(); - taskList = new TaskList(storage.convertToTaskList()); - } - - public void run() { - ui.displayWelcomeMessage(); - boolean isExit = false; - while(!isExit) { - String userInput = ui.getUserInput(); - Command command = Parser.parse(userInput); - command.execute(taskList, ui, storage); - isExit = command.isExit(); - - } - } - - public static void main(String[] args) { - - new Duke().run(); - } - - -} +package duke; + +import duke.commands.Command; +import duke.parser.Parser; +import duke.tasks.Task; +import duke.ui.Ui; +import duke.storage.Storage; +import duke.tasks.TaskList; + +import java.io.FileNotFoundException; +import java.io.IOException; +import java.util.Scanner; +import java.util.ArrayList; + +public class Duke { + + private Ui ui; + private Storage storage; + private TaskList taskList; + + public Duke() { + ui = new Ui(); + storage = new Storage(); + taskList = new TaskList(storage.convertToTaskList()); + } + + public void run() { + ui.displayWelcomeMessage(); + boolean isExit = false; + while(!isExit) { + String userInput = ui.getUserInput(); + Command command = Parser.parse(userInput); + command.execute(taskList, ui, storage); + isExit = command.isExit(); + + } + } + + public static void main(String[] args) { + + new Duke().run(); + } + + +} diff --git a/src/main/java/DukeException.java b/src/main/java/duke/DukeException.java similarity index 89% rename from src/main/java/DukeException.java rename to src/main/java/duke/DukeException.java index 7d7525a790..82d3a5ac1f 100644 --- a/src/main/java/DukeException.java +++ b/src/main/java/duke/DukeException.java @@ -1,4 +1,4 @@ - +package duke; public class DukeException extends Exception { diff --git a/src/main/java/AddCommand.java b/src/main/java/duke/commands/AddCommand.java similarity index 80% rename from src/main/java/AddCommand.java rename to src/main/java/duke/commands/AddCommand.java index 112c52c475..1aa4a184a9 100644 --- a/src/main/java/AddCommand.java +++ b/src/main/java/duke/commands/AddCommand.java @@ -1,3 +1,11 @@ +package duke.commands; + +import duke.DukeException; +import duke.storage.Storage; +import duke.tasks.TaskList; +import duke.tasks.Task; +import duke.ui.Ui; + import java.io.IOException; public class AddCommand extends Command { diff --git a/src/main/java/Command.java b/src/main/java/duke/commands/Command.java similarity index 59% rename from src/main/java/Command.java rename to src/main/java/duke/commands/Command.java index 48bcf073d3..4887003f52 100644 --- a/src/main/java/Command.java +++ b/src/main/java/duke/commands/Command.java @@ -1,3 +1,9 @@ +package duke.commands; + +import duke.tasks.TaskList; +import duke.ui.Ui; +import duke.storage.Storage; + public abstract class Command { public abstract void execute(TaskList tasks, Ui ui, Storage storage); diff --git a/src/main/java/DeleteCommand.java b/src/main/java/duke/commands/DeleteCommand.java similarity index 79% rename from src/main/java/DeleteCommand.java rename to src/main/java/duke/commands/DeleteCommand.java index 754e4a305b..e3124a53a1 100644 --- a/src/main/java/DeleteCommand.java +++ b/src/main/java/duke/commands/DeleteCommand.java @@ -1,3 +1,10 @@ +package duke.commands; + +import duke.storage.Storage; +import duke.tasks.TaskList; +import duke.tasks.Task; +import duke.ui.Ui; + import java.io.IOException; public class DeleteCommand extends Command { @@ -15,6 +22,7 @@ public void execute(TaskList taskList, Ui ui, Storage storage) { storage.saveTaskList(taskList); String text = MESSAGE + "\n\t" + task.toString() + "\n" + taskList.displayNumTasks(); + ui.displayMessage(text); } @Override diff --git a/src/main/java/ExitCommand.java b/src/main/java/duke/commands/ExitCommand.java similarity index 71% rename from src/main/java/ExitCommand.java rename to src/main/java/duke/commands/ExitCommand.java index 5b82128c31..ea6b7ca1c7 100644 --- a/src/main/java/ExitCommand.java +++ b/src/main/java/duke/commands/ExitCommand.java @@ -1,3 +1,10 @@ +package duke.commands; + +import duke.storage.Storage; +import duke.tasks.TaskList; +import duke.tasks.Task; +import duke.ui.Ui; + import java.io.IOException; public class ExitCommand extends Command { diff --git a/src/main/java/ListCommand.java b/src/main/java/duke/commands/ListCommand.java similarity index 67% rename from src/main/java/ListCommand.java rename to src/main/java/duke/commands/ListCommand.java index 5f6c09629c..7574e17172 100644 --- a/src/main/java/ListCommand.java +++ b/src/main/java/duke/commands/ListCommand.java @@ -1,3 +1,10 @@ +package duke.commands; + +import duke.storage.Storage; +import duke.tasks.TaskList; +import duke.tasks.Task; +import duke.ui.Ui; + public class ListCommand extends Command { @Override diff --git a/src/main/java/MarkCommand.java b/src/main/java/duke/commands/MarkCommand.java similarity index 83% rename from src/main/java/MarkCommand.java rename to src/main/java/duke/commands/MarkCommand.java index a5444e9ff2..012c1e0a8f 100644 --- a/src/main/java/MarkCommand.java +++ b/src/main/java/duke/commands/MarkCommand.java @@ -1,3 +1,10 @@ +package duke.commands; + +import duke.storage.Storage; +import duke.tasks.TaskList; +import duke.tasks.Task; +import duke.ui.Ui; + import java.io.IOException; public class MarkCommand extends Command { diff --git a/src/main/java/UnknownCommand.java b/src/main/java/duke/commands/UnknownCommand.java similarity index 74% rename from src/main/java/UnknownCommand.java rename to src/main/java/duke/commands/UnknownCommand.java index 8a425fd5fb..4211d8129b 100644 --- a/src/main/java/UnknownCommand.java +++ b/src/main/java/duke/commands/UnknownCommand.java @@ -1,3 +1,10 @@ +package duke.commands; + +import duke.storage.Storage; +import duke.tasks.TaskList; +import duke.tasks.Task; +import duke.ui.Ui; + public class UnknownCommand extends Command { private static final String MESSAGE = "\tI am sorry, but I do " + diff --git a/src/main/java/UnmarkCommand.java b/src/main/java/duke/commands/UnmarkCommand.java similarity index 83% rename from src/main/java/UnmarkCommand.java rename to src/main/java/duke/commands/UnmarkCommand.java index a816c0848f..5a654ee852 100644 --- a/src/main/java/UnmarkCommand.java +++ b/src/main/java/duke/commands/UnmarkCommand.java @@ -1,3 +1,10 @@ +package duke.commands; + +import duke.storage.Storage; +import duke.tasks.TaskList; +import duke.tasks.Task; +import duke.ui.Ui; + import java.io.IOException; public class UnmarkCommand extends Command { diff --git a/src/main/java/Parser.java b/src/main/java/duke/parser/Parser.java similarity index 84% rename from src/main/java/Parser.java rename to src/main/java/duke/parser/Parser.java index 4732a9e133..a80a9620e3 100644 --- a/src/main/java/Parser.java +++ b/src/main/java/duke/parser/Parser.java @@ -1,3 +1,18 @@ +package duke.parser; + +import duke.DukeException; +import duke.commands.Command; +import duke.commands.AddCommand; +import duke.commands.DeleteCommand; +import duke.commands.ExitCommand; +import duke.commands.ListCommand; +import duke.commands.MarkCommand; +import duke.commands.UnknownCommand; +import duke.commands.UnmarkCommand; +import duke.tasks.Deadline; +import duke.tasks.Event; +import duke.tasks.ToDo; + import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; diff --git a/src/main/java/Storage.java b/src/main/java/duke/storage/Storage.java similarity index 92% rename from src/main/java/Storage.java rename to src/main/java/duke/storage/Storage.java index e5913d1739..a86f9389a7 100644 --- a/src/main/java/Storage.java +++ b/src/main/java/duke/storage/Storage.java @@ -1,3 +1,11 @@ +package duke.storage; + +import duke.DukeException; +import duke.tasks.Deadline; +import duke.tasks.Event; +import duke.tasks.Task; +import duke.tasks.TaskList; +import duke.tasks.ToDo; import java.io.File; import java.io.FileNotFoundException; diff --git a/src/main/java/Deadline.java b/src/main/java/duke/tasks/Deadline.java similarity index 97% rename from src/main/java/Deadline.java rename to src/main/java/duke/tasks/Deadline.java index fd042bbaf5..e996e9cdeb 100644 --- a/src/main/java/Deadline.java +++ b/src/main/java/duke/tasks/Deadline.java @@ -1,3 +1,5 @@ +package duke.tasks; + import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; diff --git a/src/main/java/Event.java b/src/main/java/duke/tasks/Event.java similarity index 97% rename from src/main/java/Event.java rename to src/main/java/duke/tasks/Event.java index 19ccc906c7..7c2bb1c79b 100644 --- a/src/main/java/Event.java +++ b/src/main/java/duke/tasks/Event.java @@ -1,7 +1,8 @@ +package duke.tasks; + import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; - public class Event extends Task { private LocalDateTime eventAt; diff --git a/src/main/java/Task.java b/src/main/java/duke/tasks/Task.java similarity index 97% rename from src/main/java/Task.java rename to src/main/java/duke/tasks/Task.java index 4b04287c59..ccc16e7358 100644 --- a/src/main/java/Task.java +++ b/src/main/java/duke/tasks/Task.java @@ -1,3 +1,5 @@ +package duke.tasks; + public class Task { protected String description; diff --git a/src/main/java/TaskList.java b/src/main/java/duke/tasks/TaskList.java similarity index 98% rename from src/main/java/TaskList.java rename to src/main/java/duke/tasks/TaskList.java index 43166a764f..ce9d30c40c 100644 --- a/src/main/java/TaskList.java +++ b/src/main/java/duke/tasks/TaskList.java @@ -1,3 +1,5 @@ +package duke.tasks; + import java.util.ArrayList; public class TaskList { diff --git a/src/main/java/ToDo.java b/src/main/java/duke/tasks/ToDo.java similarity index 94% rename from src/main/java/ToDo.java rename to src/main/java/duke/tasks/ToDo.java index 2dc1b555b4..1acf1d8450 100644 --- a/src/main/java/ToDo.java +++ b/src/main/java/duke/tasks/ToDo.java @@ -1,3 +1,5 @@ +package duke.tasks; + public class ToDo extends Task { public ToDo(String description) { diff --git a/src/main/java/Ui.java b/src/main/java/duke/ui/Ui.java similarity index 91% rename from src/main/java/Ui.java rename to src/main/java/duke/ui/Ui.java index f816ad8649..7e5bc3f689 100644 --- a/src/main/java/Ui.java +++ b/src/main/java/duke/ui/Ui.java @@ -1,3 +1,5 @@ +package duke.ui; + import java.util.Scanner; public class Ui { @@ -26,7 +28,7 @@ public void displayWelcomeMessage() { } public String getUserInput() { - System.out.println("Enter command: "); + System.out.println("Please enter your command below: "); String userInput = sc.nextLine(); return userInput; } From 442ea6cb08542095268774ffc5d805d2dae1519d Mon Sep 17 00:00:00 2001 From: Agamjyot Singh Chadha Date: Mon, 19 Sep 2022 23:24:32 +0800 Subject: [PATCH 24/75] Add FindCommand.java --- src/main/java/duke/commands/FindCommand.java | 29 ++++++++++++++++++++ src/main/java/duke/parser/Parser.java | 16 +++++------ src/main/java/duke/tasks/TaskList.java | 10 +++++++ 3 files changed, 46 insertions(+), 9 deletions(-) create mode 100644 src/main/java/duke/commands/FindCommand.java diff --git a/src/main/java/duke/commands/FindCommand.java b/src/main/java/duke/commands/FindCommand.java new file mode 100644 index 0000000000..a7bbe18f71 --- /dev/null +++ b/src/main/java/duke/commands/FindCommand.java @@ -0,0 +1,29 @@ +package duke.commands; + +import duke.storage.Storage; +import duke.tasks.TaskList; +import duke.tasks.Task; +import duke.ui.Ui; + +public class FindCommand extends Command { + + protected String search; + private static final String MESSAGE = "\tHere are the mathces from " + + "your list"; + + public FindCommand(String search) { + this.search = search; + } + + @Override + public void execute(TaskList taskList, Ui ui, Storage storage) { + TaskList searchMatchList = new TaskList(taskList.findTasks(search)); + ui.displayMessage(searchMatchList.taskListString()); + } + + @Override + public boolean isExit() { + return false; + } + +} \ No newline at end of file diff --git a/src/main/java/duke/parser/Parser.java b/src/main/java/duke/parser/Parser.java index a80a9620e3..5929c7e0d3 100644 --- a/src/main/java/duke/parser/Parser.java +++ b/src/main/java/duke/parser/Parser.java @@ -1,14 +1,7 @@ package duke.parser; import duke.DukeException; -import duke.commands.Command; -import duke.commands.AddCommand; -import duke.commands.DeleteCommand; -import duke.commands.ExitCommand; -import duke.commands.ListCommand; -import duke.commands.MarkCommand; -import duke.commands.UnknownCommand; -import duke.commands.UnmarkCommand; +import duke.commands.*; import duke.tasks.Deadline; import duke.tasks.Event; import duke.tasks.ToDo; @@ -41,6 +34,8 @@ public static Command parse(String command) { return parseToDo(input); case "delete": return parseDelete(input); + case "find": + return parseFind(input); default: return new UnknownCommand(); } @@ -79,5 +74,8 @@ private static Command parseToDo(String[] input) { return new AddCommand(new ToDo(description)); } - + private static Command parseFind(String[] input) { + String search = input[1]; + return new FindCommand(search); + } } \ No newline at end of file diff --git a/src/main/java/duke/tasks/TaskList.java b/src/main/java/duke/tasks/TaskList.java index ce9d30c40c..4fe09c3ecd 100644 --- a/src/main/java/duke/tasks/TaskList.java +++ b/src/main/java/duke/tasks/TaskList.java @@ -63,4 +63,14 @@ public String getTaskString(int index) { return this.taskList.get(index).toString(); } + public ArrayList findTasks(String search) { + ArrayList searchMatchList = new ArrayList(); + for(Task task : taskList) { + if (task.getDescription().contains(search)) { + searchMatchList.add(task); + } + } + return searchMatchList; + } + } \ No newline at end of file From 056eb0ab95c76963cdbf5fbd2575d2f00598ab45 Mon Sep 17 00:00:00 2001 From: Agamjyot Singh Chadha Date: Mon, 19 Sep 2022 23:47:45 +0800 Subject: [PATCH 25/75] Follow coding standard --- src/main/java/duke/parser/Parser.java | 37 ++++++++++++------------- src/main/java/duke/storage/Storage.java | 22 +++++++-------- 2 files changed, 29 insertions(+), 30 deletions(-) diff --git a/src/main/java/duke/parser/Parser.java b/src/main/java/duke/parser/Parser.java index a80a9620e3..b3cb7fc58c 100644 --- a/src/main/java/duke/parser/Parser.java +++ b/src/main/java/duke/parser/Parser.java @@ -24,25 +24,24 @@ public static Command parse(String command) { String commandType = input[0].toLowerCase(); switch (commandType) { - - case "bye": - return new ExitCommand(); - case "list": - return new ListCommand(); - case "mark": - return parseMark(input); - case "unmark": - return parseUnmark(input); - case "deadline": - return parseDeadline(input); - case "event": - return parseEvent(input); - case "todo": - return parseToDo(input); - case "delete": - return parseDelete(input); - default: - return new UnknownCommand(); + case "bye": + return new ExitCommand(); + case "list": + return new ListCommand(); + case "mark": + return parseMark(input); + case "unmark": + return parseUnmark(input); + case "deadline": + return parseDeadline(input); + case "event": + return parseEvent(input); + case "todo": + return parseToDo(input); + case "delete": + return parseDelete(input); + default: + return new UnknownCommand(); } } diff --git a/src/main/java/duke/storage/Storage.java b/src/main/java/duke/storage/Storage.java index a86f9389a7..9bb119289a 100644 --- a/src/main/java/duke/storage/Storage.java +++ b/src/main/java/duke/storage/Storage.java @@ -48,17 +48,17 @@ public ArrayList convertToTaskList() { switch (description[0]) { - case "T": - taskList.add(new ToDo(description[2], isDone)); - break; - case "D": - taskList.add(new Deadline(description[2], isDone, description[3])); - break; - case "E": - taskList.add(new Event(description[2], isDone, description[3])); - break; - default: - break; + case "T": + taskList.add(new ToDo(description[2], isDone)); + break; + case "D": + taskList.add(new Deadline(description[2], isDone, description[3])); + break; + case "E": + taskList.add(new Event(description[2], isDone, description[3])); + break; + default: + break; } } } catch(FileNotFoundException e) { From 42706f7a41c5be238cf41c095be988e2cf38db9f Mon Sep 17 00:00:00 2001 From: Agamjyot Singh Chadha Date: Tue, 20 Sep 2022 00:20:08 +0800 Subject: [PATCH 26/75] Add JavaDocs --- src/main/java/duke/Duke.java | 9 +++++++++ src/main/java/duke/DukeException.java | 3 +++ src/main/java/duke/commands/AddCommand.java | 8 ++++++++ src/main/java/duke/commands/DeleteCommand.java | 8 ++++++++ src/main/java/duke/commands/ExitCommand.java | 3 +++ src/main/java/duke/commands/ListCommand.java | 3 +++ src/main/java/duke/commands/MarkCommand.java | 8 ++++++++ src/main/java/duke/commands/UnknownCommand.java | 4 ++++ src/main/java/duke/commands/UnmarkCommand.java | 8 ++++++++ src/main/java/duke/parser/Parser.java | 10 ++++++++++ src/main/java/duke/storage/Storage.java | 17 +++++++++++++++++ 11 files changed, 81 insertions(+) diff --git a/src/main/java/duke/Duke.java b/src/main/java/duke/Duke.java index 51c2987fd4..32350efcc6 100644 --- a/src/main/java/duke/Duke.java +++ b/src/main/java/duke/Duke.java @@ -12,18 +12,27 @@ import java.util.Scanner; import java.util.ArrayList; +/** + * Initalises and runs the duke program + */ public class Duke { private Ui ui; private Storage storage; private TaskList taskList; + /** + * Set up the Ui, Storage and TaskList + */ public Duke() { ui = new Ui(); storage = new Storage(); taskList = new TaskList(storage.convertToTaskList()); } + /** + * Runs the program unitl exit is issued + */ public void run() { ui.displayWelcomeMessage(); boolean isExit = false; diff --git a/src/main/java/duke/DukeException.java b/src/main/java/duke/DukeException.java index 82d3a5ac1f..b0c5beaa5f 100644 --- a/src/main/java/duke/DukeException.java +++ b/src/main/java/duke/DukeException.java @@ -1,5 +1,8 @@ package duke; +/** + * Represents an error that might occur during the programs execution. + */ public class DukeException extends Exception { public DukeException(String message) { diff --git a/src/main/java/duke/commands/AddCommand.java b/src/main/java/duke/commands/AddCommand.java index 1aa4a184a9..6b20afa858 100644 --- a/src/main/java/duke/commands/AddCommand.java +++ b/src/main/java/duke/commands/AddCommand.java @@ -8,12 +8,20 @@ import java.io.IOException; +/** + * Adds a task to the tasklist. + */ public class AddCommand extends Command { protected Task task; private final String MESSAGE = "\tGot it. I just added the " + "task: "; + /** + * Constructs an add command + * + * @param task the task to be added + */ public AddCommand(Task task) { this.task = task; } diff --git a/src/main/java/duke/commands/DeleteCommand.java b/src/main/java/duke/commands/DeleteCommand.java index e3124a53a1..b88b44f82d 100644 --- a/src/main/java/duke/commands/DeleteCommand.java +++ b/src/main/java/duke/commands/DeleteCommand.java @@ -7,11 +7,19 @@ import java.io.IOException; +/** + * Deletes a command from the tasklist. + */ public class DeleteCommand extends Command { protected int index; private final String MESSAGE = "\tNoted. I've remove this task: "; + /** + * Constructs a delete command + * + * @param index index of the task to be deleted + */ public DeleteCommand(int index) { this.index = index; } diff --git a/src/main/java/duke/commands/ExitCommand.java b/src/main/java/duke/commands/ExitCommand.java index ea6b7ca1c7..854e59c39a 100644 --- a/src/main/java/duke/commands/ExitCommand.java +++ b/src/main/java/duke/commands/ExitCommand.java @@ -7,6 +7,9 @@ import java.io.IOException; +/** + * Exits the program execution + */ public class ExitCommand extends Command { diff --git a/src/main/java/duke/commands/ListCommand.java b/src/main/java/duke/commands/ListCommand.java index 7574e17172..fd14e79658 100644 --- a/src/main/java/duke/commands/ListCommand.java +++ b/src/main/java/duke/commands/ListCommand.java @@ -5,6 +5,9 @@ import duke.tasks.Task; import duke.ui.Ui; +/** + * Represents the list of task in the task list + */ public class ListCommand extends Command { @Override diff --git a/src/main/java/duke/commands/MarkCommand.java b/src/main/java/duke/commands/MarkCommand.java index 012c1e0a8f..28a487c3c3 100644 --- a/src/main/java/duke/commands/MarkCommand.java +++ b/src/main/java/duke/commands/MarkCommand.java @@ -7,12 +7,20 @@ import java.io.IOException; +/** + * Sets a task in the list as done + */ public class MarkCommand extends Command { protected int index; private final String MESSAGE = "\tExcellent! I have marked " + "the task as done: "; + /** + * Constrcuts a mark command + * + * @param index index of the task in the task list to be marked as done + */ public MarkCommand(int index) { this.index = index; } diff --git a/src/main/java/duke/commands/UnknownCommand.java b/src/main/java/duke/commands/UnknownCommand.java index 4211d8129b..b6aac64d27 100644 --- a/src/main/java/duke/commands/UnknownCommand.java +++ b/src/main/java/duke/commands/UnknownCommand.java @@ -5,6 +5,10 @@ import duke.tasks.Task; import duke.ui.Ui; +/** + * Represents an unknown command for an + * input command that is not recognised + */ public class UnknownCommand extends Command { private static final String MESSAGE = "\tI am sorry, but I do " + diff --git a/src/main/java/duke/commands/UnmarkCommand.java b/src/main/java/duke/commands/UnmarkCommand.java index 5a654ee852..c54b290374 100644 --- a/src/main/java/duke/commands/UnmarkCommand.java +++ b/src/main/java/duke/commands/UnmarkCommand.java @@ -7,12 +7,20 @@ import java.io.IOException; +/** + * Sets a task as not done in the task list + */ public class UnmarkCommand extends Command { protected int index; private final String MESSAGE = "\tNoted! I have marked " + "the task as not done yet:"; + /** + * Construct an unmark command + * + * @param index index of the task to marked as not done in task list + */ public UnmarkCommand(int index) { this.index = index; } diff --git a/src/main/java/duke/parser/Parser.java b/src/main/java/duke/parser/Parser.java index a80a9620e3..84e014e41d 100644 --- a/src/main/java/duke/parser/Parser.java +++ b/src/main/java/duke/parser/Parser.java @@ -16,8 +16,18 @@ import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; +/** + * Represents a parser to extract information + * from user input + */ public class Parser { + /** + * Parses the user input into various commands + * + * @param command a string representing the user input + * @return A command corresponding to the user input + */ public static Command parse(String command) { String[] input = command.split(" ", 2); diff --git a/src/main/java/duke/storage/Storage.java b/src/main/java/duke/storage/Storage.java index a86f9389a7..2d6de8a524 100644 --- a/src/main/java/duke/storage/Storage.java +++ b/src/main/java/duke/storage/Storage.java @@ -16,11 +16,19 @@ import java.util.Date; import java.util.Scanner; +/** + * Represents a class to store the task list in a text file. + */ public class Storage { private final File DATA_DIRECTORY = new File("/data"); private final File DATA_FILEPATH = new File("data/duke.txt"); + /** + * Constructs a storage to store the text file + * + * @throws IOException if there is an error in creating the file + */ public Storage() { if(!DATA_DIRECTORY.exists()) { DATA_DIRECTORY.mkdir(); @@ -33,6 +41,10 @@ public Storage() { } } + /** + * Retrives the task stored in the text file + * @returns a list of task stored in an arraylist. + */ public ArrayList convertToTaskList() { ArrayList taskList = new ArrayList(); @@ -70,6 +82,11 @@ public ArrayList convertToTaskList() { } + /** + * Stores the task in task list in a text file + * @param taskList the list of tasks in the tasklist array . + * @throws IOException when there is an error while writing to the text file. + */ public void saveTaskList(TaskList taskList) { try { From 4f3d6e9174dcee202f19d1758f21414cb2aa1b6b Mon Sep 17 00:00:00 2001 From: Agamjyot Singh Chadha Date: Thu, 22 Sep 2022 03:23:06 +0800 Subject: [PATCH 27/75] Add gradle --- build.gradle | 46 ++++++ data/duke.txt | 0 gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 58695 bytes gradle/wrapper/gradle-wrapper.properties | 5 + gradlew | 183 +++++++++++++++++++++++ gradlew.bat | 103 +++++++++++++ 6 files changed, 337 insertions(+) create mode 100644 build.gradle create mode 100644 data/duke.txt create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100644 gradlew create mode 100644 gradlew.bat diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000000..dda938027d --- /dev/null +++ b/build.gradle @@ -0,0 +1,46 @@ +plugins { + id 'java' + id 'application' + id 'checkstyle' + id 'com.github.johnrengelman.shadow' version '5.1.0' +} + +repositories { + mavenCentral() +} + +dependencies { + testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: '5.5.0' + testRuntimeOnly group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '5.5.0' +} + +test { + useJUnitPlatform() + + testLogging { + events "passed", "skipped", "failed" + + showExceptions true + exceptionFormat "full" + showCauses true + showStackTraces true + showStandardStreams = false + } +} + +application { + mainClassName = "duke.Duke" +} + +shadowJar { + archiveBaseName = "duke" + archiveClassifier = null +} + +checkstyle { + toolVersion = '8.29' +} + +run{ + standardInput = System.in +} diff --git a/data/duke.txt b/data/duke.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..f3d88b1c2faf2fc91d853cd5d4242b5547257070 GIT binary patch literal 58695 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 literal 0 HcmV?d00001 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000000..b7c8c5dbf5 --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-6.2-bin.zip +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew new file mode 100644 index 0000000000..2fe81a7d95 --- /dev/null +++ b/gradlew @@ -0,0 +1,183 @@ +#!/usr/bin/env sh + +# +# Copyright 2015 the original author or authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn () { + echo "$*" +} + +die () { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin or MSYS, switch paths to Windows format before running java +if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=`expr $i + 1` + done + case $i in + 0) set -- ;; + 1) set -- "$args0" ;; + 2) set -- "$args0" "$args1" ;; + 3) set -- "$args0" "$args1" "$args2" ;; + 4) set -- "$args0" "$args1" "$args2" "$args3" ;; + 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " +} +APP_ARGS=`save "$@"` + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 0000000000..62bd9b9cce --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,103 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windows variants + +if not "%OS%" == "Windows_NT" goto win9xME_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega From c0827d8a2673bb7ab110bb0c8d2f34ad57b6cbbc Mon Sep 17 00:00:00 2001 From: Agamjyot Singh Chadha Date: Thu, 22 Sep 2022 04:09:23 +0800 Subject: [PATCH 28/75] Add JUnit Test --- test/java/duke/tasks/TaskListTest.java | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 test/java/duke/tasks/TaskListTest.java diff --git a/test/java/duke/tasks/TaskListTest.java b/test/java/duke/tasks/TaskListTest.java new file mode 100644 index 0000000000..f6f6d396ab --- /dev/null +++ b/test/java/duke/tasks/TaskListTest.java @@ -0,0 +1,25 @@ +package duke.tasks; + +import org.junit.jupiter.api.Test; +import static org.junit.jupiter.api.Assertions.assertEquals; +import java.util.ArrayList; + +public class TaskListTest { + + @Test + public void printTaskList_nonEmptyList() { + TaskList t = new TaskList(new ArrayList()); + t.addTask(new ToDo("Hello world")); + assertEquals("Here are the task(s) in your list:\n" + " 1. [T][ ] Hello world", + t.taskListString()); + } + + @Test + public void printTaskList_emptyList() { + TaskList t = new TaskList(new ArrayList()); + assertEquals("You currently have no tasks", + t.taskListString()); + } + + +} \ No newline at end of file From 7b9bab4b0d81929b74a2d213614ca4826728f044 Mon Sep 17 00:00:00 2001 From: Agamjyot Singh Chadha Date: Thu, 22 Sep 2022 15:27:39 +0800 Subject: [PATCH 29/75] Update build.gradle --- build.gradle | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/build.gradle b/build.gradle index dda938027d..b813f3e102 100644 --- a/build.gradle +++ b/build.gradle @@ -10,6 +10,20 @@ repositories { } dependencies { + String javaFxVersion = '11' + + implementation group: 'org.openjfx', name: 'javafx-base', version: javaFxVersion, classifier: 'win' + implementation group: 'org.openjfx', name: 'javafx-base', version: javaFxVersion, classifier: 'mac' + implementation group: 'org.openjfx', name: 'javafx-base', version: javaFxVersion, classifier: 'linux' + implementation group: 'org.openjfx', name: 'javafx-controls', version: javaFxVersion, classifier: 'win' + implementation group: 'org.openjfx', name: 'javafx-controls', version: javaFxVersion, classifier: 'mac' + implementation group: 'org.openjfx', name: 'javafx-controls', version: javaFxVersion, classifier: 'linux' + implementation group: 'org.openjfx', name: 'javafx-fxml', version: javaFxVersion, classifier: 'win' + implementation group: 'org.openjfx', name: 'javafx-fxml', version: javaFxVersion, classifier: 'mac' + implementation group: 'org.openjfx', name: 'javafx-fxml', version: javaFxVersion, classifier: 'linux' + implementation group: 'org.openjfx', name: 'javafx-graphics', version: javaFxVersion, classifier: 'win' + implementation group: 'org.openjfx', name: 'javafx-graphics', version: javaFxVersion, classifier: 'mac' + implementation group: 'org.openjfx', name: 'javafx-graphics', version: javaFxVersion, classifier: 'linux' testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: '5.5.0' testRuntimeOnly group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '5.5.0' } From dbf16c76c3480392a6cb591d0aa2b7749f56ac02 Mon Sep 17 00:00:00 2001 From: Agamjyot Singh Chadha Date: Thu, 22 Sep 2022 16:23:00 +0800 Subject: [PATCH 30/75] Add jar file --- .../java/duke/out/artifacts/duke_jar/duke.jar | Bin 0 -> 21423 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/main/java/duke/out/artifacts/duke_jar/duke.jar diff --git a/src/main/java/duke/out/artifacts/duke_jar/duke.jar b/src/main/java/duke/out/artifacts/duke_jar/duke.jar new file mode 100644 index 0000000000000000000000000000000000000000..8d49b3a5ba9dccd50479810bf90de1d799f522ef GIT binary patch literal 21423 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 Date: Thu, 22 Sep 2022 16:51:53 +0800 Subject: [PATCH 31/75] Update README.md --- docs/README.md | 103 +++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 91 insertions(+), 12 deletions(-) diff --git a/docs/README.md b/docs/README.md index 8077118ebe..d333c8efec 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,29 +1,108 @@ # User Guide +Duke is a chatbot that helps you keep track of tasks in the form of ToDo, Deadline and Event. + ## Features -### Feature-ABC +### Adding a new Task + +#### `ToDo` -Description of the feature. +This adds a new ToDo task to the list. -### Feature-XYZ +Example Usage: -Description of the feature. +``` +todo read book +``` -## Usage +#### `Deadline` -### `Keyword` - Describe action +This adds a new Deadline task to the list -Describe the action and its outcome. +Example Usage: + +``` +deadline ip /by 22/09/2022 2359 +``` + +####`Event` + +This adds a new Event task to the list + +Example Usage: + +``` +deadline meeting /at 22/09/2022 1600 +``` -Example of usage: +### Marking a task -`keyword (optional arguments)` +#### `Mark` -Expected outcome: +Marks a task as done in the task list -Description of the outcome. +Example Usage: ``` -expected output +mark 1 +``` + +#### `Unmark` + +Marks a task in the task list as not done. + +Example Usage: + +``` +unmark 1 +``` + +### Deleting a Task: + +#### `Delete` + +Deletes a task from the task list + +Example Usage: + ``` +delete 1 +``` + +### List + +List all the task in the task list + +Example Usage + +``` +list +``` + +### Searching for a Task + +#### `Find` + +Given a keyowrd, return all the tasks from the task list containing the keyword + +Example Usage: + +``` +find read +``` + +### Exit the Program + +#### `Bye` + +Terminates the execution of the program + +Example Usage + +``` +bye +``` + + + From b3af19822e33033f5887f779c1c11aaedaa5d5a5 Mon Sep 17 00:00:00 2001 From: garfield-oo7 <77141836+garfield-oo7@users.noreply.github.com> Date: Thu, 22 Sep 2022 16:52:39 +0800 Subject: [PATCH 32/75] Update User Guide --- docs/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/README.md b/docs/README.md index d333c8efec..8acd2f3bc2 100644 --- a/docs/README.md +++ b/docs/README.md @@ -26,7 +26,7 @@ Example Usage: deadline ip /by 22/09/2022 2359 ``` -####`Event` +#### `Event` This adds a new Event task to the list From 8a18dfbfae502fab1b7c2fda3bcb87ad68701dc9 Mon Sep 17 00:00:00 2001 From: garfield-oo7 <77141836+garfield-oo7@users.noreply.github.com> Date: Thu, 22 Sep 2022 17:15:04 +0800 Subject: [PATCH 33/75] Update user guide --- docs/README.md | 76 ++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 74 insertions(+), 2 deletions(-) diff --git a/docs/README.md b/docs/README.md index 8acd2f3bc2..0bac8122dc 100644 --- a/docs/README.md +++ b/docs/README.md @@ -15,6 +15,13 @@ Example Usage: ``` todo read book ``` +Expected Output + +``` + Got it. I just added the task: + [T][ ] read book + Now you have 1 tasks in the list. +``` #### `Deadline` @@ -26,6 +33,14 @@ Example Usage: deadline ip /by 22/09/2022 2359 ``` +Expected Output + +``` + Got it. I just added the task: + [D][ ] ip (by: Sep 22 2022) + Now you have 2 tasks in the list. +``` + #### `Event` This adds a new Event task to the list @@ -33,7 +48,15 @@ This adds a new Event task to the list Example Usage: ``` -deadline meeting /at 22/09/2022 1600 +event meeting /at 22/09/2022 1600 +``` + +Expected Outcome + +``` + Got it. I just added the task: + [E][ ] meeting (at: Sep 22 2022) + Now you have 2 tasks in the list. ``` ### Marking a task @@ -47,6 +70,13 @@ Example Usage: ``` mark 1 ``` +Expected Outcome + +``` + Excellent! I have marked the task as done: + [T][X] read book +``` + #### `Unmark` @@ -58,6 +88,14 @@ Example Usage: unmark 1 ``` +Expected Outcome + +``` + Excellent! I have marked the task as done: + [T][] read book +``` + + ### Deleting a Task: #### `Delete` @@ -70,6 +108,15 @@ Example Usage: delete 1 ``` +Expected Outcome + +``` + Noted. I've remove this task: + [T][X] read book + Now you have 2 tasks in the list. +``` + + ### List List all the task in the task list @@ -80,18 +127,40 @@ Example Usage list ``` +Expected Outcome + +``` + 1. [E][ ] meeting (at: Sep 22 2022) + 2. [D][ ] ip (by: Sep 22 2022) +``` + + ### Searching for a Task #### `Find` Given a keyowrd, return all the tasks from the task list containing the keyword + +Filling up the task list +``` +todo read book +todo write book +todo understand book +``` + Example Usage: ``` find read ``` +Expected Outcome: + +``` +[T][] read book +``` + ### Exit the Program #### `Bye` @@ -103,6 +172,9 @@ Example Usage ``` bye ``` - +Expected Outcome +``` +Bye. Looking forward to chating with you soon again! +``` From 4cea6b7c904417ba187dc479bc01d1d31fc9faaf Mon Sep 17 00:00:00 2001 From: Agamjyot Singh Chadha Date: Thu, 22 Sep 2022 22:59:46 +0800 Subject: [PATCH 34/75] Fix bug in Event command --- src/main/java/duke/out/production/duke/.idea/.gitignore | 3 +++ .../duke/out/production/duke/.idea/artifacts/duke_jar.xml | 8 ++++++++ src/main/java/duke/out/production/duke/.idea/misc.xml | 6 ++++++ src/main/java/duke/out/production/duke/.idea/modules.xml | 8 ++++++++ src/main/java/duke/out/production/duke/.idea/vcs.xml | 6 ++++++ .../java/duke/out/production/duke/META-INF/MANIFEST.MF | 3 +++ src/main/java/duke/parser/Parser.java | 6 ++++-- 7 files changed, 38 insertions(+), 2 deletions(-) create mode 100644 src/main/java/duke/out/production/duke/.idea/.gitignore create mode 100644 src/main/java/duke/out/production/duke/.idea/artifacts/duke_jar.xml create mode 100644 src/main/java/duke/out/production/duke/.idea/misc.xml create mode 100644 src/main/java/duke/out/production/duke/.idea/modules.xml create mode 100644 src/main/java/duke/out/production/duke/.idea/vcs.xml create mode 100644 src/main/java/duke/out/production/duke/META-INF/MANIFEST.MF diff --git a/src/main/java/duke/out/production/duke/.idea/.gitignore b/src/main/java/duke/out/production/duke/.idea/.gitignore new file mode 100644 index 0000000000..26d33521af --- /dev/null +++ b/src/main/java/duke/out/production/duke/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/src/main/java/duke/out/production/duke/.idea/artifacts/duke_jar.xml b/src/main/java/duke/out/production/duke/.idea/artifacts/duke_jar.xml new file mode 100644 index 0000000000..4b9713410b --- /dev/null +++ b/src/main/java/duke/out/production/duke/.idea/artifacts/duke_jar.xml @@ -0,0 +1,8 @@ + + + $PROJECT_DIR$/out/artifacts/duke_jar + + + + + \ No newline at end of file diff --git a/src/main/java/duke/out/production/duke/.idea/misc.xml b/src/main/java/duke/out/production/duke/.idea/misc.xml new file mode 100644 index 0000000000..1763e153b6 --- /dev/null +++ b/src/main/java/duke/out/production/duke/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/main/java/duke/out/production/duke/.idea/modules.xml b/src/main/java/duke/out/production/duke/.idea/modules.xml new file mode 100644 index 0000000000..b7a0289b8f --- /dev/null +++ b/src/main/java/duke/out/production/duke/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/src/main/java/duke/out/production/duke/.idea/vcs.xml b/src/main/java/duke/out/production/duke/.idea/vcs.xml new file mode 100644 index 0000000000..4fce1d86b4 --- /dev/null +++ b/src/main/java/duke/out/production/duke/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/main/java/duke/out/production/duke/META-INF/MANIFEST.MF b/src/main/java/duke/out/production/duke/META-INF/MANIFEST.MF new file mode 100644 index 0000000000..2c9a9745c5 --- /dev/null +++ b/src/main/java/duke/out/production/duke/META-INF/MANIFEST.MF @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Main-Class: duke.Duke + diff --git a/src/main/java/duke/parser/Parser.java b/src/main/java/duke/parser/Parser.java index 203d5f0b13..e2e077dbfd 100644 --- a/src/main/java/duke/parser/Parser.java +++ b/src/main/java/duke/parser/Parser.java @@ -43,6 +43,8 @@ public static Command parse(String command) { return parseToDo(input); case "delete": return parseDelete(input); + case "find": + return parseFind(input); default: return new UnknownCommand(); } @@ -69,11 +71,11 @@ private static Command parseDeadline(String[] input) { } private static Command parseEvent(String[] input) { - String[] event = input[1].split(" /by "); + String[] event = input[1].split(" /at "); LocalDateTime at = LocalDateTime.parse(event[1], DateTimeFormatter.ofPattern("d/M/y HHmm")); String description = event[0]; - return new AddCommand(new Deadline(description, at)); + return new AddCommand(new Event(description, at)); } private static Command parseToDo(String[] input) { From bf8695a2eee38281ac0a61ec9267e31db8702a2e Mon Sep 17 00:00:00 2001 From: garfield-oo7 <77141836+garfield-oo7@users.noreply.github.com> Date: Thu, 22 Sep 2022 23:45:50 +0800 Subject: [PATCH 35/75] Update User guide --- docs/Ui.png.png | Bin 0 -> 125352 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/Ui.png.png diff --git a/docs/Ui.png.png b/docs/Ui.png.png new file mode 100644 index 0000000000000000000000000000000000000000..3506e1f38e215035350820f966a9fe7b14d3065e GIT binary patch literal 125352 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�iOqu9Zu$o{CFK%Jy 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

OhrFoN#7j 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 literal 0 HcmV?d00001 From e848cc2b501345db7ced6eb0b88d712755d91772 Mon Sep 17 00:00:00 2001 From: Agamjyot Singh Chadha Date: Thu, 22 Sep 2022 23:49:17 +0800 Subject: [PATCH 36/75] Update user guide --- docs/{Ui.png.png => Ui.png} | Bin 1 file changed, 0 insertions(+), 0 deletions(-) rename docs/{Ui.png.png => Ui.png} (100%) diff --git a/docs/Ui.png.png b/docs/Ui.png similarity index 100% rename from docs/Ui.png.png rename to docs/Ui.png From cbde8086265b97e45021774c9a0488c55fbbe12e Mon Sep 17 00:00:00 2001 From: Agamjyot Singh Chadha Date: Wed, 28 Sep 2022 16:46:03 +0800 Subject: [PATCH 37/75] Add simple GUI --- META-INF/MANIFEST.MF | 3 + build.gradle | 3 +- src/main/java/duke/Duke.java | 35 ++++++----- src/main/java/duke/Launcher.java | 11 ++++ src/main/java/duke/commands/AddCommand.java | 8 +-- src/main/java/duke/commands/Command.java | 2 +- .../java/duke/commands/DeleteCommand.java | 8 +-- src/main/java/duke/commands/ExitCommand.java | 4 +- src/main/java/duke/commands/FindCommand.java | 4 +- src/main/java/duke/commands/ListCommand.java | 4 +- src/main/java/duke/commands/MarkCommand.java | 6 +- .../java/duke/commands/UnknownCommand.java | 6 +- .../java/duke/commands/UnmarkCommand.java | 6 +- src/main/java/duke/tasks/TaskList.java | 2 +- src/main/java/duke/ui/DialogBox.java | 57 ++++++++++++++++++ src/main/java/duke/ui/Main.java | 32 ++++++++++ src/main/java/duke/ui/MainWindow.java | 57 ++++++++++++++++++ src/main/java/duke/ui/Ui.java | 24 ++++---- src/main/resources/images/DaDuke.png | Bin 0 -> 32657 bytes src/main/resources/images/DaUser.png | Bin 0 -> 37794 bytes src/main/resources/view/DialogBox.fxml | 16 +++++ src/main/resources/view/MainWindow.fxml | 19 ++++++ 22 files changed, 251 insertions(+), 56 deletions(-) create mode 100644 META-INF/MANIFEST.MF create mode 100644 src/main/java/duke/Launcher.java create mode 100644 src/main/java/duke/ui/DialogBox.java create mode 100644 src/main/java/duke/ui/Main.java create mode 100644 src/main/java/duke/ui/MainWindow.java create mode 100644 src/main/resources/images/DaDuke.png create mode 100644 src/main/resources/images/DaUser.png create mode 100644 src/main/resources/view/DialogBox.fxml create mode 100644 src/main/resources/view/MainWindow.fxml diff --git a/META-INF/MANIFEST.MF b/META-INF/MANIFEST.MF new file mode 100644 index 0000000000..2c9a9745c5 --- /dev/null +++ b/META-INF/MANIFEST.MF @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Main-Class: duke.Duke + diff --git a/build.gradle b/build.gradle index b813f3e102..0afc4cebc9 100644 --- a/build.gradle +++ b/build.gradle @@ -24,8 +24,7 @@ dependencies { implementation group: 'org.openjfx', name: 'javafx-graphics', version: javaFxVersion, classifier: 'win' implementation group: 'org.openjfx', name: 'javafx-graphics', version: javaFxVersion, classifier: 'mac' implementation group: 'org.openjfx', name: 'javafx-graphics', version: javaFxVersion, classifier: 'linux' - testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: '5.5.0' - testRuntimeOnly group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '5.5.0' + } test { diff --git a/src/main/java/duke/Duke.java b/src/main/java/duke/Duke.java index 32350efcc6..7df78e8ee4 100644 --- a/src/main/java/duke/Duke.java +++ b/src/main/java/duke/Duke.java @@ -4,13 +4,10 @@ import duke.parser.Parser; import duke.tasks.Task; import duke.ui.Ui; +import duke.ui.DialogBox; import duke.storage.Storage; import duke.tasks.TaskList; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.util.Scanner; -import java.util.ArrayList; /** * Initalises and runs the duke program @@ -33,22 +30,24 @@ public Duke() { /** * Runs the program unitl exit is issued */ - public void run() { - ui.displayWelcomeMessage(); - boolean isExit = false; - while(!isExit) { - String userInput = ui.getUserInput(); - Command command = Parser.parse(userInput); - command.execute(taskList, ui, storage); - isExit = command.isExit(); - - } +// public void run() { +// System.out.println(ui.displayWelcomeMessage()); +// boolean isExit = false; +// while(!isExit) { +// String userInput = ui.getUserInput(); +// Command command = Parser.parse(userInput); +// command.execute(taskList, ui, storage); +// isExit = command.isExit(); +// +// } +// } + + public String getResponse(String input) { + Command command = Parser.parse(input); + return command.execute(taskList, ui, storage); } +} - public static void main(String[] args) { - new Duke().run(); - } -} diff --git a/src/main/java/duke/Launcher.java b/src/main/java/duke/Launcher.java new file mode 100644 index 0000000000..8ddcbb8986 --- /dev/null +++ b/src/main/java/duke/Launcher.java @@ -0,0 +1,11 @@ +package duke; + +import duke.ui.Main; +import javafx.application.Application; + + +public class Launcher { + public static void main(String[] args) { + Application.launch(Main.class, args); + } +} \ No newline at end of file diff --git a/src/main/java/duke/commands/AddCommand.java b/src/main/java/duke/commands/AddCommand.java index 6b20afa858..eb923065ce 100644 --- a/src/main/java/duke/commands/AddCommand.java +++ b/src/main/java/duke/commands/AddCommand.java @@ -14,7 +14,7 @@ public class AddCommand extends Command { protected Task task; - private final String MESSAGE = "\tGot it. I just added the " + + private final String MESSAGE = "Got it. I just added the " + "task: "; /** @@ -27,12 +27,12 @@ public AddCommand(Task task) { } @Override - public void execute(TaskList taskList, Ui ui, Storage storage) { + public String execute(TaskList taskList, Ui ui, Storage storage) { taskList.addTask(task); storage.saveTaskList(taskList); - String text = MESSAGE + "\n\t" + task.toString() + "\n" + + String text = MESSAGE + "\n" + task.toString() + "\n" + taskList.displayNumTasks(); - ui.displayMessage(text); + return ui.displayMessage(text); } diff --git a/src/main/java/duke/commands/Command.java b/src/main/java/duke/commands/Command.java index 4887003f52..fe5a9aa268 100644 --- a/src/main/java/duke/commands/Command.java +++ b/src/main/java/duke/commands/Command.java @@ -6,7 +6,7 @@ public abstract class Command { - public abstract void execute(TaskList tasks, Ui ui, Storage storage); + public abstract String execute(TaskList tasks, Ui ui, Storage storage); public abstract boolean isExit(); diff --git a/src/main/java/duke/commands/DeleteCommand.java b/src/main/java/duke/commands/DeleteCommand.java index b88b44f82d..e195e49830 100644 --- a/src/main/java/duke/commands/DeleteCommand.java +++ b/src/main/java/duke/commands/DeleteCommand.java @@ -13,7 +13,7 @@ public class DeleteCommand extends Command { protected int index; - private final String MESSAGE = "\tNoted. I've remove this task: "; + private final String MESSAGE = "Noted. I've remove this task: "; /** * Constructs a delete command @@ -25,12 +25,12 @@ public DeleteCommand(int index) { } @Override - public void execute(TaskList taskList, Ui ui, Storage storage) { + public String execute(TaskList taskList, Ui ui, Storage storage) { Task task = taskList.deleteTask(index); storage.saveTaskList(taskList); - String text = MESSAGE + "\n\t" + task.toString() + + String text = MESSAGE + "\n" + task.toString() + "\n" + taskList.displayNumTasks(); - ui.displayMessage(text); + return ui.displayMessage(text); } @Override diff --git a/src/main/java/duke/commands/ExitCommand.java b/src/main/java/duke/commands/ExitCommand.java index 854e59c39a..dfacba61a6 100644 --- a/src/main/java/duke/commands/ExitCommand.java +++ b/src/main/java/duke/commands/ExitCommand.java @@ -14,9 +14,9 @@ public class ExitCommand extends Command { @Override - public void execute(TaskList taskList, Ui ui, Storage storage) { + public String execute(TaskList taskList, Ui ui, Storage storage) { storage.saveTaskList(taskList); - ui.displayExitMessage(); + return ui.displayExitMessage(); } @Override diff --git a/src/main/java/duke/commands/FindCommand.java b/src/main/java/duke/commands/FindCommand.java index a7bbe18f71..53af855675 100644 --- a/src/main/java/duke/commands/FindCommand.java +++ b/src/main/java/duke/commands/FindCommand.java @@ -16,9 +16,9 @@ public FindCommand(String search) { } @Override - public void execute(TaskList taskList, Ui ui, Storage storage) { + public String execute(TaskList taskList, Ui ui, Storage storage) { TaskList searchMatchList = new TaskList(taskList.findTasks(search)); - ui.displayMessage(searchMatchList.taskListString()); + return ui.displayMessage(searchMatchList.taskListString()); } @Override diff --git a/src/main/java/duke/commands/ListCommand.java b/src/main/java/duke/commands/ListCommand.java index fd14e79658..927f3a38e5 100644 --- a/src/main/java/duke/commands/ListCommand.java +++ b/src/main/java/duke/commands/ListCommand.java @@ -11,9 +11,9 @@ public class ListCommand extends Command { @Override - public void execute(TaskList taskList, Ui ui, Storage storage) { + public String execute(TaskList taskList, Ui ui, Storage storage) { - ui.displayMessage(taskList.taskListString()); + return ui.displayMessage(taskList.taskListString()); } @Override diff --git a/src/main/java/duke/commands/MarkCommand.java b/src/main/java/duke/commands/MarkCommand.java index 28a487c3c3..5f91b33cfb 100644 --- a/src/main/java/duke/commands/MarkCommand.java +++ b/src/main/java/duke/commands/MarkCommand.java @@ -13,7 +13,7 @@ public class MarkCommand extends Command { protected int index; - private final String MESSAGE = "\tExcellent! I have marked " + + private final String MESSAGE = "Excellent! I have marked " + "the task as done: "; /** @@ -26,11 +26,11 @@ public MarkCommand(int index) { } @Override - public void execute(TaskList taskList, Ui ui, Storage storage) { + public String execute(TaskList taskList, Ui ui, Storage storage) { taskList.markTask(index); storage.saveTaskList(taskList); String text = MESSAGE + "\n " + taskList.getTaskString(index); - ui.displayMessage(text); + return ui.displayMessage(text); } @Override diff --git a/src/main/java/duke/commands/UnknownCommand.java b/src/main/java/duke/commands/UnknownCommand.java index b6aac64d27..7c5aadbec4 100644 --- a/src/main/java/duke/commands/UnknownCommand.java +++ b/src/main/java/duke/commands/UnknownCommand.java @@ -11,12 +11,12 @@ */ public class UnknownCommand extends Command { - private static final String MESSAGE = "\tI am sorry, but I do " + + private static final String MESSAGE = "I am sorry, but I do " + "not understand this command"; @Override - public void execute(TaskList taskList, Ui ui, Storage storage) { - ui.displayMessage(MESSAGE); + public String execute(TaskList taskList, Ui ui, Storage storage) { + return ui.displayMessage(MESSAGE); } @Override diff --git a/src/main/java/duke/commands/UnmarkCommand.java b/src/main/java/duke/commands/UnmarkCommand.java index c54b290374..07b1f2e28f 100644 --- a/src/main/java/duke/commands/UnmarkCommand.java +++ b/src/main/java/duke/commands/UnmarkCommand.java @@ -13,7 +13,7 @@ public class UnmarkCommand extends Command { protected int index; - private final String MESSAGE = "\tNoted! I have marked " + + private final String MESSAGE = "Noted! I have marked " + "the task as not done yet:"; /** @@ -25,11 +25,11 @@ public UnmarkCommand(int index) { this.index = index; } @Override - public void execute(TaskList taskList, Ui ui, Storage storage) { + public String execute(TaskList taskList, Ui ui, Storage storage) { taskList.unmarkTask(index); storage.saveTaskList(taskList); String text = MESSAGE + "\n " + taskList.getTaskString(index); - ui.displayMessage(text); + return ui.displayMessage(text); } @Override diff --git a/src/main/java/duke/tasks/TaskList.java b/src/main/java/duke/tasks/TaskList.java index 4fe09c3ecd..fbb06da9bd 100644 --- a/src/main/java/duke/tasks/TaskList.java +++ b/src/main/java/duke/tasks/TaskList.java @@ -11,7 +11,7 @@ public TaskList(ArrayList taskList) { } public String displayNumTasks() { - String text = "\tNow you have " + this.taskList.size() + + String text = "Now you have " + this.taskList.size() + " tasks in the list."; return text; } diff --git a/src/main/java/duke/ui/DialogBox.java b/src/main/java/duke/ui/DialogBox.java new file mode 100644 index 0000000000..37bba5ed4e --- /dev/null +++ b/src/main/java/duke/ui/DialogBox.java @@ -0,0 +1,57 @@ +package duke.ui; + +import javafx.collections.FXCollections; +import javafx.collections.ObservableList; +import javafx.geometry.Pos; +import javafx.scene.Node; +import javafx.scene.control.Label; +import javafx.scene.image.ImageView; +import javafx.scene.layout.HBox; +import javafx.fxml.FXML; +import javafx.fxml.FXMLLoader; +import javafx.scene.image.Image; + +import java.io.IOException; +import java.util.Collections; + +public class DialogBox extends HBox { + + @FXML + private Label dialog; + @FXML + private ImageView displayPicture; + + private DialogBox(String text, Image img) { + try { + FXMLLoader fxmlLoader = new FXMLLoader(MainWindow.class.getResource("/view/DialogBox.fxml")); + fxmlLoader.setController(this); + fxmlLoader.setRoot(this); + fxmlLoader.load(); + } catch (IOException e) { + e.printStackTrace(); + } + dialog.setText(text); + displayPicture.setImage(img); + } + + + /** + * Flips the dialog box such that the ImageView is on the left and text on the right. + */ + private void flip() { + ObservableList tmp = FXCollections.observableArrayList(this.getChildren()); + Collections.reverse(tmp); + getChildren().setAll(tmp); + setAlignment(Pos.TOP_LEFT); + } + + public static DialogBox getUserDialog(String text, Image img) { + return new DialogBox(text, img); + } + + public static DialogBox getDukeDialog(String text, Image img) { + var db = new DialogBox(text, img); + db.flip(); + return db; + } +} \ No newline at end of file diff --git a/src/main/java/duke/ui/Main.java b/src/main/java/duke/ui/Main.java new file mode 100644 index 0000000000..35d384b79a --- /dev/null +++ b/src/main/java/duke/ui/Main.java @@ -0,0 +1,32 @@ +package duke.ui; + +import java.io.IOException; + +import duke.Duke; +import javafx.application.Application; +import javafx.fxml.FXMLLoader; +import javafx.scene.Scene; +import javafx.scene.layout.AnchorPane; +import javafx.stage.Stage; + +/** + * A GUI for Duke using FXML. + */ +public class Main extends Application { + + private Duke duke = new Duke(); + + @Override + public void start(Stage stage) { + try { + FXMLLoader fxmlLoader = new FXMLLoader(Main.class.getResource("/view/MainWindow.fxml")); + AnchorPane ap = fxmlLoader.load(); + Scene scene = new Scene(ap); + stage.setScene(scene); + fxmlLoader.getController().setDuke(duke); + stage.show(); + } catch (IOException e) { + e.printStackTrace(); + } + } +} \ No newline at end of file diff --git a/src/main/java/duke/ui/MainWindow.java b/src/main/java/duke/ui/MainWindow.java new file mode 100644 index 0000000000..9e865d07b0 --- /dev/null +++ b/src/main/java/duke/ui/MainWindow.java @@ -0,0 +1,57 @@ +package duke.ui; + +import duke.Duke; +import javafx.fxml.FXML; +import javafx.scene.control.Button; +import javafx.scene.control.ScrollPane; +import javafx.scene.control.TextField; +import javafx.scene.image.Image; +import javafx.scene.layout.AnchorPane; +import javafx.scene.layout.VBox; + +/** + * Controller for MainWindow. Provides the layout for the other controls. + */ +public class MainWindow extends AnchorPane { + @FXML + private ScrollPane scrollPane; + @FXML + private VBox dialogContainer; + @FXML + private TextField userInput; + @FXML + private Button sendButton; + + private Duke duke; + + private Image userImage = new Image(this.getClass().getResourceAsStream("/images/DaUser.png")); + private Image dukeImage = new Image(this.getClass().getResourceAsStream("/images/DaDuke.png")); + + @FXML + public void initialize() { + scrollPane.vvalueProperty().bind(dialogContainer.heightProperty()); + dialogContainer.getChildren().addAll( + DialogBox.getDukeDialog("Welcome" , + dukeImage)); + } + + public void setDuke(Duke d) { + duke = d; + } + + + /** + * Creates two dialog boxes, one echoing user input and the other containing Duke's reply and then appends them to + * the dialog container. Clears the user input after processing. + */ + @FXML + private void handleUserInput() { + String input = userInput.getText(); + String response = duke.getResponse(input); + dialogContainer.getChildren().addAll( + DialogBox.getUserDialog(input, userImage), + DialogBox.getDukeDialog(response, dukeImage) + ); + userInput.clear(); + } +} \ No newline at end of file diff --git a/src/main/java/duke/ui/Ui.java b/src/main/java/duke/ui/Ui.java index 7e5bc3f689..1e2ec7242b 100644 --- a/src/main/java/duke/ui/Ui.java +++ b/src/main/java/duke/ui/Ui.java @@ -5,10 +5,10 @@ public class Ui { private final String LINE = "------------------------------" + - "----------------------------------"; - private final String WELCOME = "\tHello I'm Duke" + "!!\n" + + "--------------------"; + private final String WELCOME = "Hello I'm Duke" + "!!\n" + "What do you wanna chat about today?"; - private final String EXIT = "\t Bye. Looking forward to chating " + + private final String EXIT = "Bye. Looking forward to chating " + "with you soon again!"; private final Scanner sc; @@ -17,14 +17,16 @@ public Ui() { this.sc = new Scanner(System.in); } - public void displayMessage(String message) { - System.out.println(LINE); - System.out.println(message); - System.out.println(LINE); + public String displayMessage(String message) { + String text = ""; + text += LINE + "\n"; + text += message + "\n"; + text += LINE + "\n"; + return text; } - public void displayWelcomeMessage() { - displayMessage(WELCOME); + public String displayWelcomeMessage() { + return displayMessage(WELCOME); } public String getUserInput() { @@ -33,9 +35,9 @@ public String getUserInput() { return userInput; } - public void displayExitMessage() { - displayMessage(EXIT); + public String displayExitMessage() { sc.close(); + return EXIT; } } \ No newline at end of file diff --git a/src/main/resources/images/DaDuke.png b/src/main/resources/images/DaDuke.png new file mode 100644 index 0000000000000000000000000000000000000000..d893658717e29b50b4ceedada235d9f75835a118 GIT binary patch literal 32657 zcmV)5K*_&}P)Zf>Tg`t%N;{PE9Y2%-o7`CdniQG#9szpJX+ zcrVK`zK7pG^!n{1T{qo3os(XNkTqW0IXIfGihv^wpO4cHg6YjrzS7VYZJZVWev% z!fK9RcD(ntf zCxMCmC7oRZecuOe6J~p&f5@?I;U2zE;O2T?Vy_8UZ1S4i=b>l%q0jeYAI+i(>K zsIun-!&|SPodfa+5u7Z5yhtd`XRjxuF+Ww~1H4xg)(?GXYLo{q2VPiixh(3*`0iyFHj`V{p-_+Q4jWKC=o6ohr zW)q;Nb7IxtY}qD4RyBpAMv`rR!YytU)sgEIa8F)wX(O<=RwjYY+sLdy0`5o0>=a zd(GePvuhIc}2|`2Y7OgN%4u~XV>q*3e$65qJ;}bK0Li-Wh%~iQn_FhV_*O6|& z$E%S!>BN;~l+|jbw5B2<783HDuPYE-T1Z)&EZTFhZGIj)nseO*|7}7`Vz4%vMl&l& z!c*D(>n3|ulhD`D1FzG)Tik79GgrpJ#HE0O)y{gM#c%L1=xtu`A<9oj(;}Q6cpHb= zIjOSNTO3vD|G|N_tH+^nj?I`D4+@;j;9`s4!*lY>X2_|khHWO LGkWs%c&z?S( zPOmG=sXyYzEkG{@&pHB0HHfww6VcVi^7l(QuBHDI@ z=z!4KIw#Y$TO%d>y$0`GT4%|@#g%h$ep*7T=|XpM<1RVOFse4=Z(K81Zub1MpUCrP zPi1_2E8o3*LC&?9EoD)xNg26&~Umrw)I>m!t1O_e1kW<*KwbMHz(!2iOL~Sh?{TL zz&S*69XvdJeadN|(eP6zswxA4Wo|VV6=}K5<})dZrF{78xf~xJ5KArQQ<=@?((iWV zgQHXVgO5Meb2Itk+ppx!t8ZmIn@CXx>G%4|#d`X4DqR(Q3*}A-`5(I&R zbVFnZd#=u!IMPKP<}mFE zN&{>@aMP>4%iOU2aIP7Am)Eetjg`L3>xr(xd|tEss&W9XM3#edDHh7}D1Y{|KbC*@ zCqI+bcr3sE;R00mKI%c$?{9t8CwK zjdw9O#5H}bITnIfoU5)BTw_P&9aCy^$4;HRBRvJ(z&*X;9z#DqdHO^?dHhI5s@TmZ zH}XO`RW=yNVo{QCj*pJHtH(-kljTC*ym=$X2l`#r{PqtHl=~=wO=rYYLluYnd;1df zUf^($rSozn-(9?s+xb%F%SwtRG|4@wl=!Z0ZYV-?iVA=BY`0Bo*POg<&XZ`}Mqo{j zmBerxpQZ2QS#AWAnWjzd2i&O-pF{JFYsS$&V3MgBOcI5gELEfqe|SeRw(Y!k7J&_# zj3H?}7Tl3JbydJq6?VOGfsQU(q1dLY6L7LW)Q3KYlKA z6GD>a`y! zHXC4!imw)m*Ip~AFUu8;9sT`1IT#J(jL`z$R2hXRki_d&*(XPtT;U6V%07`V6DIr$jYWj&!AqUCR0S zITy27mGbhEu?X(>XcNfdcvAXedukPATrN20azA=PE`Ilq>%IKmSH1m)DZ_l)H6$ z5>?DlJHrA*v&HcNeq^G;k;GrqmX_Wp*NJKFqx<*PVpB>)Evywea-$f0jy8|=dai*! z@1?&x38=k~;qIZMO^^?AEE`gKN*{P-52EieR93l0SHFL#*yhp6nar`s`mn%11Lal# z(XU^<;k8fCPL%s}_3u}5d3j0V8R}wpJ6**`1Jw{=Hpmq(>5kGb4$n_{{}n`+m`#eB zC&P4eUJE;soZQ*{kz%sUo!cWN%JKD$yoR|#Ic9&*mp#4Tlf#kxQbGT(fA@_7`8kcW zQMqMIq0-6Th7ALKp2}1)(Ko8`%~bTk;CZZ?-;rXb6D5YOauL{{0Pq(I+OdcksFJQ4 zGrm?1JTabbw@0uG*G*BZ`1fcuqQU^&1OlHU)CQb>a)qAcK!Cz`e4mQ1%qacS*?u#OF?D-+0Xt+CO5b8;^IPP zs+~n8hHt<9TE$C{!QMa)h66bq9jKUFDZZNX_laV!$B!S=C3B#les6D22K}CEMVV@D z3f>hXtyHAJBoVUQF@P^ZT<>OD)}w8<#KDr`aG}IiDlUWAgv)?2;IpxG9+!EP~XcL(MJ~*MVx>^i8R@ z`Fl-log_<}_N!fHgyw*D9S;%K=7~uj`-E1AGqbp!g{u8|t}6XtkAAv07ngFY+zQ|@ zrz=La!Gj}tqN1#?9B8hK3L6x}-XDJUnLK^=R30e@J9~6WV2;V?!ev8esZ9*NploE9vnYQ9V)zD2U{BIc>vgC2kETHRaPo$k#3J0+wyyQ>bY1=V z^cQ~`xjR)&Z?m?C>`?Zd>b@hhWgD@-b02tv%||nUX7%-?#u!+1h$m=+Jtdsy&p%Ku zvy_+LzR(>%R}F06Trzsupj>B9ISB~q`G?QtgXd2b2OY`&{yw=>a+~0q8NIA3kvaqY zyP${@#vzGesc6A!Y25Ws6kIkqSKr9*zWGjG-A!ew zbFieJEtk+SjK=#pFwP{n8!O%;u6AJEHWAmfW7Xh&hdr!m&r097=gYWpqdV)liJe2i z#uaL_f^bdo+s2kRXu{IKI!&9^E{@e6WSZo5w8FO6Ygvl)NCesdvz{L`PxNVUQ*KL4CzeE7k+40S9J@h|@IUzDS+WbgP9T~gJuq^qeitXumM#kJ%1c5ZI?of^1XGPo|4 zY!#~;*KQEi`Z{StC590;h}EPD6cKZsCDGU9Scz`(qqDQW3t_wMsVzs-K-yfX28E5E z_4{k$GY4{T5_8I@$`nahh$5izQ;7x`2|l{1YIfazmm&>79FYt`7w^gWxjZ{Nmrpxz~KQRPNg2#wxMf!f7+uHlo{ho^Qt_V2sWB zIrR3^v=bN#1-eIA3Pp;3F#O49N>DjDRj%s#)zu9j?Afzt^7QOX9-p4b!NGwXD#0Bq zmqG*s78zm>*sS#EPd*zsg%TKiSr&>F>)n|QmYGLGG#4m|{H8l)<2jRtL;#*CmeTu6 zNAFcImTN!n$)Eo5AIV@alK=L<|4*u5EF~NCCDBxLF&G>gY(rSPFmD?xz0LL0Jd#aI zD!C^X?RVl{Yt1nMcuZMJVkK;8(G5A)@%j1RH3t{`iMIjpT{~s_u2`$KlHPZ9KG=%T z1c3L!p}4?K@o>-F-QCLd^|kaAKQZe=IRflk2dd$nDV}Cb`y92y>^nJD?sTRiucJJnt3V=?m0SV{D-rE0 zpa+0o6@4RKA3zBWkIH}z0-OwsZiHAmF$6nrWyV676~HxNSOxL(I?C;kEP(&Y%s3xK zMVkD~#Dsxp1LgE?z&WnpDONN2RB_kzFaAvar~m!$^%{{`FwwbrbZk^PM0l4YJ!3OR zv3?!JiF=dCn(m$265rr*i4N)?dxK&+(L?m-q)1HHbPi_`yTLHlwgIp4#;)klP0hqN zTb+wnf9CP%1cbhGl4_6558|nmh$wO(!WK&|=7DN;xE_g1gf13{m-%c$wS8~Ulf%)T z+41zB$B)lx{jSW5&JloM@f}*MU%9@QZ>2-?NJMIDVPxOQ!(na zQzvO+(b57XQG#=Dtz?==mV8F5^0TFkPM*r`d?l~0E=X9s2KG2oc=gnl+TG|A04RDRCYQ@7IxxP;4J|_ybTy4MK{(FNBCyY=NU78>h ze_Zg)fICbE&;Y@mfQgPx6R{V z9To=?qGODNH>?s%S}a?DTsa`V+W|Kz=JK;Y{7}Am^`*SLol4#t=<_Z4d=S$~x0b{AO9H(wVP(!X zspVu@ovW5-mMH^*;$lY2?116z4?gQKP(~^)VeA~J zxI9$iJ32nn_sx-f5NHNyqM<=?#CH;U%c)E6G5wU>h*iCizptYW(aI*4jT&9AI+2#AHarDIOv zufF<{K0V+Y5D9lXIF??g-|fl%Xeft@yZR7I`jA8AT>XBR1OgnD2q^l~CecVBUlW%| zisVS+$N17@f`~dw1Rx^dwO*%3?v=(_i^q`aMFn&9!C=s7=i504_v_;gY?8C%M>L%* zV=h1c^h0^^;u~325SyJ^vy3&Dh%GZj!mq!7!rK&)Ye>VvZ19;ilc6y5mv7Mu?d1EK z-+cpVIyIzkB(|BEPppJ(%I#JIC6qlCW0T2**TOCbr%KTkh!9{(7l;eo1a1cX3>+!f zeRDACbK$`yrqc-tt#UA4lt#R!{gt)I0&zi{<{gYXcR!tSu4pwCOsr+p{DA8iQVh+t z+o|Ud8)C(Hc45RRI9NCDI=D>+;50|(_Q{>7F*YzGRMR`y-;>Fzlt22(2lCtBp2@Gj zeN6%^Xur!E*-4>Ria3Pen)MH$t6i?T=8-s6bG_4d6R3(!{8dY>HN|!6FEno4e!a^u zxAEG!W0I1I@UR##RO0=PV-idv7M|j3GL|dl5CHPE+e8Nq3^mdP*z5P{=D~MiCn+~LUmdN?1Ppv>XJQry%H#67eWlvdAaI2^L(099p=`h@v`milU~ z6r{ARj^7Jnls2}cS;aNS%A`@0Bu2LjS&f9K9Q^cPAb;`8U&xmi|5+yU6$1@x)m;n> zCkB;5SL!Ie)_Oby-p%#2$qe3h?6O$`#1px?!ebtbWWrbzWPWn~`0ut|WSaqQ*Uf6N z5R$vbCs7d1YYT4bx4Bk8Se0Y9z2TlNbcY-W)^o%>mCF?q7^agurnnE3dvq1cST10c z>1=GAKyQh-_5|3el{v@C-Nk}O27Upj=ybb=z3^JEI|R`xfo1N1mZWe5k2oz&!N7IX z^{GkvJu1g%zLRPZk}w`;BU=-iNjeL!#+wd{SgE!r$*z={XC6BY+->PZgUHgH7f7`TpyhZ}DZ^|G^L27Fwic_U+$j*Zq9I05 z6OXw9u_D<5xDlKU8-ON{3in&+yi|-YD|J&me{w3XF5bw?>l+y;p(EB`5ua^P+PE;L ztj@2L(1a?RYtV!-O+|wQ9^Z|ywv`09M-Q?|toHeu2uWDdI(FGXww<>*P{(7E+#pLg z655f{i(mj9s``!Z(HOZ{aEF7tfkT0#z?Fm0-$4)I$t6>~K&V*Ue!oW!1j?k#$6Yro z`Ug$4!Ff#*acvFP!~##}Q;Ja#PT@pFEeN5=S?(5ksWl_}Luvx$)OqGFMEugheKMxf z*jkzE2+swr6TdGmFStnn)& zG>@IW!qzgr3&+|nox(kWYeu*h}S@zs&tTON?^mGiLY4I@7Z}qJRl-)u2-*KxpCI! zC3y4z#(_<6d~nEXfAQ*4Vh5IMC9GtJ3Mp1gXctTB|3f0|{$l<93Cm7z5Y~?&3JoCI z0@u#vB893%1FXJzFtIc_z(%EngT=T*I(xL#Zd}o-xfCQS#8>sYJvxeMe}YR#!FE!@ zR*MA*lmLFUT5}!u6Y{#j%1k4q#u6WTG8pP_6+N`jyH*LJ%z`aA2<7hf&isZ5OU``q zbd_-pC>$Zr-HlU{JKc@#d?*LtVo*@? zMOx%uKs&2(+(Y>49z8YJDQ-Xi`w&)ozYePjW?-+pfJ04KKlDgZ+{y4sT%)2e`M%P0 zgcLM~#7_OE>&8!VpobquuDfuL^uzkr&LbRV|-RumIwrl(Si0F!%<6X zPMrP}%RYesn6-W4M)A}ksb)Zm_|;WV8fWkR-%Wnc04Gq$}P72=K5L+1?z}t zz)!+1utu|>nSS^B=0?sQJ)*|=W&JKyz35oU_WTtg64V5phl zDqI^;58wa@Nsa*J9K+i34Ne4Y5Wwwb!!fpW-7hq!1L001BWNkl^1ss123bOlpH zG;3GoCX5o<+b|bU|Ar%bpnnA=q&s=3obGBo)@v*Gnl0tUl@j#CwMo>DP$Iv*xl~b( zWZi*WDS;NAK@(y-)HsmtE)P(0>o9ubwmaB9taSa zYo=n!e1e4xy5?y|u`_VWIgO8I?#OM>Dn1l!D?yC97I}bpbP}i%6`~Cmy0EXl{Z798 z;!EZ&qM!&WLSSMZ9UREP(MT6JP*DJozEZAwb#p6|yD7P33ANYJ-hg8D`szZi$1_p&L*mll!wP9UO03g2H}d9oEJq`VUEQqu+(*xz>-`5Z zUCn4L-sBF(v6^XnZKB%6rG5;KRaYk57!x#bPo_vFg7yuPr@ek1*N$ZnLWi+Q>0EJJ zk%g9&b*%$)NF-5wT2^nFC#>l!HBElw@6n$9M7HW z#elaUs!^mlW`*qQy`F#YOjciiCzI)dn+!c{njE9OZt1i41>)NjfL-Uc2}@dBl!O&z zJEgYSDUP~CO`dzAX(Z0c^nq7835Zsx)3kIl$GQ-3!=O6e`0kD(%XLx$bZ|L@3nMAj zI4x4Zg40>FSgFcP5_F*e$kXWB=Y!FbEw27|daU@%Xi;#}*dbsC$Dl!0EFq%M&zJi9 zyO*zJJXdhug;Tmu&TyavH5eU`bN=SbSMuuON4}LB58?Yf(&z3nH4Pf)ay3@MtmvQyPp&G{W_4RKTl(;zFDFNPI*;IlidRGb zUNA#b>%-i~J5t;`Cc#mw>n zqnAO%0|7(9c|1{3a;uAg3>fU@V+F`dRi|Mn1Q)xyx}>oXB9QKz)v6wh1(StZ5wM5N zXf6OlTNRcJK{G_O5Mb19Kq_?U+zO)Ceg_u+fDyG5EJLP8V`a(GkSO!`=JHBzZm+C@ zGM-lnvOh#V;-M1KQeM7#B`=kep~4@y5))nNpX{juQE)s+I)z0eDJRLFh^P!kX6*Hp zuz@XePf$#HqTH#JBX>%L+G$&3c)xF?zE?}3W>0Axny22pHUt9H$r?+YVvT@ zXW2?%G^G23bN=~%{b%y8Uw5iUmfp{1e4`%HB}tgt;Lsq5c3+*g$ZQkUHs4}8uUUC$YbcffoyA5~=En8&(?-mD`f$?@(zsy^ z?hCcD(ue~GVc|9M^uYdMm_+RaSf2~m3TgRvdlcy=v23?(nF{T-5In7jbuZo6MndxL z55P1mipI|~I*wr=g=+|gPIK9GJ*LXTS5mb({qBtda9H1M-(*Vk`zqRd%E9jB*WY|4 zuO?S4@_O|6OnL_cnXTr`JIu<8_d|9N-BXH%4)^zLfr<5mwYL!Jg7BWB(NIO&p~8YA zB_iY6j~<=qIRp9Xi?3MV48(;}-Wlv~2p6g>t_%f5Fn7nN=W;V$${lkWLtUgK_y%kf zM$_Be#z@<6*{*oI=65z}A=Jc{I9A9u>82KiTd&x>xOk|nYi&tFmc&$J-CZd5I$_;& zoCE(GTo-l6D|fOoGO~1=3o~1in<3V(>6&q4YX=ow@(!KCMpTxI2#yC|T)(u>Q#c54 z8eB4r>g;92YgM_hj$2R!VqiE6V!T#LDA*z(ToCJcaw8X)*ZNQ^87XlLMg#fy*<*h9 zTWEWW9tju(#_BbCzgs;Qn(^@-FkFY@LVOnpel$=*0dcGLiTbIfhYVq?fBDN_lH2`v z|LK2`9yY-!m+PsOL&Af=V&B){UtEvnn>W|e8SaaMLEm_WOX|gzHW#|@>wSo0wcmTl z_Jw1EkkgwxLiFFUNt1J~#90iO$=Ufi#SkI~u=qE(*R<&%u8MXow?mn2ry$;fSi-K1 zu}xTp6EY`cw}le_z*)`6guKsGFytXJcuyC3kawB2(_<)3pHUAmHQ<~szpL8(5(d;r zF3Mm%+#jT+B5*Rkq_GwFW)Ig>&hhN&Q+aZ9!Yavs`1mO&a=w@;Mw}8uB4S~DurD*+ zF#97EcRS>>;QiHduEeQhQX*R^LC^Gj7(iFORUMh}AOGf86tjQ-U;ar6XQX3&O?(R8 z4gp^fB6M^fOVup<>qY>HyZdI!JUzZqX13m-@3g90q*VL!rdUi76%256s-WVMH?dZH zAHr%J^xQ<%UJm5+^oT4Sp?nut*Q{0yihwbcm1AJnQhWq+1BnW;Q!&;tQwgnGuzqC@ zYI?{m>o|!&iZvAWQ1R1aZ<__fQgF^5!k0T4d);(8sd#MTA>AB;s09!LY)}{rObN3Y zg7Pe}W26fVqbTZJL99)0u2EFfHO`!|QN3W+_LzaIsE8g6YNs`ngP_EWNj}&cF#$w8 zkZ_^*%8+=A>!9MYKF?qO>fdvLUc7iC=ZBw>m|&y3QjB_ac`1`S<@!qS3+}qOPOS=N zD~b(cY1=pW&P&{ zst7EmBwmDA@2Ms@7tz{!Ui4RCWYY{w%zVA~pv_T{ht;?L#({Lg={-0D_(`-j~A zA3QtP&GZNI?Kdx^$hyQ=rDIVKb(7>ek$Q0(%ku!C+*`^G{IvbJe=Uq9-}pNb#Si0H ze!zy*Q??EQ03Jft%AFDyxK%Qw!p#EFMl2L#9gp7J0d%Z{=p_iP5)4@@!d6h<3fLr? zdTWK!mb!qM5rGqA->deKOCq#4h4ARYOkIgU<`2YbK-`yJa2N;5wJ??r!)RczH3#{U zAU$+*iwOgsq>gCJKi9>_b*yY8>Wtl479yYV1J%PSvo8TtXmqZoEvJFxNEz7zR$5u z3tS&-slX$&%@I~^@_P{$ZZ;fRxXE0_(&fbsW2;8{rrE@D#T&vf+3}1Q@f}C${4zCvqi5Lcu&~S zU^NF<1)yH8EISAl{xD7~IzpbAusR1e3>Ifjf>F-4Hz473-4noozT7lnh)cM%K=3eO zz|6)9F5r%iP4JtsTAq>yFTgK;{xkXN%P-`g{^|cwAipnT6z#pa(eZX<>h>)t8Wq#a za*9PdLZWOHg`1WCT14<3>)YtRnlWKLT zEQyqk<%YMN$)2%Vi&HniT53{OHwMCBfn|Dmm&AlCz(@#Nbf=q9GXsX9xM8oCSXX|j zJYj;DsSLOELf1_k<}63Z4y^jrF1tfZTf$};9PnBe6L0to2NiLnTq?5rJ{~;2Vnydb<+=2e9U;Roo?4^A1%{Rs!RjD{VJ*FF{oSMP8 znW#{&S&)08aC1GsAII7yA`@gu_whG3u$K{db-yS``qHN1)CcL$hVLM{;Ox;k#U0dq zXiFB$Ef!7#lR@s;Fleq=#=5FYSdY$FX@l~y2x!%Yuz|iOgVLOUAV8P{z$r;o=2V8L zMN2sN&|t`KI=+yoedC^)&(6=e2mmgi(a4 zc5xE@i1q}%GyjE6FgxprlAGRsOq?u=k_ayu~?1l%Eo<0!Fu=De1L z*hJrDIPw_l8ugUp$&RIqjLaN>X~v{8R;yrMAG4tJ1R-Ri7Wvg=q|#9qA4bo35Yq5^$H>35UI64 zY&c*{IJ}Qkb3W(|7~P8d-(BCzY&>!8aF3V{*TwkH&rYS7FXdo(B!zwlV!wd$1Aau8 zk`r0*Lc#UsT=S+ivD`Osw%7Y@9IN@gCdX=CbDIUfv+Y7vGOx!dbs;x*wRk-~S+P1W zLRKeDr!CF1Y*m7`|+J$ZC?EMHzMbh9ajTg@ePkdRc`JQxVAiZ#$)gKjGcl>|jQ>R}gQ zz3r&H8V`;#nyahruk5__;x(6Y(TMl*VCwYJ6H-yJP67ME3vtv$3Jp;odKE0~zC&AI z$?r^=Eo_(XvoM(z{zw6Np|S|fzT%61ZtsCpVR4uU0Szwpc~1lZ4jG{;p7Q0D^`NSE zJV=qsfC6XVD9lPOE$*xI&I^@i8%tvsGE643lr1L7!l8}l@M0%*7EX*L+(lSen6zFE zZSGDFkN9kpyDNF4T>7{IUG@ z)#o%tWQl{M4c^qQgZXirYuWT6uCeyJ+qrffZ8uOd-e%RBU_0%BY{=p!u>}w6N?;a1 z7F-F%$*|a7%q;Dc+7JrjQbH^oRtL;GYoduM>m_MfjS6+HQDS3c zy;N`w5vJyMjNZXM$;`yvaBXCOclDW3=e^sr^s#a^mD}43dGY#2USHnIR5!$(VylDM zNP5b}`r}&y^pSGkpPWB6-=d25XQ~|@sn{oe1xNJ0(;}f!%V8}JoApS2;SyZlAcl7_ zj=mF-#ZcD-GYlS$@oYU=n)cL$fy^frQ{(@#H= zU;S5qDxW-gEPK5Uox#wiE-rL8zj;lTemkDZci(-d_kq2qM@v%V_^!hy& zF`4_Q5JX6Tyf?BEMypj_j3o2cCKYoTBQt%N;lp(LoQp{@3a%ScP#ZxM!8M2+n7*JN z&|;L%{z88G!3WY;5xHDWWHFoQJoV)#Pfz7vKL1JzefF4JUHsq^UFQnOeY@5!qWPi3 z)I3r>*$uy9Rc$Z4wssD0vb^Ai&ZHGEVu11O?l?~1t|m;YNhQlle)SiBDgW_5{Fw}N z#}|u<+`XB&5jV=C{egV+^k=eUy{nnxi>`e4@}({cY&aEn{IV?U+Lf6t5SWL6I+k-} z9j#PWsPKv~1tTMv;DEhU`fkq60bSRvaz{DwS1JQZGfDJKWDO0X`yH*Vk~x9{IdiBt z76AJUO_++A?5RdKp3G&ssN~C+m-5YcVX+h1{ z6np(3&(2TeH(!0j5F2vbqGHt@HdDw_e;}#Fp|l7m#jSy$aYD*4N@CHosSRbVVh@no+0i-}cMSO%D1nRtJB zc`0ANzLRfmW^%Vu4pk~%1ZVZ4W#F1IIHvay=`sM|~rk z2v3@9aNLItL~T5oBjS3Se;-G6qK9X&STO5nA{oFt>N#LyuWqDN(F4s1lgQ9|Mcqp(eI?Bfu~XIc7r@U9Ojh@D?PpDFjEc-gK=g_7jSMvqISu}(3|m`CI!02l!y_+ysw;Xh-%WsoMX04 zZCTQ^WHpSIYmkQutw}U3to}fjAW<=C zGqK?G?Lsls(bHqq;O^wr%Wuum3}B~Vc#sWLOf1>Md3va$i`DvAEB9jlw$`VWQcdpu2L}Wo90J}>w0`OT8%!mrhf69txRXVoNu?!&=^zd|J z+LQ{zRuGA0r>wCSGJcXa35_%F*z`>q8nmP}9R!DXw5uy{DQvvH3P*A81% zCZ-wIj0Kr127UgaYJtyKkS*qs+z=r*h)ji_Gb*84z@OK0h-({NQ~cEuX#LK{I{ug# z%Z#L3k|~-ev^%WYkk(u)OSKVVYMku`dbd^8c9a;s#7|!y9iPbEWTr&4lGqzD_>NsD zqH>1CTxKY;p?G4lP~y8&@ihoCB8G|NBFGIyqyaMHd$CKK(LyoIVp%Zi5(|lNq^7y}L+MtX=BmC8I@rf|tQ2RlvTKb$m04w_UT)8~lxI zX=EHB39lB=K~>immCYk62NL5Cl7)^ z2YYfQaILEGtU^(VDAU|B0}O+q;2X>bvW^u?9)eW)8CvJ{)h%PRjt&mFh=q>r?CeZG z>&lgi?5pvOOs2P}nJEW*LtcA-53ygF+)gJJhOOf~MFaG^Te-W^c{vFS>8qPAnZNv9E<`GCK1aA4o0MkHl}YMHjhHNJJc&%4q2dV@ z6X%av`DK2GtmhyHN?=EboyzLnp6`IWp@;_Bx;1+NPF50B;9v*+wk0aiX5 z?#a~+z-!447GoCZu)=Op8kJUbEXzVgt6n1xbz!nS3sGKJ0tQ2CI?5#m{k8bWz5I^J zb+gc?od?j}?a?L%<7eKtICvzDfct=xAQ>0+=8=fHTEZ82K{E@Bt6`3G1AL;-^6KRq zJ@<;vXLOGpDp!VL0`Yo!dZ?PNicZB|@O`0-NQDgS&P1i#!Hjmo&pQx}IGGUV~wYb|xSRrvQ&wGRT z=`ao{lU13^t1Hx)>dWcTk?f&`h!U2h99U>4h z=*z-d@WRQ9;6Lneh#upd6|;1#%89iyLBZKYQBlmiy0}y#L-phYEX6`_LJ}m#1oB{0 zgy*wZFZ=1H*e{OV(!3JUVe>5X+DLD^zI-EhH&=}P2YoN&immY=zTj|NDGo$@80wg; z*xe%6XPhYsv-DxW>Dh!ZFkD4km!5Mvr^n4amgBb$iamehK)4|#dk%vqeRM9KE zO7e6*V`M4g%ro&Y=HNY_Guq4M)4BDX#$!Z_*i1FFm>un@{#LfpD-L$MY1{DrjIT%B zSKm6Lg6lyfQv4~0LG_&R?Ja{I5!N%%vCmW)xKIvTAc#<}`PGXTtXczXd3`sgXhO&j zln+?z-(1}((4Wi6$ssY=M3oa1xb4P*<3_>@2&B}N0Yd+q@`kWCcO^hCk#N-i&NnS~57gw9@%RihdXdQ8oNa~m9MxHmFqX9Z%Kv)UfUvGO3f zF3UoiIIvn<0K8T!3q%6j7r091wkhL69y09C=00P&%nZ@-CId!rJ#w8?Bo~#I*|lCb zL#2d{1XxrPoPmG|v{xj6La&9=N35TP=tU(45DUAjqV^Vu6RstMDC;>lvx03TG3O%A;dXKr(zcQvB6y)aFh z*&wX;7j_ZW+m718E5E)uq7pT!SmeJbX)uJ{h#esqNnk!fh&pz+=MFU=ARN7jNMKRi%A#IDBp?7J zP9Qo091L+$bVWpq(g9mPq`=er(*OV<07*naRH=fYGsPPPUj){f7uzsM)4#sFvM2^r z{!?)^Q34w(_JaxJcB-5O#DYS%h$7YTpdJ^(hYETnEH4mMXt2o^Iwus5?(>65q@csR z!!TuRG>BoAoz%}3vw|DS1V!eK;ONSQC#ZzArr%!6ZLgcZ--Tms5LRtLXb{#h2&=^& zgS@-Ewe#0T(-b$J`@&%7qiBCuF~J}FOEib@9WatU^IS359mKm59bQj$L(G(L z7RZZ?#%au?oHKeO^TZAiDMa3?V&ow??@Tc&z6X{D9C)ZA_U!mXhW#N$9Li^wKHrt8 zFz#C0?n!Bj!uA@s%OLGKn%r%}{@Em~ZAC%aZ0&77F*IX>g6}#rh~f_xx=><)vGn}W zQxeISzx`Z>x*I?K=wpV%px_y7H`tZukIwl%#?Jz>izyc$U>F=K6(%9xS*<7;|7Ky>0G?|I9j<->v!LTw+f|xIGM_fDi?i49gr|X@^Qh3N%2?%2EAuD(o3VIuitHGq9Vqbwh z(!Ye&b*w}tHWKC=8Xk(ZLClk&>aM5BP!-a0*sIz^bf06jMd91lzWMnkgJ}^~T{%Qt z{$>ri{0@YbsJ*^nmU$LQW(G_p2<-H^YDTDY@c86ZW~%kP_~ttj0Ln<7JU*i;4Y77G zI*>d=1DwaTIov1(p8RuD9*xdSjtFb zA9bs8*C0y^ljZ_c*6$eCU}CCrNfF|@pa)0u3IU7?t#6i5uBI!N5J!6H zlK#LkYe2Ammp=Q!a8Hhu8$;WLRt#%97JflfO2rtm*OwRa=K7N2G5{L}!*xirH*sj` z?E`kjFqc<~X-7m!8KQT4iyqw&t+ZrZ+nU;N>sud0xT8xZp+!~r( z=_%$Ql(X|Q0(dKQW)lq!uHQi+lA+A2RXsT{U?x!q)r>VHGL$kv1>xKTE9H?rV=tB6R~P+5ngA9k`+x%vi*vV6GwW0n-JlH1`J{Mr}!} zs8IohBdF+`&R4vChxwEx6KYZB@uyFp$tSuIo}8V?$>BbWw4v@6Qt~?<{mC3n;HzT6 z$OBX&JW>vg!fRKmAY^pp2S&>Fx)rbd{L1`l_9>8*u%1Xi@E7sNo03CI=z&+6b03k1I zjEQusU@2?^IFMBgo_U|@p>m~@J#;P0XqTEV?o?Evrh^i#Dl7%eAxZ$RFYa`MOj*Yr z2IEI(kMvoC{NZOG6C=KQeM!eU8z$sJ+g7GyfEY*6AVRsLRZLmCRyZajvef@NwGL}* zd=F`ejfG!(mRsMsPdDr1UY++{VsM*f{%u5+s-nOOj-a@(LMSc(ZI9sCPTcRJ&9)|5`;Sd~M()5E+HnRIo7PDp?Bo zs4;0n(ZYH0_ug>CnpO)`cSso~N!B^4#1kV5>ViSSY(qC7ejZ``|DTtYR z10+xk*=l&NXC=6W_O+Fuz#wdS%s4`x#Q*uJLQBvry>8-KT$ zO{duypn3X3g!L|Bu^ufRinYme)*$Gh^kaocN?k~ujNe}0$hi7kE^pCYRK?Q(_0BqV zEIc^KOt))!S(3YebG%XQ5Udx$bxXv0txB8NV7M+7vbT<;wwFB_o&TEU8-aaRUWws7 z5GklS*tHI1a0MNx1`F%|^>}QBL&}PQeWqLtc&$Z=Z0t;lwI>7Rg8Qhx3@7tsZk=HV zDD!=+;%%V>rdWw(2^Q8k6O{>(0E=>y%Ee!Q^EG4tSFqw8y^ApV2b-Y*iuU&qo zhYr&eZCO#wBZCzhhDEC4LOLjp^u3{*Z?bH6k*12z(rni#CUMIA_xf--lk z=PnWXKI@(CMU1u0(6y6D-a})o2NhiUBT^CtIADWXWu97PhCLVrm(j9dmZ2gCLJaxU zCZ!i}Ql?jh< zNK2CxsaON}?Q8nr>m4HUAsWGvpFY{t3g7mH_c28nA!5O;7qr2iK-G{9m(qX10tG>Y z9Yzp9lk6BPho;B)u1dVHgNiFVhfTTR143NR*~Ztyf$@D$?4>hYzY81P za$!Ay07uXP1O7mS484AX#^V>(;~K$C^xcjqsjX{@Fernn_%vpk->*dIuxpUaNETCtvjk47 zbwyxk)?oiRv4H=$M#M0Y;F=KboJFr7<9I7rog#Bvnct8m3gA0bcJab#lEf$IhVg?P zcSKum;tZ~qV6pg1#ZAj%%8=wf>YwI4_B7m6F0@)kI=sQ5q2&Toy?*&pIpLC_Feqe; z%>{0Dad*oS1E^j!Q@M9NnXn;MXBA}s`l^UK@T z@?BoP>#;R7d7DY$Z6=0o*Rbz3Eb~qnNR+@2GJ2^NV>9}MbajD);+P^gqQh^}NtTj0 zgkY4{hOLb3KQ(po4CZuiFJ)A@orOjC*~r`siNOh%B`0;kX@Y<;5*!tM0woz2g)#Hp z+-p&QNECZbP?~!+7o;<0`d#)1>g+KB^>}Zeg!Ja(n%!4Hu*=eXmN0WnRit-^A}43( zyhc^I_NmV_JlrGpf)Tfe@|*Li%v6B@=Z70;fZ7#!K(w#R7?Q!Lk;+SMvciv-O|N#E z62ithzqc9Ufn%#3YnSHtzG1AJ->uei-ya$P7^zWKNhnyVl>T%WFK^ACP}!v_75L^> z*cR8o_gI-(gry_tP!6%a4^M)kz=D4A>6%=I&C#_9MpMvy?c94#X3cD01amsND*? z6cSBfPSJ}#IXcp37rB_-(NceYbRtvuSeGR+Tc=Y}i9pd?1QcRShiK}we<(BM=2x;3 zv^AeIjV-G)c|xNywMa4&84oH}b)-3L`7t&lvX7t;0J&fD7+j--S5!@Z;Fnt*Ky!8BR@$LL?|0!t8fQ zm0C=0@nFj^-=9j!vL z<$@b+f#+VpZ`xsSV2qaAiDZhDKSPbUYSwVDhi=;^-{*LU`Ro*h&EIc(|1G!ohcfLY zB<(D#OuJ)~O0W42k%dMBFgH{w%}iL}4ZxQ56grlCK*F*j!m`L_Dyk4B6A7dZ=$h5J zN@W8{tifWQU<)$;13~}N#pei}FG661Xopq&EFuCK(BNd{az!x=4%g4R${`l?-?7X9 zz;fA<6LPiOLSmrtR;5=?)@RV~AkH1(Lp{AN!1<^@km2A^7I#zPHdg&x-mppyqG|Kq zo)X@Snc)cf6WIBX+<_|4DoQ*3k@OHpALlxyfuer_L$O#f-^vMyQvfG*)npz!Y*!D6 z!X{(cWfQ~aTP^RqG{2PE{g9Tijj;G&nUxPp;md)&a?FX0_P>13OAApghxkC{7DOmy z;${bXKM@v&fWCncled!@jfI7W>!xywso^9W0brq#ZG#YCL>(Z?0G-1Cgc+l6(F5R$ z3~Pa+(6Qo76*9RI7>GztWa^-g4jOyvwJ&E2nPjCL4|*&$1TJzjo3freqcmt=%K3gA zpxMGi_E|M%MGhAFh}SCU#LiKxw3o}*im5L38F8=kqazY0`ac4T-P~L=PVCX)scsyd z6D0qt=zcw!%kp;0gbnx(%V3z$ELx#KF!#C5Lt6hs1hh-4y(eM4f8>LI)BbJbz~MK$ zdm(&k72F}4l3fjK=N`SujObuK!)`+qf}g>tiMj@e^(sP&W+;5OH2^=IzJ@!pPVNrZ zj0Q_^32Sn04Ks6=zzl}<*oneadF1<*s0gFt=>XRCMU<1nk;GYU)q{%}`#~e#KIElE zuLkRn19Jror@7)MWGankGZwf-uSY1QaFb#O(MzD;DZA#Bzqr1VzMg-4c<3o>LZtxF zq(?~dP(u9r@>=gLN`!ssKHitPj{UofONQ{|UQs7VL((L;)mqyoq3j~8ZJe!5Xj{Si zw%6;wH$~yQ;H|`2%y=2y-V&_(Z?JxWcnj)x;UO_N6`X~2sxnJN1r9^%S10e(RhlgY zA5P!WTl6Z(g^MSc9jE575Sx`%Mdm}Zw_(RRgDJO!I|&5K7)k)>TZ9Pz+ z16&TVT{p9dTrI|OtlvF5IF_on&r_#W;WjTuTDe;(Fj((k|A5?afhOdmkxZ9`jF1d6 z95DvIT7gUL=@4eh)s!R;4$W$hx)ZE(VH*Gu5SeZ!XrL(RR4u9bPy?ze>swT?X=hc} zRwWpS=2f)){dSA{Hacip2(}U6_Yj4fpEXSg4}*PskhL!|x*yL{+1cI=vEM8}CTyi* z#_y8ihru5(4dj_OZ?ZZPtPX|tCFoPAI~XzGY?I=aesGM^Q@-pzCI(ogFSE9E;9hiM zBT!BP2{-d-2S#uf)~ba8i(;WRb7e8`*`a92usfvq9;>K?*vrknLPs^AP6n%a>``N^ zR9r%n?CQPFRgBGatk>gPLHmUdo}6QMnHCA~UFNL!H9)BK649m=0|wzfngZ#;d!S)5TOK`d#2saOW~r+{3I>lX1M|hOTx-*1H(On`^zxN&UTh>7BzSCGk!8Ehn8<`s$sTeJB2u=X5 zRNYzXSGMwrGix*_SW==waDf`O*c-b@u$g)x-Nnibx4M`p z=?L%*Z4~kD^9kDV!XC9?sLjFNKChLBKE-NBISNw4;5^4QuP@$kE>=o`=nRVhz^m&! z>7)FBip<;Tlp0F-AU@#J1mU0&3PdZTE~$$2$l5wLfeBZR&s4;8N>CA<=h7@E6fVV@RDJ zBzo+1NozXXBYg(9b(mh2s_*4l9Rq13n}<3ZsEUS-qL{H0S{my*%}Skbt({&lwA;ThlSeAB{f05pr@^!9PC-hjNTD` zNj%#~2?!y{hyZ(f{zUHP6_u8QQBOhoo$M)*!I^CyhKjXGQK<%_c=P&F=b$IU{X>?g z%#_fsCkuHspDNB$cmOB01ot7jt2A?N6*pnlrUcp@bGMCKZKH|&(bK2zO<3eWStBLi z!T6@^&77;G?+KqMhQx|fe05e^xT$Sckv1um*9LI`IMdF>az;7TezrQvHajGcxS;VN zkZ)CSAyb*`#uJFu{PBs6(W?=P0sG3dRRH&b^-6R4^$6(U(t!rqv6jGARVO&uw{Bnv zn?@)MKsT!oP8Y;u^VM7?b99+Cjqy&k!U{mWG;Py5(MO6@Mzu2DD`VNC%hzxGIV%|` zCoif6D+qG_^;WMgZx}iR!b7kis`?-dyq8&tOxKSk_2a4QYBkpLAu+g%9@+pt5nB2z zKYRM@@3s-oLxgpY&^Bqm2F-2LgmDTZGP+_s@{x6@MZJ~LyT0F0DZ^8 z@>0c`x*<3@;PN>#UAUAQ1hD(TMi106##9s`7hK);!z3B8AACIu*8Qe6$KCpr#a1SF; z0^1+%Q5m@!FKAA9`sh$zzxYlL_xkej*}fd0e5T&__3c=`yPL|GKC6sI)Bfl{3AM*! zEPxC1<&+(0!TpAM?@oof`IeQ$7{IvZHgEe8i5qL#W;V^5^3Bg`j`fiG*rv>6u}zDb zwQsngIX2bM^u5f1{H9$CCWt-~szPJ}0mWZtY42>G>oq=kHIH7XL1baARx;NT=+tEZ zU@8C`YArIZwFs$W;>E*j5}wO*FN+lFf*Z8tCoC2$HxXP7S70KkCrDUl*T}k7Ijs4* zH~PBpD3CjW3um&T*oC>}=I)kR-{?+(M2TDFToe8K;0SHyR^)V9FUaZXBWnbuT#Y3L z^!a+guL0TDOB$g2%;>JHt1G&HpwXvv4IhHo(=(+fZ-}~GKhlbfXwpd&k2Qbr9x>LM z2x7fhyVS@g#%kWkhPp|~n=;tU4#_Y{17r%CqsEr;_a2OaiX|%Af=Y6Po=1_g;B4^N zsU$wZ-;llHZAnTm=8tFxL~*WItPSVoZsHKSe~9atizmiOvvopeN=~pMYgQ7{#JFcL zOX|c>c|Ss7@F2t+%pS0};rl%$st#cJs_;U%QN^JWMupPch4mal0TpC8FIEKhu$W(t zCyL9WirFI-a|=EPOfs-{^^r*gi+!Cu z_!i=@pnVJpuNjq;s#==T!s^pYIUYiU>9|%CIogMXe=IlSsi0^#HqQZ!rYi0bCIsVY zFJ%>>D@M=o;K^_x*LwqMhY@XB@<@%9@FLZ?kha3LO%sgnx!4ZUo4=c%XX_8%&K4hL znSPxuta0o4AvoSy|DD7n26c*bua3o=uUJLKw6LUMre|SUqJEcP8oQR5Co_w=H68DY zctSyqv1n#6Ezk;;1#(clZ)OGYjAF|!qR%mkHw*9|e-9iH$)qcm_C{AUA@GK=7Fg;I z)sbN`K}3a{QDR{QNlLnqAZ`_Fp#U4QfMDcA2m2L@epJf6ru+;sVhMSpJW_A(K!(GS zmyj$uA1v2|=vBCjbc`RLKb9dfxRqE7hA5fcj?uPpjg=Fa-zL`Hl`fhDR*S-Pfwd^i zUEF0`Z;&ps?ZS1l%MdpGQ;E~8_ko)k+?M4%Yxa90XU9j}-R#edFkrf13?Jkk7Gt}@ z3)j;2WiFc1t>jn-a2bmTwckd}Sxr!u5*F%_7*h_W{JG}ndVy(K>Tp?z#n;Wc_n?-RG}H8c@=6&plLaB83{$);FdOM1MD(j zeFn?lTe4t>PH}EE*Hh=MkT93HhUzU>aCL|oBzz)EdRfjbE6D9uW+1g}mXOlVQps`df zQ;EOFG_nCjF0Ang-CixNz#B~};C9_92Y^k7K*IgwL*@+Rtn+oGoN-TXz}-dH^CZF#`Fx)LA~RSTwF1ky(QrOW43U^A)u^ zRP|c{q^rhwcydZ{$)pQ7n-N3^F_!ljwSXKj*vU}X_eMef;n9I0=my^hu}XKuj%-Xo z3CQ#=WR-Q9wuUixqHMOKd&{wHy_+Jh{dxLb`wGqayV;pyv+rHQZnT52jLogJhtypw zi9q_5eHH7)Y8-fAlt~0A#pELA5LHXY3!y23OscYy+#wZl_3M_&(Vay%1=#fwRs$<^ z9=xZF7=f5+AX+NE`Irc@#k-e+i?XmuGU8U=;3-(LM&-20+zi^nyq!ukt^f>&`Vytj zM~5l$LR%C>ei;omux2Pk6^yCSgDc!KqZPPkPPW}A-~Yhx;s zWmnMRij))G}^m0$a$3$FA&+VP~uCCMY+jyRyynt_hqKzzn$G0_tOpd=4Q&!o2XQEda$oxy(gD9 zS4vcs`4IKHj8$W`=cEAmbHBsU#!+oixa+)5dy%%iZeD1c2C(tEDX(3vZ+>16tfj(A zS~v%~VE^#mce0UAcX^k(bVTQFxh~mE+ zlNampOYu$*DF6T;G)Y83RLz=f;#})tW{*f}niL(6#l*@ea_lp_E|~2cJUqw7p3!+7 z%y=2hI!1RCn;II1W0L?uI8R^3N~dhs zs9bXxEGZZ9^~rY_-jT3&iNf~U-4lhWh-WA(Hl%}{G=V-9z8+Ng|kh7Jv^crLc5i*U}5RP4>=#hX`*O2toq zZoR4dm5IZ#j%QLyt?c|hkGDpUZllb5vNf)WB)MvWG%T}TaDrtt6Gro{@rK*YIEfiY z_$^|Y21*#Hs)uZzRoP>LL+Qpy`Wg$v3-ty_qA6Ja8Ct?apqpc_Z+4~yYq~o}1PHG+ zO2YFJ^$4PLdSZrACT9t@2 zybx{pknkjn{EAh%!I8ODg4`;zLM7sKTDeC6ALoQbX05fx=fM(1d?Q*P?t+n}6q#A1 zCfFV9%QEXRT7p#p(Iy32AvR&T*%t8kb!_y~sVArL-Y%cv<{O)stNDI9YL9t>&0yiV zO=_n!u7N@tpC~@)BMVu9EDOErfj&A<9-qnQzx~|$L8IF#h_Wcnhv@2itPJ>9EWCz0 zVarBpggus&RD$hBYG>lyj|O{kTm!>&)`Tiq7cBC@v13YVA<-8wn$#JS9VUIu>~VF#@oSc&;9LKBLlJ z=C~)sILMJMxMsX3B?ow`?27`R0xjPvhttWX11Q++9pBlVQG1>-z`JyCYdtr#oHeN(}P zmM3BTy8+($-PF@CCfw67yk==}Y}a=xi@k~r`N-v5)#cHiVg^Y?YMtNhG@brh9A;*xVOtY67_Yo!rL{8w_bLz*@6K<_oc0*{7~RDj>$#6{ zZQNbY%Q`wW%}wRa1e#h?0{phq^4j($^<2kVagp>ZG&iVU&qX}`199cP0odTcBR3FH zh$=dTM{S5WhUG%1wKQ`>Xc732eRNV3=K862bF3zTrQglYtLgl@=DPu{dXm@eehunp z!73jQhCMk^k@ob_0XHEu%RE?TiDV06dYGco51u?@#|kt>IyyRHbOHQ`RaUsIDAr~R z`W9jFc47h7LPytbl~XyG$CWiXisn~L{Tz`^!-QH#iIp2f#bH8LnfW0)A4o@yTbcwX zYtC(=eRDBuW3pH#kxx3*z{P2V4^2L{5@@+(0))*wFkdTBGjj&T26O^dz!fCDCF_byOYgT1) z$9QyQjeXLOn@l8$DW3{IY3)I5aC!f3&38h>ciJ%N*z5e>yobb58k;1#xUNHpusp#) z1QRulT`L}O3Rgq5R4uS0KYjjO{`3!i!dg(MP}lVk=jgkRJJsGLuTW4_296gdk zQsz+%UW8;*G^Y7$bB1KM5?T9X+h=gUdEL~Ih@AA1xsuSeDB5875Ph}DvEY)+tjs33 zEnDch*d;+nk3UNiC^SadG>g22!kQ4NDel|0%}&f3Z^(M5wvVQzcEbWMCKep$uCZ0H zE>~7$wPKt&Z>X9|v6zx$eQ%B$kI z^4nR%aqV*uU08*@#${WLON<^^97w7G@o5hb3Zy`Fq@b|(M+PyR%ns|f57!z{guN?8xm!k?2RKe2WzSdXfE z=ws7ilgyI%D`ZJ*__MeOv^aH7(?Vy8(kjW6ooGF7P-zQ^5WyCUZlA7` z+kHC4YRAR;xvPf6;U-NxwIPC zP4@ootyjybs#D8?Ro~WSSM~ijn!@YM;fGH&wJuR$6h*Jy%Op_}3fI6>-U@55w=<+K z9`4Z>_a6npXbUTfn^V)3q(kZWigQ_gvi8NvE;1tF07Y7(-4e(lm{kCnf+rcPjUel+ z{k$OY=-jDT7)dCt8x@x~m*M*@v}`#yE>8$qWtvI_hs~0fZ({+=Oe-P04%HN&%c&`g zQK2^h%q7Aj&39(fH(6MxH%Wu6RrX|skj;S#Aggkwp=5x*fmw!aNo0$IAsed~3TFbc zDmDcBf zS1ynMla#5SBN{E&30kD&w5Uv3QA z7W7h5ICzW{Gh^muW_xz^xH{EX6)6zyDbhzu5-Z(Q^9$9|_!uKmT1|QrIKHg0>gHju zq4jc9m_$Q0)(H%uhx)E`yktXvJ#MTDMQn9^MVk`90cM@9-D6 z^5;~5a32GWbOX8bGEQe@;vbSq(wxV$6}+K2GXxiz)iO!f38yM@QSCDx46tDB;55t@ zT+K%sB?xf^Rz3qSE2&oC^K;_33$1l7tjL)Gr&SbGD~DlhF8phFisR^TNa>DeI0FKJ zoE{!qIGJb7CD&z>i}uP=s$$V~jVcbjFP9oyPo?@pF!e@uQs-i|K3~t*a5?7sGPl4B z$JcdEwzm?Y6~A%SXZq#TUmc9tZ4HomRh0~+s?!buykqBpliT!;zZJf|i5YTUG-BlM%jylUoou4(BDt7uN}~PL+}+d;xC)}% z^TiZ?ps}*(FJ+nb&v^;`B{MHq_r=8tZEdz`e}9LD8wGVk(1Ixv(!?pI=zMg+Du|$G>Z@c$ z)F?u6B!UEU$0n{aa8fmG@;f{8peur=k+vL0tYy3$sg}@0wNvrR1Zb46Q7>w)3oT_W z8B-kLO_(w%2o_+K4BQH+?j($L(ZB((=hR(JRw-pfCnb}dEc--=Xc;0@XFT&Mi2zgDnR^_tVlMnJCsM0OZ+duQ0Er%!fiea-P)K1`j! z^aYF)!B`Ufjt^@D2NTdyGem;xogNDVa$Vr!eDmfFefNjo)2oAbw7t1WkM{1-*N;Ev z(puCUEoPN8Dmd{IGOx{uUh;vQEavYibYe~^k;+k6u$a%{-n#)fj_*hIQ-wDh!z}n_PP!=kX4BDbvy>i;+Bd`tW zP%Ec_Kr|ZW^W*~UxJ;~rY^r4g6cqB-1hOn-AC^F^3RYc%mkL^%Rk=wZ>r!?#h3SVH z%57t-dGRv&qPT_`B+fuvxJG~V#U5>Lw0I_RHFq?cp7Idx(P+e~8zf{HVS+X;t5dSY z!7{d+9U9(#N=L`%LBI~__kVavFMc|tgM(B0>&JgVJA+$6z&b&==2APQUCxZg=Sr6A zwN@&x!~G>6fwH)G@a@p@p5;2hLVYg1hNSzs67DU}w2)FQP#N%}`<_LtiK3<=+YB!n zP4&H)ZuUXNkD6(SZ;S86j*B*q?^`Ts0iycz478Ornj-;_)k%-hw4S%VvX-SfPg@^W z5tqn-<+b?lWes){1d*Ch`zdSbv=8?h8e4UwMn=pwJfTMqcIer!?vr1f)A{ica}Hou z^BB`mLxi@qwIu_TocIp{?`K*Uo^!joY&s@zRkX3b5lm>0I{h;`IXfXOC%bI3$c)Ge_1r&DckYu$$EiiaOjk9|8)%C68Ho3@aut8q74b2`ryKQ54d+ zY4S%Dta$aRQ1JDrng|uK&9cSA!)3yT87Gb2RwAt^OtnnZkE^vw(@1es?YR*OFpZTs z>B+H#{`>la(jvuG6L(XU%knv7;OkE+7`0PVKCp;mMtHP_3+8WUoxc3?LAaVH^rt_) z;5sQ+&3Mxh5w30ZS(KvY3i)4X|Br+7>b zya}WH&6PVGQ90Eh2`cW*r}3((gaI&5xTeJNxmuW=1Q+-|E#x!tI^(D3z(7i*O{Jt2 zB5=ZTb{Q(wl(k8;YFybWpZv(*Y?|#pvXUSXX19X$i|LbyQXbc?q|9g*tb0p@Z?$Xd z`a{-KO(F9)^A~_-sxt8*P;3WB5`+~G9^9iRPi|AQsOZh>_e>BwytU2<@C=LB>QcMg z<8OztXuUgqelIY-%v}(q=_QZ;0D6p`J4`FZ#-KlrH=C)s!Q0TGtaQO79x%DazyI)p z-W-nU?|<_RZFkq$)EfCc3mKn%8MPGX7_E(*s$6{`gE5TJFUo@H4Dr>RFwQVm29CcYhM050XxDi8*7>iaAUm3$*J zWnNQk@jE#mixuqw7ETpL4GEW=@R-|8r-~$I(hhn4N`FK+is2`_-^L+FrUF^T%VeuY z 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 KMNUMnLSTa5`eeEQ literal 0 HcmV?d00001 diff --git a/src/main/resources/view/DialogBox.fxml b/src/main/resources/view/DialogBox.fxml new file mode 100644 index 0000000000..c9f6ea9419 --- /dev/null +++ b/src/main/resources/view/DialogBox.fxml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/view/MainWindow.fxml b/src/main/resources/view/MainWindow.fxml new file mode 100644 index 0000000000..83fddd291c --- /dev/null +++ b/src/main/resources/view/MainWindow.fxml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + - + From f5d2536ec358fb99efd13d3e0eb707baf3aab32a Mon Sep 17 00:00:00 2001 From: Agamjyot Singh Chadha Date: Thu, 13 Oct 2022 04:33:09 +0800 Subject: [PATCH 57/75] Update find command Change return value when no task matches the keyword given --- src/main/java/duke/commands/FindCommand.java | 4 ++++ src/main/java/duke/tasks/TaskList.java | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/duke/commands/FindCommand.java b/src/main/java/duke/commands/FindCommand.java index d6a2174665..e5be721e6c 100644 --- a/src/main/java/duke/commands/FindCommand.java +++ b/src/main/java/duke/commands/FindCommand.java @@ -18,6 +18,10 @@ public FindCommand(String search) { @Override public String execute(TaskList taskList, Ui ui, Storage storage) { TaskList searchMatchList = new TaskList(taskList.findTasks(search)); + if (searchMatchList.getSize() == 0) { + return ui.displayMessage("You currently have no tasks matching that " + + "description"); + } return ui.displayMessage(searchMatchList.taskListString()); } diff --git a/src/main/java/duke/tasks/TaskList.java b/src/main/java/duke/tasks/TaskList.java index b325f054ae..dbb2016535 100644 --- a/src/main/java/duke/tasks/TaskList.java +++ b/src/main/java/duke/tasks/TaskList.java @@ -70,10 +70,10 @@ public String getTaskString(int index) { return this.taskList.get(index).toString(); } - public ArrayList findTasks(String search) { + public ArrayList findTasks(String word) { ArrayList searchMatchList = new ArrayList(); for(Task task : taskList) { - if (task.getDescription().contains(search)) { + if (task.getDescription().contains(word)) { searchMatchList.add(task); } } From 08328754d0470c3f3c7ee5677805a7a83c3ac083 Mon Sep 17 00:00:00 2001 From: Agamjyot Singh Chadha Date: Thu, 13 Oct 2022 04:36:44 +0800 Subject: [PATCH 58/75] Update find command --- src/main/java/duke/commands/FindCommand.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/main/java/duke/commands/FindCommand.java b/src/main/java/duke/commands/FindCommand.java index e5be721e6c..d8ab6011c8 100644 --- a/src/main/java/duke/commands/FindCommand.java +++ b/src/main/java/duke/commands/FindCommand.java @@ -8,8 +8,10 @@ public class FindCommand extends Command { protected String search; - private static final String MESSAGE = "\tHere are the mathces from " + - "your list"; + private static final String MESSAGE = "Here are the mathces from " + + "your list:\n"; + private final String NO_MATCH = "You currently have no tasks matching that " + + "description"; public FindCommand(String search) { this.search = search; @@ -19,10 +21,9 @@ public FindCommand(String search) { public String execute(TaskList taskList, Ui ui, Storage storage) { TaskList searchMatchList = new TaskList(taskList.findTasks(search)); if (searchMatchList.getSize() == 0) { - return ui.displayMessage("You currently have no tasks matching that " + - "description"); + return ui.displayMessage(NO_MATCH); } - return ui.displayMessage(searchMatchList.taskListString()); + return ui.displayMessage(MESSAGE + searchMatchList.taskListString()); } From 40cd2745f75920a52860f7d756a0b33153c31aa7 Mon Sep 17 00:00:00 2001 From: Agamjyot Singh Chadha Date: Thu, 13 Oct 2022 15:03:26 +0800 Subject: [PATCH 59/75] Change behaviour on application start up --- src/main/java/duke/tasks/TaskList.java | 9 ++++++--- src/main/java/duke/ui/MainWindow.java | 5 +---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/main/java/duke/tasks/TaskList.java b/src/main/java/duke/tasks/TaskList.java index dbb2016535..87231e701b 100644 --- a/src/main/java/duke/tasks/TaskList.java +++ b/src/main/java/duke/tasks/TaskList.java @@ -15,8 +15,9 @@ public int getSize() { } public String displayNumTasks() { - String text = "Now you have " + this.taskList.size() + - " tasks in the list."; + + String text = "You now have " + taskList.size() + + " tasks left in the list."; return text; } @@ -42,9 +43,11 @@ public String taskListString() { if (this.taskList.size() == 0) { - return "You currently have no tasks"; + return "You currently have no tasks in the list"; } else { + text += "Here are the tasks currently stored in your list:\n"; + for (int i = 0; i < this.taskList.size(); i++) { text += (i + 1) + ". " + diff --git a/src/main/java/duke/ui/MainWindow.java b/src/main/java/duke/ui/MainWindow.java index ad68732f69..2513281716 100644 --- a/src/main/java/duke/ui/MainWindow.java +++ b/src/main/java/duke/ui/MainWindow.java @@ -20,7 +20,7 @@ public class MainWindow extends AnchorPane { private final String WELCOME = "Hello I'm Duke" + "!!\n" + - "What do you wanna chat about today?"; + "What can I do for you?"; @FXML private ScrollPane scrollPane; @FXML @@ -45,9 +45,6 @@ public void initialize() { public void setDuke(Duke d) { duke = d; - dialogContainer.getChildren().addAll( - DialogBox.getDukeDialog(duke.getTaskList(), dukeImage) - ); } From 741e01ca105a0705a8228b0dbe8166d248b92211 Mon Sep 17 00:00:00 2001 From: Agamjyot Singh Chadha Date: Thu, 13 Oct 2022 15:26:14 +0800 Subject: [PATCH 60/75] Add HelpCommand.java --- src/main/java/duke/commands/HelpCommand.java | 27 +++++++++++++++++++ .../java/duke/commands/UnknownCommand.java | 7 ++--- src/main/java/duke/parser/Parser.java | 2 ++ 3 files changed, 33 insertions(+), 3 deletions(-) create mode 100644 src/main/java/duke/commands/HelpCommand.java diff --git a/src/main/java/duke/commands/HelpCommand.java b/src/main/java/duke/commands/HelpCommand.java new file mode 100644 index 0000000000..08b49f462d --- /dev/null +++ b/src/main/java/duke/commands/HelpCommand.java @@ -0,0 +1,27 @@ +package duke.commands; + +import duke.storage.Storage; +import duke.tasks.TaskList; +import duke.tasks.Task; +import duke.ui.Ui; + +public class HelpCommand extends Command { + + private final String HELP_MESSAGE = "Given below are the commands that can be " + + "executed using duke:\n" + + "1. \"list\": It list all the tasks currently stored in duke.\n" + + "2. \"todo \": Adds a Todo task.\n" + + "3. \"deadline /by

\":Adds a new Deadline task.\n" + + "4. \"event /at
\":Adds a new Event task.\n" + + "5. \"mark \": Marks the test as being done.\n" + + "6. \"unmark \": Marks the test as being not done.\n" + + "7. \"delete \": Deletes the given task.\n" + + "8. \"find \": Finds tasks in the list matching the keyword(s).\n" + + "9. \"help\": list all the commands in the application"; + + @Override + public String execute(TaskList taskList, Ui ui, Storage storage) { + return ui.displayMessage(HELP_MESSAGE); + } + +} \ No newline at end of file diff --git a/src/main/java/duke/commands/UnknownCommand.java b/src/main/java/duke/commands/UnknownCommand.java index eb1602c05f..a7a76c7a56 100644 --- a/src/main/java/duke/commands/UnknownCommand.java +++ b/src/main/java/duke/commands/UnknownCommand.java @@ -11,12 +11,13 @@ */ public class UnknownCommand extends Command { - private static final String MESSAGE = "I am sorry, but I do " + - "not understand this command"; + private static final String UNKNOWN_COMMAND_MESSAGE = "I am really sorry, I do " + + "not understand this command.\n" + + "For the list of commands available please type \"help\""; @Override public String execute(TaskList taskList, Ui ui, Storage storage) { - return ui.displayMessage(MESSAGE); + return ui.displayMessage(UNKNOWN_COMMAND_MESSAGE); } diff --git a/src/main/java/duke/parser/Parser.java b/src/main/java/duke/parser/Parser.java index ac78a8122c..4fb17846ab 100644 --- a/src/main/java/duke/parser/Parser.java +++ b/src/main/java/duke/parser/Parser.java @@ -57,6 +57,8 @@ public static Command parse(String command) { return parseDelete(input); case "find": return parseFind(input); + case "help": + return new HelpCommand(); default: return new UnknownCommand(); } From 64c372748fcdab6caed6f46096d3ab24e3696420 Mon Sep 17 00:00:00 2001 From: Agamjyot Singh Chadha Date: Sun, 16 Oct 2022 17:02:40 +0800 Subject: [PATCH 61/75] Update Scrollbar issue of GUI --- src/main/java/duke/ui/DialogBox.java | 3 +++ src/main/java/duke/ui/MainWindow.java | 6 +++--- src/main/java/duke/ui/Ui.java | 10 ---------- src/main/resources/view/DialogBox.fxml | 5 +++-- src/main/resources/view/MainWindow.fxml | 14 +++++++------- 5 files changed, 16 insertions(+), 22 deletions(-) diff --git a/src/main/java/duke/ui/DialogBox.java b/src/main/java/duke/ui/DialogBox.java index 37bba5ed4e..5617ebfca9 100644 --- a/src/main/java/duke/ui/DialogBox.java +++ b/src/main/java/duke/ui/DialogBox.java @@ -10,6 +10,7 @@ import javafx.fxml.FXML; import javafx.fxml.FXMLLoader; import javafx.scene.image.Image; +import javafx.scene.text.TextAlignment; import java.io.IOException; import java.util.Collections; @@ -32,6 +33,8 @@ private DialogBox(String text, Image img) { } dialog.setText(text); displayPicture.setImage(img); + displayPicture.setPreserveRatio(true); + displayPicture.setFitHeight(55); } diff --git a/src/main/java/duke/ui/MainWindow.java b/src/main/java/duke/ui/MainWindow.java index 2513281716..d5cf39e059 100644 --- a/src/main/java/duke/ui/MainWindow.java +++ b/src/main/java/duke/ui/MainWindow.java @@ -20,7 +20,8 @@ public class MainWindow extends AnchorPane { private final String WELCOME = "Hello I'm Duke" + "!!\n" + - "What can I do for you?"; + "What can I do for you?\n For the list of all commands please " + + "type \"help\""; @FXML private ScrollPane scrollPane; @FXML @@ -39,8 +40,7 @@ public class MainWindow extends AnchorPane { public void initialize() { scrollPane.vvalueProperty().bind(dialogContainer.heightProperty()); dialogContainer.getChildren().addAll( - DialogBox.getDukeDialog(WELCOME , - dukeImage)); + DialogBox.getDukeDialog(WELCOME , dukeImage)); } public void setDuke(Duke d) { diff --git a/src/main/java/duke/ui/Ui.java b/src/main/java/duke/ui/Ui.java index 387db64e61..cc47c1e322 100644 --- a/src/main/java/duke/ui/Ui.java +++ b/src/main/java/duke/ui/Ui.java @@ -23,16 +23,6 @@ public String displayMessage(String message) { return text; } - public String displayWelcomeMessage() { - return displayMessage(WELCOME); - } - - public String getUserInput() { - System.out.println("Please enter your command below: "); - String userInput = sc.nextLine(); - return userInput; - } - public String displayExitMessage() { sc.close(); return EXIT; diff --git a/src/main/resources/view/DialogBox.fxml b/src/main/resources/view/DialogBox.fxml index b8143ec9c3..ea9af924e5 100644 --- a/src/main/resources/view/DialogBox.fxml +++ b/src/main/resources/view/DialogBox.fxml @@ -10,13 +10,14 @@ style="-fx-background-color: black; -fx-border-color: black;" type="javafx.scene.layout.HBox" xmlns="http://javafx.com/javafx/18" xmlns:fx="http://javafx.com/fxml/1"> - diff --git a/src/main/resources/view/MainWindow.fxml b/src/main/resources/view/MainWindow.fxml index bd87866765..e8a3cba021 100644 --- a/src/main/resources/view/MainWindow.fxml +++ b/src/main/resources/view/MainWindow.fxml @@ -14,10 +14,10 @@ xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="duke.ui.MainWindow"> - @@ -26,18 +26,18 @@ - + hvalue="1.0" prefHeight="557.0" prefWidth="400.0" vvalue="1.0" AnchorPane.topAnchor="0.0" + AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" + AnchorPane.bottomAnchor="50.0" style="-fx-background-color: black;"> From 9c7adf9e4dc70fc1aa23d85a7daa363745fe4525 Mon Sep 17 00:00:00 2001 From: Agamjyot Singh Chadha Date: Sun, 16 Oct 2022 17:05:05 +0800 Subject: [PATCH 62/75] Remove unused import statements --- src/main/java/duke/Duke.java | 2 -- src/main/java/duke/commands/AddCommand.java | 2 -- src/main/java/duke/commands/DeleteCommand.java | 1 - src/main/java/duke/commands/ExitCommand.java | 2 -- src/main/java/duke/commands/FindCommand.java | 1 - src/main/java/duke/commands/HelpCommand.java | 1 - src/main/java/duke/commands/ListCommand.java | 1 - src/main/java/duke/commands/MarkCommand.java | 2 -- src/main/java/duke/commands/UnknownCommand.java | 1 - src/main/java/duke/commands/UnmarkCommand.java | 1 - src/main/java/duke/ui/DialogBox.java | 1 - 11 files changed, 15 deletions(-) diff --git a/src/main/java/duke/Duke.java b/src/main/java/duke/Duke.java index e3e076eecc..3f6e769873 100644 --- a/src/main/java/duke/Duke.java +++ b/src/main/java/duke/Duke.java @@ -2,9 +2,7 @@ import duke.commands.Command; import duke.parser.Parser; -import duke.tasks.Task; import duke.ui.Ui; -import duke.ui.DialogBox; import duke.storage.Storage; import duke.tasks.TaskList; diff --git a/src/main/java/duke/commands/AddCommand.java b/src/main/java/duke/commands/AddCommand.java index 81d5f4505d..701810ad5d 100644 --- a/src/main/java/duke/commands/AddCommand.java +++ b/src/main/java/duke/commands/AddCommand.java @@ -1,12 +1,10 @@ package duke.commands; -import duke.DukeException; import duke.storage.Storage; import duke.tasks.TaskList; import duke.tasks.Task; import duke.ui.Ui; -import java.io.IOException; /** * Adds a task to the tasklist. diff --git a/src/main/java/duke/commands/DeleteCommand.java b/src/main/java/duke/commands/DeleteCommand.java index 6f64db7599..e35c4cb34a 100644 --- a/src/main/java/duke/commands/DeleteCommand.java +++ b/src/main/java/duke/commands/DeleteCommand.java @@ -6,7 +6,6 @@ import duke.tasks.Task; import duke.ui.Ui; -import java.io.IOException; /** * Deletes a command from the tasklist. diff --git a/src/main/java/duke/commands/ExitCommand.java b/src/main/java/duke/commands/ExitCommand.java index 97e7086d79..eb15adba17 100644 --- a/src/main/java/duke/commands/ExitCommand.java +++ b/src/main/java/duke/commands/ExitCommand.java @@ -2,10 +2,8 @@ import duke.storage.Storage; import duke.tasks.TaskList; -import duke.tasks.Task; import duke.ui.Ui; -import java.io.IOException; /** * Exits the program execution diff --git a/src/main/java/duke/commands/FindCommand.java b/src/main/java/duke/commands/FindCommand.java index d8ab6011c8..c190e61e18 100644 --- a/src/main/java/duke/commands/FindCommand.java +++ b/src/main/java/duke/commands/FindCommand.java @@ -2,7 +2,6 @@ import duke.storage.Storage; import duke.tasks.TaskList; -import duke.tasks.Task; import duke.ui.Ui; public class FindCommand extends Command { diff --git a/src/main/java/duke/commands/HelpCommand.java b/src/main/java/duke/commands/HelpCommand.java index 08b49f462d..47d816642e 100644 --- a/src/main/java/duke/commands/HelpCommand.java +++ b/src/main/java/duke/commands/HelpCommand.java @@ -2,7 +2,6 @@ import duke.storage.Storage; import duke.tasks.TaskList; -import duke.tasks.Task; import duke.ui.Ui; public class HelpCommand extends Command { diff --git a/src/main/java/duke/commands/ListCommand.java b/src/main/java/duke/commands/ListCommand.java index 47f58fa02f..9b12d6af53 100644 --- a/src/main/java/duke/commands/ListCommand.java +++ b/src/main/java/duke/commands/ListCommand.java @@ -2,7 +2,6 @@ import duke.storage.Storage; import duke.tasks.TaskList; -import duke.tasks.Task; import duke.ui.Ui; /** diff --git a/src/main/java/duke/commands/MarkCommand.java b/src/main/java/duke/commands/MarkCommand.java index 27596e8b7f..e592100f15 100644 --- a/src/main/java/duke/commands/MarkCommand.java +++ b/src/main/java/duke/commands/MarkCommand.java @@ -3,10 +3,8 @@ import duke.DukeException; import duke.storage.Storage; import duke.tasks.TaskList; -import duke.tasks.Task; import duke.ui.Ui; -import java.io.IOException; /** * Sets a task in the list as done diff --git a/src/main/java/duke/commands/UnknownCommand.java b/src/main/java/duke/commands/UnknownCommand.java index a7a76c7a56..61dba6d3f1 100644 --- a/src/main/java/duke/commands/UnknownCommand.java +++ b/src/main/java/duke/commands/UnknownCommand.java @@ -2,7 +2,6 @@ import duke.storage.Storage; import duke.tasks.TaskList; -import duke.tasks.Task; import duke.ui.Ui; /** diff --git a/src/main/java/duke/commands/UnmarkCommand.java b/src/main/java/duke/commands/UnmarkCommand.java index 4e2c5b01c1..66c2df5e36 100644 --- a/src/main/java/duke/commands/UnmarkCommand.java +++ b/src/main/java/duke/commands/UnmarkCommand.java @@ -3,7 +3,6 @@ import duke.DukeException; import duke.storage.Storage; import duke.tasks.TaskList; -import duke.tasks.Task; import duke.ui.Ui; import java.io.IOException; diff --git a/src/main/java/duke/ui/DialogBox.java b/src/main/java/duke/ui/DialogBox.java index 5617ebfca9..ecf14638b0 100644 --- a/src/main/java/duke/ui/DialogBox.java +++ b/src/main/java/duke/ui/DialogBox.java @@ -10,7 +10,6 @@ import javafx.fxml.FXML; import javafx.fxml.FXMLLoader; import javafx.scene.image.Image; -import javafx.scene.text.TextAlignment; import java.io.IOException; import java.util.Collections; From dc7926ce1fb108a7fde01d13014826b1f15832ef Mon Sep 17 00:00:00 2001 From: Agamjyot Singh Chadha Date: Sun, 16 Oct 2022 17:11:19 +0800 Subject: [PATCH 63/75] Ignore empty user inputs --- src/main/java/duke/ui/DialogBox.java | 1 - src/main/java/duke/ui/MainWindow.java | 6 ++++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/java/duke/ui/DialogBox.java b/src/main/java/duke/ui/DialogBox.java index ecf14638b0..c2305de905 100644 --- a/src/main/java/duke/ui/DialogBox.java +++ b/src/main/java/duke/ui/DialogBox.java @@ -32,7 +32,6 @@ private DialogBox(String text, Image img) { } dialog.setText(text); displayPicture.setImage(img); - displayPicture.setPreserveRatio(true); displayPicture.setFitHeight(55); } diff --git a/src/main/java/duke/ui/MainWindow.java b/src/main/java/duke/ui/MainWindow.java index d5cf39e059..7bd4d6fd2c 100644 --- a/src/main/java/duke/ui/MainWindow.java +++ b/src/main/java/duke/ui/MainWindow.java @@ -55,6 +55,12 @@ public void setDuke(Duke d) { @FXML private void handleUserInput() { String input = userInput.getText(); + + // ignore empty user inputs. + if (input.trim().equals("")){ + return; + } + String response = duke.getResponse(input); dialogContainer.getChildren().addAll( DialogBox.getUserDialog(input, userImage), From 3ca54c89a47fa78766038a77a8fe355b84fc1e19 Mon Sep 17 00:00:00 2001 From: Agamjyot Singh Chadha Date: Sun, 16 Oct 2022 18:37:34 +0800 Subject: [PATCH 64/75] Add header comments for pulbic class and methods --- src/main/java/duke/commands/Command.java | 12 +++++++++++- src/main/java/duke/commands/FindCommand.java | 7 +++++++ src/main/java/duke/commands/HelpCommand.java | 3 +++ src/main/java/duke/tasks/Deadline.java | 4 +++- src/main/java/duke/tasks/Event.java | 3 +++ src/main/java/duke/tasks/Task.java | 3 +++ src/main/java/duke/tasks/TaskList.java | 3 +++ src/main/java/duke/tasks/ToDo.java | 3 +++ src/main/java/duke/ui/DialogBox.java | 3 +++ src/main/java/duke/ui/MainWindow.java | 3 ++- src/main/resources/view/MainWindow.fxml | 1 - 11 files changed, 41 insertions(+), 4 deletions(-) diff --git a/src/main/java/duke/commands/Command.java b/src/main/java/duke/commands/Command.java index 7292d6adb6..7aa2359944 100644 --- a/src/main/java/duke/commands/Command.java +++ b/src/main/java/duke/commands/Command.java @@ -4,9 +4,19 @@ import duke.ui.Ui; import duke.storage.Storage; +/** + * Represents a command given to duke + */ public abstract class Command { - public abstract String execute(TaskList tasks, Ui ui, Storage storage); + /** + * Executes the given command + * @param taskList list of tasks + * @param ui duke ui + * @param storage storage file + * @return + */ + public abstract String execute(TaskList taskList, Ui ui, Storage storage); diff --git a/src/main/java/duke/commands/FindCommand.java b/src/main/java/duke/commands/FindCommand.java index c190e61e18..4ce039831d 100644 --- a/src/main/java/duke/commands/FindCommand.java +++ b/src/main/java/duke/commands/FindCommand.java @@ -4,6 +4,9 @@ import duke.tasks.TaskList; import duke.ui.Ui; +/** + * Represents a class to search for tasks in the tasklist using keyword + */ public class FindCommand extends Command { protected String search; @@ -12,6 +15,10 @@ public class FindCommand extends Command { private final String NO_MATCH = "You currently have no tasks matching that " + "description"; + /** + * Constructs a find command. + * @param search the keyword to search for. + */ public FindCommand(String search) { this.search = search; } diff --git a/src/main/java/duke/commands/HelpCommand.java b/src/main/java/duke/commands/HelpCommand.java index 47d816642e..bc1c7eaef6 100644 --- a/src/main/java/duke/commands/HelpCommand.java +++ b/src/main/java/duke/commands/HelpCommand.java @@ -4,6 +4,9 @@ import duke.tasks.TaskList; import duke.ui.Ui; +/** + * Represents a help command + */ public class HelpCommand extends Command { private final String HELP_MESSAGE = "Given below are the commands that can be " + diff --git a/src/main/java/duke/tasks/Deadline.java b/src/main/java/duke/tasks/Deadline.java index e996e9cdeb..032688d6f7 100644 --- a/src/main/java/duke/tasks/Deadline.java +++ b/src/main/java/duke/tasks/Deadline.java @@ -3,7 +3,9 @@ import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; - +/** + * Represetns a deadline task. + */ public class Deadline extends Task { protected LocalDateTime completeBy; diff --git a/src/main/java/duke/tasks/Event.java b/src/main/java/duke/tasks/Event.java index 7c2bb1c79b..ef99f7e229 100644 --- a/src/main/java/duke/tasks/Event.java +++ b/src/main/java/duke/tasks/Event.java @@ -3,6 +3,9 @@ import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; +/** + * Represents an event task + */ public class Event extends Task { private LocalDateTime eventAt; diff --git a/src/main/java/duke/tasks/Task.java b/src/main/java/duke/tasks/Task.java index ccc16e7358..e40948b985 100644 --- a/src/main/java/duke/tasks/Task.java +++ b/src/main/java/duke/tasks/Task.java @@ -1,5 +1,8 @@ package duke.tasks; +/** + * Represents a generic task. + */ public class Task { protected String description; diff --git a/src/main/java/duke/tasks/TaskList.java b/src/main/java/duke/tasks/TaskList.java index 87231e701b..990bdf18b3 100644 --- a/src/main/java/duke/tasks/TaskList.java +++ b/src/main/java/duke/tasks/TaskList.java @@ -2,6 +2,9 @@ import java.util.ArrayList; +/** + * Represents a list of all the tasks. + */ public class TaskList { private ArrayList taskList; diff --git a/src/main/java/duke/tasks/ToDo.java b/src/main/java/duke/tasks/ToDo.java index 1acf1d8450..f84f4b1d24 100644 --- a/src/main/java/duke/tasks/ToDo.java +++ b/src/main/java/duke/tasks/ToDo.java @@ -1,5 +1,8 @@ package duke.tasks; +/** + * Represents a ToDo task + */ public class ToDo extends Task { public ToDo(String description) { diff --git a/src/main/java/duke/ui/DialogBox.java b/src/main/java/duke/ui/DialogBox.java index c2305de905..bd639e3a27 100644 --- a/src/main/java/duke/ui/DialogBox.java +++ b/src/main/java/duke/ui/DialogBox.java @@ -14,6 +14,9 @@ import java.io.IOException; import java.util.Collections; +//@author:{garfield-oo7} +// {reused code with slight modifications from @kxrt} + public class DialogBox extends HBox { @FXML diff --git a/src/main/java/duke/ui/MainWindow.java b/src/main/java/duke/ui/MainWindow.java index 7bd4d6fd2c..e93ba9015a 100644 --- a/src/main/java/duke/ui/MainWindow.java +++ b/src/main/java/duke/ui/MainWindow.java @@ -16,7 +16,8 @@ * Controller for MainWindow. Provides the layout for the other controls. */ - +//@author:{garfield-oo7} +// {reused code with slight modifications from @kxrt} public class MainWindow extends AnchorPane { private final String WELCOME = "Hello I'm Duke" + "!!\n" + diff --git a/src/main/resources/view/MainWindow.fxml b/src/main/resources/view/MainWindow.fxml index e8a3cba021..5c16654444 100644 --- a/src/main/resources/view/MainWindow.fxml +++ b/src/main/resources/view/MainWindow.fxml @@ -8,7 +8,6 @@ - Date: Mon, 17 Oct 2022 01:26:03 +0800 Subject: [PATCH 65/75] Fix error in Storage.java Was unable to create the data file when running the jar file --- src/main/java/duke/storage/Storage.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/duke/storage/Storage.java b/src/main/java/duke/storage/Storage.java index b0ff4d3b96..ae5a66920d 100644 --- a/src/main/java/duke/storage/Storage.java +++ b/src/main/java/duke/storage/Storage.java @@ -21,7 +21,7 @@ */ public class Storage { - private final File DATA_DIRECTORY = new File("/data"); + private final File DATA_DIRECTORY = new File("./data"); private final File DATA_FILEPATH = new File("data/duke.txt"); /** From 8bffba67cf03890f3b35d539e9683dae03176d71 Mon Sep 17 00:00:00 2001 From: Agamjyot Singh Chadha Date: Mon, 17 Oct 2022 12:22:21 +0800 Subject: [PATCH 66/75] Remove unnesscary files --- .gitignore | 2 +- META-INF/MANIFEST.MF | 3 --- data/duke.txt | 0 src/main/java/duke/storage/Storage.java | 2 +- 4 files changed, 2 insertions(+), 5 deletions(-) delete mode 100644 META-INF/MANIFEST.MF delete mode 100644 data/duke.txt diff --git a/.gitignore b/.gitignore index 76264e19cb..06ab08e3b8 100644 --- a/.gitignore +++ b/.gitignore @@ -15,4 +15,4 @@ bin/ /text-ui-test/ACTUAL.txt text-ui-test/EXPECTED-UNIX.TXT -data/ +/data/ diff --git a/META-INF/MANIFEST.MF b/META-INF/MANIFEST.MF deleted file mode 100644 index 2c9a9745c5..0000000000 --- a/META-INF/MANIFEST.MF +++ /dev/null @@ -1,3 +0,0 @@ -Manifest-Version: 1.0 -Main-Class: duke.Duke - diff --git a/data/duke.txt b/data/duke.txt deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/src/main/java/duke/storage/Storage.java b/src/main/java/duke/storage/Storage.java index ae5a66920d..11769649cf 100644 --- a/src/main/java/duke/storage/Storage.java +++ b/src/main/java/duke/storage/Storage.java @@ -21,7 +21,7 @@ */ public class Storage { - private final File DATA_DIRECTORY = new File("./data"); + private final File DATA_DIRECTORY = new File("data"); private final File DATA_FILEPATH = new File("data/duke.txt"); /** From 761dc560824a0ff1690ba17f950ff1b47383cbfe Mon Sep 17 00:00:00 2001 From: Agamjyot Singh Chadha Date: Mon, 17 Oct 2022 12:40:00 +0800 Subject: [PATCH 67/75] Add a new Ui.png image --- docs/Ui.png | Bin 87412 -> 270788 bytes src/main/java/duke/tasks/Deadline.java | 2 +- src/main/java/duke/tasks/Event.java | 2 +- src/main/java/duke/tasks/TaskList.java | 4 ++-- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/Ui.png b/docs/Ui.png index 38e7683f348ffdb1c17c686a6b9e22477257e635..69cb51aae27a7c2e3b2b5088baa9839f6b207b64 100644 GIT binary patch literal 270788 zcma%hWmsEH7cE-6xNC8Wy96oj+7@@GKp;qPE$&uaTC{?@I|TP4#l1jCaF|^JwXz{xQ#yY;n;cSX&EQu-Ywosg`)ezV!m6{3on2tJ{ajJ^#w^iEpUK=TWhDg} z^kVx9d;bkt+TKLqBmQ6&O%{06>|_qB)q52dMEJB|$+#WMpP!{90a)O={wSzc-P0 zgz}L{UYp29gvV=5ylB&gkVQs7f|o^@G*&~3nluP%$rAOiS=PSjSg9*s4)I;0o!xx~ zUT$t&IAA+qg88McymkZwgvO7<&7qvd*4Ab-j8M~~o%r7$Fqww{EW#i7fby`*jVo4Jnao4TqTyy7nQm$T<+r1Wh7_2@a-tn3Cy{L- zF`khc?=&$2kTZf#tOW!Gd-l(B9<41+o!#-)pZl}GE9A=w<(pyEndZ#8bM`j z-UH@8QuW^<|Mo6xC4kS-bhlj+dpCh-fBKJ~+y`hVkzxiRC8fdk30xmu08dL+adiBJ ze<>eJ;@PG|h5^XM|3=b7vYBAhf?N8%t)COh=MTe0NlwlW3tb`F*)O950PvOB5W`ab z;Hx>=Iq5drSmt^uD`C@fR^cfB2qcXBH)C-`tpwM7Zw_TvdTENQ(L$w*%b4DXaz_1` z_ocG`Dcw6O8GiDhk!4@_L1v4_=k7FJF^A8(Fd`?)T>Rh-f z?tt*EVNF>lX2mxW#u+3{6&$)`-L_lx+Ier8P>wfsWL}o&4&)W}u%gI=mzqz0QGy}m zZSv%%-UE-W(XCUC7A}`f^l!pL^KA#j4M;%m>j_iK1!=GM|{HPz7RIqS%k>lgo3 zHA=p!7LF~v2sg!Q!~PZfm4%#lKLyI)o3HlEgahm|Cc&l*t6<5p@D>%VOPM*XF`(^^ z3q8=___zA_YENEw`97Noz7`^61lRe(^gSo99`HnrM12BoVfEgmuf!o3|~ zqPcHO|Dds+{w>$i#{}yjxhmY@7~{?iJ!^N!%y389+f#$&jxq280+nsOifTS1<7LoiW(XFGKc-PJA;@4-tsmVf;;`YAHMeUd{bxmYMYm+WMqVC0E+Fg(NVSMf@HB)?!8J9y;)E- zCT+_`-yJ^Lzb-B^yn<@^3e@QJa>*Wi{P@w{rHT970sD+>D!l86Kl?wFt1ndkP1Q@N z_;Yc1YIWF>^4L=OC?LVKT`+p`ZOxfCek0~HO{uvr^wRvjy`Bd|t5vBisBgtfLy8mWZp8VGRvac?z(xI73+NZgb2@Vd)c z;vX`*JPh35qm35JxB{sRwl(+)ZR;1jDKKJnfhMt ziRw+rd`rSNIv*YIMUplM1+NaQ(%`2rda`HQ(xROT#xmlmp|{;~Pt~YDVWvd8UVUDR zio#)bSoCN=z@qjsHtCN^u+=HSGOM7g`v zQNr3Um>p61%aKrfRGmq2DjgDhkYVVj@Otv{%7g3bPEXyc@`7iZ#c^x@e>;b4tSP#m z{!n?NK@&R|X3OBOfL)U9*d z-7S9U_6tIVxAxOY$Z=1g{Muor9uA3W?RbVQ3DXy(1Qs{9&9`~_T`^DtBQVze_P3yf zS!QY1%T9n!1Ew^|*HHq3U(AH~3o3Lb4{7?s! znI~URlVTVXcooy3eiul>Y#spxJiKz>^WU%juOd;D(IT}3KUoM-6GJw=8#Vo3^9L%s zNc1yBfj@tLZ8Lex^ZBld0b<)?Tdp+{rE^4G0+~8*erfz0z^mBi-@|{&KaLZ3zW#QJ zp1aD3L{6ey)tnQcE~oqAEuV#f*TQk}vw0u(<&ACaJFQFtt+2-dJ_NlCxE4;;uALoW z=Yt+&z=v%g?fC!V2JxLWxV3lTO#<)0>K(au@htlZxTLNb3kI$;>u)t+%B%3&=8Ik| zI0^8Au{gpev~|HQ{U+6ce2m;aNdbV!f4xfUQ!WTIaSi8|S)smclyQ=uI!a)J@m}z@ zcd>BP91$oNUvdSFzaWwCBYadFeyWH&?svwf^wfdmk{UbKM7mAFO{geB^Ix#Q?B|9S z+9gvgyz#FT$v&p{p0E_CmPHsCuZ|lsF`gz0AaQQ!Td`QVS!IIS1u<#V72FI9)tQhe zZcuA3aUGCjtu0l_Zm2(%cP~2=n37ON=D2v(EIZSvh5iSA*bDfw)LTyBQ?YtC{V}g` zzbscPpp5&9h!W&5_&~eAxqEtz|_WU!h*H9<% z0ysck6<+@#GxCB=0y+inYXHEa(JSnW6#Y*N>H3^rdWT*>&gx@m2;N})NPm5eC|PPj zylw&Qy<>Jw-A`h`TchgZcUWLI2PaG(V~Ra>l|E>#nze0l-Fx#2ubwB*z^tf;m}VBO zrtxEh;p_+ZnM=$jKfj*X94{C0f5Fs-bs7-6dP^Lh`t4S~?~JSR#vqv(6^F$}Q2VMO zkeMTozOf`ctA4_LYL2A8^K->_hqG_vv@-7<5iZ9i=VmwqJ&g_hr9b>`(*C<#(@;pB zs=!j@@Ak@#e>PWuqxMs7LbIx2N^4r76#xEz&3(sjsvdRxC`%-&_#{UhO`U!n^PN(sldRHnW(0DWbhvwZoaH5Lr)faKWCRD9iGV{fx znyn_7v-Hw;yjqy#ZQ~%1z3xn8bg8p%E`AbKWW_q8y*Fs$bi#ZmkOR&?_rf!t<9&Zhd7+l zFxp~NxE0GAG(ybOCeIKG+^3E{jGRIq-$LmdaezJ&ZheH2h`fm3zFNq6FA-7KgB@1ks zmZn)_L~hT$XL!s}iqG-zTA$A7(43Da_LN$bcu1*X`33Yl<*G1~{`VJZD3!7c-(7Wg zS{v8;EFG=|MRZSZw8>BIWxqS0QEKC6Hap)87X{q(-lv|fs@8(~n0%UV&%{?;4QM*O z$^*7T*jg7j}TnhtnUkw>5DPxJ|JZii{UllSxPQK;^rqSMt;GgBoXkfT1^XN!f#Sg?eT3c7wdM?wJK= zWTS=dA))jvbQN& zKud<+w?bBx>;Bc^sISqcQT@YJ3vQ$<$GRJRGJh=_0fm1JyR5M4re&hEx1Go+52wRB!%JMKptohqfUGX6=Vt8^~mk}J@3G(hXe zFBE@hLqEN6B7M(8Bfm=|n;-Q<0EX-1L3heg@OWErL)TYSO=&Zku7a8Db@y%zZ*&lV z6VQlMREnrr^By$s6-@cOc8!ljo6%>|^b&$3rm&29Fu&Sc)xR6H^pEq-p(UKhAPHeV z$s+ou6-paVWF8c3N%09n4zb<}nwacktE=M;@TX8wEPE49q8{ocENYshk z5|6HUDF4OZpub)_-Vw{OvuYWYiEAF6_#7S8S`3()bFz#4x&%UpzJuBsRwUFlL5+~h zjS$OyD9y`o8ghbhxTn;+E{{TN?{G-`Xe{iuiW=XastEFI%57|Sp-Jv_FiqiJ(6qdq zmf~JcOPJ>R!z+T@+^T6Ci(hLhyjr{frL5HBb19AB2n-a^X|HjvAUAa#q>PSV9c6jY zF)Wjveo(>4=37_$9JBQUm8y7BRB@P`8ck~4WPZ-)9I32WhCy4cm5>U*$IKB88DIp_ z!nmgX3hJ#OQ<8y4zx8tQuHlKXnmN$5!t2~CN{i>u>vM&TH9IgI4@IF0=$-% z%PUC_r7YZvZq{7GVPcwhgAu2OjKYz)QUxZk%h+|VF0g`KIF4JXOt0W}NZ{nxJ>~$dLyJXmDvDSOU%{YBhlT4_FjkK>@0g(XwbyL3vWkMLA0DDmJ852S{I*>& zgWzvspn=>Fr$V)j*%SX3ki(O*D&V?}aBxY_wr#XZj_1q#y&m`2V10`9hlP9X+>Ds9 z50F3UJj@HV{n?`24j|AOx)j)tqJh7eGh zmeT(FZc?qCf?MVj0#wl)62G%gF=sa2Mch*X0z5V!XgM~S%^~l*|6IO%bL9T^h++L8 z*xN9XxzPSD1ou{Kc&?F)^e3+)ZvBUUIXnh?_4=tyrv zsm>v^m$oZvtij=QM$GlIWKPJ-*HAU&xT{vmG0C+6Z*zk{Irde=Kn%KX&0O@8@-vC` z8!cHNDp4--fudrp4M<}^gOWnqG)|8?zwzsB^!=QF&@8W3e^wc>H@`d89dgY7+Mw!q zmqXuZ{G@*B2#%cE<^9QE@FW}zdB$!(p{bZmeDA>;7Sx(*+4?)Wn#DdOeU`7v&QS9y z?^WZ9a96C1YRGv0D{Jf<{!d{fAQP;l0nF!RoNhB(ge$F^Uj=1ReDKk%L}KXNoEEDp zeVY`7RtXaCx5sV38 zv>$fxYlvd{@(LPdp4y~DWR5t{SOclED)(`QwbQb7(4oE|OmVPl|@0<8hZmfsj*4;6=%FcQyNps^||FfVd82&5c zvr|5HA7Uvd{U0SMsl-jPbp8%3)#l}81dT{03#{-g&?R$h7Gdz}H6q+~oj&HF#v|uR zJ=gQ)zU3BmP*T0Tk-Wu4@3_Ma1sk6ot#y%r#BFq$_cWFJ4bEpzf7I3SbZVJC9>VMf zmd65xK`~v#?}as_=K-)P%1zuzFHX-RmZSNY0F- zunxTirx1|TfIs%u>in=_1q}y(Il{R+g0vz@5!)>F&)Zgq8Y8p{FU*Y{_7LlcfHR7X zX~mEQUBuWx1Y>u8PEEtyy{to4P`Za$ejT`cpFsoFZ4m=+C;uMfyjiF3!dI(b|GLG` znj=Y3yV7{nvYLwiP)CU85hO4nLHdyOR3g=}tyMrw+aHu88ba?~Di(9i~n_W4z^;g?wSa*U8tW-ZX8F{}f} zZ$qS$zbhldkJRVd>3(dk#y3?K|_!;#x|J640<IQuo_% zYM4b+4_U*plN@0xL3KwhPFK*MNQvK)go6WnOW&If7&S4m8%)ZM zSY!6d)}weKNwubLbuOJ=yFNX3LqSqaKOcR`*9dMGFWp1jXf*oq z1}IzU{C1NYA*jUD zkfCo%d&u!UX~F0XTiUGs@E!SNC#D~*VZMWz0#@TscC7UK)hB*1YaqtTBTEby=iw|6 zP129#WT-5}&H+`J69ITfoz#HcoQl+z2U6sZwrPVc6Ip>V+joVz2Q2b`w!mFn5Oq8H z{A)BACBfp_yF0UKb=dmDzOLtQ&MC56)?HYkZQiCF56maGiAeBAlIBRregKD&re|O< zO8^@Hx2>^O(g4k>h4V9U*8=s-zuf|GzCV5xJ^(B?TezzwV9^CG&In3JIk_`wMN|Zc zfDK=l#;fylFA=DUF^LX^9e37_nmpgLtbqHfP9N&nPvbkkxqgLrUC!98|m6dGL z80}#f-*+lIt!XBU{EvGu>E9rhaJQ!W6fzjmqfSo3{%)Rk{rbm?3IdP>AwfxYBb5f~gWl5OqGz5zCX4+1E@K4Rp?f!0M-2iEpgN zqN!6j(<>HcJZ&Z#W>8zY0>hyKZv1{O?=J{Er@J~{ z({#q*i|g;F{%l#IN@1BdOF@d2$60YJcr^b>Qy?&UNQMF_+JmL6R}rLv$y8|mff;ze z>LYTv$j1O}xO^j^(l&Mz?>Tt^_xnjuHH!eer?nU#&bBH!z zSr#q~dKI3ay8+|kXfuvcK48UMQ;2DIH~Vv=O*gv|S;dyrwxH;o_(zdr$T&OOQoEHq zC3#_qqz|N4? zdWuIWSy#@wgWBxm>ono#lth{Q`sMY{HQjzc&trF6z?JK_$cA@g1#v_Ik5tVCPxq}9 z16oA#(YQ5>gd?MDP{%F2D}EZ;yUbKp5MMvcJLN>nbFt8EfR}fp&j3PfZmcaPuU~Ep zv^ts5mbRX%B}#r+y6oyc;_krc>Y|4D?-1-HYF!>RfhqP(G{!O7 z+twrK3t!obGtGR1_SKw z&iBUOQVccOh!0Ud)$XhJVY0|miY9%~ipVy%1@apoYxOl2_`VtKx z*)lpW9kxMgFCv{fYs-9Ect-%9=jHewagDNa3Sv%>@MB^7hhipvFJ`OF_O>prdCq&! ze9 zb&Gyi(t29Salt;|yrYW|+V?R#*fDjpc|7zqY23}X<5f|9bbq-5i;K(N@UjgLhoAWFjQRY>2EBa|0m5HT^UpgL z@2(B|mMs%2E~yK}Hs7YYZJs+>P(fT#Q<^7BRpRQqpm4fUw$MK}vr)z+drv7Y1*wByjp)8Pl zNy$&7k4M7hlZPJ{ujj=CJ}zW#hE%P)zSa?7TfVZ8VPC7wPhc0M1_xw^wZ;xJc4Pn zfBw|!2%vl`>>}+v5Lkb2$OBT4+@l7N8;E8pj8SG)Y68pZSm;L||~Yt9Gg z4liOz@MC4$j zBB{(7auKRZX>G8x2+@(Q^4WE96-bb>nreQ0hT2%JD9!C{mJrR|?f11Wo_x0=D7I*- zW)(dnUZ3~W3xSHgjI+t0dxpgRmLo1;<~5B`+^c{U^%pLgoc`ia^r}}r@r`FadRr9r zv&Wm0&?Tq2Bui-d=%~XBOY!I1xjEm=`;aYSI>-F(Ho%L_t8m4O;PTa zwd?3jVRcp{qbVjsotItcUq|>iAK4{Z z9+jF10aHtNdM1Dwp75q+TA$9>+~qEPgA##GYlPj*Ton}@tvm6X9hu%#r$RO<#}fpO zQ7^ZX7xjYRMZK^?Oq2TXZhx)q5(~|3LEdB44<6Ws-BmVo))0C(x$s8|q{ZB&?0rhe zTP8wTlHN3I6r?>@LFu)bU_{f6TlL7>iP6vgHZaYr zK0e_C-WT8A`1@sG?Tu@HOm(w7BZK_(%UbMG@IF|puR|ONKX~D7yVu^*(wI(%t$yJ< zRhJP14fURYX${aMeRm^W2S_I%s2O?Ti2-+?MIL3bl2QwtdxrvTX}N&jr>g3&H=lwQ zEJtY$I2M~x*vXT$BZ5}q2DDfU)_@hk1zHkUXS3PZv=t0*` z=8Krkdhy5d8nX$nF}R`|Q-KH&HdPs`8Udj+LfYHbXLIAu3B3Ol>b-+%2>Tru8Nygj z9wB@`Vkz(4yQ4#8AW1!Ir`ZF&RitzI(0H0r4SZO;U^4TPSPtG_Xe=rzaqpz>U;XIv zxm+#)MjZrcRrMXQBpoO$W}& zMcu6VO6hw`pr(*O>)8?@c(Rg%e4k}jPCp7yy6MFELh<*p{E)RgGshF=dkKU8*mP@h zAypb6IjzE+s0K6Lw;allFORu>`4&^Oyg8$J0i8jB2L9U)Y@X_vT_zePN{Lx5`BE!@$A$~ zSk+*8JRf{J5#e7ykQ)BF-6ytsZMV!Shcj~FMIl2={lbliMrrRb($t>k*UnV0RF;P1 zjCSz#Z(`9_Tl{w?N=>Z5efM`ZB>@>#S`g0#U$}7n)A;o|^}d#jWK(O1XQM5u>(}%= z`gFfp$N7#u;@fhwW{oXNjwHwk&hRfRzXmHi9RnAfWp5{N{}T$_)jHi@;aXxtub?`w zOi{1)9O8bGGFf}*@f2K$%?t`k?AVx#OcuLigbYycYV)AMTVrp5K23@JOmv?MB^^9! zTNb!n!t107cq)0w$$uz|6mn3rOsL74+D=JcDXf0+wpq9K=~qwLIGY<0b6Oz`n=I&l zEkjpZVU6I2W~yt2RhuJxEBGtlb<-cPrKu+JYU!aL)qVw_pV+27R#ochMKJJqZ-zYI zfkoxcfAS^qh2};YqeK(GVcIZ=$sh}|d!o3RTk1|NKzq{Q{Z%yZ)Uw-s`n%h?tD*1C z-C=jsu1}BS+pf~DbVIx3`>Qy|Ki-fI#O8A$l1xhS;f zhPd=}U-3)W=N@q5W*BJZZ@!wG(aT zI@)v_xw%bep=rIgbACDP6GNQ1pedG~B?)xzOyp(|qrDY9Dkr;HEeqM#TY6xRaZ^f$ ztfr`_46fC8S$1vz7Cf+_mDMS2XJ3;9z_y6xxh>}?q_#PO=&uR=pYRO*mC4L9BO0&h z{yY+CzH)GS{jHQYDuzNz2#C8i?&WxT$V_Xxv>1`G?l|a3nRD{zPPhF|1D)H+9@2Vz z45dP`4?`Uv^JBK&x-MmQ@M40>G*ekNxJ$e(7ls2{KCK1d9pikytn?O2UxH|L+aWBo zamR(-+07z34Ev+7is*{oCRe0}DNP{_q7Ds8&uBHkzwy4~R!(*2B3T#=X z)$=t%^7|!`{bYWv+lDMU;A!7N1-lRGTSr(am{v^P7`F?%oeJfJo_{$#w76&saeBU0 z;o@B4#dc51i}>i&eq`0KMjyP6JaPL@WP*)_rvMrT-E0xAh!mJz`qsX|x95rJdS;n^ z>z!`(mM0qX;?FOlrAjeEq>2G~Qp5qlZmj1*jgh|!xJuOiDV}Xf^x_uT zf*tk#=UQ%LERsdObk{7?ehuWr694C~f7OggS$Oi>SG%QXH(I;}HhJx zQLthWAmY13Y-~V#9J}pT9hWxXMPGGmepAWgE7>8#Ur)Q( z76k<3{PfxpN!$`i4Lzg9Jh+^A+_yAzFyLd)0daMvP``?q2r#RW{VDat6dv>TOAn^< z-WeI^F?{M7*2M#i87QjPkH430UE+-j&)R@AH?82T$f$Y@vxJz8*&)uVMKh=)qgqRH z?pcCS0>>X|OO!qrYNu0nKJw6MRco|mIxrz$*E*%p8a#E(CxkWU$~a!5fJIEp@YY!^ zDz|yf6%qoZlGX>dT{X?H{NZsE*AFhO(>0+6r1ZV+`d8~UR?N$=Kx`!&#ZQO;Esmez zp7`d0G>@Fsp%CvT|9&=Nr8tnL^=?rk7pX~at9wNMfT2_fr2PpeA3(Hmz?TJ=eRnSv zQcy$4cpy3XFb2rU!zHhAWqv(h2LtSpUI=6**@)hXfaMn7tWIA1Hq=X#F3RZT3X`8^ z2b$Kz;z?A3FZFXVASK_H5>38TEY>t(*vKDb8fM2{%vm$e_`YUB*~Dtt-Y&D^-QDQY&Vn* zeXFXzhIf(UF{r}a$4Z0MY*x6RLq}z=0x#Nff=PtN(8%=IXBQQ<4HciA0S;eu4#0Kq zPlZ;O*-)HonEyuW=ZypuyrOB%&^_mmySCVPjk(P?C@7gAAaA_W>A^gE!_fB_Yk7So zhRG=()D1u7=T05e#*?^Bwn05=9&Cs(D0MSzyez+GVJojv%4`eH(4AG;*wjJ)vVYgsB4)NgH6DU+8Mw?MQEk7ZIBl1!Mw6Cm@})=hN#yMVEq!mGi!TKN-Z z7KhmPI!R`AWP~eQK;bQ_H;Wc44{apv(G^y1c_y#&bTJ`;F}?la_0{&b%v#3lg~VoN zvKDs85*A$H;h|kgI5#~RArkdFVmLv-uS(il;NQ!Gjd@6i^XgobXGDX~Tzvu}dk2Ao z?A&uMWdJhOX1}l2LOc<@4{HqFx|j|4L4yt3>PG2fA~QtVq>dh<16%RW`uG=nZAOjA z4RI`M7Utv>lizMWIyX?0W+=>OtjC9u_%NT>2Qg`ZrlMc&-9u6Gr0MSB{Xc_hQgRID zt@nN~n6^4D^4fceIe*0NijJLAWg(kXg)%x>>~G8^&U`A92Z}M3LxdNzxGeAuYq%SI`2shw*VWNj0M47wXGl}%m z7?>X67`pN7tb_>WL0q67Q=5qJ#68%ELH2vww+e*aCy)wUgZ}=$-jh5I_ zYXeAPZbvdUS4SzCLhHjQZyg_W$IV7FA zfQI_{_ud?PeCqs*JXw%EWM~rTH+B&quV{=Q;%Kika<1n9s&C8JVdhWheOCqb5TRCj zNluG@5#-rjlaXA)Ke+aJpT-oaE+Qp#RAGaJ1@5($|3Z2qzyh-|_ScacWwmJ5o3Icq zJk3u1_{Wcyy53iUzmiX5GMdMH<7uS6rnN#V`)|NpQl&6x*-0 z7mXAV?Q$o~3#kQa62nFxUEGTll7x}=$0d#4?E@RG0>&@GaW z_IonC!m~%BY~oq)M3#+v^ig_#fh67L+0@iYBa-i0V1C#vSL{|IaUGw?mooetnCWDh zJ;cc22e%zX-{X?MJbCGhh}ooD9m@{35Ho_W@l0%y?O)KiU$EKw0P>$ zY=$yqI}uaPpm##f_^FY8mY{n8D4}L+7}cDRWH(wL z{G=X*=S@X@2M=zt{j6>#E#qHH%B~l0gnoC+niXC)rf+G4c&M%PZjQK}`Ph9kD&!?@^=tk(S?kHTJoAN+v;74rkb+8}X zh+`99J7FdFkozNGQ8cLq>nQ(SfAPrpHRAPSG9)>Vx@FQVkmKl@W*!kBbDvv={v`Wm zec~=3I%gp|nymEk+Hf0d(cu1OV9%F=cXFS7gop8)zp0OXytv9Natn)8Xd1nc&?_I0 z_yy05D&_{;k7bJe;$2)@uoJ$-OasJtbjZhBAwL5POum`pePb`(utf#bK^CY*4}vc`&z82dY9^aD=#*b(rK0P(%_eq(Ygh3%M(${YW<*G z7=6S$HfBOQtrdq&_!=?Ldv+-^V_1v3VoHTP0=#XZ_|D#P@$LNaUjj|CyHR!{RmJJ? z1ckDCOS(xx(%HN8*I}-~`?-{Qife63b@2y8ie;UL*_fmd_)&0n{kKir^GSv!| zS%=rVH=WsA0UYcPdS*2wZB0dZCT0yeg@=M~&2&s@0Ws2;UH8yCmL+9C{FBrp2>>Xr z`;yBpcI5{JVcqu;f#F!6$`Pp3#v*M0dH+@#!Pe3uj02?P!O3W(~ z@a2?)4$*GX^e=eL=wHJfS1)h-wT^4(D%Tmi4ta~Fh?=#&@awyrs_LbZUnhG;M=700 zV0ZxFUcQXIS>rZ7|AXC?SHwPQo57YV%Wvf&o;82Ak?QV%;^SSMcb9JnOnh?T9hYwp zW85-dc6Ry8og$9pLgp&!&pl|zxyZf{5McIEbM6xi81iM-%= z?Jr6H2{+-ZJ%J!jjz$ta;|f(2fX)W0(LTql#F%y=lUF>~6%pef!+ceUb-{eGnChy@V}dkY;YS}qOHaFt_+-*vS^+ksqZ39D@CC-ZX^^QwEI(3g>CHHS+W;-PNu zqdV*$&r3OpD$a^J2)|~}-@LKz=ySUkm!hFoNJ{HncWmk>xc(bp(qyn-RZQ1q3%c^U zu9kMD`H!4uoo2U4WSUVxr{=DDhq<y%KncvaccRzl{2exT#L(VGBci1uo&x!RCDF$8j8qYE@lb zvr$Mo&)TD!|HRe+7_VQGkC7=UfT6D$cuU#I0)riu($ZA_MPEp5-BL%bg_XXl;}2T0Uc7*k&5_YoN>!%W((zF-~CqU@tW_ zu8G$eE#*FFxtEVPSWG-(Rvla*m}nC=fp?w>yXCa~&imlCXy7dozU{DIM5R6YJF;2& zh{R|02=wk2i4L%QO8L(A3$lAV+^^stflC?OXJAV@Jo+CW3;!S$t!mm?SAnZ0PLtV| z6mJN;IscJ2Qsof=v6vt3PJSN}2b6kVkg}wvE%74j>GpNrF`M`l7#tw={xmE zs+Q#JZG4GI0rUry1meHyDwVv@q$rm&9Ggzs*$(Iwj&D97oBnxZFZU{Vsh)!*A7PFQ zInWKC^N6W?{&-?g(!5ii_G9F~(GA}Io&Hu?rVp`G;!hLnd3|OQLGI4BawdUKjm=t1%z~9%B)q{gUDdC&h_m4Jc>B7sdC+{DyC-YL^V|pFRbn^2egz+0|iI96AiRmFQ9*IZ!(676O?ofDX#ZE^}H1lWT>_0Gl6?wuwAw-d_i z-DQd0zBgy`jY~vV<+40GG{Qs^_fn(2H&W&<4cnw>rB)s!+-us%!UDpe*GXNZ-Zx&| zXI;pSy3$f+zGOdEBPD}qgXFe6LP>Mgq^apk?RxClTSFg&PAIMd4ewmFb$Y=)4rDvR z2j)~}byO6LR3?(#^`FKKAxnbMEp^FBRQGaGNlMpPZ%wB9_A))XG`+3%U6U=T)x~|H z(FuqwJS$HVtaz;#evY7?T9YGLAUG+)-l<<5#uB>myn z_xnp4;1xk7;VOBEHky~+(q*exDWZHBMB1V9BgIoje!eH z%C7J-r0u28B)S~meh*{OwW_C`*ySU|ZOZf2#7X4lwe#!{7L4`fHEBE9F2&X);2f<} zhRD;pZKX}4E=?#5$isec?hOFMAgx8`Bv|;3g~C3k{P7j_Lp$l+HW_?tw1Y!cE0o*e z;?CmRJE#wM8T_oR?gpe*4mF7ub`7DoDVkq_o{e6=?d5kGFugBcZQ#JzUwt!Tc~1_1 zp+Q}mXl0|z#Mi7CypJU2c@wyTGQ3B)UQ)NTmlvLp^shK#2X#m14h*^-y%0D#7M65? zVEUb#FV&SL<>ttwN8-K@k{jP${_uTN$?KdDvs)dPK=Ov9MyOthZqTrZzOLCCi~H%< zBZ0Q!?!^g^w9AF?a1{6(be&fle zJ6!6pMKWy7bhhmD;hE#yW4Wo7(f|F9ZXMKsdtg0 zw6VG2-IfsoyJ;SJYy{AvO|-mikE^I#zX$Gx2izECm@Gr{lhMTBtj{n+~?@4V< zCcT<2K%1~M##+?Zs}+8(5)M9S51tW5gu6M!`I;``(~a z4fD^49_vv1yIA`?6ITrG#^1|qVGF=YkFp{Y-`$CxV8e9 z-sxaILUcB=uB0*detvY?v8s=o={C8tnV&{tsWL9D>q*t5(VLAC`Mj)YWe~gcy_jcB zX1*6R4J(e=}iscGY zV}!v^Mf|(dSNlh|r$!VUCIi0)<2>$n^(o}|fSWYMB0MMBVYVx&tVsJcrtjHY%luJ9 z6cUnGTD@sqk*>3R(mLROC3JPrAUphAg8_$;KK=%!(e6t#JP$}lvDJ?lu`${C(FsS0eH3m-D}=X8XKbw~iD1 zY*^oIztBSY-|Na?jx`)Xd-?=e+P2f6Jso`AGofkcS<-Zw@& z(S6p*-#9@#Aj`bmA&;w${_tI%N4oUg_vH&Zdq*~yf#gSBWp{r^1x@yq?gc>Vu0EA%$P>=3MD_-mXB1v^|7FPauNB>eReYK8w(#E09WhuRmKKKu$ZRsgo^q9IJE3%=4)G~|3^A!1>ZE4X z=VaSdJFV}}bgps^Cim-E2kpI5T04VWx-i!n@7SHwO9o<}%uI&BYaR%$ahIy$h2JF< z*wts+a%?2J2Y0j$B?lkrR&g{KO*0qx*>v6Y3%c$@OLgf5gAC%=0WD!sJYOLtV%%8cM}j+c!r`5}1ZG=I_$7 zEUFvlN1A9C!hgF@B=m`8O2seF(!Z#9eEa>E*Hrg`^HQkOY66yzd1DV>Y9|8K*$1hl z@*Q)4sDa&9cO;bE4Bm08ehq9ZWx=4lkykf#oY1c4_;@-1o8p=NQx@c=j89VDp`P|1{v)PVry{{La_Eu-RUz6Rgm?gR-IAi>?8 zKya5QxI4k!AtZR?PH>OlE{!%WO>hV_5F8q7+?h`D{O8^~v);AdweEbFFa53S)Y+$M z@2V}oUHJqO`8hmbxSr^_NR}@L%bvJx%eY{68#+C1Owvg+oJS$9lxNbJugf7knjo(D zGzE%^5Czn{g0(FSgL~8$G?PwhtEe~`sJ0u6S6UNie<{U`%W1BgNug^*0*SW<%dS zk*<*%*@zMgmArsV@neI$mLs1QQ3j7%+xu4(%QgZn@G8WXlmRRBeSMQ z`!q)PdZO-6t@z|!*y2j+E$J2wp&bVonyc$-<}H#xPOnKRa`|He@G9q!8JKvrmF*5y z3;Iv0V)40hjZqq|7tFR!rEj5HCMw3*k%Q74(mtngFY6u8^qNYvE~ge1-f`t?ISYoI zLQcFqU5ei{zz|o*u`Zoz$$Vi=(P{Yoj+iZ*7yVDATc?R}4vXSVZp@|qujsZ0{61XF z8w?Lbrxys0>*WjyQDne;Pg;PzH4Ztr@A`4K>E${G<2+^TXqzQ)#5_6KQ*FtvK;2Zt z6V_w4;>{WLniV0vDFWelrL&Gq_BhrWT;KIkvtFgX!P;NRKOvhmNU~(lZRz5v(ru}* zS)2mci;G_2zxT^io;W`0eD|0sp}Beb zJP!}S<~v^_Zyxrq9}x`-r}ioWb6^VkzMYPinTa{_Q+p*RDi#|Z$v5r^acrziR{XI` z)|60@+#AaAx}CbS)>(}CS?=Qx^YeA`xgu8Ax~7HvqdWoCxws3%nX<|}*Qh7g`K@@B z$HFw_=-RH2o{STuCV1`~(R!T+!_~1djT#Ghz){PAc5vrjK0FDd+D zN}-n4u52hr;rp&!%)lY>=T3>a^igDOz5L@k0z0!jl$(2dUg-DlnsL7P;>!~Q#65zyfm<`vUjL^AlkFZi*#e;zw)Z3Kk>R>2XSDx)d`83&M9y zKbRXjv~blHDK_!qLzgR(JW`~mM;b~oOAexmt0S2nzn8KtGo+^nP!A_M;3i0=l??J3 zy&wm>VA^mKl`!pQi5+v?vsap8hNvI=C&tGZk-n?oy%MoY_SKg>Y9w+CWLj_!uw`Ul z78W~pE;u345IZgpZ~bWTip0Lc!(MWtREPS^yX})o`O=wSJm0M}YxTtzakEXHAOMV@ z);<)o#o}$&%+0BlCO#{#FIlyhM;6ue>ee7;=Nea=usxHj3L8zOcpg*$$N}=C3TNPu zEn!%`%eg@ixHp1KLMQZG|NKzy_Wab|twaOm#U|pq1dqM#`09t% z6>PDIl}m=pbjk67l6FDW=r3Nnj^vt&1d%TJxMvHiE(=^X`KURd29f?@Ku4m*Tt8D` zk6v{Jw6($Pl#*7@mwah~N1%jw<5I$4zJi*vN65o!LEUVzK2xnwTVA@ta#{PvK^C}} zscO5t=)5d*w3IjOL7O41H8?Pt-Ly<9X-=)n)OqTgNsdzZ!^PZKK+$slAmuo!&P*n= z%OuHRMHQh`mK~?m;Ub}stW>!}l!|l@MPa9Kx>eE2S3D~>oG^W}93CZ;QK@Lmzp zVr_gbtdn29;mtP6kf7OmP+YURy&Q8pNoX*7_rb40%@*Lb9~M2}`H#^BzVG3fX}9m* zv56?bV5FbDjR}M4Fi(xg!zO=s@xdmrDdy%bG|13QK)qqtgW1$M;YZg8uj~>3{mc8U ziy7?~FksS;N=eS+7M;6{P*%TS+iFYO&|W?E!Tj@oXwn{9$^tB2{!HF=V9whRRoScZ z(~v_vuCPJNP;!+BxVI=>e#AeK5@0c0*jVlIF*_oa?Goz^daRF#vmNB^Q!CCJTxmpy z$E3*b7C_V>0PLen4XwHQ-4nazqn&E52Q3IjmoAKG{3~t=J&N%lgV}7}_2xV-RySR_ z(pp!>ftkIH0t^sO3x*hDIGgO$^xReHsaFh6gv1nGlT;!zXG||0vyTbzkZ3wm*SL+; z3QIA-D8~m{yXhUV$sUYcWFT_1SK7_)`4;JSF9dFnme8vUUVC7N^8s{D%bbW&=Q^@4 z<0Q)#xW?!GO#Y!U%T=Hsa&K%;Ctx2_!VDV37h04jaIyZh=N((}D|KMriA^>(+iy&^ zVobuQ+6s*}cb(mwwI$@kob6!i@YWO_LUCDbl{H}sJ))Mk3lbX@qDH1w$+KnKSy7b@ zwl!#lWOD`Sq;WSNa;t3+|7%N$$BM8`kvA+(x&0OZChHG3JfLTo5nRt8>SwEoogWN&IjRD~rZE zzD+zt@G?hEiE_@MVF<&b@##k5gDgmI+ZG2p);K4+TPD$TarQaB|4sAj+^SNc_+u`a z@Su|VEYkg;5G$l{6X5bHt7JMUVnA(3XFlmCqaLI;4MUk3!Y4EC$K)?^d)k5dh}gZE+A4WPyW-O)v7-s2!EhZD0;pWm_ge(4H6>>AWF{S;YJ-3{(jb6uAbKy!v^j=Idup%R)rDe_^ z4KgDiQoW~#?P)l*XArY-jr*2xWOOHdZr9@glv3;1faPc5k|A&9TjvuFq^*h-4{WVw z8L|@eY56Bnu%^~{koq#L{qyc~B7q;LFLWgXZdb0C&tLS9q!emFou-&=sJ(fD1iQ+x zZyMfIOfR1ivKF=ns%%IEM|e!fs&Rh8F=3`S<(r7x-Q~gJQT*yjd{y}T72OXfyxd-X zH`D-l)Jn(iAW+17llq(3d$I}f{-{%4ywlz+X#+ZEN|Xj85B<<~F?-pJE>@MGX~a|l zj9<^#lhg)55HPCC)vc>|pGZXVd=yZI>M4i5DBdOZjJ^$AUlgCV$t}~Yw?vrGM{fM6 zH#mOnw+@?>90I>3n%KiE6OZZL5uYd;rNBB{=7rjQwbe2>_nY~urr>EJQo1#x+~lEL z96i_?W5N4*?(2*X#i-6Q=w`|C1q7dUg5z}t(tJ?CxpnRJB(FXUx1zZLuH znQ6hWX}vgXUCXc$-*8J-IOy{TbpIFQ!yHuu)quPB;cTh@$?5q&fcp6_hoJ3~{crPv z{>wrB`?R3{ZHQN6zbouI;1zcNz-68anmBA;jXyngA1p;zPG{@+%nyNj-TW&Z>)qPG z8+SIiR&-e!4@kqiU`IgyxNII(boHCAluA2jwrpAbe;X&hJw1<8yf>Ut=7C$1@%W7)5O?Qj6JgKe8*l&rS*=%sy~D#Y+>BA z8Z_pW(N(8`xe<6^T)Nr;qv)%+9rAMNIH|NKiU|pfq*blZu3U3Lc1CvBm`95+F+VHJ z^O0nS!E!Q|jo5}!*bt2*SL{#d0M{Z~^43N?xV;FK)9L-dHqzmO@rL|6%V*Cof)6S$ zyx7oQJbbaoEhyxViXgecDJWz9fP{msON!f^0G&NwHG~c}vCzyNIQAn|&;1e{bs%e= z@WjML`@@PFiF&P|9k}=tb@?oieeS@HAMqfj72V^tEHEiO0ISl|CyCZ~4}Itda9Ift z89`FFuWOd5s#QGf{lHdCN7Oy|eLgvk@AZYh*rQy>qQt^qAQe44w{GdAo7KxV$nZOX zA?x-dI=9bp@zrzkDxdzxm*K`DSf}mK0=)0`Jx_aEBEZJ)vn9NG|Nb{Vq{69B+eOd} zwBmhGz7SI|--K*$9m&{_!)LJt7@BWJ%_^gLjuU(!wg3*~Th}x=e&>mY`tQp~^<7kd ze^KLZ2q2gbx{#O=FqERHke_*#E8tDNpIPO}bUAZf>#R;e?c2CgLG%6(6)Tk>RK@#l zX&<%Xr@3rL5$y-L+u;Y;3LQzu!Oq4y-qhjs73!iXvPs0_R%hpONXSW}NKE?#hMV1A z$X0|n-M)I~tes8S@z;xKCA@-g9e)>oBVMGa1IQr z4+$nTUD%MB=EbHIh77B}OIckGFunEf$WjdX^6!}ZJok?iUU7QOOEGOg@+wZ9+x1h* zz^moSmXlqhG0xHMoGCsyrGiR+m^0&Q0^HjysTZbQZcE48=yS?^lO(tleZk>U9pGvW zp(XP9TkW7nPqbyEY@8>2+?WPF$)L=L!~>7Z`RTX$^{8lJdyOfo_nmWpZ8;AUGvbm& zE3WguqI;nz&oCd|a$L|Nd4F3-@b5qibVVEqX&3Ki!t3p#^QBpVT%zQsWea&^DcP~S zwziflVV-B(tt)gcO)0i3{q7-tmi2x&<8O-oZVly4;R~P3CW|X6(|lQDlji};o7k~n z#Tegrj_R8>uhxrDTA7B`_on;WbWDFl-LZHpu~1}Q71WzQ`&Tqnr*f^cqJ}l4$we!3 zcZ%*Dq%_%pz1Q}a#T*?auQI=vkcY+LqA23X9x(2;0~1 zCKfo_Avsa5&Z>5p!quL`&pL`deuYBdLvU%#FHx~F`SCVAlzZvjAI)GMKK5}n=tn2i z*ktdg?tKsPs~=j&iZ18IaqU)Y7(|1l^_v?1c{Re`O78=Eu?NYJRSIcuCJ5 z)K8i?(RfLZm@M>+$P`#r_P2&5{C*3}V(dOB4R;%0L zXEL;_;USjt-~Di$LNxyX-6C+F{F=#+k6Z*3VlPPd{ktN5g_r3_B0jWGt!dQ4O}^o9lp zqp1D;3&{{Z5ct(;t<#CR_u*+VHW%$PrO&aS9|+-}`DWp&$6w`Jrn3uAr(geo=RhBu zeVVhXn=ZD*PmF8*T#)9RE9HpTuU1a`SeI%a%ZX5AQwX zhmwW^Yvfjx=Knrh?nS*MnvoA)jVr?&2suX7kJ)BaR4Y_}Wa6z@pv75lc2~thjKgsd z6=zlT8|8q_vrQg-m&5e;%cmLqzPqiJ3&3iE!kHX|#yR6}6i5$k6Ms}b&s63gRF6g~ zR_0RIA09~Oy{wsIAqLNK;(X^7>ByqwMO70T~roJug^z4kbP=<`TZ z)BF<#_;jwdHbfK(j~22Slt(5}%|5grQ{qK4+bbwe6kbSBFIqCtm-}M6Z)PY9%-6?^ zBqpc1h#+8KMCwRDKO=36p9aywG_W21*6k^og;1ESM%@yv8N4K~ z7o2H0QoNS;i7AO@VTKWlDbw{#=Zp7gudx)rl1Cc-Fy0iu4wdK>Fk$~Q$LJ`LG^xJA za@q?I7c^&m+~r3Hv!BFfzrjlCNUM)5T)})?#}3^WPv|a^*nBl?osS_jrOJqf_*yAM zT*3cf#^+^*!ZqkXKbAWzn&`}R5#}f4V}cu>pB&9xterHQFaaC@j4>vPUHlbFQoLx1 z1P6^Pqg!^?SxB*-_K)foOrc-`jbMTB0OG`VeXARxFJUFPSk=2SM*i`xZZ>4%_iY6NjOY8o+^Ne5p zna@9ziG#V->fXI4WfD*z1nMcU>L2w8$hs>K|ITqh>C8n&)k355jr9bv85<{UA z?0vTC?A^V4S(%~|RJ?Qn4z<%_%8k3?Gw!fBW(GP90GwcWuaJUX`Nd`mE#kV*F}x5Ft%8 zl%KT)i1^Q}_CYfug-Ow!Q$a1t7l_OiR`>128(v6cXfL*;7PI%m>$LYbgtLI)7lQqu@01?2vf8z*DYd!XF1ZT&o9@%esUgC!Jrc^blLiMdk||hXp2cZ zQ-_?X1s8v)_9YN{L%<35d0a#uB;MouR#dVw5Wjj^pZ_^a4k5$*QkIt|PBt%9$o1`R zf9o*(>%>>*abpspy;(lvE!kKT@{j)eK5u2j*M%?bzJ+czKNAeX*Q+CIIWs&TK~sBr z#eSp37#n$C8=Io!K}MdPFE`qD%zL&K&Y6*$7^z)mTldM;u0;J?;OQ=L;7t%p=06Kp zf>Xnl9~&C1F8goO)&K0bBn9KwYaSAe2ICjr6XmkjB=^n72ohIFYaDcbDb?S}=&AFY-*8)dF z{i?In(-fI4DeDC6{*duu$0X`A(?HH}` zic17w=?cB9@bHkr;Zh0kl>2ZxMNy7_Oq#J)>;$PD!H1QIweW?og8G# z0IcuJfgOb{fghIc<5z!4MU?KuI=?kBI9}EAxZm`oKll{AdlRO~JhTfs{Dg7ykj?bv z?-2xxAy!G&pXMkjq3j~Z8{LF%n#et&qxtN?O03BB9|~}ig_?F;9Cp~2wuzEQ-xq;cb_IDQ_a}zie;*xj-oTe?g~m{)R^q?eXz3Ded2biZ6Fz12LfN8OmO0i-gnX zoTLQ)C8!&8s&S!CoqAK!ldtjilw&w67(EpX)2n~>2Ne)rUf@y-kBjzRn;_?CwJ z7$+o<=*gs!v?q2_L2aV0x)2)5%gAqOqK{iw&vVOf5B_^gCHIbHXYLtGewAu-b)V}^ zFgjBaShAC0wiK!(_BevOd|m$T8ur$q)?1nXXHZbKHRn~oweM4T0x-^H`Qk;MuOHf+ z^LHsG558&EH`0`Iw-_4+ZdRJ2N-?Lm7YA(_f4Q{|^FnIBYwv~c*-Ser0VM41Mzvon zzV(WVeyce@j3Hk83mJVL@6X|2j}ZEy_ZaGO%f;<(3Yc z7*>!{QcBK3pZ~EOkHpWu@D377h4vz@;O<_kp$V;J#V%NzhZ&r8GoY0qKQp*>4SO6` z)pOk>i{+pU-z+)05`H+JuC?gL9DJUAbGH5W8^2BP4TBtCSwb%l7mOxj7zJ#K>x7xB zNGFjWB#@B~Pa63OI-*IuyIqcEM{UjPr&7l0pu@w_+wYoaAJ6XI+7(-`E^qs!e;^Oe zIG=JqtO?L^e?gdH=QYTklb1!=cULa(t7SMVQz*D1i+F(uo}7Z)|J!i^BJ>l@Rw>Cg zO8wYBO|cP-%)u>;GHkD}Fv={gGbv+5sxF0_p<%%B-cWkM7!osn_X2iQB~r1f3BVDB z*4Vp~pjtNu#wLBd)LROG(Zf_toAYyeR3zSIb`bxF?Gc%gpk|K$3Ax z_ODjKHss;q(GW04WO&Z70g~sl;OiIfj9g>-pg2r?tzzjknw%#ZA#EB_F`1J1j&0P+ zDj~};c%1I>0NrXcp)heL6C8TL2-BE!DiJqhyBHqNG(G?k8|(`&E+X-mg8_d}krl%u zV|`(;4bAPS0DHBU)Sy-(i($r68@*c6$)kp-5S!(6Kfdj}+Zl#2miPTL7_Z6RX_&2) z3I6zdO9fH;CES{4I%A>s=;1gh)q+SiCn2rG0@~@S^#xqmr zBNR(5x$wOL1FJex@&xPF!t@6@v z63*W-@NdKjd+7-kl51oA)YM9h|C+*3)beF$Y(-s#l5+TuUDlL)rAVyhR}It~l~>7) znd)VWE$^OSc@IL77g#5fpZ#^ftV$e|-%82>+JU|Nwb{=fo`pcaodK>I-16AB|JrO} zL5(8LnMM`EqmsiFnhOX#13s7)x#Vg8E}*A`0sY{my-iKMJ6FYJRk&z))G{yEpj3 zL6i8jp@Hv=p*6JW$3zJ%)9?1+ zhvzx_S%@>!S|N*PbsfZ09-^K!Uhi9UttR2xHme_OYa zUppF@?Ev(8b(uUs1y+w4K07BW68tS;#_~n`+v~n$XP$j|Jb|#2BlmpQGG<@J6sBI z$LF*Eb)f%^aW1v`*BeG3g`d$Pxg_HJ3olVqXz3g^EG(YCO8M&L{?gger5a7?v1`PC zIOB-*vYa;TDro0RZR8>5YGyngP z#$^`hXKN^ogt5Y<3kXd3r4J+gH+zhox8DF>Q^e~}^fd2>+TMAzLr27(u-aEej?Rf>mi%>x* z?j+rw#k%XVRDDXnF>hBHT91kWTB8YxK31gQ`jHhwddt$Q18CyrM8Uf7gh}Mlzp%BRY^G;pO+0KzV16Gmuvb+JrZw@%&*#Ba|@z z&-m>AvXHCU#eJ?HoY4)TG|{kcq*KR2E~L=(=k3UG^i3_lt?Y;fU9kC1*U1lWJ+8`u zXi>^E0y%$K^fCg4JLrFy^Cgq%?fRJ?$m@dW#iV}vN=^CPZ#Q_o>?tmdZfCgH%i#lEG*kD!l>pzj6LYZSW?;TxYwTNv?oYD4{bz4~- zV!oWzS((N8+pHSTn1yr_n<?kQQ^^*(x^0H1?``JH#EUe2r1Uy4n6lcL%)IFV9 zCV8W3`N90{K+I}eGm3Sw^pMg8H{^}{&${;L-l+EH*DGT=R~B_nea0xk3tV>|-CkGE zuxt_c;#XbQPnSYDLkP$WcYT@MJUF07pR+@wOXCMa$h96P_FB(YW#E&G%8PDkCvy{U zpaa*+f?1DrUdl>=hGT}(Nw!}KiVy4k@)|#En0r7EJ7DvwhZosgL5vT*+%__1C=5O> zODbTk45~@vG7vM+zh-u~TVcDm%#-zjcV5sU-0)rpfNh1I(&NoO_4h(UvwcI=ve$iO zJm@GMB@qClp+PM~j;*FdmHFQVQ z#>lGY(y!El;RM|^=VnA25^2(U2!ZVUEtO$rc)B+Yu0Yd?pjn0c;!}~fmg}K>J?yIo zrt8?4;~1NAe?|0gCO0igJ>#p5FEF?tjhn)Q(b@tW<`}qDGTolJG-Vh$$Uf7vHs1N- zHj2cP0e!JVOO-#28&cs}3rz!pE1tiZ9Du`k`>)Ah0+I|BL~Mw}#_YTMXa-d^*i#;d)>49G?pcy89qV`wskhnjV0#xt$5?T^V2Kia)K z#YQQ~jI-Ltg@whyP?JLaMq3%*@Upqs%9Cfxz9Q=$a0Ew6ryOMU4_E7LmnlmpJR@zr za%P-g6r&h5Cb8%<_NG>mnR#toisoB0ZNKQv`212?$eEU4dYuzTC{A%JmF+^i39 zPjPL>l)UoFIN)CCg&G4D85L2Y8rnR0-@eesc3Xu~D~^iC;U|D*GxRl7VkRd<@+8=1 zJw7`WC!0zgj|PZ#-6y@)qyB876Ezd6ebgQjO|t1r6sF60vWwGA0gNh*ODWtyi9Jj6 zugb@arE&UHX*Llg%<1lbMJBI1WYyTegIMfQ5dcr$hXZiFZ72)+Keg?IuCDg`Uh4Vq z@w7T}R5sQ&d>;H^@XhS;J=vrVBSdi(vGZDLt#$&D-L_7zyr!oZJ>YDM=ZAfEOEEOb z{0PV%5x$ABGrq(>8Y+DMFxhx{txRPCdtP>-y>=83YRnIQ?8|p{3F|L1)+vH^kQJ>Oahk z!)p~gD(aai%fSo@Tbaxa>7yT-a$}o6cDY1Cul(nXC$oXxCI}MUfqdeaYys(teljXk z!u9AaPw{z`bGx??E^?t`t-QgMOtd_tEOs{f4ZCfZjGc4ZHj=IMKI>#s+owjjTM2AQ zc67C4yU=VMK!GJ3c_wgro4C>Iu^?VG!G}oGK2^2|@xq515iH+3KAHz!{8;r+lc#*6 zDnGT5oSc2Bdm_CXn)8+Bty9z3UN$1f*$w?8lZ`x0VO|Z}^ z^K(vg>k1{0S=O#od<$y~Pj5lQ#3uL>_Q-Hh`x%0c5XB6kfXM4uGZBjFMqu|hW@Pyg zY9RoO!wjT%!?Mxg8BHD6s%>^AWnyffay2iy92`HP{_Ql5xADy!no_s<~* z=ai#7shtUXd7y}OrmA`=4hl3!^UMw)YRPztoNd8$UN?Bowi-cA5~7_TkEriBBhX>H zaUhgViZqz(2-@Nq*EO{fKl33-aN8GH+j>4GiekJk7>;uYA_k6EOg}rj+oD0Bv0Wi$ zFGCmcTJ2U_@fS|#NvBbb^{^Vja5QV3$it3Vn_tW_E57+00Iux>U)^$#`8|P7&lbkn zOVCgBoHvDidux~TtzE1;a(&1l#8-b&J=UNIU)0KdewE_SbY%0wBd(TyojGIiiwEQl zJY)<`H0)zOq0-c&^-P4?N{1brp4*mu@DiQDGvPd!v;(o6k+xB*>$E3x2uv@h_ZBjU zd((+@nW-!u2v4Zpg861`iRdxrX(||dX?8j2)9eIdXAXKOF?@Ml9~e&DOPGiEo#q#} z&0<2atLde6UI4Ic%Bc#K&Y*{j zSenq~E=-v+`$ms(&O=4y^o&j?vR=)xafDwmfl8V(QtsXNO3u zXyEP6iHF=rF;qq`UA!C39bFo5D*kyxmEZ0Lm)OiQN z*f?OVhivK6Wr{G6n|5$fOe-a88XwEMnXvF^J0+=-r8wwYjOS!Dv!cUC+zDxQ#*Db81Px#(>~LRiF-u|sIcKKK=EZvH`KJIoa0Vx1hpymg4!a- zdDbh7gQB#*0e?h(^4sl;6RIOlH!*eCNIAL>fBhA=fdJv9^MKEXxY6RVb~i}{pHDbR!DstsXg_~SpY-Z z!Fm(ZTj3LN0RzILNaAGUyIh$l?AQ4+4ze=halM|BqDbGFot+$q$7(GoQHa0GFW{Tp z1yc;>+huT&Q}YVVIS6TjTPS1L>kCInGgF>dP!?7K{{(5MrPue%wlVl5p6 zP)#s;*Uj_Ltas)~H?p@)tNsekyZE)iEt#7eMz=!}F$4Msb1dMgVJlA7=c4_}el6pm zJL+zg_)EuuD2n}@)Q+`mBgkk*7f{<6=VWJ(wYE&e>vnMN*_6SPEx|Tr zLmKlw(oETC*#-`8Rm2P3a^~zKg|woBWp>9?c`%TP9S`sEv|Ui zPQ{9>vpNWl=$D~z&fZtjCTGa5jGW0XZKPZjsWv8Dl?VbQz#&^0BKGM=|NDtB;2^v>xshUzPOXCim1Gif={^7Qt!r*DOrNL6B z8iipUq#<>+EI?FNKWySn(xNif{;vT2JlhX~D<%E1qrJJzraS>_(|JulVg^PX!%TvQ z<|6H*d@FD@QVkdP66Im1eLrnK34OBAhBe_do5=K7TBurq9?Ypf?P2d&F1IroRf5Ap z-Nt-GD0(Ix#XR=9((aTg3AV22;@CuEDv3)Yb8huOa;Lc71L?J5JXS0UNK23oeRFo` zIS#dYt7Q9=+nT`KBH-wRi{gAoFW-e*ZTP#&RNF(Ow*r6O+4m2*+``AKI02& zJK9673C0ty6br-pAd!@$1cSN52vU*x+)+^<*g}n3*>rCnt=IO<+uQfv-+aYzy}1#J zmu{_t1Un9OF#5^ATrn01N#g7=C-pa3CqIDF z+X0If>)Y$TEu0PH|EM4hVqJsP4QZbsGz;H-I85|Qr1tE({E|j%PSgxudf2^Q=^lXB zQI0<}yw|Dub)uFCt0nkWI+U5jdwX24aF{v}gGk{*X;SA-78iAmyOf9pw{f{RIeVUZ z)g0687RAX@R}>9893>a0knal`_2w;ij14oCZo7C;rXPk>tj)Q50ThW^2JT3?O@0QU zgWJXeA~1ZN?7A$L=nvAL-3GO1$ph3he6o@Ybq{a9c8E9@mC?LP6rVcd~kpH7#G#;MP)A6X^OF>s6%7y5#$iMs{tn=hcR=Y(JCeD&-z1{m#5G%|sXgk!(QSSNx@ zmFc0QG=n{=dUy?E8>LGgYX5784F{V9Kz6V1NQKH+esWa(cKL?3t*v=rA@Fto5y!aN@s zF$XU0b`ZNEeRv6OcD>-n9gf7#9eLo?^|Tt|%fj))80{7)HhfV+JMs)H5xsR!abj3@ zCRUlQ+F&3tK5+HzY;j0f{Eow%@k=6!c}3D0g8}4`DU`#km??dzP@&yGCT=TF`8(GH zL1-ZPzRfd1<64n^kvjoV$N3P%Yn*WLJH9o_ZIG&ZpFJmqL2Xq?FdDmZ8z=B{E`j|0 zmD`e&qe|)YRq^YFs7r)1yEHI~@-%96fex5v4&=GbnoYMucXd0l2^%f#*Bc!WtPk@$ z+$*>UH_0*eIvDa5jgh84W1E-ZyEz~$%e-STr;`DA>K&S*RsmzTOyxtZ1}jA(!jGr2 zZ{xs*6&_}^)42w6zpTZZ+d+E91oFmPFtMbK)?E+ccj}QRdS&`+!kr!F6G{ai89z7Y zM!)OgF!>%d9LL6~{*zSSrCooXu0?zfDFH+)z60;WYq$XFWo*|&xUhi4lX*a>J~yv8 z2|4SCl*KFaPoyP)mEY(qVoqsq#iYnD64v-_P~UG3Jb{wcLuiyGys)Ys$MD=P%0ptm zOJ4ADbal__LPD#JFIbI&ww``D=su=Huhzcnu8dx+ZhX&g!82_=K;Xc0*N>?-g$X(a zmyc|MI50AWB{1p-7%h!75gD{+I3;;eHZZkw0u3F>oycXDA!^YSGQq~9#(j{Hdo!*q z(p0_^;-fE`iMX*B!+`#%ay{7tW;X7ZS0O&;3^ZI%Q0fPTljHQHrtX*vh;vgLpg{*bAuj!E!yqX zWh*A>eYx|y5{H42Cs-g+jhLW;hsJR62MKSb0~6tjAH|@?!WP%Nx?uOkp6grFoI{n3 zOnOI?TUAbQ_3ofp=@~lpgd1_@?xkcJwWj(G*?Xow6RhKjt3~jn9(5!?o377X+gRwX z>ceMERCVg*v-j~kl-Kv=cII8O4mu(lJO)!#ZZq#beC*n%N`GRb<}?5w!GKXmh}-3i zR-I;^H}nyGejGEk8z~cKJnYjjfLz6;VW^<~{KkUKJ4w=}xo~P|=={###pH(Ki6A@i zTts(D1|9U#wBEXw{|BB!X7v5ZxZcBvPL<2ntw4ppema%j zO|Q*z;6=*yg?dJ@g=y|^2CzUbxSuRz=htYA7Hki%tT6TPTQlY5Jp0?tAHa&?^&qOl zwKbKO@OU?2IQh|Lb=I3+tb;7*hb}Q`yvvoXmGtEd&U_@`nnb)nXqY2qoaOexj6r38WweeZS`8SdnM>R@6BZPMRO)?}j*<(b$NI3xrhwc6VmA zOKYt^ZFEemjtp$R9L-vb>M2w(L_W{(nfkfi27DvCK58a{S8wtO4j>!c7y-tKisYEw zXnH57`n?*p9QWdDm~})Ck(Day9v3IFGY9P!zvhQP@<)mDct;;;K$^rBc|5Tjg`5cL z)uk=kLy(8L>Dz#qy^*l?ry5NN_%`cc49a9{nL9+{{U$>6&MjVPr#4O3tYTQp1mTL1 zR?BJ?I>S;cr!UFrwg)y?y{KN9bvXx=jQREZLxw(R=Xkt?mq(eHkUF&QX?WtR8*|f) zRy8IxY^mYxXy;KU%5&D|!r?E8VxH!_dSoHiNEG6&Iu;kiR95HqXw|G)Z|jaQ);?HP zV!>wqRWo6J1^uf#TmD*gtX>XJ%9ZoDC zvTyHehX1mm%E-m|^;TAZu;ibPDlXf?JGSr3R0zV0mhSnXb>&yBSARRIYzcdtB>sk# zIaKzOKuxMux>>0D0WQTIiCfZK!H$Vj%SRlXO^^er_N6UVdw7Eo5El2G41Hm_kOe`< zL@2-57f--ejRz5hl>xPQsc5=|_7G8j$05TNP5-xj7NBy4KYmF?zuGO;8B*Jq`A{{A zhA(BRTZ+eeBC0CiV=8xd3Ae*>Y$&dnFXyo^fy1&kt0VI)=A@0;lwQuK6Ury24uV4miVYi@lDuIYd1wM{7RL#DQ4Uo zURoQmBcRztnR_SUFVa;K+d4MJq5d#fVOt*mKuqXDg;Bd-wdro~Yqk98;lQ^xrJ*A- z-uYa3^4-J0NHy&@j^c^0p=~6^pz9X)%pQ+;*no%}$0_?qV$9}N+{{5euSM%cphi^n zBfTpd=wY9A&O&e}SsCw-6N-DHc98SHRxHBPPYOqN@_W#)jH$5pfGQyd)IcF<3t}v* zQaSqcxNKOv=Rf%52TlNm$AeqbwTq0Eu+`OgO9^)j_dzu-64*CJYH7$(?)D1sxle0R z3touq4_QZe=l1>cl*7`qc)8(acv8ML(w%?m zMfabVs40sLh7xy_){ z;Kz%}1ZQ{?XVN#5IeTRML7480X%@?F^0fTQ4BI!bl_fMy-Bm{ug6z~+kJ+%X0#&9)X5h!?XZlDxqYJ*EW*`>>DwB)L@`498r~Py zsFn!h{Jr63hYv+*7>*kx=1UkXs$Ks;{H}oYi-JJP?wEl8RsyrEJ8J*po*Eee-U#XP z{kCqOIKC&Tq}J4QVrHt*|STKQ){#E&@dJD_4`)3{@ zsI;%R`!+nw1BBixZ>)vw==&3FsELa1ooSgPLoC(f)(hf51PkVOdoF z*t30|seRanz(-QH_APy`kW5R8)i+_wbYGpPL#dg=#X-GgHg}pMDtrLs`Bh>C5s zykloG*`aAmKen*!QzbOet;*~p?a}eC+Shp*L$HUz?dvE68mx}Q!gs4Ldu@-UMw6oy zEt8XGVYt4c!m1J@@JvXr$E7YG$xFvoz-5#7%n>Bc*g?l)iGs6ey~AhCB|6WUMaZ4y zs%;z-Vr2jI+nd>2oP~P-=a(IgxT>c|R^Bf=gF(VVum*AkWo4-#WyH_cr#ZvLD(P6i zT4&?*+Q%bFc5a()V*Anu*Q-WdW<^7!?#wz^O*B(OrEHw59~e*a#y-ERcVGL0+B9V8 zd{;6chA2yyS&}nX8%&Tkl<~K#Q+`} z1X?oEvocOc`O!~b3?F)4BEOa%nOi016-3%BgV@cVm=pKFW6fNZFtKZ*0&I4qJ_%n|%JQwv-dGpe&3(Db_ z7(euuv%%a0>cMeexttCmnEU3 z#LTF%O_|M|h?=z_M`Ek;%$f}VJXEU8wW^nawnFiqLZh*IO6-y$s@XARaO1#XWpmME zAe+eta+Bbe>2;eezjw_UZ9iNOOOE~@?7dY~9NoLGiv$S}2oAx51PSgWSP1SA65O4j zjWuq;-QAr8htNpl?g0`cKqHL=>&9J9lkfZQGtM4koprIs8RuqSamDPaS+izU&G~zu zCxds8UR-=;KvJCMS6jUbV^?U`zVXgCe(fuVA7GEM1G#kbw>%F18wo0Me_l})2r>831|A?eVpMLaw1$;Xq zQ$p9j1W(vnH!%E*>am2YM%wVv=Aw50PqY84c77khF3PjpW53*vZSSb4YU zvh8D{Zr_}zdVfxY3y_kxl9GRqOF5`Hr)Q-{Rc7ysjYO)lh!}fHQ-86k{BwO=JTdkb zy}Uf`cE@P`yM1Sb5ZUosb)INsRhIigvvOu4hH#s~Z2JnL6RzHZYdfA%TwK<9sv>1I zH#XJ(NfZpdFkJ`qEhfu12`g68di@Q1C?FQka?sT7)sS<%;j^5SLk6T%Zt(V-JD%HI zh0!^zU2!8@$$p89TgJ71)xPX?yJTGmqvM^lI>=!uMA*R-NgR9*x`dI!`^wePhB%px zkzm^*t(I?5>cxRX_^GaX&ES@qurJE>;|_vXF&+*E_X^}aoAKttv-U`Dmukb1PiP~( z144L({V(4?4kb!2i#i}CWgQ)x1OBj_x+`FAvj*R=Rq(*>9l+!*&kR8=Xe2C5i_ZjD zqU4hluR>YR1zwh&4U99qqSZeNIRSKASgo1m-M>_M_<^#qVU@*IpSKVeMPYdRAxX0N zVFeLimVJvY;Lsf@96-aE}d(grx8ObMHs2^#tbltHb;EXdB~e@IaWsj zeuTP+BfF}}pCf70Y7VJIvqRJ5Dx9Ycb~n)H5rNDT1o)V8>qpX$mYH4ev!shYU~a^W2;39Q#;jy@Z0uEAQ5@d>c5iHSozOxU zvUly{&xQ`C);S_FaD&~R;co4jLwZx>>x_)WXXDrWZiR6bIFLH(h_u;gT%8`pQpxy| zoNVW{wQiW%U&4#)ATbfF>Rut!>oCINe7MMu==CX^A%!%p0hAlt-?gV#=yvlo@4R0Q z#Dk^mZ#Ud(tBDo#<0_i;#;R_@xjrSxz=tAqVZ0^{-p#yyLh4vj^W~)m zL5HiZ=x0pVOFyxeZYCK;j&xaP9iF9gB9F-GiRk?4$^v2T8Th?zT5$HbqwDkiQDM$m z{_Ol_Qn@QuFmPPY6hRdW2C_w&9l!@uj@mfOp}14!^pf2fSlWL6fLFar#bUJly2 zUEX{f_W&5M&cY81x-nZD64va6?puYWXaTLJ_V2xWT6VZ)paS7EIT$P6m?*6qm=MEYrm*UK z5b@`B+NyKE>3*^5409PFGQJSVuWJ*0cua;$CK$GV&}6fk64OGe3J9Ak+9AsnEF>dQ zAq5D6p42wH4hDpf52>iu1CCc9uf?18Z3h({1=sK%tb20eG}lR0f3ExImG|2Fiw>6B2a0*uq;@JBZ(e)yUrS@VUsW?g1jUj zb)Qv+s>p!>na8XIqc(5qx7MHvz)@!Jds=JCK6Q?hyEXeiJxroOZaW=SLR^8~6vGv> z3*Bl%z)7S*@E-vGHKgsxz1PLY`rJ&*g4KQB{=JU++tSo6I#GV|h^PBF4F6N@g3CNJ zrM=Y%Pz^J>^i!_PiSIe!-KL81I2K0@(x)>b@2kUpMc2_mPThdt%C4PAl}32Ht{dqubVlrWG_ayg-J{>QqkauJ@eO#xi|M?gI{dAcw= z1ux^)8t*pI`o^0bA?No5rK)oMN*q>{DWQrJLtW|WO_-1k277=4*0C*#S&-h+flN02 z6XEDA|G6N+x;K)i^}|_^e6@E|Do2(Z-8(%?(Ut~r`|$>VG7EJV7| zpBRAMW{frwMQqLLYEr`6vxAr}5F~S_W39@I(5C#lRnWeDcgHSCG>2RPTAp=B52Fqy zI$=UaX22C8VL}!@iO$X5z^Ky%`cVRZQtA)Rd)j z;`iG79SMvY6YXdt>esx{t2i&u{{m%CTUJeQ_-1D1TMGo1fyLRd+UbjT*g}J(1+h*m zVnjA$o~}?w;V3Qz!k9OvTJr=bhNAHwu@dAYkGooz*`L-U4ag!!LIEJpUa2q;)sv@` zEIo#O?1qYYwgXiD;^FNnewUK^m++1I3>?GA;93l1CvOU8z`E^_0mr)gcbfLrjHv$2v#l{~EEy|FK$kLDtkmw5a)WO<%1 z#m3AO1N0VX!-@Yrq`QULr6d{&g{g>GMX|Kk=tf$1D6C=-tGQ*jn!J}V+?r}Jw9)?! zb^c?Tq;bVo&{ahPvyEJHdOeeVJoFFG{A!br!P-EJ?*f|jZ$Y^{dn(q85#O%rDtG5B z5tybXI-dj5Yg?A-kn^+pg^UT@KG|=6S%e*^Oxbzs?KSVk)ZmwYFImpj$%r@oKAy(B zs5JIsv**#q`#8l>ZKwx!}Hio z{PBmm=)&n@*SLZNEBBa!@A|uab8hAx$bfA+e@Flzcnrv7Bey-rjZ<6Qy%&3y-PWDP zCCaENt4bf(x6C%-hwziq(J+owAkxdsVL6xoQ}p*^2>O#3`+g9<{1s;qnWj7e36Rz~ zYgKo3&Hg`9fk6^$T1r*(-)j>g`&LopIjL@o%@)6wUw78m+_w4=biw|GTNqq3Ali8| z=oLexXZ!0#LG&T8?)~fL#a=oJZyG4^D;UISVBDzXg4$j^OcwWTRGV>*fP)TcS@Xu+ zcSyVUeB-h!-OPu__nKbir5C)JVa4+($9jD?F}37PyXdsxu1z4aIAFc`8iDZcF&tQyrtC%b zqS}g4MI9kG+Lkz^m=q8;p2noixK;b!<#jN3m*XMHC#2>Vj z+M7)&a#EFzrd=+gaAxXg=9E*TYhGmo9a|y3n~oa-z;D78u-e)~uT@5@F@%CpHhYNG zI!=W9mikKGwM;pRXaPn-KU>7|89Sgwg>t40g}lO`@8GVuGHq-gfP*oRf;z}O>3N0t zKP8deO@pE9QMA^tB#4WRjJQQW;a%!WSF9+U@0o(;bc(6eOVV`AmtVh15L)WTvSX-@ z|9t@SbD&HBc&=M|z_IPYYfEm3Kl=W4w^e7HQjiniMT1IPUPiA~Q>Z_}FMp;erivY3 zn47xqah|xT7(k(laet_l|Cs_?qAqs}f0KhW65vkk^k8N4-TA@4201fZ$bfF$!CjHAVA=nle*pa)o% zWNnU>cWi6T28GgduS~5WF7RcFf&E@1`EhT!0cMo9N9T}l4)OW`Z+UZ}Sk7#%cCdT!&l zvrg85bbBLrUI&q{x|}0-mJsPbRpbFRW2V$Pt)`hPJ9c4NAOzjc(n>x)!XZjWtH|Zg z{PPy&W81f)ooKOF%uo@O_&`FznCfdx86U+!8bAJeUXq--@10H~yXsbs=~QeNk}3G0LF}6TAV~zP(d)735B+O z9A1ncB(Z!rrI>VL;Yp^WLe^c?(w9Cu8+&$n$^VX}U!)@ZXsSL(f_oxAVDkjH^Vj`>JBRsUa>87V}$N=Q(AsA*N{FD7l6%K;_=qT=TFi;rdqT27tE~?bx(s^!qrpq zHSdQhlZnFTMs6X#kuT#+g_HcCgSEHhw5I;xwy-f^#MOtDPoQ)Zw9C@W{bK}5I)j-cYT z`e;fsE}UXi9uR-_c<938`kgFtv83!ZA|oIqpxm z4mtLsKE<9gxD%`oJ)S(l_xUhlGZr?we7njo?O=7*o-Crlwd#uE<{3)Xf=?7Rnu8R; znt7y;0!Xw2Ida^2E<|XT%K52cmIJ&`8viVJBI$b^lB3AvTNBF1 z;(s%YHR)Mjc}mZZL>6*|Jz|ylLnS{lcTd#6p?tMT(7=60t+RIO|L^J9MYd%`7jy8^x3$|8x#J64tr3>NG92lq%psC8@u zAs+y@O3R%f*ZbML^sht%U6w=&mRmY6Dz#HhkDfl>9(6Ty;U^qs3gm)SaLd#+MLgu~ z=mHPO`!&PQqtGlIrQE)2pD)8z->L8lB5fS4GW0Mi6Ln;XO};^r)2M=9r&g7hiTpM| zOh{hkwRo)AYdd0sU+KU^1%|PWKzYBXXruglH)KF5O7)NXr5+?GG#$aXSWAmU=k`P? z;1Hr~mc|c8rI%W|fmKlFz6$s9-)cDK>Ppyc;o|;mcgr`E#Sx}k+hQ(O+&i#5a$6d3*0xsfJ|EQUY;r&tv@4`WmUAByqXJ&xb#<`EX>L8O%$qKv@1J`0Y5FYto{|0h`9w4FrPvG);5IdNcQ9wz zys_|v<#JqUNOsDN8^pm}>5NE4s{WD6vFZeBqOuc>y`e$p=tw2u4mpvXL^A567INbd zCi631UL?AB+Ldwn~dRSjov&S~RB1`XxbN}IIj z>pX7iRq!;4jQ92wLxwpC(oID9C?^)Pq42Xuqy+_rD8W!Mq$UsC6 z9hQB$9y>rGtHs$1$XiLfP4^xr`eUQvxurSdsI_so75>(=-LCWx$p1E*SFRL5$dW;xCL&0K> zxl7HwHdNTkN`kFpTOKi{zxREHT7J+rO6C$nlKkN$pWB>saS zOU4iWw+{OM3tVGp{J)Je{96(o9G_3}Pqj7Me_JH|KcF)HvuiPe`M;VVI*)Jo`uP1h z;>7g7ifaC)WGwmJ958coK9+}@4--`CGzZlHiI;)mbL9gG`c)45j_1Ew z4(r1~LvC2o!ZAG@g&gnUi3y1Tw_^;&Cm?G)lX z7K!;iY&3WUXsiceFT}sTKrJu7FmtS`F?;jlkF2r_(z7ZFzQ!R(Bz|RNN^9fhR;OlP z{hHDTh^~0kr>j~^D^>)l5Vupuu(#Pa?0}v7U(DhEVK)B1GaJtjTx{w)F~K-@qrSc^ z5BICKZbZO5!u22jvUt3ue&+dnn;KJE(by|Xp?-&5bqe|1`b2!Y+)f|pfbY=agyYbX zPbS`6OD33S6djir??`RGH_p`|Le3=lkeK(Cv9sl(xF^2S>i8K+-YaLwT zp&+o3Y+}?N_X4Xi&$_yle#DF;>ZW<40&d_)0*-DXXl1u9aY#$<4*dkiS1ZlP)CN)~BDE7xUgz1P~TaLEmqlem)`_jsP3NkVFt_!Gl+rC|MTf7MwWP4WbO?`Q1 z5bYS(Fx5W{Z9Iz2x>*_apc~O zPUSR;m5w5L!@+2n-RbcaEB!RD~ zc%$@=m^e0#$2lJRmZ^)yE*`cG|h zPEc;+dW#Wwv4Y7qgl32kY=cJpKy|X$9)9}Ap0MBO;7iB+Y5NW7TL%;|S22(>#(+v8 zCLqHZC4RWcVw)pVk2_S*$_QECgQWHh{&SQ)U`d$x=z2^ra3&UIRutFn_p|1M=3@Va zG@V(r%Iyk)nEIBka!X_EI9V-=@K55~5L}CcFOc&k!o+0 z`GMF-y|bfPBcnaffR^2_-?(fDX58m%LBx)Bj#P)<`y3JS!*VL)?-XPNKJQVetB;p7 zp%L@53w0Ukm>+w8hLJ^HGxG-fGfNr7Yn-M>kdtMlQ62#@Z(wbBiy%j!ejN)7%T&Q- zf+8bV0_j#zQlP%T=OZ<~q!<#4I-8;Z*Fn{Y;?cJV8zf@k5@E0JH+x>?W^)*qDu<)?qCz8ZX?-UUbYlVWuo-a)Lxt%b65VTjAGt&8R4 zr{}t(|2TeIrHRk)uMJiyoVOrCelr|!WB+Wy9rmh=vZ)ebTT+%x)zY3j>BP-eK#u$r zt$jvs@g^?Sam~A{M$80yMG?}P?kOG{WW8>3KXHcx6@BWFv*zeJ-F8E>G*NGOjF06~ z@WdP=g5-{T+hb&sr$J6AVK1b}o{SdaH1*iSN>n+r+@;^Cm+J@h{C%soC5&a=9$>l2?c+=|g*IwZ2lSn)FW>hlAX6x2(X}H<3L)u&RS5cKS<$!CCy_%Xc5zLPQPsXE< zBvsxA;lnl>*%->KGS<$`8_a1DonJuWO6rN{_YxNCMdm48jdk;m{-U({hQdjh0!zoC zH6t~_tS-F7Y32Ydw~+7lQnCf^`yX#y8oAFz3&Cy4th*G z_og2x?p$~~SkZrSeeHC1CopCz@Vw4zF^#u9&*?^XUVD?bhQ{Ppyzpk1Gqj3;H~O;7 zDc8ZOh`}@5I=ZlziyBnPeR5zYcy{b+ZqVPSr#1F1D>d1+RS%|pMYsH`LJ?@<^_3n3 zS$+%K5psL3+U|~aVcg-?T15Q97^ub z=R~wzwBVweTEK~)2j?Eg?)7{vj&~_?qPB$z!cSZ*?9nHot|$5iWgc+p5fpXnJ6I|G zbm%Ei&ouSnaQ2hZywkYBP@YR*jrZ{hAo3@_IQm4sw$!%bp9&S|(-{q_3~0}B%qWO% zb_PHYJv9A!|6`4~mDu`oAUR6j$XL5Hc2#IhbyV^uw$hw8b?zBetB!xSST;?MSY*HV zcq2*4@T%tv*DxtOHM>6(mKbZU0}E3&CI;DqCtj4&2(rb+)5^(_?Eq2r!j`pXTeLB5 zneUEFUpVmSoPINr&9Cm(y`cILSygNloYZ4N4MV|R4<#} z30x>zLIkvQKxtT!{@*BFN}1#xEPWO)w7K1CzL8r zC_UC*U1f$hbpQJxXV}0$x%Z1;&opL6c2Sr)?3YGs_5^S{2s!d~xNkA*f9Im1DJak5 z6~wR_8yV1Xsju_!!>tx#!87t(Vb;GWp!0dSHT8k+zh_HNhty0qxrdDPz-?_l&12vQ zJddg|M;#8eTbK)g3tg1vZii%x$F?thG@PG2L9wLwIPNEUQU>6(N=H<6&ek)D!8E!S z>^59hOegQ1x9?}&z{Z~3#G4+K)P_DMp0uQJ3_s-pk5i-5qO(toSW=^VX+%m37b|vh z=RD(!uQ(zh{>9w9_)^DY>`#YlmPkdrWHzQa-@q_-w)%ZImdkR{?OL)(s+K5{?c?ea z%7!cyBw@*SAF=vFDqN@7u@T(OO!ME>O6X8`x{SZXjNYM}yam*P6!2}0A?mr&Et8_V9t zFe$0J5hXdqYItc~IF%UM^b>O_fex7VZj~Z!_C`&(36|>3JFsroKTwnvFHR_m_F?K> zJNdbGsVFJ%goJJ$wP;k?{AzzMk({v7;DFwtx;Gz9a7&`yhbxJ`$N0NPB;@Kf)bGLa zH?hdpRJuz^CJEie$;6*jzAsa|OsO2BFygn8q-W6nXrg5kVa>gaiw9`^a0|O}{OL}( zN`1~f6%_@k72gi)bb)jAmz#Th>U;Q0h!c0X4(Eg?gXG~uey!uT{cNKwVsCgQPC ze3_6a#MQ%b_oablb}mmZd@@%zAY_J@8|d@aGFFk7#M8!)C$c^%J}n`9|5R$ji9996 zoUuXqzs59Y#KODcbBTCpDs~WLN>u4#JL4XYRfF@6hchi>Eo62%f%_KLz)p_ugkN=8 z#NhRU`a|eeucbM1VkRr)!DM;0k^v=ln6f7$o~be8QFf~hs_2Lkv9>jgwL!g&j$HlK z47-5)OKk7B!vi-ktU0glW%`6=Da%DaZtaxaW=O{lf2&b}8h4O3X}dPp9+}^wN|OaR z09a$1?Mks1M8~@)XZWL$Y)tg$MZg;xt0Jkj+nF4tC_2F`lC_Um2cu(?qZ7U@KtXk> zc_b>2G|%{foU8Z&(ZF?2PWCnbDcz)n@5jw?En&mbFu_t%4Lp{Y+y(jJ{E7Vy2GpBZ zd#L-&bZVN< zlEfhDeG200aKWY@Ct~M>W{2rJ8_s9}Fp_WSSCHZ6tQ*7#;vyMJf_(Vc`+ys=8@8V< zFKfN^ek*WWQsUWO%-P3&7eDM7fG|$=_l{7vJKQ}kuOV$_=K7opYxQx?g3e-iNKfh{ zba~^zF1~tqa5a3djQMMZ2+*%P_8fk1ER2MILhpg2=z&v|#1?Nh+UgvaK<;@(?6j7# zpIuMwV9EruF~soJaeyCsf!A8;G~2UpsND1CbE8di{IYX)^zzWedSf+?h`ihW=uRF~ zAx4+rnMgR1C{Ld*TnzIJ@89GI zKfph_EiZz$AsNC+<~-z+2#a|8N3Bms@dc_&Adi_ypR3S2F0CMG>C2hq8?UI~d#4o|zs7O! zk4-sH!I~Q*?sJ| zm~7>|!y@lus*h(1l<4LtvZ}j>6S-;zYkgQ!WPWn-qbO%mp*Ugiqjn!__LW`}k@aeQ zZ3yu@R@MM_jxZh1ERlKvuO#B#AT7I&XKXcI4shdUMwN<9BF5LwwT9eIdAQWunN|U5 z%&VVrpGQ#DD&sJv0_f*LJappBI~sKGUul#M2k$%s8dA3Bl0k>1fF`GOX#^jqOV8oiN+?2f8;iG#&7zuPJi7q&o_ukT30FPy9{fH zOUo&$|7_Efp;NLN&#C=ie5*}2V7a5&s9BVU4St5Zk)xsbdTfTCnSjDCEFbvN@8&{X zEtEH|z8RT4V7oV*gj?FNF^!(LK zRt)&U^ADA>eHcQnpRQ`^j&RPn7)jur777=BDgDZFKB~i_R4nV!Bfm5`_izIy+d7H3uF0FnH*ardxJ`CC58&(jmfA~iUQvsneNzbT_+wzM-AGGXj8Ae_PSK2 z+s(Z&7(1Ad6ii|9CyX7r5E(eAthCKQ+(owEuEGGqW?ke&iKUpfJQlw*>{^5glHCLo zg;a@oZJtka5vY``Dp~3pd`!>9;opwAzoQ}IG+L>9xtSmVw`ZLEvNtsZReFo|D)(Zc zY_C_?3h<1|NU`hv3$B^1AI4u%axeHn!j1;f0sLTG0&*p1oP=&qYMMGqy^J~4yvfl3 z6tn!HTop4@5!P)BFypQ#bx7`rY&-OFvp*}R_7## z3RI8S*<)=AaB~@#(KqYbPI}JFqv&xD1_}=RqmfP3G?bN-Xcob%wy5g1$N~B|?uFw$ z#W#3dMNtjb*cTc*;XXoJVERa>v1I)hnBFqieXvX}5mZut@Dr$FiD!wwoR);9=G$+z z_nR7s`?xNbT8_AVGJ)uP(ucG;Ah&BWx865qI!voiR|$Pk9<4bYq6DEO0?v{+iaxPB z&BPMde^-`F+8eEkYV{C~K*VpQoicXN-vNjMp0gTjkk?Nip?}!%yvxmZFw8Byr=8*7hx#L zDrvOFx~LYq6%Wh-!X$rw&83RNHIXrPBlSW={8EzgOIWjni3`i>G(XhQ0SLKf1>Zx@ zSh9R=i1OTVVhB=i`hhaf)$-nVd`gtcOe%B3kQCjiwk53KW zA5%JMzr3&AjyqgI+Yx`D4}rbX9oan9T(aJH%HNppX*O{~%4!D>^@tK28+faG8x@G> zQS?*MUR85CsRia`%)4z7{5`5D@V!?r(E530xZ|c`gDtP4`F6>5MN#^bs#|K4%k*xQ z=!=%ofE(+8A#B-V@#T#uVkoP=KQHTT3La8t=No~QH*9g9OH5;%Z%#=h={}>0O<97w zyM?xdnmKX2rmX_A)}oOPFNoiHL$^w|}*{)4GqL|BQ5UHtALZLRdTz=^HATDAt*{ zDb?FJCfGHJDK6bbCQ0Zq?t|C7jZZ=xr{x6ka$*4Iz2EZORVN}&m6oZa(teYBHEv4B z!=rDAbjldB%59i*vX8ohyn?%=!0mkZr#&U^Wo}J5$hP%dbtXgBGu8m-khBJk+9z~7 zN+v-BnRcdWPEYfYRI@YT}Q zzHvXxcx-~0MIiBDbHzIj)jrn6=)S=HTY}0tG#1Tsy#FbB)W}x2yS~@YI?U)4JI|h+tR62nBA1u0;?hWC=b0{cnNcg( z7;S-OW)dRX_3jBMWuMe66^r}RL(@8DJUms191D5)83;oeUekMm?JMDz&WUeSPboJ& zBCQXLd6eiwP6#4pL}QBec2evQJL_kmil+=#Q(Y}zWV*v_O(zrRJ*u0gzU{3$Kb_H= zG;_Xd^=%OgnsXbwDl>6rZ*T2oLE39heNRwm0B+4U1PA?Q}XB+ zoV?>#+txRaYV;n|L$tI)e!SStT8+S9kE<9CKM#B#+HP=i>COiE`8jj;rspZ4?qLi4 zps`0?jTqf9nDsti2LnO+A6X4BglXNA3LQLI&9g$j5F3nqqw?xCaka?%rUhO*bTqLd zxoAwQ<|}Sf$zG-C@D3cZJ=QPvKFRmbiQLyxq-~v6P>gLg`g)WiUGP}@m@J9%xvY#S zD&QU^BqwS7XIGz^NvVHE#!XhgGjwV&V1hw=&7SGroH;v6#4Dt&6Lqz%ZDH;eW;UWZxGwbA%)^kPpZe8)f-G$^JA z5liuY>q}|4tTL7|4|SXNw)L>$86 z>z8Yg`=2qUScc+B^C@}I&eh#S%9R#RA5oS zj~|KpVip^>e!aiBS{W$FciPUibN_D8*H6ahq=cwnnS3O1qhl3q={V=t+dV4VPBoJ( zoFjuHJ9vI(ff#*9rA4?m2*y|(dmFh!hK|H%=Q$hW9_uL=2FokUy8wiNiTe}92=_*= zMs$en9$@)PRINe>cO8b!=Yy^XktQ;Ke<1zu9&)*79eixKI~4}$AE!gPd$AKT$S=NU z`Tnz8zfd+bKHgtm=;~u<$EuJ-CYQ$OSTOdw=XhNC^4AwQG?!E}zm;RkHtQw~{BD~w z`eLLL9OVxNk*{U1$)yQeGje0X`VbNT{wAa=&o^y+))W71YVNy4Q}bhCL@P*2`@vUi zNbAPNSY_Ogm@5}%BV~<@!oI=$@H)MW@ky$F2cE~?$JD3!0c;=-XOc9lZJ_puK_k5| zY1_{~QiQX2QeM7#>UbA^thsMA8>?<1-FCX)O5=Ny{TSf>6MnJP@^bOpx1+Vz&mxx+ zBuxxQ06w*0xK5v0Gjzt#|6Z&hdFkHk5l)z0TZz=EwtaL%e&~&OGr636|(R z{CprY1kg-i-+G|cK1Sw;@OzWSCZKc2)UD;lhisRqn6ljH@-))m!-%KK=?xEZIGj`n zb4u=oJZ#*h;cu=Yxm%W}hZ-xS*6TpGa_M*EVA{5sw~H=f-S27G+vhMlSy@HY-&uc5 zfT2o8?LH&|oWjdWJbAgfpF3)2`~3^lNPquX5CnyQD`xmQ6}@yqnifRaMX@VvPFs_# zRVJ13poB@8PV>R~(GHTQv>-2wx~k$q&)~p!V+9>1nbee*wt_h6C;x~x_8T@fHjM2oUJay` zLT7IHO@;bJTOLIlHakR@`cV7PWCNkZ_u?d;y@T|Q!AgYj;?6-={7IE%wDB4uiSG@K zqfr-B*9!_4<-EH+b_p}NeWfrMr!_c-CRf-|w{HIldED?F6E}`m{V>$ zgfr!(W|;LGO0_LA?71YJk9|oOJCj#V*PM-%PbuQ6EbapA zif_mBTU%1>hej#2;Rd+?adTISiOk>OJM_Qzi(FI8)LO$bSML5fM@cMvAUV6ZpWUkg zT*Y3KqO7BZiZdZsS5{})P$@^aoCD6wJVLc-ZhS%@Hy^Q|(MIt({0(rGMwY)tR<2{Yq7?o8{g6aDHvQ)3-@ku{eDL|_xu72U{P*8<6SE}F-zStb z`TKwKQqTX*W`#cgn-7WP3H~>bM*D9d4TtvMgc#;O^Eb2Pe>58ZeG^jCdG_q$*V{uZ zIk*=QSII+^+x;S#KHd;}___M^kSXbhaUa(WUfAdG^;Yi@w=g=X%z_S|t-< zxYMFp4}q{F+RQ$b)^?oXX|P7&==A+xycHIqG!Hc_ogM z<&zg}`{RG}Z!Z~aOn@jXWOXMb^o3UZQ<&h43(Uyk-o7>VuyGXN*>UBiwd za-O<<``4!tj>;wuX<9W04NJvktXV`>UNFjcmD*|zovTc^Dtyfbtx0DeFvuW$8d0+G zI{qDIpq5)F$VNA4S#gfNt=8Re{n3Y$+$~KLEc)79b8)|(P#Cm;nTIdQ`cpHfs4vpY zwJ3*}R(aD;Gv6Xbi9k7$(DFV#|CSzw=4|!AJq3<|OM2^mE^a7(fC<;zpe{p6O#zj1VJg{DFzq&UjY-cOgekHgg zhb#5d{-MorB^@Ets9T4Dfo=PXaZ;(|jK41?h8LLxIw8@2yMiE*zF z&W5qgI^kt@HtPOhKY2t}vyeVmWyt`up}%DErF*>B$0d4z=ap;UoU|Ms*~<5`FynT-+ixVd}gmYq7-SvXW94--7Jy zvyGuEn8`o?7~fdy?PbY@!ZMnRaA`c>aI*Lz$xv3f`9xe?(7CjEQFCl&{IVzWQ>ttF>2XE;k^-r@k73kaem! zkH+M~y$-7Y5u36G-ETIpQ_Ip6-P|B<16H$n_f*)*YaJ==X#cBI`Wj75R?$jKI=7E%t*g)G->zdvWS z6g6Ki6B$_fzfx()t4y-DY*WhZ@@9QhX^40@c7}Il-RcB_78$@w0=Q|8f(r)%c#IN% zi61+6u>6JXHc{&LU?_CHAaIqd;8q+Qu$Y5&M z2Hj%@&hKmWYy?*+YJPYS6(XR##(hT4E7kg*t&U+YR!9zF#^gsE z6J~T8-F)M!+9cio({$D|D#7=PzU{3l<=XQ|7alIaN3l{ZlJ%~-kaW>%Ox^)fQxEml zzb=j6eDL^J8B0S~!M^aInh3GnW?}eWCJH+5Fm@YLkW6$@)H2s1y~$==_~(z$4@%4B zG7lk^Afx66>`lbms;4Wm49RxUcluy<{&8)i>{*x3cDv@yY-2C-LUznt z60(w%i@LnvL3ew1Jos0{0M!DAEEv*o=IzP!88&Fo@DO?o6PNkhX-cQ#W*2_aYsEHV zh7I7}h&*B)^&i$BGzl$?+9rZG3&ZUZQTX-~6u$2v>falP`IV`xvE2$Pz7w8}Qkeogob=mw>2?$Vtw62o zQT^5Rw!j%H)DXy552Xjy)%v}FVZwIeyH~@f1nUR>Yvk{AazPF>>$emc4>hPoitWUa zJg)M(^Jr7N_`ooHD_*8`N~4WiM7tk|_%bWQ?WApxu^MKgNe$vR98Z4iJXQi-&d$JR(a{=AN3qkUlt)r+g== zHp(M1H=;`#vCd#6%~5wjO{~~f(|r;-h%+j|{4?ZtX*~X!3L)s3xQPeG{T|^?^Ln&xIB4|F>>8n_>Y_%coCuK7M^vsshqTv~%lOFe$C7!H6!nWn`2uXn|k{3Dci5dNE zjjA9UpG4&vklCcUNE^NQ(R|XTA*(+FyzNRCQRg5x4J^mZ97;#{Fs?;`-S!9z2l4x` z1z1GkiJxrRRzXQSsxXD#<)RH3Vc}>PG+&j?8y!qjW$C8H*nkGqWuyymP-(F8a<%hN zVZ;vij{&X_j7(DA*C$6+lemMbow;9VjN+q4@XzC4==N%Z8i>)}7%-2)c#5{6F_{UknW8X>70Nx3?vO?gp#9UGy+O9x}@2N5#zh}=NrG@KX7(k=Q`Kx?A*`i z{din-);%tqQZ=kju|1V$dYBoXrvTMzR3cvTkvX|~UV^aV|L=C#5_w@h1e0FkESlm` zMB-gZS@q?jsA?9VQo-Jd>+Gf;{dmExsnKJae|3ui?x!m81SQ$k8r1$0Zns@`NflK~g;Y3&S z8Ovz(VDH*S!^xc#QryLw_-PHbzKBEh!c>}3?{vC89KKmB+Z5_v+C@HJX@DVnoj& zaUM;M^43}wxy$XXXAa3!O_J_Q#`}}!nfsn*+A_*orB2YV>uB$Dx(mwC`lUPV{n^NO zoo$jRZF%5KbG!=__mPxdlFi#R z8M9zVqK$TB9;K=2FK$&?0_u1d$HNQqkTX%SGa)x%9?CvI?^z1@xKzSl-+?huUe<<; z_?X6Jaat?cef>yi{)F9GDT=6@e%%Vnix|>Yg}c}GKpc8kQYAg7)uIX-bld zbkFyD?DGC z;HTZth{p{)hdHITTqLl-i@oq>CLbniLES=qiNK+limqf|(uGw})?MTYmw5E-pjc#| zF!ZOJPR`7X9bVJQBabh2vjLN5yXWNsHylJ``G1MP%hNA>tu@v+%`__(dE4X%Lis0a z>%xznM*NIcXez%nedb<@n_wwQZsGbT@5U#(K`I3cOzOAVR%*&kM;GRNHOcPZ&kp2E zbtO?FP)6lZ*ZT~)G>Ch>elq>2>{}zXeBPck6Hg(&w4~>{IHD;&u?M()0bk&m2|bqa zi|8ux8HEfJ9~4)YxjeWJw6m|xlWmD|Hg>Z?g|E(;l!njPZM4?essgEm+VPqrMzx8x z$RjBT$v4k@W^(r)Ey+)Bj^8bD)L{D36C%#JrHXw01u8SUsNK!-qTWhV4!gQ0Y|(oc zF#<3#B2Y2whb*F7{`H4CgJo-yd23b1=Ki@=ju^JCaQ@f07JD)s9DFKCa6y+4fXFnc zOWs98S&b?`*Oy9(9d0rhCy{FUq?*b?f}CL@kLK(J4476fE1&s1N6nq*K(MYauyUkH zwkSe*W8-}7x*}6Y?3rZ-Tm=HZD5il^s~q-^ZJD_GwBn=~v)MKG1t0omY{=cKJ`Npd zuM`3JHyww8rgtK{3YOa{LlvM?8a#2vcXW#j9G7r;yN##t+KJyB3p4hmzj1N;o}~e;0A=Du9j{nLs5}K*u|GH7L}*Wd3grSfXAFo z4Bgq`=!t~31bJBGknqW#ohfVJOS6+W;IJnfoNlLo*gJIz-A$jMK{ z1eT7>pyT(pz(;JWHO|-K#ih8inW`IZ_?nJZS5(%X`DPVFKKW;_DOk%N5r=rmd;-5e zyRK#b4D`DxoNPRcjDe(~07N&9-kqwJL+1lW2~NSUl#;R!GhI+sbupvg^$R5})}CUEAl!d6a<)ZN|J3>@E?JDdIr;e$ zz@1RYPv*P`awv_2PdUjJFr;Zu%qU>I(LrsP3A{U?|a~yoSTgK%X^!bY>zSa7=%%rW*(&J~(eIbEW zdKnSbL=$5vPWNX4DGYpk&mOveduQ?M7k4jm+d6-8L!4wXEECAR185^r5F!!g#%z_7}X^yHs+)U37YEo&ogO$k3wbjCM^2;ahv zL&){_3aD%}*WRunOIy}28fCYT$}jyWc+waC6CD5##)nOdj@IYep(|+HX4qwIpGJ$= zm5l6DMfC}N!~^L@@rWe&l$n5lu6c(wxn$A6RQXF`7vglGeZW#xEND)%+qELfL`|&r z)6UjsRa`NZy$V_IPLl8N26Nh7C5|G50P;3>mY1{&P1+RX{yMk(+(Az4Vh2P9({U0h zCPXm0NPtzrGB5cHY(HM}fR&@yFnVfXQF~(LO>J)c-lXzG)jE9-vfRBH+xO|&%ARHa zZm1HV?;udR;HZ^XLk4-fO#lj04bj8fo{;aF_WKGDFGjif5m4Z4j~tUiF-D1OgE(6d zI!z|cWEsx=2wOJE;gg$9s;8L59-q|K#U<$f@fhT!T%nbM)w2D7$iSG*(}sXgIYFEw zz<>3Bk#q7c1Vxu+ScO4q3G*b~k49W!BwxzBSSz>yADz{4DpvIR{VRFz%gu+osw~YOg=9s-Y3zBF%PT01u4HjrPzO@) zELx0rnPDnsZXZ0}RzM7lj*m-tsLoYnbNFA9wGUmeVbx|zjpU5QYa)CELf2@hae&1< zxWw#+HK|T|`Qq~QTaO%|Jr=O6Gf`VK;;`+_qaj$(`KBI`_^|1zFLBGLVTt%DOOUZg zknxwok4-Z^>mNvDGCusdrkda-xMLo@5#$y;!PbOKq|HFlOqn{~^yYAP?>#QVTe(1S z1Nt9Q&sIL~LeR{sNhFNfY^cN8>E24$YmJ{`+Qrv&Ohi_0>bdo&DXnj3HPSahV*rc{ zf*`D!SfFf>eHh>wXcos2P7}neWV)o`oO-K~)6R^kk>6n{dY>zr)=3v*#mpBgb5AATo=`5?g zPj&O{JYMNWhCN7)cAnDxpbke^!=($i*4A2IF!6XE`JbgrD-=KQY9|EdL2i<$UdIc{XRkMAgNN1=S?AX8+e*$}Xd~MyL9i+%gh>q|vJA6#9tW}VU(wZ=p5H-RH zn{g#@vcHJHu!{Or*}7H{>Y<<3q=~rsOMkpR*1D0PP1wimnW)|>I;VdOZb3Odf(*(^ zv@M0Q+{=s}%imIgn^3UR{`R}_igNB)W@D2nIZ)@SI@l<}q**j|e{(i1Cg&Gpkm4+$ z!ewK9B&{c6T1OvpFnB56Xmr0|!Cz5XVSjibbGtW>-Ex_9=#le)q$U*%sZOmBWEx>4 zJFmKNm}rZ`rG*Ob@yMMIf5zIjNS_l+mZYAmK(4$3%EMr_k40}@tTwHb%KqZ{M>XC~ zesyiOcTz~8qr-3W-7>1S77}>A zxR*LScs<@FfKkUsO2=-U;ElV~&B&aJrwDR~BsGPl?N5AuD5Wg>%~D{;?~1+4uzhlh zaNA1ry^HdrrLL8~ZxGiH=8J!Y*JlbyGQ;Y#UFrbNmyMzC-6J){GP!PgR~nRDb2Y|U z!EXrfwxlL<>JNC1iA-LJq7{^FLk<^}kK0}i$8t60-{`9N3BF!w>0<-y8j7#EvRIEb zt2i#L=yJ8k@W@>l+2Pb&KO#u?z3*n$AWuT|PvG+Z7HGR>?mBxMddNDyVb{dsTE63T zG8Gv`IM_aMdi5M}&GBfeBNuTgNQ4Ah7wQGGOt>Er+D`A7{Oo+zTakl&!WM=!u|GaJhMH*y`jA>Aeb|Ed5ll_D*BTx_zDc1o z=>H5t@*yHa4;gpNgV*Zk7J1s?ypP~;igGrI{Z@fx@cBm!5 zzfU;E)jr2A8s;yI3~3tQe*p0l04M)_`Jz=an>VU!9D@3`(Z}g1l@({-L%*ZyUGqT_T`+AXQUEN$xRtf)4cIAh`zA=SKk1Q8}< z)u)?IV?9zpZlIeI7jz>*9NmLH7C~G2d+Z#9a{i56MSQ(Xdf%czp{ORndd?Qw#s;(y4i-JoIsuTdT`eFeZnPoNO?U-_H)p`)sP^=-buohth)=Jco5) zIU|TuF>|^Hk|p$YXJS^%pg%(Wx``q$Kl&@}{NQ+b{21*S4E=EC96f)5M#*B(bVr!p zyDtmPvF9)5lybZ_RfKI@%Q+G9?Y^hKIaloH4Q;l6%tGGHR7}N9Ja>7LGc7f#=4-I8 zqcK!#y>tSf_F4Vxlv+DG6a3le$aBCO7FroOE46qklZu?7G?9YS_`kB2i5!C+>_r~k z^@55u@17~cyrs#eB`8TjP7ZRqjmCm_3;!HSLau`Do-IxwT@0J z5vZ;LN{491d=wzx@tiSoEh1uiQMi%#tQ#?S7cw%(k`}shY&~j zqmNH6IuRNIf6`uzD-gw&38iY?A~q;Wyf#9nWxe}tj$Ds=?Wh8%7XQ3XYMqs~li0UU z$(K(}vl9)fnNRrPEvBhuLvo>7`_OF3N1@VyJ=N#Sh*Bc2Qw>jYM)AMvprs2B<{6JI z9VUFy<7EQdY(S{=Xgr1SoGkgLTA^*D8ss>j0zHMsmo!XKeudX6RGw@V#VQcBi0e9X^&dofl%3(3eD z_~C1NhVG3q0t2DU4{infCfQdy4ob(k0#|x^z=tmU)@b zI{8{`sw}mcCE|)I%1z5!;*fmhbO$!RgxXeG&xR}Y8d^GJoCl2o~D2f7XR&%zRXQ4)s5|H zJgdt72wur0B!qV^B6v|m#|M@)uOSf=aqTO8%IbPLP&^+t;0T7VZ*MhS_ul-r?d%p7 z!c+HuT6-~B|ROkezpNn zjBAD;T2+yX9|bm&tVE~1HN~=7ctH-b;lE8O@7CY)jVH6^H?`-9q+vBX2%GjgGW{Pl z7Hrlz9~wU{2hW{2Tn%4}_At^Hra6KNV-xsS6lLBpD!CBYUQZvsZxsz#T{J69a*qfX z9Y|we+mawCD!OPp${>4UG*V^`e`Airiq^LA+zKUu0iu7QEO( zshxlQ$H3RiFEnNp<$V*fyhY~!DKc*-1S!CJUm+m^lChQa?ZR<-WnJjLvDQld?eana z6!VK@l$?4M4)WyC`8_j=-r4qZK^- z5;yxhVYlg0ziVIq?@A2|>M*Mwaxw%4{TV@hwaOxqF$on}C@kNzb^fDb+6d5k2$Gj~ zeTOsSd05^goDN!R^XP;nTACuk<=mY`um8j!Mc`nMRtc*3HU*zWZ?=Jdw9Fn$eELJt ztjnTEjCYeN%8%97Vk&N{;JJCrS85@-UyWzKdA&)G;e8v4P4ay6NBXDvyZsBjpx%HyG$~evs4o?6EV6z0J_k%9fBbhd+=9p7vJv#A`MnB3Zt`~ zo1R`P;lGn}Ou%-lI+XE}>L=sJ{UNqlYH8n_u5X66I1Q%sPkU7^C?(_B-3qG0=gfwU z4*#xV$p11?-;RGNzaQ=+#*)9{_Z>qBI zNeH0X)VWGX3YnazfYMM1sWY}GtZ^qxWOUBA?FG|_TFjZQh1SK5wtlS^Cs zwO_MAY+FXeM*7FtqiNFoJe;}GhxOM~`HQ8K||vG91fjzdl1 z!Io#FJ(Kq^Q{29You5Z>TLSLL39TNSg?fJ)z^*=`H+%|9j*|B;g{ubfwLd`wf8XR* z6usvPF~ciXh_={1m&jimVDEAN60LdhEh0wu@lbJL@gtbF-PY3;7BVIS$hg7FHWc;}v2Cg6|yQHom{ABJh`LHDu{ z`kHo5b@pPXCa$CVz}yaBx0~z>ce`mAdy`>qPjiHolqTuKbK6FkWOksbJ~LZb3yyA6 zKxzAQl9yg4R?ILnv~O>sC)MT_vZFB1_hY|CUL{rt68W96GoqGGOmsKl<|sqkRLEtUE5R!`KkAKIoW%5>*ba)G<@JnPqJdUDY70+?bqO5e!L_)LiE-{ZgPk3-*i!=ch81*qvPa117yD@+BI2>gz6U5 zux`M$e$+U>aRN=Ix{TtPy!<^DV%n#9vQ;4x^;PRLAJ;$McI0wGn67n4`gb0_%q-*D zly5n>>{F`?(_(9k8fyg#ROYw*H(#ea5<>7zH}CEkz|_AS*l|1WIZqDo>Sj;wavpeB zm(%NdH*|IEmm2Z}-Wkccu;F_=7AqnQs65z63H4&OBd=~|2ChjEr{zEu1wKK~SoA-y z(p++Ux|tLhTCZDHdvO@6bk0Nj#~DSUFDfKZ-7=QTRUMR9WK~Q}o0O*^ylAA%{n8juJ-pB}L5mUX;B` z;vAoUsU9qmOl<#&;dq%piM+|s$^W7IUW?hM3hv@{QIF+G2h9;x$xebMmHC7n`o@B6 z@ke65tw250?Jr*(!w%bIyNSg_=Iy_$cDf6-4U^%!v5RADGX-ER9)s=0(VL!m{dyJ= zK5Blmmb(iDKMC3C(46Bm3c5`~S-dj=n)urFCyI1e7s^3hMUl11(%!ZgF*ah;e`kO9 z5(AyP#W6Uc>l$GMsX41k866ns zeMaH4Ri7My%|%ymZ9{mk!>{mi!MIFI`?7wl$IFbu)1pah`_jVi!r*oq(cvUn;e7!d z@R2Le9LeI&N?^TS%A`tWk8a(OGp5ns&Lx+ZS(I@}LfFAt(e*0eySI{IsPxF8_ho~1 z<3QtXi~B))l|bLp_Ee2a*#1mCsj`!kLB`tB)8E6$#+02Bd*PAzecBgOJ)%9X0Ta~H z+&&#>j=FWP_F&cerKPFF^S?F%Vq+4~|MUuPn_3iN-n==ynkCY|LayZdAbS^2+u-h} zi|~D)UMEF#8*68HLMJl+^m}~%30Q+u*oM953|o%MmR)*zE5rCw85eF@wi_!OHJg$s~TAUrIpKUT4fZ!s3S^b7a% zeYhh?TBxhS^0Ynk(#kms@7awwsiUsNlJZnXU#h0b=qAxigwy%R{J4>_5M)2{?ED9| zt~6)q*_wtDr4{F!n?Et{W*a3uCzYitmln2CNa2hw@TqyQ-*^OaBB@BjogYnNp50JJp?B#1VVKwn}h= zSkGW-^0|Patu>U=w424{pE1fP5aij~(y8I4*Wqb#8~W}=)bc|Y0G>pfza=u z;QH^m8kIO%ANIfc5byVB{$>5W0N#02`1Xb@7A}_Z z^nx@TU>B)M*}pN;Y)RBBJNIvSL=Ncqr)mTXXAAhlFhiW{UgMpEgF;9!Fhq z|71SpY^`<;@eU3Rz1MC~%EWr%)Sw*%LLi8l$5G!uG8^*-(HPo&#gnxGQ{m;glr3gU zBQ1*M$fCf+%dsIKwyH=yO&WT4ataI15nEj6$gKVpwpg11X!0JFAf@50E|dfz;axg) zxwLO=qk$ z*ZC>l;cojfoX{x0nRP)+3VmMp6LL1DDjL;Myd+x<{tvhz-rf>qTWQY^j0Bj02y&w8kGWYH0Y=`1iXz{x9C!8gZ~^jl92An=-gw}6IrRU`U|Vz!xf80v zi-@2)Q4zYh6R@l)zWC!UJ_a^==w0O^9G)}Udk7X69mw3Tn6}C#kOl4UMM0PBwS=&V zH!5WYCC(ug{oIddBWt7msGzG2)iE%5D&cM15>W`B#00O(7XNb7x&5ouS(fKzS}ud? zc6XJVc=3*Vf@HZ&8*p4y<|LRBJlU1r9MONaG^nE-FB|{xlG`>Cd5CRT?HVbMI?0Tn z<{FJs{&x{;q8~Zx{kzxy6=}I)TSz+XZ*@nfj&{2VIYw~8@nmt?7fEpX+1=yXs4dGL zd05vwHRJ3~)mTSrc36{{z z{=JJ)H4p-hwK-idQ&aUdRCb~N$tJt>h3k^q9kVQ-%P#P%^$N`U3_Xh$iPm&cKBk_{ z=Ty&M1$Ee=%^WxMNI#ge*_}|f1xoQTkC*A-7Z1Flsix`%Q+$-vQI)A5iC@0hS1u{mkie@k|>)kNHMn9mSeZ4Pji+Ahw6V!FW$M1tdLXb=Da3{&Znm|RNTG^HZvTNpX;(9;Q+7w7M z%EC(k$Dl-j#;+I-6fS7F_b{E=TDs&6SrJol+gK3L_ot~pua+wx&x(q6EY*!%x@&sH zvKNS*EZNumy8DFOnRHrH;ms6$SN&(5b1doXwb}4ZR}sp?4wyLbV1xei)9|puay!XT z{0)1Mu7-RnLhXumbu!c4E1ORbqtms9`PTKiaY>N^0D)6qk` z0t$+e(b3ZY^rdPp1(}vmU?F=J5$?dS@q&UE8{EloU$JQ)Kw~VNem(Gj{u=|#T>$t< zugXC#vGj&%WbG+*BA5|5*E1ZrC9#VB;U5;7lOgG=AW00XqQ#m&y3dIbt4+f*Cbzvm)t7!y>P$t_D$q(J?v2MXQev3xbLU>(F<0Bn4AuLV z^%glWoEJQO7)5rxP1>f5< zGG77o3uoEb;s{Co2f`ShP-5(2UbH}N$8AffoYz9x)1R;O+$k_dx|8wG*aJ3{jnbmO z(;%Gt+g54qKoZ{PDbVOsX36q$;l@hqnAT`lga|?XF6~F#^1pCc% z{oIn4k>))>*R!*J6;hHw)ov5(n-nj5NIl9QE5bH)&1v&kS8#J(B(2mzE+gw!ivs6+ z1q+YZXr@wKT}5Z~M zF$N8NDe(YnZ#gu0T;`%KF?-7LQgm8#j1B*=ZI6-O^Ars`U zADExYAP}Z?TlK}Px(l6-RnC+>7hqUJRdT2uFS8q9k}eUy>15b$zm17}S(yB=#>kWa;ew5u5X$Tzhk+IN^!SeXpei85-w0F%X9aq z-AGGp!u#MM=1jz8EC2A9fp+kKk#H{;WG-eWXN!A4O>LDWuYU7PFT_RzG55jIbcQic zI5;~sWgQ%~Q~GJ~O7#PC-^|9UGVwNXlBohTRu@|GzD3u!s{~Ae zy3{{y!}|PO0V=BDD#|v&p07p??uBF1pU%~5=oQa?6^~srResr}gtCuA4(r>Jg&FOq(+804*b|9FC#0R82@)D_9n_U=VWBOdwck88Sp0;XaT#7oga z_FxK%a(~G|Y`gvrmtN?^RGWZ)0Bpy?YD6K2>6q$U{=F1si4ay~UYH!!saF0IOPSSf z!gqw2ryZDv9(85Elh5o3AM@~l)$3%BhCO3g4tkWHa_O~A9m5P%T6QD7FHB|<+6l( z+oK5aS0x}VVEMJpi!g`_+hDm?=_eJ=L$Uj2OvqV9NBv z9O}}#uJjdWNDXes{g=bwyPjB7jlc&+6jvx2b#t5}8}#hU1`SFjdZ1`8&Ay-S$0I9e z2-n$4@Z#Au`G{l@U{14+SjO)96u$Pv*d$vx=RcxIiJW$r+2k`u*^CcrP~l=MZ)8Lw zb8AZ#UpB#5sj>O)26tl8KWB2+VghB@6iv5$9*QlsQ96rioOTpM^)q{bw2Lp_u}wep zy1^miqqiNtpd=3UQPMcMPA1WKP58^^`sub41DQC}qm`FF_swcWHGn&KBiT$%WM2d04!b>M!1a<*5i_(xz-1$`2#Qpl__^o?yoL*gMQK_ILVxYJ;(KhV zoKNu4k59a|bs~VJS<@Fy(Sw&my2<&2jCh_f4|pQuAH_8he!$Nr9yj&t7Oxln&KCBS zQC7Kyx}YhZ^51%2WU%sd)DEHohlAb!v`66}qTXX8+hX=oG?U8J8)4rwqUYEhbgH$U zI$b1wa^e`VX^T*=uG=7kd{5x!`0#pji1cDFv7?Xb;Q2?b*O)<_D_&FLE&oz<(JQ&~8YS*ew?>;~Ijd<4%q?8b z(}#CD9E>=Pl2Hb+y3vlvVYM||FL_kh&%*wgklu|IzkR^dAAm)hIJfoX^!gxydJdu! zf)v03VR#9Alh7y$Zo2#;RcLG}vL%65PU!5w*VbYvKwt#oc-3}{2W=m_vffmDPqf>u zEF=c{eA03v$#KXSQq>(5lGs}7xcXEQUAt>S{P>vWe$~YADs}K=fmNTXV~ZGK3MsyQ z@Bse(rMlYdiPVbLEUWZbmaT7f1o<>n zt1=TrDy_2=2=S1cm7JQE#U0L@U__V@qO)LpuyZMys4!gbjs?;oj;Ru14-o{0?aLOH)!UC7w~n(q(?P7;A4hUF}lS_aQa zpQ;hk5{~q9g6~_LXg9BYKz^uzyMD?Yl`}i=bfg{yr3)u$E=cP_Ty=DF^oD_zK@P=Q4ysdFRd55Ya3B3u-@544POP&kA9p!n zjBI{~zRAOZW4bM~w>C!r+lw4Pla_Qf32kz6=%ITW zSUuN9coxmn%ASfnC$0WJ-L44`H?zaNOgl}|`=#>ldt3c?yZA3@v)d029 zz4SKby0eRTM(pnCC?OLl?3Jy5fyU0i86l70*p)9gvi~g%=g{rWZ6CQ#!}dcjyy?-j zUsIO(nfPR?lcV>0x$=W_Xb@rUHdDbPw%1;r_N^bRKCP^lC^U4=Dv8aFJ&tF7&CgkO zg?w5vSY}Wo4~6GM^mVrjt6yZ%C-ng-P#>2@G{_Iv+82}uJ|6@w6|7p@{hRF=MXDPf zr@BP3wuh-#>adwO_9Jwl=l*s8jS2rB>WQR34d-B;E9-Zo&;mzG z$|cJ-=<3SKxMov<(%_Sf^(|$l1$NtfBmhx=;a#kTdb`v>-$|8r#_+}!#)953e2a>Ye5f=q41J=O=|*bnA3ztYJMmpI*Ei7U=DOo= z^gSW!t03Z0o4tC*b0!)qp$vrZp6E$i6Uf$QWZUZC?f7GTMNG#e+7+^XeC*KJ20S=^ zk0lnMG@Ck>Y_HX5H5mQ=y8zfNF8h8tzq|syP{6xf@SRuw|GZst_|BX)#}`-Tejavk zEz}n)kJ?)X%@2q)czwUk-v<59J0!&pLkpmE=pejII<70@LHw-5%Gb*5dPEu0r9NQ8 z2{boXM%_AVGOcm9CpgLDHhlEk`{tY8JOD;#CG^B1K)2^O7X=6(vE#IQ7)g;^Fm|9hUOYDN%AE$mEr?%6iKUgq6)LtwlpnE!06{dW~Y>hQ-GKrYXi-&R}n+TANk5bY&E=z&Td z*FHb?_c(2VXl4|`sb9Gj%HHORT)G(q$yWW(Zg6~g?6RR!y3G2~Be&|^{-n^$aO%Wr z8}gc_8-MnfLfCu516$O3PRO3zFsO3c9^5uI;MNGzJ#&AK?j1PzpKF8`m&YoPmK42~ z;|J6^x=K9Xb#r+oe3!i3zfAly=JeQQ9m%IU^Xy|_2B%P8x44%DM)Rg`xkL1BcTKBD zYs&xBkKMbVT4Hf)w%Ul02K{9S5Ih(B8Xl@#{h0kyg6`7x3^HfpKmb|+!YEdGl0kMY zN@c3vCw6$D*OtqF>tDx7za(i>(&H2JcvMxM`__v}kxH9CA)@e-t!*snyA`ca?FU+8 z{>q5LIl}4sJ>3wm&N=b)J2~%q=NZdV&}G&BiWz3W%in6bq!p(OUN9FrfdnastGOp| zc;Dw=-@m^bdC#K~(-?d*9v^C?2ey-8=2%LO4GI5B)jQbq%W#h3i^JdFi%ti>yiX_0 zS5s7R_<1>xrWxMG-QVqpKSM|cEwps4!EqW47k{}wTW`(3d~K&1Gev)a`o$zX(!pdg z{PDlVhyTCJ(xzP5XzPj85bTW(mv8eBv4^mM_F+&{aWc1zsNE9jasGDn+7e89WHBl* zBhE$)(s_=Fol}WyDz^D~lP3}O)*TfL&Qv6n+a2jjuU3zi{SgL5?;7G{nuGXnKg_)1 z8d0fQh6@GTmx$YjMc;AFb8>{OOv7X#cX3`qA)EH&p55kctM(?fuAS>g8Zg+$E?5kD*m z@mgO%9JUNKy*$ zM)%gTI_`K8X2%~A;K8?RU2#=W!M2sIeCUNg-*%$3b_L@oHtN`0TrBxDC#6`2&O*1uYTnVQhX6rE(B!vl9;>rS>XFh2N_` z*oC!`p$f+pp&%8N64#%TPKw8DtJQZ=iyaR~Bdg*mzQ2O~*PnQQV{=oseCxoz}n7`PfEt=PoI=~J$rAG~GW+22Lq?aA0L z^NHe5GpJGI4CqYa?w=-p=DIN`+f`bn#}CkgFqY-r*~T^XX@d>e9FW-GOaT9I>0kJ<1(D`Fz+BY=+E*zEzmEFqoCNixsX~ zwOZ{nk+Bz&O4FYoUTYeD_avJ9Cf?BBbW{={yuT~ojR0lwAw)_PvMC5`#fLCHz(>_*7!^1xRZQHDSp$5~w=7h4&&YS!L(r_Cb8 z=p{YP`ZC@{s2AOtCI{J?TXBDy=PqKN?MJ#?;~o!H`G~SRdXRRnzA~ae&%b*q1juTC zk8pHOL!k{S0-}dw2<<3mL@GJEqoU|q>^s7AF2)u*ArK+WywHvlmoGebS zt~WP+kZ|dz#Y>K&BP%(q8Cd%QhO1iiuXkXWR{td#1FeXneN69u=Y}*|yrwF5b4O~d zY?rsbM={nm)vaY0d4J}q{hmQT#u2{5&+6nyVDb(zf6StFrT` zu=cvlof_4x$^)q{wa2<)+H1G(dwhRK;<$vR;`ZwR_8NZH?D@*4eJ1kn!}b!YSD^}Q z%_vDrOtl6%K*M%a=SgM8<@M%rD`L>T-**%K9y=Vbx#2rG3NdvhGFCFjllS$wS3D`0 zkhH11lSC>cbJ@offU3*1Ug?Q(CTFdX?tuXjXZ%v+rlK1ffA)N<0UCdPPxEUsYCieQ zdWkpNu-<;BQc{;eON->divc{CtE=wIw#K`Cop!G~xjj zlQBBT^paJ@Hzq&~(K%6>Es<+CUB_-pL%z+D!cHvhXU#{B6%n&5xpr)! zN|qp4r|Lu{l7fk_Ag_~|*M@CTRj_qKFe0OPN%sB9>5@)!yq&!~GAz(&F6AT?ZjF5y zb``t8z#87Ab`*9nX3l!3L{aS0QaI2|KOJ2RuU~vN>mfJs5{KY(MRrz18@+kSdq_kS zEg~PwFP?V2g?u7HUXm-@-mkWPOI4zyGoY#}C-esSPE-ymov(C(d2J2+#%OY^CT+U+ z56tvT#!qEJK2ad$^qVJepi?hu4l53>B{$2f+!fitzZ{a(j;Z8`1)s z)|rs5{&2bdgvdLJ6KX`k<9o4)A;0$E%d7%P0V9W%9PzS`7N^p`_Z1E(LvoJKDs2Xa z2j2`-3%g8DL0x!nQJG!)XPlHtqn&i-IJ8jsq=A^wQhdap$EL<-%2$Wr`p0e5z*x5R z{2w%Qrq3m(77{mL*nL7tPsUZ0v~v44m(bFDbwX1^kJMUT4r8_StoZ$}>MkMk5&cRt z(>a|9Z>h`EWZjR#rs@pp2zlAX_;mWr(KJeb4&0m z;LNo7N1bMCrDsgKy&&OO=J$X7mI|%+{}*q69n{trKK!DE;#!JRtWezDwMg*-E$&W{ zAO(_Og_fd$;tnm^7I#Z<*8*+v;4T4z>q*=1@166`ojdc++4uK-Rw5Oc}P!a8hiyyGSAyPOo$;FftT+C zUsc^u2rXE_Z3dyKE+8~5%a>efQ?w}~Qo_xnsI3~zu`WFt z!v@Q--Hg1ASRWlm(BV`7%zUmzQDj{N zd2Vglg;%=egeSw51*y=z;V@}!=Ht~8Hc$+STBOsV+q~_IBOz1WsCY|;R7Iow&cQfD z-KPXrWy@0Hi`wR0sS>F^cFQA4VzDJMa%t_2x+`C-s=j@)D);0fh!5~Mvs2ix3O!I2 zOZIdU>AAkWWl*k^5kBcGA7djv5KZMT23%lhgC<>;qdVMUSCCfl88#~lQlIs3g%nqy z(_7!Q3ra@!@vR`}!@1~3Y6~FK9fDw8dcx~xtFm;Bm)B;m325(Gz!?@|AG-=Vs^>bq zvtK0MhR(Jh;|i1|#uezEVtDL|v=5!k8y*IjcY7U-MF)o3Pf>!K>;1#vUL1su6+^Ng zbIO02H~kLnReR*T-?&-QP7KmAyHj2whVmliR92skGDo)PxetC;3JbJcMb)2UYuYNe zt6SM0vM`Zdk)MDkK}ZYrI9+H-NszMc=i;-oMdNLE+aBfjR%|kbGpT5Dpx+-ams#4W z;PbHYr}W`t5R!4Ub1p|r7#QtG=j;Xn7;{Ac{(^Wdku2`Drr(eQmlr;KS@tBUIHr(! zq_%;l;iJm>Ks)ev)DYYbQ{#({67J++0pmqa7d0m{YfZv%v30wTM4xh;<*_FQSAW#| z5KnGweckG6bIl5V#G@!FL+I%vNR*an90RydV0E&6MlO%72k$&}4D^1&p*q00Bc&?hf?t+e0&}Ovr+}J*55|OW7A~;E30kk7Vs6L<(?hQ1 zKa%JOO#&W#`i4E8w&JtijQv>mdH!>P;Zy0U*C)SKk4)`yd7H)%Hg5U z;h;0A?|)}+a-`Sw@+Q|Bb5?z9_W^kDv4e0|!5r1qhX`#huIJ8gEWIgZV%sVo+ZM`Y zdk#jJf^>&q=auN^Dkf9~8>L_V=`)Vf zz(TJC1+9v4Q;uBQI5$zQAO6N_JPtJ8+u1F;qX69ivFeWiBiBh0`{xFOOW$_UW|=m$ zELe%O36Ie~A^3C1BV{~EVxYHq>on=1`ThQ%V^bpALM=Q<57}Wnm7yZ*gU&rZ?Ki=m zm#^sM#vHL__ECWgt6o;_6}1h+ua%=Zq*FdPr=Hir z=ty8d9UO&VnW(#Y#$@Ch`Kao|8EAGhjwY0aZK(C;JSfqCKmSjA{}5;AB#3HHZV6d?^)coU6t3TRv*xTF#Yk? zP=w&F@;kA;UY6Q}K&`H0%^M@|$OHplzgBjyx&`M=ztA+Aibfl!OE+QbTl;s~n3yh7 znDQ%QINhd0Q5;m34M3=^`WH%=^+PVX;C-rgTFO<6F(7l`R4K4m%YOFcL=1ebK~pGf z7E{$3Fn}+u&Sl%xc(d-Ch27(69K@~@_ED_Qwue;y2qz`$HDoC#+S6L0FukgH| z{@_OTgO@iIXs;`8%j5-BWP~k&1VK1S{&$z{I>9eIFPWpKFQn&0@%2w~`-*&e zlyF(sjMRN-7M}UuJXQPp3f_hCQ!{==kvY}54+{A^Qs=s#Tcp+AoUV1EKCt?KgV6c^ z2gv9D6F(8}^`q3-9RCk)>2H}0!h01WW^=YTgMyoyfwv2d8a=)=kTJYz{zs<003P*F zdd_?Hfi$8#ZjSnF?`|$p@KdGfy1!^t6#n#ohnwE*Z||V&(4Aku6E0_q@BsG~z&G2! zOy73mm`iVMVFEmVt#qp1yN+5}q7Z>Paj>F*U+BHkJkK@xB z;iKw^+Fz3J`7lnuBN&>SfL>5s$S5U)*<}2!e=Wd-)A0B{E#d8O`Ec*n%3D$godj2g zmVdXsHLc%CUj%GxETt}KXvj~eN9m!dwDzr;mtyN=S-5O;MBWbK|u{G~>XS z*_bhVnw-4%hPkNX!Ik6ad#Q zOUsI`ITsViw21(5PejwMDuQpq4AC9L7G@rUdAU$o^ALZlWAWC64!-!~%>*_3KeG1I zzC{X=m2_g7%D3K9^)FqOf4G=-o>b?*U-1=NS�YYWSG$fMfbZ(WtE^`_ieq>jYlX zB>m_=x-u5YR3F@>-PFY-rqSS+-{<-nyeoN`Jl5^nao|_mW}BC;-*K&vibQWtAz-1l zVqI%PR11H^5S-qR#3Td)vdK@&2(z8mB)1t5Tr1;4L3CM)*1Z0^*P(lS=zLoD6BT^7 zi1RjMRZqmB;vOpMM~&j7KzfqX;zfWk^Q73Xk6VR)d0`e{OA+(XTrVqGUa2~QsT_&N zQ$Y?GK|vchX5PIx0e2BLNGDUvjHC4dap$Yln^$6Cnv2)(0aKarC;oWSjmv1p;hyxqSfNpkK(b`Am{s67q;HrSc5($Dp(>bt0BkH<1c zwp(GT8^zDzWOGlLQRb?ZlYrsx!=iwkU9MvXDbR+w^!ZeZSZ3qn8#ZYCF80{^pUcl2g+G5hUcw!G$Rp4^*U?3BE+YR&YJlEG0r{%Z-<7%2wTwp zYnp5qJHze>6Ns=+}0Iw^L0-MD{jrzJ_f1}YuOR#6@p zpzt2V?e6zKsQP{!Am}m%IuvM_qmwJmRAbq>C+=*L+m;W?pYp^u`?oJgMNFiAp(}-W;&6gy+4M^4Jf=KWf(~`NP&XPseQeW$L%*v^QTE z>K&a`Lczw1;4C^Jx zmV54H_*{;~M}~zXiq_k3F^_?JSjhdx$%5%(H-f=ZaeOhfxn9^V`PGlPvAKPCGb2Mp zyeG!3jKRN)X_ws$I6xNr6fBr_EHCLjI^*RHVhNZQU0kPUS~W%{Veu*PkgS#Qeg;_z z)159OXgvj@VkVLps0O!Rs4>|-?D-V0dwlyBa&P~Yd7(G( zmlE5KDn0sI5*p^V{C%rWwW(2q?bKCv;!_c3eCip@6L=qE@EQhLOj-o`<$BWCCA7M# zA7$NEkyjtgNgiw7&_>c<-hKYl-N%UjZ(`{8Gtb-ndt9x&a4Q2iWbQ;66XDwyuVVHI zt%Ym?;t~^VKA2|AOx7UTPcCngIf$LpCH&2P&>hp?j0UxeTKp*$wr@{+kQMyI15PbJ z6WQM5_fV|W>AIpA7&s#~`Y=|uy*8_lQ89q0OC8t{w~ajO0rm2|E6F|WoL98Yaq?9b zV7sTP$mhe>mZGFe)Zmj2p@gpRE*V;4SOMGZfx+MJ3}WdTj>Df`@b74=d~*; zwi>P^pq1vu&P~gStJx%5iS~~6fG;bH`xu}R<)%ePb_vBd;OBz0D5z0+j2+^Cr&_GW znE<+f_{!cdhb!)7eq7Lm`O7V}OUTRi_{=GC8q&X%rRcY=gb<_2wIslg-|!9>q8$>V zNPr=FoVB~Z7kn9%Z}6-*{2H^cIzuks{;EempI1PWjZh30Kb!)fBNxAP$bVsgVO-?y zzSE_Auo*zue?|ExI6aq53NMDeSUpthJ@3g6xmI3VEa>;&J?H0ZyJ98SlOK9^atBs&cNFK*+%%N%`39~3r({g5==xZ?H|$*E8X%hUro8B}IlqrHWT zeFZZsARFF8wuv2#eUnIkFX#?fZgwqNfBPk$T>Q9CSGR3b#j2w^N7=l8*hW(79nZuUs9OrA$4Bs?I=RyW{G+WA4>>L$cz0ZaG3_iEsU5 z+RA9f)*xpp^Q71#d+IbvN&HE!YLBfCv}PV}asRBhv5Rt)p!60Uy_(797~OG(zl#`F z4A0628mP1?_p|EVv}K4^U3+XQN3GbTR$v0XC~TJoj37Vh?(xr+`bdAL-#$5iCJCzx z19ilFKM};7f*?3GTk!ZHQQg#H@}G-Z4LeJYQ&6f zw*?U|q0SdN+lxov|4h{cRAi^I{FNKjODuT6*D&%SGwr!8^5`F;Ugi<6kuSg}Gi1P- z`gI<>OKquUI+qZWC_f=`sXhJK*|OhUlqMYWLyHf;!!E++)vZ>|+rvxV2}a#~G1Erv zl@J_FpSQkxl~TayM=7G8G0i94Ox33~B0>)`**WmX3RJR|ba-XAnn3!|dfxrfxebla zMC0WDH0HRxu4rW-NmyD=bA-E_$UOn}pmCzc@n3C=H zty93feE7Y^5`FKlAS#dF#*qwunRmJE_Bs!W>7I`Tv3dwVLhPshv3$y`rp0RSr8%DmM<aJdWZ>2|M-r3DBoR$jmm)qb~B;Qmy_N8qIX<5-+K4= zMgBaS_x&UDd(K5)QnoO!eO2Ff^GAt%G>l|Faq75iR;S-%F!&|LRnA|W6qA!Osu5LKz@rmE`^f?+b@-+l^mTMiM zqMAWjh4o5JyYu|G0H8uM=xA7;IdCtK4#74WxLs*u=Wx>YpA2S(jh%y2UfEhbH`g(> zcoxgzw_9`I`UjLGNu24)_V(@lO6bx zX+dFOI%UTm#Njk#X-T&%P1gEZbq$P-^=iN!j4c1-K-dGRKxo4ziME7u+^VGy2PIv< z(toa)0)FT+H)^gTBIFrZ*H;-uh?NrNYgEU_x4OiwfBS0**%PvJw6}g0M3tz!NFNM#mk@Pj5ch0b|5gYL{zdd*O~^xyzZgn5*-OUMcMr6d`}dY~#=*(O=`pYL z`B}?k3=;x!l4ZkfW*WCkZ}#E!anPO23w;;tyUnVei|ZB?^Kn%EJCvf4azej_|62i} z?MF%`A@8Y0p^ATDpZ?m$hRrKoNmosM(QF?_C<=9_{1 zj$%*weq7?O!jAb6D+~xX6>&%LiFIaKHG)tn&j29@2#d&^>11-;P+9csy+TW~jPu~zAJ`WM zZh)1eso&P)88mO#i5$T!FVs3s4fgNt>)%V9KYHxWuDlQ8M`Ac2vx!%g&^%B&r((5Ar!?2lS+9gBoY*$9$}t2+wq7KJ{+B2#o>)Cv1EcK5(gm%#7DSIp#!jz=C-e7LPjF zScR=e@0bOkZ>c6G!Em;1!@s< zR@!|r@iqY5rb1BM$aemS7L%VR8$H(r>Xu%Oud27z#{{?lu0cLIqaUkk^S3!9oC;%j zMXBobL=NcDWU=fw)J}tmz&9_lkI6}C4cq(f|C0^?#ob&~ zt@5{Wljdg4M;J5De#&0Mcf~@dzU6(m&YD_lJ2CB*MD(OyRmuE6?GUIy!c_YF$hOZW zz!@v{yKC>ZKF!ON7C$*EX1-hrdmB=s3a5@V8>@*%0d_8)1>656g8Dd*YLEOz!<2Pv z8?|EUS7Hs-grM|?yRadlgYX#lE@S;CDAiVGU{bjkf%^GNWXpg5@x{{>-u(5xxU%kP zYiDuSw?eW~b@bt}?#k{eUI=#t-|_Y@W9B)Jvsx@#i6ZLN=vn?&n`gcJa>`+0{$@Wh z|20&9e0DY@VTDPPR*Y!9>-eSdbR=_c?UFaP@RELF=F6-#|BXcDm8**jhX898y4Z5p z-hu?*7|wy-f}>Ubywc$qxQ-Sb)xhh2NtkEOWO|?qC~)XnE8|1dgmlc8b{#I4F2^%K zHzjdt*8piI`xRXgpIOFOqC)3Dw2Qj86eKNI3P!&<_O-Ye9_6V_c9N$_LuM;bUY*dZ zTm^y$F^-Fk{ef(~kF|qKPZ^q+nvRp;eJLs@lJYxHa&*LT`||2%LvfzSGeDY#LR#L! zd`@T)QTeW>GP|p?v=onP#t~AeOPIb9_fyHGHZ2w>KNuauv){bRmBMkN^EzxgvNJOW1Gn<(o=4NO%X zN8t!n>Y}Gwi!)~Y*k;N8Sgr^p9maAXD=RhtH4+M5vxwPQ699+o|2U{{_HF-O{prWQ z%U$08FN&%E^XxOz_E>!i!>#vPl6LrYcYwNGEYgM^qg4h`?|01}Xjg^*%|W)=Ja1cl zTd-uUcxWzZFg?x5Ebgk)J=Od$FGkQ~Kpe^AovH0k8d?rJ50x5M-HL?#FBw%hQxUIbM6j zL@}aDN@90sN6^M4NMa^g-l(WD+plq7z&bL!A=LTo=u@3T0!Amtxc%L3jB8?Bs2x+r zZKWKO&3iQ(QM%wO#b?BtT&}FCmj@t-`I*DtAAOWiTPYPn7BdZsCK<2EaKeBO`(r3i zSg#zWbUCm^X9~6ThFY=iqt{umrbmAiTRE_2&1sx_w&xps6>47Z+;6uc(u)qkb4P~9 zjSh(d4E~-*rbcOOoaixs0w;40!<6xwoPx3+9k*@0?M6#s0GN7I&)Mbm4Ic_B|MpLO zW;I#IW#`Z4D9Q4AbncL8)b}y70tUQ?xxZ9yv1-mNNE~pyG_g>lf%3*V9~H8uElQx&r1?B%!@?e=5Wqpr53#_V zuC%99yO@1FkToZ%9k6uw#auV+B6+-EihC)*i8aa{o6$k z)#6YT4SXjvrHd@_jD02`+)kLE>0R}3WlX=8wy<)pvZeXI%N5d350%|Igb=f|Py7i)%!moh*p-FX(R zOGn=n=>fbg4-iQn$KU>4lAkvK)cf5i(h#?8QG1>%^UUShyb;)i_Vl;j z#G7Zc#d_fMNKmJVb23bF;d?GkD-P2eexP2(7l5)a1f-9skho>|^(Sb$uLX3r`gKex zG3d-^pQF-osC6;@0*{VZ2LnQ-O4(vvui81tK=SJ=VE7ra>m63`- zvI*wwp%=e0P5FI|D31lD(%c=Nxy>vnS$8ks1z4(#UJJ~Ku9TzyT`PGLD0~%8G`kn9 zyJveYdiNDkg#p;P&BinZU{APDOjx=@% zd8`i@im(?In7=$oF5K>a5$%>CMtYy-I1aNX0ZKfs+3TSkb`-u(c~KecSai?kF+ps9r)*m5t&}Y0W=$y{{GmNh+HosUn)JBo zxa!$DQe;P{-H!o7JC~3Qyo>e3e@9l|S1RzaFNqFHkkuGbuDe{?&vFLOw{bof0a_fT zSxexAHNTuA6U>7MBB`mNJNiKP%)Tx1D`KPee->;rB!awgdN{0UzF-AIMSQN?7%4 z`RqrxLyn3-{>6e%{KWZ@PEq16dBVJL8AQY46jYXIb^}o%R_Ofu>{j<`^4diWyz)Bs zQ;8&cFGA9Umwg|;`3WcwmH)8+nGt&u2zq}R3J6}g8kN7(T)AUXnw}Kuz zk+Eq#K2H~PdSNoH{6nc%X=QB+(S+~bLVoe}k>s$i4q5iORI@NK&pzGs%yj3X_Gz36|H?!sbv@dKcV;W;+MAF3&Sc%m)Kb(+&+8Jn}L52 z)HNnfltu@TBoq%Nw;6w6h?8y%4Gl|C6tLEtzOlr-Hk}oC1C*==wPoJuCoY)oKJ#}tKIY145>RW*OH4e0q2R=# zW4+#~kyM_k+1OFDZ$8^T^*}1O7xrNn>AwrV>)>~@So(s)mE!4rwaFt3;_zrnnzU~p zBy7)H9DiT@S!3ol1HH;Qlk(+uGLg3bM0wfVs4%!Gc8KWnIq-2<;PitAz5Py+=_gD( z4*cVc#r08};h@)8BB-h(^7gL@O%gR0tR#{QqD}z_^9(oD6#M)pY9|**DvKYE4CWDu z4)(TJX#{Hykydj+$Rlr+?rEnIO*1~ex^2N-X&tB#xiiPNG=4!kOPRU{Qvu%|T|-8{ zG(Id53+IniLCN1}%ZGGc&0}7Qs50hnMGVxd4S^1`G_Bk{;4PO@^0hV9_><-)m!g#( zLFdlH=&x@)!d!jyP7njI*R{aOi3?v5X2`v%LYd%;!n9y7?;RFrQrm zfPesI;;4$soe>~1G?l4y%iIkKhp*^mF7@4e9x^W)ypAH?!xE?;T=A61gEEq?Ta;?0s6(g{LRrtchjdwx#rI zR2z(x*f?seCo)A-MmqJta~&f)YDN1wwU6}zS9`oW99S?-Q|H6$uL!HX#=NJM+tIKe z3dOCC1krm8hK)P(a&?QGDDKj{yI~GVl+)OaB%dE#=coVvs&z8}5)Va#Uh;uU$t;=% z+B|SQE|yD^*p5`-3~4GQ0ozPgj#^p!tIh&i`M-F}uq>eZV;CsQ#o?gP$!tSawG4sy zhSR8=x=tGTJMm6fPvXc;(8oTZj6RQ_+wHD=^FX|w%wYgI@}vnFVvIejAhiu$*68EU z39#yT-i}8@5iZ2g?jIx zSCqu0hJgG8vbBT{)8e9oJ8kcRTZMs|`c7%QCjH_-H|pg!nhP?nLtK5}0c@4$iGp=7 zAuxN&35o;`$2D?Q+zaMh3!6}eK}A)(7PF-(5wJdc3x8M+UoW$w7i*ktGa>*Y_rd<; zab?wD4zt|ToG$tbg_K`xRK-a>9oWia%hT!5DT@c9FI+PGvIBB9FU2i3vBAqUM&%kn zgagByijh-cDvF6p38bTRn{Xw(4G$PQr7a>v{>>_|zX~<&qB+lyCwf}AyD=_7Xi@ev05=ZRX%8s~1ZEBTcK_mY2gp4@34sz$zItBjCvBxq=>ZdVL{J(9uA+tzE*2tqjoJf%ZDJ*tVO0 zn}gU|>ow1W^SC3h%!zko%QG#^sZ|Z75vyJZqoV?nlGg|h(2e3HkUM%jn0{-p)CA{W zB6enxyQP3J(4ZIBtlU3NMHQSkrj!48f3C;wH+vzgQk5=C0NiN{VW`Qw|CMXpbm$<= zoM23y6@<2W=9YT5m1?X@R+FF!e&t$yWQT^GjTJMEKCd|LpO*aC2seg2HI)1qVGQaI zy8q1YS`>jopq=R%P~0auyd~|R{}B4jzI8PS9Ic5wyEfW>Ro!U=FX-2~#q!`LjAl7e z3gYbRyJ;K36RLZsFUcjb;YaFHoNom0lF_mMQ_qveYt!?32oEM_?}n8Dv4d*1C=Nn4 zLH2ZG*R*&eKB%(%yG2KqMuxDN6Kwy@6{Dzeb13~Yh~;fgG8;0b>k0dcn-E-^#*cUr zZ#Xz%u4l`U{zhwTMVH~ymW$n(Y}wyPg3qW|J?*>m;HoXz#9aO=m3#09UH*zDFSq!7 zxxT2Jm6lIf?IQ4_yOebk)3JbQMo-Y1o~f)CQN6Aiy@QEE`liDZh{UO#H?W>lWfGqtY#6D7*9|&YA z)x2L4Q3z)2d`n}m8XV<(OLsv?hl|TRwO5+xd~!%dn^+i|_xxi1JWbUC;3c8;$Tne0 zv3hfbKIeSbIm>m)r~H{R!)&5V$0=@xB^f5ycVD%j_qPYtNr}lJv7e-aQeuxMck+g+!}a*{#PMgS ztHRyl)Xw5$kq7*yn)6vu@^a&#r9+hhci<<=MnBTa;u7ay6{}h-wa4cSwP%*5s>FwQ z-~{OMR83ynrdT_6DM8_Ja;6t6tfhhKz!_{0n7q!=*}ZnGjWHCAk*+sTi?f?qXvdEe zFvq*Yg%035^Go+iyTYv}cOZ5v@#^wQoT-<0LkOx^ro#>!119OqBI0Cg13~CXI3WLJ zoqMsz_?*!T1XNNXtijY8E;`Ac;m3A3=-n=bn3(&Lx~gI^wtgfc+v8P$gQ_aO0GI;2 zxrW*x2C7`JGkY#jRv&sIyZa2;wDXDj?;oa=6@|6A_OSQsjJN$9rDTY;CjSunSm3%K z|6vtq7{3^kEZY^_VGIo_stL_j(%Bbr58g*J%^7lfS6k_|sG{rc)A{24D$B-tAf6Ey zDe%-JYML)^DwRK${JvOD2d(hSM91k9(dkMiyh$VH@I^HGLXyit)stGP10xz9zeU#y z9&5Ry*__klbhF@LgvswKPuhMQ_tNf+Q*P7m!z$oy1`i2`05#P3r2qD0)MfWF6X**4 zeH@oJ1)``t*{pp^Eywrm;KYk?v;a+i^pyBE-t#c+Sr(NN-S8$jhg3jz2ozfbqW_4z zp{#})2*rHBkA+CYcKR|Yo13tFPtVs=api`7S zS6v7&9A^;?cXh`jdQjpxdhB!*YlUf|iBRYKBGUQbt_~PFPZg1Dj~8Dm;)WKgoZ5NImdMo zkkw9&xcA8D{WPS|w=(pn|2B|0mSL40$y0iQs?*|Js;e)_Pv1`S$O?`nU)09R8t}R& z8?xf&f`*-3y=l~`wx{b}U)2Kd;2T-1jLNNkbCi{$awIK&WiYY+_O)td=ZIAg)RiMF zb{Er-Uci=#3IL%Zv}pcC&=#6_e>G^IBlgGj7KN@9FPAhl!Oob+7+RZSF&_g!Gt`^c z074d?S7qoB>z4D7+%J<|Xnz)F2TKi?4<%~|fpkXc(7SG^dTKw#ht!S$e zlX~4W_MKj-mTk?#<*`7az~*Qw$8)%;`^`XNOk31>Mbbig1A5!%m%Y3A3<_NbO{&gW z{Cl1!PO89FhLtL*NuL+`K(w$1ldJ~_NfH`r$9_ZcqY3ynb!IQ)rU5vZk^FkEY>x8PV4X?A&-M;1eu9I~hB z>=Lg!qgUy5$!Zq->wbA6Iw(q`Er6%>HraA%j`9|7@$MKPeoM62ddPZn9(ErMusjUD zK;XNt-_SL#g-S`>vzZcWp?*_Mnw24=wEP?1;a;2h|mHK!@REZy*Z6|asQbKXb zPLVpp@*wArseou16@LPzgHd)*g|#WrK~e5PDV=XE}T;UsgZ_*ij|l%FVoU&0WI zrqeQgW-XPm##+cGrhnB9-O!yxT-r*#`=(H@PoOQEfUd-K^V`MAXEM{QBapY5S+Y@C zY2kjpiqu)P`l$bfL)#LSlW>xQpf+G!S825apeg=TtLX6-f>~MXWLnW;eVyGJlRXEU z?$Mqq0NO4hcRYQZ)~2`E^u6dMpCc{lHYCgAaa>~W3{#X1a~RvUAf8nWJ9wtV2yG~z z;q!~BqlUE0!N)G|)6{d?^u~V=N+U%QK|IHtrz@AXeVi}(8 z83~lE?&aE*js5&E2AkP~f@tjXhfB-h&H+DaWMiiasDBRlw?^7X^#UG!+RlBzXbtRdt=3w{3nctK;XSf+E1I~z6U!DS zv@QHyMIfu&ut%_^!^Q1-y->3SFYS~;+WqKj(*ku5pT&Sz3m)*p$49{O(G`)z7a#mo zn-$(Dzclt$$X|K6QP^$1T3|X`>Zg4ZOy)9rm76fLCI*&?+8%K{%+NVA>tAXbTA#%w zXx4vh(^t&$P?=8>Jb%EVNJSn%`oYNh?FW5HkF7OyP5Nwmlf<6H(HF#%(v{bPybZT! z?(-h&JiyD#hQm84jU)J+#vwd23vLwSw`dfK3E=Ju6_Z;LEEY@kUP0^*H3hLyKwC4A zB@%5|2pH?6B=mGp-3+;3>^W3n+5P*wWFjB69b4N<%nc1X~3oUP_%$5lr#?b#IF zbJt1e@W5Iy-G2L0q#+4c8)BZ4PG+a5|Ajt@Be>NuC_{`45M!C6KBjXe7PkuVsv~!^ z?vRR!+ql6kRSMdH(6+|^zTwDqqyp>DZP~vbM?T?r|E(3@OkU^MQ3qr_Y9|X!oiGx5 z>wl0obl{nPI?&tIE|@T5Zc&~NdM4Ap_ihOTf_oIf@Wt;U{62r_nNxjAtF#c!1*NpC zfm6+0COIb8BZ&j0PL3DKDQe57a?2tn{82$UcAEAKf|+3`qisK8*|ULR1NVn0%`+Ev zZrc#%HrylY3g1kTCMiiJ6(gziOV=LZ_c8d<>7n?ZO~y~2(^ zfH@ipust29Sa1(=NHBgI1N<$&uWH_y$g6qyvfu&ls!w&c{RJ_&oDWJ&dnmFIeI7#U zF4w}mz$lor1S3vop!vMGT<2Qutev~=g^S$sSf^6Uw3bslvQ$O{3_19_;S16;PuM)> zmrazRR2F7roqXW28j)o2LhVj8p>HJStM2?ryLkQ^g9rBTNZYq7qB&#F*(hx$wrK4R zRkqfux9oznzpEMTeK5@NCk3?L&>IBSV)5{lZKL|V6zqR+7l1@?m4V4?TB$cnEb2Zq!)1@uN^8+M5Wk9KCGG!x( zI?GTkE>O`K$JjYLJ^BFJ71>L)g{AG*&;#jXT3igaJqdJH%;3wxC|97mn>mhn)> zV7lRU_Dn$52U8glghvpzN~X6=rYP9c)SVWJ+=x(ZP11WO9|72AV|XZBmq8lb^Zew>RDWio%kwr_kqc6qJ!~31wsY*>%k zd)wO5dx;&_e-$RE5KZQ&GBXdaOPn09M5;T zc1WQJi-u7wAbitJ`Bl%Ne)rt7VD6C?3 zwcv!!diEP{e)f3F5+;s`khy!XBU&yNh~${(;0dD?*BX9xS5){yS+nGsNH&&Y#*D>3 zA0DAGsA;;%fw{gFMnzXkbpF5l@Cb5}uXL)}FTXip`p?z48Pz0neOu#2986iK{?p+F z(VRX3krLuStJrEnDXj4(ln`oI{OjJ=IKM~dfDZ?>wm8{A#HU7J-ThtAq}%D$EXX@H zQ{5$P#Y+2WSH%rZJ;P61VV?Dgm8}=+Lu1Px0RezuGB=X;4E#*5oc z4b7oe!O|=e9L9?B%v+^+Z0%FKv!Y^8?5^;_%dAZm`nVJ?uPH0u$;UQ>{4@SQ%F(dLsqY;|v@NE? za}W8$ZrO$SB&~9|&Lg5)N^5qNZ??`?)+CgvWVk1(hV;s!(qgIURYVsy$;zP{3Axrs z{tSWvY_V+@;q00HnV+oRhyvP8&*8DnS~i8oN7{v-iz6Dn+kWz1YHfmzQ={IG$`Lac zX)Bnh(9C9LRIQE0efHF^8$fXduZf2xY?vzcd0+i1K&50g)YYe569aBHmQA?l*bSS= zUD@Ujrbx_*yxWq{D12FDEqWH}SWK2tyO%eaOq~a05*%jwbr&102F~4QusIY;Ty%59 zO6X%UBU5&DF87e{WGUbCITmSqL#*+1H?!B$)#%$2#=YX7$XW`VWw|Xq@Y5Hyo7wA~ zE&e|}gA+-70uk{~oevpO_if)Mq^yM?zi8e?QiMrqdlSH+kFw+3QVh>nPlkWPG!P%K zK1Vg@v8ykltS}Kd5rq}GGp8`qXD05e)ugI3TB6a7;RSJX+j*4XIDQ$D|Na%VhXtdkFfQFbI?5{S&1N z*Tg!_Z&Y%Ebf9A*AgTP-kp8D!F6PzsUlknF)gXM)vW1wldf%V!@CZWu#m)>ri=N+c zvPxfB;9EpG+JzN!!yf5EJiknJVRjs%JV4^t2tJiWXmbKqw_mw5rnj6Zxv??zSAbeo z9A&2TAeU>);Y6qkx5;D(MaA{th7g6nG=&&n+b;%q_*n?Ju=LM4))Pe(GKveGW-L0n zt=?FQGe{Q!!v|D2b&skzD>ls8wQZ#EOFsYYExSF*X7xeZTjhErZOzN zL#VgQfp#T6TuOW~q-f{Oo>2?doME}*{%;;9gi}Z3x1KbgEsQntH5vhcT{B&F0+(85 zkYre3$Cc>M{?Bwwmq*of&*xXq%Kj8tCUqztce-DFE@Qmv8PUw5lo1B_3z^cIe|14O z0JuKaFL6o1o+|vzWA}ei_Lfm?by2ivf#OyiibIPOFYYZ`TC{?@Qy{nor??e|;!>c+ z-GaMoAwUT3!6iVDm-f5&y)o{%cf9w0B|mab_St)GS?jDhC!AKuhqC>wEy}SU9hn+a za3DV21P&Cv_kur#N-?pj+#2k5Hdcy|&EMVXN7G7okC@?zi643_za%sbmpFM(tqIr? ztF=34p89d*lI|nd@RvR{%)qjzar(cp3e2av$^PFu1v03>LT0%IW`%NFzP5V7RKEYI zQK5_Dw{d=NA#yXFA%X7DzRz;5??Cr+qeGx5*)r!_4+>`VTPLTAn6Lw}66n%_xz87h zG+K#k1$?M3xzKTiW9T;}mINmRbHVlU|7{dlu>P0d_*N!|&Vxhph{$|6>}iP&)9;A? zi~@(Pz8w1C$TypM7TJpt7Bh=~g65~kRQJ4&H@R)yLcTfvx?prg!q_;%H2!Okkr_ff z{_wGis-OFVHs4dW<2%8n-H~D^D?YsGW}kuD%WLaeyu`#iSCgJ`_qvAkOr;d13+>T7 zuk-jZxwCa6!-qjCYjELzMco9q*G(D4?st4~-sw_qrOsWJUn}J^5(So{q8A5-8(>(B zJgfttMepS~Rqqkvbc*(otC5Tn3&F>CVrNTA^1i!A6jdf;hpAU_ZS3a>Z-5{4AsNG4`ilFfE>EQFSeTbv*(NZgpVNv#TI z&xE{M4N2WD&+wb}7CY7{q+7_eeC{prs5OJu6NoWZ{h$T5{m;JNHy4Cg6)tt}EngyE zJ-=9jxhJlq?aXae(#T$jyjU0n;di1_{8yI6swCV;hycqD()bnHXJ47Dh$+^8m=rkP z-l`k~`nf-UrLb)>)4(E7@175Ofp0~t7aqB`$LqU~$JXtDn6x))D_f}p@ayhpe2-6# z9FOIFH4rDGWP>u@tWop*$MbEe3LB`H0;5lCVu?!WVPHgaO<3$J$u?Yn`?7O!dHfE48kq zJrchA+tJhjG3|k`gb8;lZXgcMo(FxjUo!iez=R)pbraJS8s1i)gedlUN??Skvc9j{MPlSz zxxttBGh11c`YCXwfhhkf=Hub)+s8Ec>)cBEzqapt~>lYwVfpn0sN`Koz z8*bZB1`jItJTdJPQ$6oUe>LWnqT+d<)A{(5j5)~!3u&5};?{5BYt!?- z38q?ciW*7&n78`(l=0_93<{8#caglhfmdNJ=Uj(b;Hoy-E#}wpsm$HW5h~(~rxyqK zP4^Chf9c#m*dNX5SvM`U_#JLxW6rXb@5Z1+v}{q z+LiEyr<^?osj;#NdDql&cs-vW z1haFc_g-_a4ZGalAc{!55jt;obWh||Jf#26WbDv;th>EkEi`1|c!W(Hs!YJTk_W zrERnvayCuFUozf1{vQo3cD7s zr0Vc4!G6>x?Vi45UBtr|F$U|f#d!iyz%T00aml#anHX0i{vh~Q)`@V z!2Wr;5x&H&!E-{lPCn9`D8SS96H)Jr3ABkjTJWkD-1jX;se!v<-LVu{i)ZYPVg+B{ zGgR=!)7lA=DJQg*s~;uH?ZOY(BIeSe(kV+v)h0}**oK*a$25CXvbL=LvG~^&s|#QO zZ&^75j6{(jueRIg-YaBK1;wDd3vUUhVHRz}*Fx({sVHIo{O))PYFlglCcV@j^4NxR zUn0d^MdIC6)-=}6)d+|@HZG_rgcr5wuzPa)w+ZY@0J2^>1O%D-L7AC&;Q}MM&9_Aa z-j`h3&1Blu%_OD5t|ntG&os-9JHx2;s$I?aQyi@2X(e4dToztJg;_U3MrxFm`C*qm z1LshKcDtxx<(iLY_C4=YmfQITcz5%5v=!qd5Gf+InY?ELM@>U8#Z&VY!C-eqbi0h-K}8JsjML; z>7n9r{%N26CrbZpN;IeGR3}QOfscR7UiTDL=*i?enr`~I6)r@mVL;(h15Z`_F-D|= zVx(I}25$o=b>b_W_^kBUS<>fd>?W?R^&95{+pA|TI8IwPFPm=fKKh&{y^emKZAQ@9 zYvGrkBFvNK#&ne3iA$_-Hfg&e{-}69_E{pZ5xnu8;so~Py>^$?@P@VITaDw~y7CqT&N4Y!F7q?tpqiE{LWR29u4LN}CEL=WnW7+woLw9cU9|TS&UIyTmNZh(~ z5|P#-^?b|-+n?Iyb|zmd9?lFtLs@o`c9eu8}WJN2?72wZFhje73^2hJ_Ur3$n%f<0i zloZZ`+mo3-@cnqZ#$Jg|cguXTp6CwhQ~(@2+XxC(J}1Bd>$%?xh1&j{s#;g!Zhadt ziio(d)XPDqYa&6~O9C=5A#%)X?2r6cqdnVU0bYh_9?-3j#V(1DSV&>tFwb$M&TQ&3 zKInw9ujQ#oAd~Lko#Yk6hLzz@PT;7T!+=?$jQ9u-%^CT+x?=F^%?>;Cbwkj6pQI7` z!?47cxFBe=@(m4$`>9g z#KF3Sh(mB$yl7&Ij;uKpcO@tOJVittU%;(wQ+yE=;#pO5Y;2Lkt#WF}Z(s8wdPy4f z;r%M%1@}t%+L>VI=_j*{n#7;UGPQ|bW7POGuBhl)O!q7yb@4LVNF%}vKq(slU!1Ba zAdJkKk+Km7ybsTB^G^4n3g<{~z!QTIQ>r(mtsiu!p@b;m(dBXx zpWbrpuI=z1d02nXRC2h9#0~rzH$&Z?ZJ{ugatD7Y-714QQj#)YyneoJ)Df{4Q~Wk% z;-;fEvjbgU$%!X#&2hq_)8{#A3|=XcY>D)2JfdjQ4s4Wp)x_&}x4s+h-FXU6W;qJo zCYTipt*XtV9V@$Alr_N8SP-{ZKgu#Nk+|O{u=|w~x!hQp9uuRbIh2qdHw1KT{r0XO zD146HeMlzfi8fI8A*m{XqEaWEx-tBAB5+1(EheCtvOM?AeMq(?T1?o4U#jVxY)+Z< z17!;8616p{PXgVc#>FeDV?7=nlN>%w%CU3MH`7mwd8Oq=j^h}XDGD*+661xR?i8m+ z2!xbLH3ayZpc)*eL)S%Lma!vI{YwNNQ&xD6(MPv6VC>_yuistU^{X5nYHCD3AeG~_Ic*R6VGdt z=bFbT1E>0r4A3{yNJ)4O-xF{-1@w&4p$MfIi?T>`s8 z@NwZTtvgOgS>&SHaY8>`1Hk;p1@A-?`gMqK5CWox(!(-?m8P(U8=euK+o6}2yrwk+ zq;=w!k3!v62=otxUNAz9U-S0|3~c*D#;|v>iW2)Sfcc>}$?>NLHqoD_^yrmL9`Rzb zad+zp%CG*IPyhC)1etWh2%!ls%nv3cP-;lw*kuE-Xq!@BrbjGYtb2gsH-| zNscQ|*DzkTNogI%WFJ>AcyK?`cjaCP(C6%2{_)OuGjY{tdw70mruO8Dp6VnsG5oRI zf2!x_{6iNrsa&K7Ci>1;qjiMFAheYpEQdnEY}%#LS)k@@$;9LU)^noe%|WP1ld<7b zk}bE8rp;qo`$)8go4#LjE$B?0?ec9=r!?-qQ<(0LtM1EH2-25#FY9oVdoW;&{8 zct^vHU(5B3VplXSN_+#L{yT$Zc31%3732uT$sGHg_6=u@EJF>vT#Vu?zSc|m~VV=hH30vl_U zkk^4XPQZLk9wB^hm?b~_Dnp!a)eTathicTZapL+vg{)yCD*CxzL`qlu6XIzN!UFOf zMo5*|o@tQJ)7VEKsUKsr8gkDpdcEw<+oa3%SmowNP~n$?6Ntu)h>>YLhZSmvo_9HI zv~E1$_#NMeD+_*HGNu@a7@K7!V$R9@y6wERkVnsOe0TW$NwH^#F!G zPPW40+@ElO^0Yrp#z>nFTlYnjb~EVaw?kfluu@WQ=xkV=n}I6ngVNl+?$Ps(4hZR{n1ueJjgM$fhWS{`~KS|#n&Gcf-LLrn?1 z5m84ZSwOZPlG^e1SW**GfVi!W5}N3mpBjGfJCN_@aX)N!o7I?{DAKz>(fsAub=uIYP;qzh%2)^i6kw4It%jK2SdT zu}C?bnc+XxVWp~(p~2fo*>b2;gB%`A$I^S7Zjaqx>QW>PO8e#n3g;RH1w zDyx?}KT@0TsJx3=-fn1l>-LX11V*wnxR@MCJsu)Eqb4I(-6(9-J~t05zjjDYct-=M zL8Xo&`PjOAxU(J}GeRNUgSjGn+}-T;h-(kImE)-=g7~>l9a;6Cq?b<_{c9iRg$9yl z>&$dQD#P5Ha>R5PQP8-EZAsed0J`U#YNCBR<<=`OhLm-@HyM?>OP;;+J(l^59D%;0 zgRy56$UFeD=Y_4B_3t(2k9sXUDb#0jbENaKHZnkMbvj?{G|a<~7FpZvc(K$1VO zr6r)Kf%o@USx+k!TsmMQQkSBhys_*XtNBgZFXjf6o4foSbpzuzGtTd!7fNQEq^j4 zp4lJ-s1J(? z5MLB)nN$r-Rnm;ow^FaGWrH#8GhM`HMw6266ftIWFyqWPL1rbAwu`;=Jb1)BRsW8g zL@$Z|^|CiatOMgwcPcu0X|cMR<=cM0s$DsuiHp6W`QjX-ZJbSphdw zJ+z)b@;zUi{4nPoD)3EI+%U;29Quq_N_yxG%S<4&{cK?B|Hex;h1cM;m|So*Hr2M; z(V&#bn01?JbcuaE<^rO(`?FQ)$7>1HI16Kuef2x`l>K_B*AHy zw;bghS}{;?JezTd7W1EUJcslTCEGu0+G2MLo%qPL)$ZO@iVFtQ$-@YTc(`#+P%F>4~ zXt|X!C|p0FZAq$kC0Ffk#du;il9cM~7r z>+#Tsa;YV~{39sBU_!V#{h}x2n*kPMZ%KdX%H!ErenW%fh?X`g0I%k4vtrW52dnwD zAZ89;|Mz^`vlQzmO7bEQzda~lE2)vE6_;xEm!O28z@g$l15i7wxz@I}qu8D2VJeW9 zFc~aH1wkPV?yA|t^m7!wy=ebazGTlG$ZHzDpM!12EW$BjDHL1Ab4{rFXASQ&r8{WM z-eX=dJ?9u;nNM%3%xhY?zdH$U{jY6(a?5la)MX{qR+Gfi5t^PVI&?6V>U+KlCc@$g z?jF#P{Lz>TS|73v6QGQ(hl?6b_*q7t+`rEHY&!9)qrIB;z{4G1clPj0^?)*mf`J!c zy3`a=kS~IHtfL-y`sF70hxR;_%w@ejJS)K-s0~l+Fva>_h0FMj(hW?#MP6y&ld;6M zPm7lGg2HiXiY!gAeG*YJ@`TDLJ#2vlS3^_8k-gr;3;1-x&;Zf7E_qbllqd7wV43i* z9&Yhpal?JRqwYjMo9(?Eozb@=6=oPfL?&hs5rT-<}oVWT1EW z6~ik$fIkn6Bl?-bCqL2;KJ$4+QhK(Wx{MKJKN2gcA#rZG^nKYD$!$iq@yp%APf1UE zGjUz9wzxXHlnMYs|3J$8jdSQ5`K7~`LZt8=t%jDJWjNVC_-O?Ds`-8>@YQr%F(S&a zTG8~V{Jx+V%7BaDzQeU$T(-4_lTm*=p$I`jHGXUbYTZYjA->FPhCu2==7g@rq+GGJ zz}MX01hjSbA2lxR7{T3^klF~yh6t7|&g~t^FO^;Uz6|>fU4({|_&WN2mv|Vqv~#e7 z`yxVpeUBz88;lR6{Lo{&+mFQ+v5=Pm?69EFSs~XIp}38Cf4#tZJw2btPA~60O_=rm zi7!GSDdq8M+jm7u=O3`pE6a`@jqIsMfvZ5XzJ5vV8fQ#h>t@0v%xs;QKjLQL@)%cN z7uvxK(=lI`S|ONr7*YQL$@tHes(=UH8pq;0KONd51cHUrU|uAb@kXA*eU*m?@W#c1 z&)NC>e$sb9>b%9=zBNNxSo_7l|CDh5;Ok*)my@lhrf6t_-B90qnuxj5DLYXv`^ok( z1<|Hf(f=rQhcPES^>Kn@5l-dF4#u^GmAeMZ|HZ+=xWx))#kH`pObk8mEpMLf*JHW_ zs$C`Zq$rMo778e&-SK5b`=yt}%_4c78;i6WAn`H<)QmR2@<4p#WA{?i?yCYQ*XLdN zWdJSGm%ug0;NM+Udx$!NNCF~pq>Z0MOVeM&46dr3i{L#3Pp(?N0P*a?EtcaGwZapA zc*FJwd#DedJB`RXtnTMXhH*UZ9AD4+KhowDAz)(@>xzURg{hV3{#bod&H0%{9$IJH z9iR@3+cnWVEpYSE)KWxY>{?8k5bnc zM6q!DRMpHLs-<<@KT_(xPPVdewn&>b$dMDU&PNh&q#rx@25uD!hP*i#1asbW{ar`H z?FInUgr7;!G^8Kca+}E6CeSe8<%x_YW3j%i$C=ooHz9*OuZl0Fuq`%<@_b;fNlQEi zRH+|qiy1oVhTTw^;@6TV`sV;}x|=}L4a~pO$dkkQ3LY4D<+RfFfMskcSY^k~^+1pt zFt>;DIocj*3h2MCB8d=LYcRP2<$uKSrScz3W@^m!1fxrKLW5T%2j}}gfJ2@!F~_1+ zG~r*bdcCo?xve6pM6Up0SeL-Ro!=@39BXbqD(S?GE$#g|pt%n7 z+7fa1#x9yC%XOufI{(2gl+(E{K=~K5@z@(yXfCQ4MIY;M?}4SiOzKHD3-&r-6rJew zPh%y~Mb>Fn%RF4Nbo%)Nnpw|w>{j`WEU(e^Cq#}Bq9->FD8+o)eUFqO9+5o5Z+F)2 z-}?-|S7(q)p%DCz#Wob|^O z=FT}u%|WO@`O}p4C%w4r4@8k-;!k?SiJ`1l;WzDm5nRdI5<#MuA=izcemgBUo1G@R z?4Rt-46FvTYOcvd-s-rFI4zo3h?uETjb|Cf!s(47I38^9D!jC~9yUPL*RXU!?Md}I zwH*6H{EQH3aCtIvL6l=5)nIg4Fh9~&iMLfDz)e*9aC_Z|CT?@;cTUn7Wotu4PmuJ( zYwY?4_GGj;fG2nG@y4a|6Ay}oa$+N8)9J@mDC=%9n;KmH1{R0LT8nnF=+^0w&3bQJm95D$Z_Ek^XQH;;w7w87u2lKPf&1V|~`%5-IXB~gl1wrnvuBLglg9oK& z>Ut?r!|OCjWLvqJ0A(9)me1QJU+tv`($&KkV9#hI%PCWHv}1U(48lGUa=*3dnpFC# z0f6`xTJpX_qSlnbwP7-IUmma2mL1~O*??f5Y(!O?oHncvc`p;<&R=39DE!gs!-DDK z14rkvADSH)ALf}U10*@wr4I) zN3aQJGp1+YjX0;8w1jZ8E(H!AdA%2-oU-Vdz`Ks#^2+i=tn(Q&vekkOWl z_EyD-6rHry_h-P@8=}Y?bj2^m4@peI7luhWW{q>0%1G=Ess^}Waf=lZ=ZKeLeEN!W zSC3Fo^276r@3OD_y8?wq`qTm*Q6M)R?Sc?FA`8}BE3AxssQkq5u)qPf)r=-+Z_PIV zN4Y7ypddBqgzH!!S`cx-4Qdvs*LsJ_kFP;N$$ep&n%Ov4@r+Kq5=;6 z9u$VmjqiB^=U1M7Wj|A#$r*Cl17r|@J}Xzm=9<$B)_z9?^uUT~KCW|~K{E5GW$5+d z!$dFTuV-z{CV8K(8}_MY;UD2){M}v6yDfE>4oS!Ne+eLhhFol{3mq$d3eq-&a@h1` zyfH;hMIImZWEhKn0`gmd;*XB^at)h87j#Kx7HP>VgH^$*7{gQpd@1D8=f9~YB)HyU ze4e%kMbXCU1=2&Xs^S80D=vQ4Qzq8X8BnOqgj zD=}?#pJU^8)3l!Ro3GyT#G$ZO4?QHrOX4oLwD@mdzRt@^IaAdgR@6uHS;+Bv2tk@Y zqIO;K5k-esroY4%4gvSFKd)(MEVF_}(?bXehuJMy8FFkI_{y$HSAVZu*DfDFg}SrJ z-@MDsTRgzK2(uYw(Y-&IpIUw7I z0(V6J#I_}e8;d$14*?k(5_b7?{YNwOqV?eA40>evtNvMiwVguxzg3LrLtq$v;fW?n zSoZFia?Tr*!{eV^O5L;&Gr0WHuJRt1w&>E8x^nTf9S6!0k}BZ+QXB*Kj_TB+)1iY9 zG#uOIWTkFxd+&O0+;dUEUybIuHqiM2<~S;umE!+?;6-lG+#Mrp)yC^sw=JOw^P4qR z)GPjwkelEJ2K0=nUWJ3&&dVv=YipDg6Zke`%zpwlSxxM~mi9OE)4GIXK; zx#!@9H`gk`o>cm{rqcAG?@tu%Gn}u4t*NX#e9;oOy9FX!r0(WEu+z$n#};h0b}D(G zt8tJOd7WgDCI2FvLg?_Y1+!u85B?#*+Ls|ys2u-T(vNumw_T8Y&?hxXGF%Go3*S9a zXQ;%#lVZH$?<#6FPMwe?irUBN*SsID6U<(n#ENc}ut7V5XQhFr!sP8!uUEC!{2cwn zANIn%lTz?h!Gfeb$T;OQua`1PB!*KQs6v7;r00Y<{hh~Q>dquiQ=;!)h zMDtnQKqvM#axfsrs4sKY9Q${*AWyULghR`jkGks_Vg| zHNIQ84lq+{J(suXT4f!l`tR%<1cB(onbOes%G#wxoPESC)u_YrnI0n|-ZK5W!&gda zfW)|H-I7j2y7LZ+Z506cBmJ@G9Vhv~^kocqCPhcme*5mNnHX0Y?Ox<8MYpPh~JhJp;dY{GTyyB(j40J*|x~|S+4YLDC=I`YsDQ0>z z=tTdxmjTKYvHa{|{Lug%2j}V@=?3;MIEX}Q#zj|-_AC|G6|e+HxHey5bacPxTmlC< zEMLC%yZ0ZdZku{E9)D(nRJ$ZQzaOqN>@}jWmn&-`@VX+(!DH#llBy>=FG?yXtMklZ z8AJcOU&us@u|(6y$qww~x0gL0*JWsvCu!!De3j6&w;#BlDC^R4(EH}F-2C(d6cRXI z(KS}nh*%c_J!Sz7yR00%$O$FdFg|D=%76-Ex4tkZ1lB(^L>!7VHIQuBa=`Z%E_uDr zGm)_bkz$MR#LpUgggdC+QvAsK=d%ocPig}RI@z*PG}Yv;okO=+FO*4QAl0BztxBMs6OlvI!a=Si0$A6snyszm|cgV=+^bP4sL5 z3OxA{@~zJfj^wnK=#X1y_fc#M@bXFrJe@DGV<*bPGvI5&HSRxUO+#A;(-Y5cKXC6k z)-*H;5r$=FXoY9$>n>B_6{l|Yoy1aciCF4lKW9;KOhiS`WgnM^!6V?4|f(wdp5*sP=sL{2Z)*x;{p` zy&BuLvC#zRLYgIN!S*XF=*$Tznr`{U zMr#XrKHRV3(lM?hB97YkWrJ;VtHQ;2kCXmYOR9~u$Om6t4$HX1Zdcv?Eei|T*CyQ2 zoc}QS9D%dAsg%guM*+V*J5t8mY2*DM)tCz=0g@cHWrn1h+ocz;AN`uJ?lP%AOyl#C z=>M$M+PH@=_#dR{fN^)T?D%QAdI28ecKx7gTDIX6bRh&<#yx;!%Tm+Bv_C1Lgo@u% zTWa_+s#40ve)=5_mJJGo$Bd=S$7<1%>}POI|~f zCHQ|_H~9R0WYp9fryPB~$h|+yfRD>giQ?+IRsQ83!2bIZY}%%i@0O!+BolYS4qtR}QFjF%hdOpf7q~HM)|!JNg$srJmk_( z7JZ@Oh!k(}=dajzlhI-7%5Qr%hhX}jn|BW3tnth{V^KWF)bTguioo#N>m2gN#=${R zOCZu9CI;N>!rIb`RF>J!{l$-Yr~&NJf65o>Zfo_F%K-0S{H?%tgr^2z6n`U?45ik7m79>#k>RUWUs+MnPl@AYVv+|;gsAK7rh~iy?QI`5|0PHY`DnW7CKvvMjE}3r z-!JwTvA`DFGMIAGBKR;d3)>0CYRFcg+i1C}$_2D@HUzPkGQyr1=dbgngU+7V*<$OtC00tAwGNut;WqgAX`=SeEhiW5&zv^; zMGqvxZO6+l?iu&d{%u_{*JA`4ZX2jJ&vz@_ogKOP8_DF$^Sk_{=xd0&bPm4`!>k*?_uP~|807VHCTVQ zVyt-ie=rK?{FhgfF(>*rd6=U9KV52mw=fsM>POorSWDz%Dm7i(YjHqV=mV6}?wD8H z1A?43o3?trM_A}0S{V=#h*IaK?@2M`c=3rJL$!+NS-r^G@}6v)X)tTnjLhhp`Z_PS zHHA{pbxns=D$Hzaf!-h=X8j3&?s4^m2;478RRS9EV+LBa>ogVN$~K6#{sPy06)q>h zIzVAeY>u2u8f7$U5az-9oI>ZZ#CI8qi4xbV^0-^edbDX_^L!^W2n$SD7I*xPONR)i zxR&%D0tv`)w2^@J0lGmQ2|5qc1HV1c8wN}6Z7$5G2Z`&%4htm8sr>^oS+%I9@yLC- z1vs~0)blF7#E&zR=rmu4%20IeEGAp5sw~ar?H0Vkwr0f$*{6&O3{<#4hVP*y;wwwc z-q|c-fgU4LznG|2&ra_7QU{r}ojWQpyWV@#eQgufd*AD^ex${c)dZCHJm}e?&R*f@ z$sCz?BM1LlZE?KottmhMmog(#*zN}WP(*Q?tK;$EOO)|mc3}8+=ODIh_GBrpgZq!y z!RVB!rH_l`T6--j$hqx_-pW`AfFpUt(1*loLWi~Msnp;=Ri9&9;yn80T1}~}b(;}j zm2lmABqitXl3qg@P{sOfbVg``KHQ*c5j%%OR;@(RP4zoxY(z3NAKQjt#tYT{?KWq| zJBHCaCykqdr&1iFn?Hn;_?pqPR9}pX+%n9=(TOvKQMip6`!_tDmQp0O2dLHi`Q-TdYw) z<2K-fy4duFRc3FShnTdAv+q4R5)-E1p8ZIK3S)N_Sby9cJqURjRp^pE-;+Oyj^UWb zFp&*X`mXrhf#K*aULy-zjs{3+AKU48Xr$8WO$*}q*CoNpUBhZ~+Ib;`$KRX1h__q3 z3XHHcwH9Yg%kEE?j=2PM1Y(H=UikI=PZUgl9$6M8Uk!x;yRUXeZ`w9+kXJGXMu#lV z^M{eVJ4fW(FwHXuNpX+DufiGpl?$@kZ{I3tzxb3Yc??~rTRm#yH|`kA^yo-2+HO@v z_6XR>yi8RUscIQ`a*1XCZWZ)}=LCKvo?aM<``u|1_+xO+ zC5In*ULC3mrkjj`6kHm|yb&$cG^x@4GCaSD{z48X__a9N+5yo(-TG08s79eM=LxhM zx(;}HV9-)%(fIDF0h%>IwtoNOsFgp93q9gf87wfobuDD!JLpf>^bzgfjH$?Xy!YUk zH`fWh%UTX<;gUpnh?z*>b6@2`!oHW#8jA$Gwk4y+Q1m7%=yFZD33A}h^SqyHK2~)C z`(DnAN1y9`A7PG<`->*xL4B~wM1o+2;x($1>w(IN&yGNq;*+t7rcpM>Kc*7zWQgR)Zh7-iH(_|Br2Xw<1b*T%mLMj zRo{!4IlWaOvMp8z#HRae-98R#x)0jZoy3Zqk-yh{l@ygYiN{8mz2|k25$*qyoY%$?Io7IM?G6;5v$O5_U2d=aVIDF)<{6SE zT>q@LI4QTVDLe~x!dn>B@xX&yZA1dca$8y^sQSGi-2tg`#B8MKe(FZ(Q1Ew55(cTl zi58hHSnO0+z13*Kb69JNa@R~e5wG=h|Kax6EP8d;7b z4-?OrV=m10ZK~#f_p>{<-=)7IcF>mM%r`-;h7k=+I(jhN8PdH`GLb5Z<&t#)lIpoP z=KcDKHfFC;=iy$klu(>xVpFbKPP+{L0~u>_vg)gZfJ52M*4emrO`De`E%cmILr6T- zRxw|@NJW=6ka%GK-52B0zbqIHKZ*K^oOHblTO4gLCsq$U2RA zowbdHZF-;a-vB{r8&M+iS~T|KA=&A z)ezSw24TMKDs3FDBvuh@EI?nm25l@zUO<+6-4tDoAb}jU%zG*z$sc$yCHN|n)wxaY z7`ysnTFj@^b2`mbuD}Tfh!E2_cJ~6F7XNWudju-dwYxe|wL3e#tY|GGHfpXTHuCdl zZ1>TjYj?MiYJbS187;F@C=}mM?s+fd@ualTeex@hadFp5;1p{vP4R|tR=qZZOp@SDNZpS-+b+J zCh2w^=g-kk!Nb$FS#4-!p$5dWb#EvDiNr?cH)TlX0OpWn2@%9b?=lz5{z1cHBb1BN zuKAdrZJR$1W&E0{96AFe0!WXuTcQ1__tR#ns&0po;~Yq7n*cRrP$oXOQb&PtwlT6@ zuid1B@E;71Xjbj*1YRMm1vXLLcsO-yPFOg-0)@!0oOvBdBeS(%;)19f)75c zwI28ryOUK%OK837(K4jwYnQ^AJ5zqfPZWDd-purW4iwtKE{MoOI62*0D?LRuN|;!A zM>_69iQlV=(4p<)Y{ls7Nt>Y7*jT|;$e1kwcJfpa_8>$hs9CL z3%uQ;THrBsQ>=1)+*w#Lvq^9LUTMgDbyN-Q+>_|Yg3k`)`BFeju(e9^jY)cEe~Sr9 zRX~b%-?N;qR$&x_!}emHY!raEwBw&&ooWu44HZw1?nO@IZ!5)cn|3NkOMButZVM9; zL*rv>g)19k(L100N&lc>(qoQV2J4IUl5akM8xa|K&qJ)ui;Fp;DyG&X;;zuBa9dde zuwUY)=r=VdkwBwt`C z^~SPupvVuC1R3}a~ z>gG#7l>%oMCIFkHFtN+XtV5~;_lJ64C`nj{D0kb-XtS+3wssE>q)XvZf77r}#YopU zc?wm1i?&6kzIf_JR9;Anpr0h9%>&nQjkD)bFa_d8@O)l!D6AVqL@N8bMvi~+7n9w{9^=kdZ9IiyLEEk!i? zTgJg3%{JiZb6J`<2BiDy$?)|oNCjag7UUFVHQoy4t51&4g~qD3<@It#U;z|&)M8-Z zXd|q#%LIO^larq4BMt9TS+NKUTJl+dvuh)T6pr4*)EZUl%(L63mW(WO7kev_rar}Q z_qEStSGyFO^ngff7#HqUY**>HnYEnrX@D7(ht$M<&;3_7Ur80ZUkIO=pQi`pn>TpE zu--%xgajB$^6AP*v~gp@DF3n=<2tT1aK0(4U!7*&o;|BP``S1269wUwXUO=nYcP6) zk*ahAIU0I{366LWi~+FNZDfeq zpXSrV0JOq)$=`i^!a|h9GqeB86FtiIsAL@~vH5A!MxFLF5r8{%^E{2>9{t+E-BGg) zo*&XEdb$CtZ%Z_dkDcD3;-J4M zYq@SaYI(zn*1&M$wT5EtUE+bAXwwu1Zho!sjVG#u+sQP*>(Jd*puD!zB-GUR3|*pY zWi{g71&6u(as%9%QVsi4y5Q*UHANssk=B!V84+f)>2Rq!{h@MIzAhl<5KjopwHDlJ z*o|R<(8y|-S&8XJl@70 zCuvQ`Z!ma4e~UM=-pA`zL}B%cr)dAVkZajNDd-u_0+DD0{`xk8s{i)2PUUEOcuc>! z?g6|yel29%LAR3T^6gyA)|h{*FuUy{r;uiutO{#mFvUiNq#^C&<$33?;u@_XjG=vz z2V-{;a2n?$<_st<>!)mhyc(JwmF3;Je^r+`_>({CoIM7#FX{$0MKHsJgsaVdM+1Tx zhjJi%+6_;5>GT}_sPQFwB=maI1876NT~lF~M4_HkUNQ6Wtg0Wj9*3eht_C}2SFS}o zY7-vCE$Dk-OoX6AR+hjEhz<%*<(0lrH_;OegB~x4e_ay&jpU?~(;YAMxS5xa|F{pu zX_JRWw7oxGpOcDY?3Czz&ZjUdM^I*oKb6Qqj_d%3>(LQ-E1AObIedu9uB`YR)Zq0* zzRZetsnoQ=KF(>y-b_@>2hCG>qB2-!z|s399GCk3aC9b%)o9CU`#8et<}__$TKeqT zt}tM!d10b`8Fwkgms419X>lg-oM+3g;5xI@_5tfrMD-`C6v6{gx`F~bTx`7eAQopD zaC)3S18;uJ<6u!A)vnBfd2;FY5-7Gn6YWRlJ-JS3aAPyFgzN2ces~^A$TC||hzF+n zQj5f0iubNSXI&27iH9xZrFELQcZ)aQlgC|hYzm%;Ej6+9S05NN%J-6KtLrB37njR4naZL^rYwa052e)2;bAlpj6ZILm2^*9P z_}eP#O1asDv0>I_WqDQ1!R;wNXwXC0BR2*Wc;)m`#G72ctpLVaauQNYz&Ci~f?2msV3e(&==y%Ew8n?2ZX%dD-lj(!I%dnY zDYc}ZH%NuIuGm;@Jj_2n%`QrI+QGc?5@DBAng8TICPjy1CI=`=9m5Ax_F3#$QGtt$RQ}i%gv?R< ziBp%|fSv$;x>+0;_st5S?wK%w`x!IPbIfK#Hl~&KDPdlBs!#ez1i^PRKzd5+eLyJp;x)n zev@G(iit22iM0j#?IVWMi_s$=hfIjYL62_1>KM|7cU zN!ro&EBoi6WsuLFfHA8bKTh#1X_IXC?0~FXc00VtG%KU|_Ie7q!4@rIR+LM+E!fY9 z^pogmTj$aPwr50E#X(uD>to+VtIgh05oIm=Eo)7|f)efn@c48c+$?yk><+z)r)SO? zKzP!bwQ{%LU>}j__9w!`jJJaR;h02xwV|V5mzKS^LZ$9J&Fza z3s51Q+g|=-6hO>K#yBCCp|wk=^?Hcsqm@nG)Uel%unk!ae8fd6VgVG+T6^kq)&a(D znrYR#U!Cx*5jvBzLQ@~6^Kvu-asaaqm#j4;KRoh-0zC8P#;&G2Of=VyJ&CnuP`CPw zx&%5}qhcEH-=-&b;;xHk-@T>UCa(!xsiz0lu;j*7ulei>!{lr4EI1@M1^|^{zqBrI zDcau!It})A7Y);5)>h07L8x_s4_?u>a9pl2Pr6msg-O6ppKaXv?5VlWH;Vg2JBAU} zTsKEXuHTi#^s4w^`#EX7G~q|grVUoR7uo>K@)#gH2ChzOhzDA!4ff|5CT{bA4J;uB zlIE488>4LmW@W`eb9+<_^#3C7J)@fHx^PjdGyxR^1PLk%B3+Qs5u_c!Lqr5=xog3vK-ec*yz>S&K!a?9ou# zz#B$LH=IWZ#XiaD^&VaAkBD8|lBg@+9Z_EqbKFZZvX~N^_mrs&HSme?;j1tQxKz{) zZ{<}0b3n8+C;hCR+uf=f(X-f$LFz+c`{~Fg zidMQS`HS{<*iQTD+7(X3`m)vr!!i}B>QdrHYMvPnf58JSa~G+W7GnE8F>G(C z9nw|C)ZU~&IwJ))g>J`zU+zdL%yD}^T&s2Q4@P57sWs>nek8|ge(^w1og_{>3(iy7 zhw$ZjoEFj^TCS5Gjyu(Q4beffvng46o>?2u`UvW--WnO?=AT()^5t(-iqh>R>~Jtt zCe+&ihAdAHY+<@S?1y`L+KX?+SKqcP?!FRc8T%$SaaVuOI=d$8ccuA zRu|$~fww>Rf|nELOv=V}^?h=eT^g`YcTXC%*zhm5ue2S>vEKJ87nSw`YGm|p zErciIy!VPjSu4anE1G?B_AJ96i&B4b6BYH_8eY!!q&Whni(iQ)94*$XzZ1#iIQxHv*0ea5w4qFyOziY^pT+Wjj z;@LsETdml_BzokHF`iy+OJ|r`-Cg5jqw-5@1%qy@11hWdjBghECB=@p%RCgzu+k0> znbHx(Yqy^&ja=1=AHDM-*!$3Gf&5n~ zeG>JY#uTPuaO#K^ia=cYTcKd3-)mnk_!o}f)oFU;6Oog%BM`fuCM`Cy0G|F z^s^e*OT~pd1{QVR#L%=^I;rEHd3<<1>Ed+t*JFXJ6YvlyXmv@+nWc_|4P&= zS`$m^t(SQRF9F~Yr(oY`pogg&(4(!zNNbeFvF2ObYUapA^NvHN-m95T&kYkWmx@N5 z@Y8O?_js**UhFc>?)ulB0t&tT_OjdGZx8`5C4#+kvd$mE&xOusAzMsQuH&6K0Hb!FhTIDMB6jKIx5}`3N%X7S=z8Tp%1y_jLk3^|JZU z@WZO;qjSL2(K&@UT&Xu2RcVG^Tx?&lzLu4luN~Mt#SK0WtHf_>yZSsy)iE0#U!PiP z!Usm0x!F23+K!$!*nf0Csd?>*vFmA+qLnFZAYcoyez@(U9uDckQ8zsFu~|qN3^h@L zf|vTN;_s0%YS6ZPN4yPeJF+l-U~g!TEXiUFt4?9)=D?_K7V*o+E@7l=#p;f6E!CEmmEe`ySnAiG5}qQEvaMGhRcCJC&>g?;~!TTr$VuK7lP9m!qYot{3-8$(HmvoSD>UE2<9UAcWJrDh3hq*Ji1!_b0 z7vle(3jLCa~84$i{S*Wqim)^~YXL_TDiUK{ZXK^>lG@67THe!^v z#ghBb&(_;ahR-)NL*lMUAlIe#gDA4Lp~FQDDm!sfcA3$(<2QsFY0lF;MBT-2CBdss zw2&PK$;$2c-%W3+TT(X`8Ig_Pr0nnky`rYBX|xc2Uhag%{Rg6Qvb(>1?h5xUtFKP! z-0<9+y*ww%iTD3O2%ogR>e&gzoe<@4cbuKwbHx2a>H1luQQLRe%n>Cq-Qj)2KWEL- z8dqc1D>D}ap$YQX=Wxx`p*i#w8vJ;DWYW~WDj3FEDRVZ}oY2>#!7dy*arEoEWv>;7 z1mKB3Yc6p#5G_e;PA|^+QIg5gJWK0^27!avt=^DTalp@fYi-k>5cA(|8}8#y;(FRy ztHZ<+6&e?3dXl))N5Gg#tNG^Ay|&$0HSZ;0Wp(-7kfgb4m&H%Hp|OVLfXpl)KGC%<<0+*Z z6twN&J%F*3u3aGBCqZw?X0~t z1I&PH<|y;3az_wX2<(jyNmZr)&Tu|`*pIm@axZ4QBp`7UrW{)xJbU+f&iJADjyv&@ z&B__`{nRbVA`FSTv;>z3kr|?&AKcyIUC}J6RO`6gc!5F8nY6VRbyW~ckl8l|Og^Xt zl3_RAdA@OYY(WiQd*NAe#+n{8QWk44t06fHYB{?zvYIZDN|l7KK$WG6>) zKTn&&HR;||xlQ`o`&_+uf6=hK)WwZ1MCC-k`k?WWhuMoxde1ZN{pfaWYY83XqJ+4# zLE!Tnz=YH(HGZjC`u4^NbRo9rMDku3tFf|>4_e9R5ouR5Xt|f`H$`g{XGJEmBf4ez z7Diy8srq=Pbvno6AqVnO(s*yjS5HT)yJrAfJdpp18b2Ww$t19JuSUmfe%H5QMdl|_ z=iZP8OFPqouv8{Xr0WVQpWneBBbUmGJuE-fAi8&pYjKe~2tgB=RSiT@t=ddUA3VF8 zlLd3?-wormHJjU$G}-A1UkMrWs8FlT)jAZgH&?6d4MrNY_Pm=wJkNmwv(`nM{d;NP z4OR;xDMh;j<^1Tn{6!wCf#Qf03zlt1x&i<<`+W7yI1P5JMOFDL7emmjBm16M@)p`$ z_v5sG4w>0`qxP4E^fROo;zi=+c~!n(~bGGjHI!oPfX(i3NqFXWG z4E?|stH!o5O5U4e0oO(Ds6$gb)k~w0J}Y>+(AN>rP@iRvfI5)N`lmOlOj=8dLaK3U zs+^PEZ{?4sjV;~gi?8S^`Fyj{P?znyCNKBgb7Ep@?N-Glv9r0~T!_8!_2|Ut-9fyu z$*FXZMaeJ&U7B?hPp%%obE>8~dkF)5^bG(0tD~^J3V=)-?%J$lw&+N-r`lGBM%*Xn z(QVX|7uuDmc_@oh8AND?Zuezl@M2(yOpklQ<tI&Ue|Q~$I9%$t4Y(8@9e zDcNJlt+7kooD;wCKDJcJ*yZcaecebGmW=pm#<_3%kW3>BCz}OB`ZI;lUwuO!wp2Ft zN|bK*dczKR$#yJt?_DUtuuR#>Rvt^Pb%EeJ&__sh2=!G>g04Csh4Io9zQAu_*~Nax zASS@nx~08{OG(_G#bZNmWgc#L2XtFX?ITI@71!eGIn*GCRz0ay3rXEDw9R8&KzBTe~+qkt~OR&AI_*h;qnILzAdimk={`qE~m zVX_={sA9d6_i88m2@Lw=({M$I=@g6QsRJ^kgi{9<`$c7cQ-G!QTqJ^-qS3d+$ zo3@fuPaKuo($_pa49d&wXSNbV87lYM`7$qL%cKM96P2O!Uj_cG&j-pFl3pxjGWAu0 z=GiRmt3lX2DcPIRnQn$6QmXX}_lRS8+xt&gZER`7);g-l#lIQP2zpo?B*6WdHjD!J ze%Kd165MG8x4av2#Y>BV{n)o86Te)xXW<<_gwB*B39ucUJcbD#)F5 z*7gKj;p`3pWi{!jCq81|e?(YxbXa}o8}M@Bob1umXOgWrVRT(V)`DmooMzSmAR!*) z)by&$g5ARI_>Vzg?|$>_O`m=kuh5*-n_h4e4>tmIhb9~#PVxTz6JzO{JKubr?COdc zR!lvd5sO~SO+fSg(Um;*<*2QaMyy5cY4BR$gJGF{2}Y1G_n#({cS!B0lvE+IT-hkM zRgr4Dr^Spxz`2jbVHmylPGWMJ6_wlvVfgU*(`Qvc++DN&G@{>Ht-Q3Lkil-?Z7;d~ zGqo(Y!*A-1yg68vjt}?YPA=u_FMT#D4U`O|Pd!0^OBtLN-BtByQJ0u$`$_6+=Bv_I`0L**#Dckdhh0e3(#cmbQN&oik*;3R$(o|DAjG*Z!TC) zfXeKT;-0>VjvgJmQ8qoMW;gx(XmvJ36beM8IEc=Tji4c!QND18>u`@!5onA<=N#`M zl#x5N^61dhN}si5dauDg@rb8YEd#oNR+L2RlchLBn0JRc@)X-SZ4?>IGs(mZ^fEd@ z)EXANw!$|5(mUmQI@=%wGi=ZDz^HjD6?w`OHTPf;YVe9bcFd@^)82AdBNwD_U<-e`zibwj3kU7RQ-he9o+ zd`_g95#ecO9bJAj1wH4Gf;fU5SnkZ4bz^uyw>K$P{-$Ro#)Pl*wp;?}Cs5uPB@43P+v=RDumSj+XjURvY$F-$hvEF$YH(;errSPF)yabNO10mgcr*?7@ojW!4l?W zJLJevw#NWF=-~8=I_I`*qgYodP;fv> z0M6QwbzjE56-1?7ffK7jLVwXpOkbxFD)dXIywgay+%;NAO+9zN(i#7;ohVZ$P#r~9 zoZ8}GZZ5u?T)lP3ght}>;?1%d@r4G?k_5w92?y^@n|R-mYkA>v)baeutp-5Qkzm4Z z6AHkbK}%NPGziZti<;kpC8U6dt)ERLxw#=@|GJiQN8|W-BlF z!kL?-3&eTbjVg3w3RbriWIbDLX$8UQYRsXS3hq=Gd^vHHk=kk5BM*NPi3{rS@6B-R zK5AEid!x*q&@yVLOweWn_$BP~+Did9YeHIBr!WTKRpcKzF!VK*sBi!Z!SX@9 zI*R)&z{`q^!+BNlvgfFVc#b!LVWfYlzwV2KcjY45?gdt%ct21Os(!X?4VM>upgcau z-2G91|D@h$AGh0+!fNE$aN$oi>wLtPf&QhEZSzgnz;8h4SFaV^gr9$j7QWl#wZ9OF zT4<%xXq^hm9_k1;Zd@olC_8gM{@v#bU3)9(lzc`9?OW^1doWK}D0J+w3D}kR$xp=3 zUoet!)IBBb(|AlFGw8*FPr)xp5J4rVK2(r`U}s7F6ZSI)(yKs6OJi1_{Ab0j1z6Za zyh{_St1<<|=Z{E-C=6}Hk}X}ZWmtiACx@M$nLQWPGA_@=ZNr=khzp3`$#MIqR%P81 zBiOz}4eQuN%Z7}-_RYJ!csZ|r<=6$D?^=W!pvyt}2Z$${JVq?|kf4!GJ#bF%%2-hQ z^Cc%mhx!vA3DtV75J_^{!or z!BIPZ1D|81zg)=hnS3XmDihq?U8M^ zB8i#*+C=g7`FZEqbVvf=-Oe`LLYY}X8J|}Us^V|Ec3b)$+<3`ZTLGi#-m+LEG2^41 zy8P)y#Mab33rvx=%@iuhzhy2gL=ZhsE-%hRsX=anBu#6S$cLvlMuOI)Tu#U5WPrhFU6&<>w-0NFts^WNh-zif%ne)S4ai;QZW^$7nIiYG-Ct znM%suuxIGJ$W6QPY^ZuL4a_E;eFB&mU~v(!4$^kwuXrz}oLNWB4$x1ItwXYZAf!2P zrhRdje&E&BG!)|GA0uY{_UAB(x~cBnQ0oi(FwK!?P~Alu82f?IQW=$;8!;a#U)u=X zk2jPHUvFj#5AW2eir*2F`aYlA zY|k0)!!rqi(6%RRyOj?H)y)0K1}^wb`7XgY!GjM;XFLbtCx3ghPADQp`eBrr3stny zmrWPJlLaUh&C2+mZLIlxgJ;<^@)K9RLYk&Y(6>*LzvYqlB7TnCMg7F7^Yzp->MU`m zzF)OVom?Weo;3F}s-7iCO~qO1UDYgis?PZb0eRvkzb=AM7rEboDrnM$u2~uoA)K%< zBNiMa6*t95f5I1K_R zr2BINL5WRQskz7Nq<%X}?Y@)&g20{-Tw7@%|MQDt2(f_<5jJ2ByC{1NfPa!YF`}ug_jvG@9~g*QgIA-&s@5dXu;PzY+|K1I0v~pI}+Ul?OX|I3MKXq zI|8!ZI2x6z79!ogm~xVDv*{l20l^Uq+MxpyrfCNlyHG81 zPe|1=05uO8N{TrIJg`F$l$WUxDp)=u{UAPYN~QpWeesp&20btDQKuY@`=Fm*$6;MX zd~i&=wST-$(o&suNl%HJ0tR|gLi`Vw--lJ|Q@IN)ofdt_gi)aToAw(VwQN0vT>jn|NNx?RaZ zA2tQ|o6fUpyH5qcwJ93K9`je6OTz~DHsCxvj!TMDXj#yD?ui~cOQ*LSdM`dZZw)?{ z``o2Eah7hi;iTVlsd_drHNDuMe6??9TDFl;_mv9@5{FkyFn!4j;dI8cup=$x$f-HA z+EkuQ`qK8+!alU3wj#u+u7+YAkahXg9+PKvOKx*I$TG@mU79zPkJ1)D2S=@h{PKm# zw#95zR^2jiwQ9O$J`ixxF_?u_PP74!D-&*hL!MBE=0(eWww7C?UH*?r1e$wUYv84Z>06fG+{}h2MohM7p6gE^3_>eD+#Q& z1AZt$IaF3jof%(>7mx**K9S&jYT=qSvv@kq2AyQRq^6=+uB+%+APTo*$I*-Y zZ2O(LCYEIFctOuz>VvWL#erD{`~+Y<>m_c0hH;U>mvQ&Ob&lWoocb?HRbkADV5#v@ z-uu&dou@U4LDjQd+XI0o^msX^NsHlcpB=toobpD-Gd#L57ujIagF+c^p+?vn!H-Nz zE|Li=$`3U@J<@G|4jQ(Bl{uz(oRvr3Tgh!o$&MOt?Xz6vTJX#j-*N$7PboYZpWX{< z+k9=UjebVCPQP@jL6GWq_Y{k3eZF`tYbq{rd!BwgdABU4HRRD7S?Ujkv*-CwcMG}9 z9linD?%s;=ye~_I8vq}U1uSbtB2F|6mF@e=F4Hp+wh)&Qz4d^aC2)cJDXF1wrnWoPiePvu_%> zDr7Vk>*gCzFJKDUzh@%2%w~*NVwKPR*JpC2U>dJF@BK#4X|)6N_bTU<(8lma`Yh{Q z3#VwghD{n%V$#8VPKcIsfID4P!a&E)$7n`kukrr)QJATDRI{6^M&V!mGmlV6pN)LB1v@TWzW04?$mqmt*ma~)fynxj46ilq0 z?j|f!yUD|J|3dVj_zArirH=sj~5A$8S9xNeSYyqE7%7|#JdV9vyzZbp5 zmExWxiaVZsqr?k0{hQNjeQ-N1if&&qU=Q6EPw|RPW$P^O&7B;ZFqxLI*_wo{Udx#K z6||fhNx8SSCoYI9FK5i(f(#mt*J>VL`nb+O`au@fZi%&QHI_cS zko%%tST*l6y;h@0MZQ2tGXJ3c(#&il75K(Q6in&*acxVYa-YSk=F0Yw=UHOJ5o6C6 z>$;%``}mGYjl8s0MNR5OC(LTfS&AFg4lKL3F)qbZD3mV(FB>2nXm0j-XKd5R%4Z;cBk;)LIzsT(@T8}bDj&(zI~;SQ9DzBQwr zSUx5LlQ+{J%zH~e5$|_Z+HviroOWxr>-5Iod za{OC12=yl`_$W14{E6;S?-6ZF6%6}0&nJMl;1!bcWr>Mw+Qe-Sm@<&~Rcns>>x^3pop3p9*&Suf>C#Y zP_ft*q!h?$s&#qDopuG!T1#mW-e-W7d)YPFpH!Q;1vJagV{^oESEK}fBhL7ri-q2B z%K+71jvn0wUUxrT7J4+^g6n^UkER4Xaf`legeK^?Wf^!fl<5sn&>?#}FBEF9w^}*R zm)%==SuUyJEJ2I@(eu1MkNeegMXIyDYn>lUJNkc)$3in0Ks!NoNUd;>J^a)5>$2)5 zZ~S5Kb2#YfHa^N_o_i1Z)=wEpjh6<#!x8NuHcgJZnS2+0D8BTER4Nz3gg+FeqptY=Yh!_ly=7`Q zP#0qPfPgdIkxQ5DCWvgHr161{_9G+FoTDS)dMYc2i(UKd#KeVEWh#U>6XAzp8O)+B zKIo_Ef6b@zhj2B5f4?dDWYZ{MqKq|0g<>U{8yG>1tiP8dtslu4?E9=s9bb5Vyx;Za zjbG(Fdv;@S5%q;*I!yc1rT9iM?K^MHR&o4cZm~xaQh>x0JmogYLP^KSdA#z0E|8Nx z+b;?tF+joLpYwQ%(S8Yf&*{fW4$ppMotb2%&c*~{RR6r{Bqu}r595gf-x9O2$T~VN z6Xiq&e!V%Y`fTPe->V5{eyMR?J==w=59nZFhH*XAFk=Oz@U>GbXs1PTUVPCS#-}an z_)Z+(jFoo$?5mflK9iDBS+9o4SM=d=z0iA}u7%d_c{-bDI`xgiBO|8DU{f>ghZ+%D zt0V!q%tlT?0d>EIeSpSA&fzD&^d1xIhmNh6&A0xHon=CG)ohm~hR2KNj!V}ZhbPD9 zpa)?TW!T>yIgK}D`-tqk<(MOE(_Y$Z4IK7E4nMi~x%iH`Ouz37^?kez-~(n&U2#-W zP2p*Df4H6riankCW<*LZ8tT4``auH6>ZFioTgnJ{20pgL3@ z=1u~x7PmP`M=yDTnLqLbm!KVC5XCB|G zFvF-MBYJC)#CXPiOY)8nSwWQJ%dru^%>|HXoJyAoH?JRRUO58v$jDV697J;VckE(g zOx`AH39=-#OvEdK9>2Ccjpeu9wD!($>B~QH;Y&1@ldY>( zLvo+Daxt=6p=o&Dxr=%@aygg*>ZS;n!r&`wJr=1~Kv$HuMb$&Df0g^ymJs_SG!_lv zuV*u{!ka|qq6e{cHGT#@>S4HVpcR7dzJs}x&Fu`BdT-JZHtXcht%lq=43gveqsl3b zoFetxI1j11zNqIFwJi(r2PZt+_3!soccgK3bNlx)eLWH)0M0D0kGXc6#I|U^W&JV3 zrANN5{_d5AsOU!8|r`Q+5ye+EZS zKF+`J51MaH2mKY@_z&@)>4_h`w{T86j$^e=A>pqWBu?}!;UztC{W)Wna3ogFm zfG@K}c?xXpgJ?m^J=jlu-ef*!)1Uq03)QQy<*THVO#GcZEZa)XXzBjbdcdgK#==(j z>sC%Dp)E2Ag9UOgo;IawnNU`8;03srO}T9&mGwgxEuDw{T|eDeqU$`E=+D2s*g~53 z*?5n(7^@I}@FgtCdYa|wI-%#Hq~z#uEJ>ACf_hmOd;;ca<+@?P^cOw9)H@k4VP>Z! zKBs!;{`V-D%>Na*U@Mt&2bZC&9?hGYNZEDmyk;lhiifbi{C6+eve_Y4GWpinKa7(5 zQ{0vB(k{D=IiZEiMW|D%f~#?^wXpqKHq-z7xN<)E*6%iQfESe)$&}_G$UB3f1t$8y z<||gB)c=&D+bZg>^wHCxPkz%Bm(jS|y0SgAaOQVUIHeO(@&s@?dBy&*q!t-0+&Yv8 z{*2bxE2MEOYRfe-v7#0Fx68=syuh9MPJDhSTv0Gn?jtDURqf7JnVrh`#?5o%?avuH zl~%O;e}DV`P_j6u$3*k_uzeU}ZqFycJF*bbJp4_Ex&$-+9nuKRkg%0MOISRQIQReK z@Dqb0V2}UYM4Ivc+4nye%Xs9r0RX@@g2+ZS4THRlPTrTbUMe|uXR5J2{T2BD_|5hR ze_r2Wc7`rm$5Ziu)7WeGtHqXT(%vb0Gd~wT$HwIw8$S8}K+iz)mr|OhZ#`(6)Wj8<61b_Q}lexP3ZQ+fH>}_2;kq~TniV&l~9ng{E zI+fVE8KtjDO=pt0(6a$2rKe-%(A89|ZZ4mp9Ly>D3L~`xpfT0(-ecZC8I$ zXV?1MmOtyO)6odkG$t)MPnA!quj`kmmvR?3&-N?b6 zfExao-BK<#V`?5ZNZ)`JU8|~5rGdDbf4@Q^^MRy&Ct%LRbv>*5$pQ)Ky|mum&%qGf1TNr44*K|Y zI+uj8^J7Y2j``+(jogbQVId~M$ymwrK7+zU>$9Vr!~#1QN9)-~Tk~w#=9__|EmKhH z0<+$R;^sxWPFb1Qm`{R#s87p@*L023?75cxboUqzwzJXnG2mh|8!>YwZM|dSmM%QC zea_5%EhKV%g|$=^nCph>TeEK9@N;i zxSffE#?@^r-;d*OHGEv_HIe&fEF0n)tcSLUePjcb$zumd!)&wBM=A!1=}Q4ie1I*aFvSy$HXFeH*58U~U1ibYQn+yw({hX| zn4umEhAZQO1Gi2F3a>9fwrj!fx@czO_t;|!rN_@-`?juuRmDec@d!%*Qaon@IN`}3 zYq%HHa3Q^i;WBSxW#1m$m%wOhd!<&6VnFNBGX7`t;NyKT|%?L{w2{n5B@)dh+8`!L!Nt zP>tu^lVd5E?Flc(Sph-0 zj84S1#>Oul6jf8zp@z*X7Gn~RaLwBeW0nS9RfZWpalFu%%)oa)avo>(w<^ z>jlbQy3|;`LS%?jqeA3xIGS~_t~#K~uHxvocSmDxoGs$o`s5cox%cu;8E=`ZMp+8Y zE-eGI7mtbqY&4*8lU>AVFLnFXwXf* z=Ng<0StFI%6ltLuu06u0CF43%RQ->JQp<}y@wsNkwwE7J8U-@arVjK%cih|d5UHMk z2d^d8-C;!L&^Lv2;%>h63vPX){@XwLnz!C39&4n=A`BSgChdmV%DIODg{irM@1lqA zmy{0QD}=Oo$5dQrqR%(EIk(qKId_OF)AEk2<3=L-JHy2ac6D)Hb&flo4U7Z?XUi{a zs;J;^AJPS0Jl;L}Xa4u<3rvAfvj*pIUqQN?@Og;Vd#R6E4yxWS{)@f9X)$&PjI*HmLj+jnZob;|);p$uD3DpNT~ zW%G`B;RUT@Gpu8E5S7YCMdr(p<3+^z?Bc1WEsETB<@>LvKPJb-D!*``lG+YMwt8Xp zR>jIfh6UTtW-&uo4KM@t$ysS9539@UV-Vx<=G~F$dEoiU!Q03s!|Vh|BJe`iT<_T*5cwrDVGtNRYQpYulp`#tj`AakbAnrxxAO_!DGapG3*<& z(ty-9%ihaXnVFVk!GYmmD=ZPOTfMFHAHP=y7#@#EEHhfPb-a^Y3ipK?v9yBIEM!p&ZiH_|B8uk18)mL!2&uxc7y6UX?r4D3$q_OxlGxU?pa;d=eYeEp0U#Gq$s# zP?tGrt!d2~$KQq$7@L=6#hIAML&cn{FKmIAb(5E1o^r@ey#=G=wMb&?fVRQHZ30$G z#o~Zmsur4x;5AsC1)Qd52xt<6^rSc+{Reb)x~5Su1ZtiF{_%1@vdMH- zO2Yqwx4lZ1KmflL*qQcRM||0PD;=c_yDX`5$T~j6zRACSba~8I5|BG_(OACtK&??X z!#_*dJjlH#a%>$`P(E9@#rP)i-B>^W>rzyTVw-&P`HQh;aH@7WI+%x3^^lm*&gAnI zD!PFm|G3h67woVRtNal+ZHhB=%dNxZ?YYI*UBN}J^Xd?k5mYqp?BArV&VWwI`pgA; z@p|bZs90^^Pm^e2u9Jx4M3f5HPh0#*ZLE8>5HR|Wr z=8)ssOnWHmH9t~tA8K-5F=;gkFT`oTCfhFKwR?=KO!uk7!`Ih7A2aAfu_mrD?!aaZ zPY_uE+=nHv&Ftl|n)redO9=ag&4#HwF9R0&VC@YPF11>bvr*s$#@WizD}PtN6{0^K z>%YmyTJ*-k@E;HDz)cev$7QeeW#E<=RXNQRTMuiMXRYUqoqs_79_LLS8l`I^3x`V` zyH^O$=^nM?;ELK{r(X5yHOFgB&S_VPMe5N!%W)%|_ooMQ5Ey(o{v?~f&G@|M`aGy} zXjIusB3x_t{s)w6mIP!3fcY~#{ueJc;r*M8yTm~is+do*u?5Ii5=25)Z`|%6~CUAc5 zBZq47&Z-b|svAxhlH-Vz5j~1G`eNIPT!)u;~f;Vd`)_pSg8>%4zc4pRZo`U(gaTNs|-YARu6(F?_4>mF}~{ImJ7*;NxGKTN(VyY~a$meZbaEZX&>l zj)Y<6eDT6?#)LcDzv%eQfRIH<-Fm=Qd%#xXRtie51pQb?3A=Syj<3Vhq z(c5XL|eW1Z2VL{LlL2{=6#>?>k_+hC9+DhM50?K=&x=z0<3iQrRhpN}J+qh1DQ* za&|Bu^>mR@oZA3Wo&%dDq6URemYvq!CS2KrZM+Ik!>ni&MisIbjg zWA9eJ!?XL;e+!!;``VLc2HOO&=BCYAurOY2(}sk6|A{a0gs5iu^HE?S+d%#K1e-Y7 za)wB0qBQu^uFkn;RMKVKnRZ^QTU<(?VD^(sOzJhw+!57Mp-$OOC$~+T{l$zGn#Z)v zFn2A#0G0KD)I=kf=jh!=?r@oCS-m#9~lHouJol{*Z^KVPmq6} zGeY`2yXuSTtCS~?{jJc-l3r^!{niFGKU{skkmMKJd)Ja;u{NBIOn;-X>U&l_nFf~1 z@r2Xe{=eJZv`$I_bt3UomCZiBoCv&qN}PRa!(@VdeYQ}0BB04H`Xi_~xg9i2Fm-j~ z^eVPJ5q3i)=7#jS#ZrHCQ1eIA>sRfWWPw|31jAAq4WKDzpJQFJ5pVjZxl~!Yl#)1h z(=|v?F_>&3fc&&2soFA*H3`Bmgq-?LEWA0$;w56AbXSxq4U*OMQj0}kk23GK%M#Xv zU?0Zjy?l3R_nM&XL9dwnb4Z``diE0>i>-r*U*oP$3PL@(=6B;zM5C);rpSQH$Ae0# z43x7TD(2Mg6W`iojHNwqzh(SOXr=LwCnsY|16{Z^Hm+F;W>2Dck6h+JmIAd^+1dGo z!g2`;=Nyhf;%DJ{;{(z+29x}s%&t*)_$VDL$2j7Uxq(Jxd!Zr@@nfW}e7_}c)~CK7 zkni)p9<_%~$n3hUv)tNa*7J7YcJ6#+I>=`_nb;19eRg+v6UNNbqHr$T(Ed>>%#*9j zp|#E;dg8=CRRx%4%5Qkn@L1OL$HhOmu;a)ZV)4&(aNqSfRTjPPo~}MK&6fI9i^xbV z1gN#A>%4}g)T<|vIzC_ z<;uX;u{NxV5$x>660cYf9&gE>`&O%Asrlc?ZdbELKIW6~XIc=0Qogqu^p?c(O6Z=FI)0W^j!-qmwQ*j<3p z;+b$Bg5q55=c=;%&xBoNI4u|9aGGvt#^IwZ!4k@31quZ8u44Vu<1w~TP zyy}~lws@XdWqEOD?y*e2RWaeun|CAT?ww2xIZcdY zJqGJl?-Un$w1@G&#A{c@Xb`6cP@i4|w-1#D(VB4e3cQO0v5ZU*^0Y9YZab}|SrjsMmhP6ObR|d(5OF)()5`|^u*U-iVfM`Vh4q|^3^dr6>Kdoe(S-x-(LQ4T6oq|t83(TZxN4#(c?ASCHJoU_Gjr% znNQ9FGKR6sR%0@YL|03c_EVy8+kry0EMKwLGj{9l-0_qdaBdx_eNuz4ETW=Lp+bqZ z5bI!z1LBK9=F-dr1kE;KV*$ptiU)fY(Tp_REBBHUNUxjK*xrXF7HfYi`Ub*{B}8)f z_rIm@B)9n29}0;dIypG-D#in1$2DYHt!3L^bEhFl2s4*Vd?pD@vmqud%n}D+9aJZ; z#$M0$<+%ENyM2MPPd{K=P~8`oeuh5-jsFY1KOdM0qTK(v>$Lqtp#Q<2&D~>$XEl$n z2hxnD3_3CHpq>Cfwsk;MD$!|sb1}6uwrOb zEO(I8!p+^JtyPBN0nzgZ&I6Q7l`I!Z)bkjIk%@?j?+`~Nj0fO_FlQh5<>BmmqJlXY zKho1l|L0PyX?6(Pj>vYcnv1yEf(0+)#U}RJh2${+wqJxI-9#9$IkJRc)^V;(n&sPD z4hWmPAI@_`Wht_I+a`O-xKI{yFMn+&sQcAkLTGT^)_Fw(6cQU!qLlN{Xnvz)@5L5B zkjSY)xprH+m!LE^MSSzjl~fdzKI#xoRQYD%m301WMH8#{0p$6zxDHDjg(TmlQ^k!+ z@%-kQPndW#RUn-P>Bn$_R~)Y;vWX^MOJ(hUAPUi$l^q{1fM2j29FY~2{Ps>3I!Co} z2C{-IbEj5rzA7B<&81LHYIw>@Gnlkv^J4;H=sETPF$tHs(NgtlD)&Qfeqx}S3`rX} z`hGsEd~T(GQd~i)W?OBxtD$YhM72I{fl!RiglykOei)&;^cduSRyu}&kxQZ|?Ne0l zP1XjAsYtH1D#e+}iz|!UNLL!}-T7w(LzPiUo0OXB36`H@5&*v=4b$=XI^_Fu)f1j; z5G(jfW%r4Zmcew;;g>WD;k>1~`ftj3SP@4CB;S7ji23`MzQ;M>E1%tYD5O`m{oMZ> z-Lajq+Jh>oJI>F@MdOMgfNn_6Tx>B!xZuz|-phUQtnq3q8`(7ehC6lV+`t7;wE9EI za=L%*OD{AQw2)!kbZ9#rP&gQQhFGT9|9H9oS~HI}{mzA+a#b8o0Rj<=HoQG;kkmrNHt9yKoIHzNe&=M~;A zrcD6*u~M-0G$2@dY63CqHes>KK)@bOtUjlMlQtdrU`Ick^wG2*{qjB4L5kPBvg!Iw zQ{`kSei|nN&%J6QniovYo#dvAneAV1NHD<{iY%1GbH|!*I*>KsOQVK5O^ehz-hW%s zmG(n>X%8WR=qT}8^)!VUa^?3B^-d8gt)=yK3FVW=I()5ogF-0~ZcFul=I}e^W-uzA1}1Yg-$(?EMC`J`>1SK35t(;V`;T| zvV#SHH{lHLNVk_CCm8u!ix3!yb#C(}u{@?$7Z%{*t?fVcLH;}-yQcJaQmWfG5st#uNY7<_4~Mm_jMb&2=iQ@sE$#xRy)!* z`BFd;ZOp5!(jun+*&#*k&m(CDkwEuFoPm_DO*Y*&D0^Dus_VChX-pCkWv}Dww~#Fw zy|aYW@UdDrB{~&b*345Bi+LX6YcA zO^E+ktvIg#MCMES!iSId8>y8yFR(C>H+87}(Ux=*$ajNopV3E< z9`4{)l6(Od*N8w%ebWs^{Q_dZB2$BZ0sG7h>X9p}P|=iHWfis`Q6OkmV3K$VpntA% zk9TK@QCYx@8%omm9r`BhRKB!xbYKY$tM=}ysN4N6LX54}<$(Ht{&n4o4mwqKQy5%_ zPA5RW#P&HLQt6#8XQ1O|j_thtd}k9xf*HW2wUkMiw{hZwtZ5>0wDcB9{5Ue#L`;!U zRQy&$McqUFMi>XKqqwF9XDiFM%|oZ&mKai@XIFtr#cj&LBXIXv+M$cRQu4VCHT*qF zqD*n@n)GTF1_sw$PG?8#GC0>GcJw|wl?=NFY-U=QUlxclFt_O1r#-QQkSAGB_{|9ei9ptnnpOd&k1ul8TFDbCk zH(|?LN*bXdh0Q%}q*n|49X2Hg&YVY=W^l)^{a)9@2mc7KX|iId^iUQ=x8(;|dt+(b za#c=HU#YWOBSTv8Y>p~+lMaLpQrL2yA z{JFTM#bhq-X;2XCZ=wkXgcN?*dDc;o=~;~WFoosEX+5J~u@goSON>gf=0L%-%0k>5 zp8CcXG$OL#(J$kDo0D?2s%gYrBLa~mp{8_p)^A4iO>@{9KYk;q8^_tfX-QzezYmO! zyaD=RC-$99H6ZZ19sV5Ha8>(Em0i9HDYo4GgO15#LH1tn^HAe%(<0l(?K%-IBBEIvc~Kq1~CI>9x4a z34RhVjWxlY*Ue6W(b@JG)z#(oR+jiD@y!FeMjiPcYzgPSx??U&Y3!@j<%r&9v#4lQ z=6Iafze(lsgPAf|u_%u@u;1<@KEKqs7k0Nk^|(4aKRrO2E$z-9o?teLu}MAYAMTMK>~+mJ%v<7TrxIkFs3u?fae zF8ya;UX%ui+_Vpx`zmdA(JWX*#8$Yt73x5i7gO86T5F{c$* zayAJWAf1>WYn%Y zlk4j#Vv)rkRL|ceZM4L0^HOfj$a;E>|Fl9YL(wYmqt4uv+52-rE7m^msuo0As#=TJ zEW!8B3i0;%zZ~I=Bb1EQetO3o^<~cwg>N)Dex_>H1&q zH;b>-;H%Qm?<~R=j(9b~wfmmaM6#u2)tsgZ=Houv@7fQgD|{V~1^2pvxwlr1dr9lJ z?ikYB0TqyTD&>^hA)j@{#i_IMr5gs{BFMm4p+`G#?6&n;s?OKRn6<8a${;<Nnk$G2}y5nwlvd2SwaYo7r`B zb>f}vbj+4iT1?lE3c$>t?U~$o>X{s!Y{?U*n^T!%Nk9@0Y&U^p4ubjEH^)c4FZax= z)W)-?Adn!~$rdW=>bX@_SY>5p7X*J-rJT=2UL(l6j}1*qyMk#hbNuq(Mol4)Qq$`H z`YD2zo=E(!=vzOBB^rem?)v~tokmoU`GsyW zAvL~}bxeUvgiYT|w!SHVfzhBDo&9#4+QJ*#ZwV#oR+<&uW`dvzFnbC^MH`Ptycdr( zxNVUO{sR`)Ip?exKy8oHx&y&C;&*MUiTOd_W6`XmISQT}T{rc^1D6bestr>F#Lf4V zldtL<2J!c91r=>Wrs2bQhcb6)=mr;Pz#PVK=cQSZ2;tlXbkDD4qE41RiRyq}Do%Ck zl-~*rKr;uLhnS+s!)|sTa^AotzpwJQUi?(#P+mg${C8b|OBn{A5Rmo`lJ~*HO7Zff zaA`P)Ms+YezYZs%uwpm+{@p&7Uw3RN(Tj8!_MQ=)@bOpI-0xCESPUpxGh_fP86O@C zOu0Qv@lhU6tm4~1?WO1sU!%?SSD$tK9f{axex9|f9qiyN16KSVjfPRM#%uZ=*@2cm zkz%Lwy5gFqfXdv*%Z6khAxamn+z@x*yX8!0pEf=%(?`3-LQyxc%938)sH&?A`bG=V zPVnNd2WdrCA5MQcyx-!Y#$Bb3Q0;nxy3yH|>(e&?84;0tsdB(dem>Qt-Arg!1w&7{ z5v7NqFs~K?mS7#B^6o(8YAiOh(Sm}P>=glU?zmfgdTqqY6<(MsyQW%90OT}XnMV^U z9Vr;*#*`d_)g7D#VMV6>{5L^usKK7pW8KNlNTOnG*GH?x%x4u)o-!@-viXEI$#sYxg5U71S=HTh z<@g6mA^hp@DaVaUYX>2eYZuQkOrHb(9vR8$%!iR_a5wVoD=duXH}0Zj{;<8T)j+ps z_Z0|Qq3$r1QODw-eo;1KP)PzeeiX}2vSiu#d!GM)}0j- z8uI=yOJ{LHJge=# z#t=R*995V{K`Wm3y>fu%U~zD+;gyEW71J8?|8wD;5G4TmnKa|I6fby5AF#B6zQe50Jjn51^&#;}g-KDF`h z+-zIMr9s%ke&my51v24l`lxOr0B5P$i*JG$20(8%Jjj*up<<)`WOs$x@ySrH5!ke= z%x_!DB!?LbuM+i&o>{Xjo004JdSAhZ3kYc8REyh{GjT@xhcp$oL`{9p`3zhQCwq3w zn>V~UuY~CaheoK^#8eD+lL=&qb!-x+RT6V*YTm%0Q9Ny~@=}4dj?}yh=oOXHv3wDU zs5Q6B;xp8es0MrKDSOrvyXckWV|HRLUoCPxVou~-vB-~-4u>`{b3?@UaJ6=k-X3_m zwWgXia(1}XgtQnb=)3-iKhi7^2CXagIkFZJ1#+Z9hNql7ixqB!<889LY*3)*d@m7q zmJiRFujAN!b3Tk})l+x12cefeBJZS$fP(t(Yw76eSt~>kM1ep;OG`@y9i51t9MX2)nXyMN3Isn^3!PjptLFf`3(1J$HiNI#q+%XR zA@MuSSk5fSfJ zTk(A{Zt3aXQZOZvck-1gIQWv{s=k3Hv^{M+eAdMwyr@LfL-2*v(d}$ofyLW?H|uN2 zKhpt!ETf|9bAYQ8D8W;M)`^9BIF~wrIuGgr+n$vEUzvlzvg+zran!P1lQER;%cVwd zRBa+Q2}KkgP^AV+hPGQ%>4GAKTo#R0qEf?l$5QhR`jRa+rzmuEIgt{&d$VhDdJwVp zT(#sX?F9E@d<)nO4!2!pvbbKb3kSW$du!gX?9>JrNJ1_q>NRb9jsM){+{@eoIZaZ8roiH<9ERu-hjk3x}aiete z;Fr}RQAD;2-jfWIC_o9jzgWzm$njQ~wM#Pi{^^^`xfj!}h2vbu4xvGwzoo|RP$O3t z%#6Vd*--SZrA!7NlJefb(Isn?!NaziN_=wjEa>;yF~gJ2n?mXgde)EMa2tvUAwHUV zQ^%2G5O|h?`n&JmCm8W#DSiv}cu;tJ8HZ^g`)}F(`;L&%BNfw4e1I#4MyCf-Pr0G_ zioMd)t5ujSGGpPSBe2+m9{xw2(L#{hwzI`E1w)6hz- z`tL+=*?eN9dVyjplM>PtLym5?t~c$*@+}X3BB9uglIib~`d5FW7oh+9C#6`7BWmmj z{@A$W^#H|R1|z4lq`3N(GL?K!UX!IvMZ{XpY;UEz5`FQYC+B-s+Gbu8ZF&LwJLVzc z#V`l*;tww4BH^WF49P2cmzNv{`Tp27C)K**_p%Xp(*J(bzuoz}0Q&znOmHFre$=wb zenoNA1}7ngEk@ed0`A@ja>UdA#p7Qx=n0OEpP$0cLK3DX`h}03_Q6GiK40!lK&Vod zfp9P$xUU^2#A{No{iPGsllp&oMMcnm%{YNR9UYwlulJjL`4smI=& z?yyU+_0OX)_rlM~T9D>^j^EwXB%QI6vdN0`K~=T5$;>WjV$)OKU@9jndPiXSmPM$Q z=s4*gIQ!=VjkEVjwV*?g5b7za_AcIK(X)T+>v{fa4w;IoYRZ_K*>Lh_RPqvL2Xi9o z$=cQXUgB=S3}-}W%2J4=@Vuf@ya>w*W<_cR4PJL&aRcfNY@rGQqhJ*rObq%1l^o&3 zYC${7R7L}Nl7++qM3j`27l}T>f=T}yihK)AxZ*>=KP9Z~2LFQNZ|VuHglwYUR2KCo zm3*TV#@YHt@3Jr0Wf%G-Plfl3VvA1lMPOk$sa@kW*eKeG*pjd?WUkZa{U-b54VA2e z9GWtYN$jsh>Mlcp*WVQ~e{^B*-ug?At|VutdsS2pQVKFJUxs*`ZW+k>wDOC?T-D3} z_-*Lo($eU2ygc^XeON?%?k|tsQM7o&Mn~1YB)+&04}bTLG+x$*nXPWH+8v8$J=hrI zqKrl^yO{0sI}=o#c|F&7TuSCrvdFMkvl6z(mR45GhFA75=AHXVX@>kE^Y6jEk=_zb zfr(}(;2Y<(&o@8(p$A2K`Yx?;y)8Vf;QO-kaY-4qFY~HT*vH@P(ZoUTnRm9JYqlLFAtg;6ulfn zBtYK^CW5h(>vA^AGh!s)e~&;SnuUrX6mWWoFXh zZcpW$_88Pui^Mo@RJsWM^y^8V=$3~0#z*~xgE7fTqUNnWM~Vy~ zK2XInpR!gjUE=h{QXSQc=uWh^P=v;iiyO|2exspf6!XwbLH%Iw@6ZKFgX;j_e}V`f zFDN*F-#6Ey=HZ5>*v!cjfvy(^)7PTt09-Kzfz6)f{zQ-ZuVf!1Sgd)QV!Lr&chrK}z zDK4?J?FbzBUDl{3Ph^(iuUlSYH!N9-9jUk(fQrQa@!kbU0VG-cypPr(Y{ zU3GBM(^k_8+byO$&318csOm3a%g$DT?9g;7?v(-bZBQo&nm&(+nZ|4db!9MYfsC8e z_imXBmNJDo(@j8o@uzWZiCDjmn=iA_;!fscjP03T5PVsA=0_ijJ2@-j770~vs6{Ty(p zvt&gE{JM8io*tn+tySmv2EbQ&o#FO}3i?hE!gYYo+SJ7nARWtJD4a;&U;ZLk0ctDx zD@iIw9Hq(IApy)5&~L2ce-K%erwe^Yawpv>t5|N0AK#dThz_?x<={Fpr5dBC=WAXg z_~m}L$tt-odfXY@Yi&j=$->pzbG4m+EB=xKFmucA_y(;43X3c^6$qjL+MOP}9L^~p zKYvrLJvj~1PVzLEtJr+}nr^|{+USE}+qgxr&)d>X=ZDPx^r-)BWBS<6+2~}uy|Gw% zOVe&%R5=fw_au{~%NS=d5`WAEh6=#~P)W%@?8Na2oP )|Uqcq*&4H^^hJfcpltS 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 diff --git a/src/main/java/duke/tasks/Deadline.java b/src/main/java/duke/tasks/Deadline.java index 032688d6f7..889674be90 100644 --- a/src/main/java/duke/tasks/Deadline.java +++ b/src/main/java/duke/tasks/Deadline.java @@ -33,7 +33,7 @@ public String fileString() { public String toString() { return "[D]" + super.toString() + " (by: " + - completeBy.format(DateTimeFormatter.ofPattern("MMM d yyyy")) + completeBy.format(DateTimeFormatter.ofPattern("MMM d yyyy, HHmm")) + ")"; } diff --git a/src/main/java/duke/tasks/Event.java b/src/main/java/duke/tasks/Event.java index ef99f7e229..e268609f76 100644 --- a/src/main/java/duke/tasks/Event.java +++ b/src/main/java/duke/tasks/Event.java @@ -35,7 +35,7 @@ public String fileString() { public String toString() { return "[E]" + super.toString() + " (at: " + - eventAt.format(DateTimeFormatter.ofPattern("MMM d yyyy")) + eventAt.format(DateTimeFormatter.ofPattern("MMM d yyyy, HHmm")) + ")"; } diff --git a/src/main/java/duke/tasks/TaskList.java b/src/main/java/duke/tasks/TaskList.java index 990bdf18b3..2e3645658d 100644 --- a/src/main/java/duke/tasks/TaskList.java +++ b/src/main/java/duke/tasks/TaskList.java @@ -20,7 +20,7 @@ public int getSize() { public String displayNumTasks() { String text = "You now have " + taskList.size() + - " tasks left in the list."; + " task(s) left in the list."; return text; } @@ -46,7 +46,7 @@ public String taskListString() { if (this.taskList.size() == 0) { - return "You currently have no tasks in the list"; + return "You currently have no task in the list"; } else { text += "Here are the tasks currently stored in your list:\n"; From d8654c7f12e9a958dd121d45b0498833f2835991 Mon Sep 17 00:00:00 2001 From: garfield-oo7 <77141836+garfield-oo7@users.noreply.github.com> Date: Mon, 17 Oct 2022 12:43:29 +0800 Subject: [PATCH 68/75] Update README.md --- docs/README.md | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/docs/README.md b/docs/README.md index 0bac8122dc..6ea38af8f3 100644 --- a/docs/README.md +++ b/docs/README.md @@ -19,8 +19,8 @@ Expected Output ``` Got it. I just added the task: - [T][ ] read book - Now you have 1 tasks in the list. + [T][ ] read book + Now you have 1 tasks in the list. ``` #### `Deadline` @@ -37,8 +37,8 @@ Expected Output ``` Got it. I just added the task: - [D][ ] ip (by: Sep 22 2022) - Now you have 2 tasks in the list. + [D][ ] ip (by: Sep 22 2022, 2359) + Now you have 2 tasks in the list. ``` #### `Event` @@ -55,8 +55,8 @@ Expected Outcome ``` Got it. I just added the task: - [E][ ] meeting (at: Sep 22 2022) - Now you have 2 tasks in the list. + [E][ ] meeting (at: Sep 22 2022, 2359) + Now you have 2 tasks in the list. ``` ### Marking a task @@ -112,8 +112,8 @@ Expected Outcome ``` Noted. I've remove this task: - [T][X] read book - Now you have 2 tasks in the list. + [T][X] read book + Now you have 2 tasks in the list. ``` @@ -131,7 +131,7 @@ Expected Outcome ``` 1. [E][ ] meeting (at: Sep 22 2022) - 2. [D][ ] ip (by: Sep 22 2022) + 2. [D][ ] ip (by: Sep 22 2022) ``` @@ -161,6 +161,12 @@ Expected Outcome: [T][] read book ``` +### Help + +#### `help` + +Display a list of all the commands in the application. + ### Exit the Program #### `Bye` From 66483329c759ce7a8c1b3f494f7b2881fcb52689 Mon Sep 17 00:00:00 2001 From: garfield-oo7 <77141836+garfield-oo7@users.noreply.github.com> Date: Mon, 17 Oct 2022 12:45:26 +0800 Subject: [PATCH 69/75] Update README.md --- docs/README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/README.md b/docs/README.md index 6ea38af8f3..5556607979 100644 --- a/docs/README.md +++ b/docs/README.md @@ -167,6 +167,12 @@ Expected Outcome: Display a list of all the commands in the application. +Example Usage + +``` +help +``` + ### Exit the Program #### `Bye` From 7062d1dbda4039289b5f47b43603d15fd69cb092 Mon Sep 17 00:00:00 2001 From: garfield-oo7 <77141836+garfield-oo7@users.noreply.github.com> Date: Mon, 17 Oct 2022 13:32:18 +0800 Subject: [PATCH 70/75] Update README.md --- docs/README.md | 78 +++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 68 insertions(+), 10 deletions(-) diff --git a/docs/README.md b/docs/README.md index 5556607979..99f1116540 100644 --- a/docs/README.md +++ b/docs/README.md @@ -10,13 +10,19 @@ Duke is a chatbot that helps you keep track of tasks in the form of ToDo, Deadli This adds a new ToDo task to the list. +Format: + +`todo ` + Example Usage: ``` todo read book ``` -Expected Output +Expected Output: + +A new todo task is added to the task list. ``` Got it. I just added the task: [T][ ] read book @@ -27,14 +33,18 @@ Expected Output This adds a new Deadline task to the list +Format: +`deadline /by

+UI +

+ From b083f5bac8700ca90da350a6113fab325734724f Mon Sep 17 00:00:00 2001 From: garfield-oo7 <77141836+garfield-oo7@users.noreply.github.com> Date: Mon, 17 Oct 2022 13:46:41 +0800 Subject: [PATCH 72/75] Update README.md --- docs/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/README.md b/docs/README.md index ef9e28307d..280256a078 100644 --- a/docs/README.md +++ b/docs/README.md @@ -250,7 +250,7 @@ Bye. Looking forward to chating with you soon again! ## UI Screenshots

-UI +UI

From 21d9bfa8aa058b3ff1dc9e9673030635fd454dda Mon Sep 17 00:00:00 2001 From: garfield-oo7 <77141836+garfield-oo7@users.noreply.github.com> Date: Mon, 17 Oct 2022 13:47:09 +0800 Subject: [PATCH 73/75] Update README.md --- docs/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/README.md b/docs/README.md index 280256a078..d403b2c816 100644 --- a/docs/README.md +++ b/docs/README.md @@ -247,7 +247,7 @@ Bye. Looking forward to chating with you soon again! |Help|`help`|`help`| |Exit|`bye`|`bye`| -## UI Screenshots +## UI Screenshot

UI From 3acb5cdb95de7f37f2ee53fe281b12f929acfe85 Mon Sep 17 00:00:00 2001 From: garfield-oo7 <77141836+garfield-oo7@users.noreply.github.com> Date: Mon, 17 Oct 2022 14:13:44 +0800 Subject: [PATCH 74/75] Update README.md --- docs/README.md | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/docs/README.md b/docs/README.md index d403b2c816..f47a7610a8 100644 --- a/docs/README.md +++ b/docs/README.md @@ -150,9 +150,7 @@ If the first task exists in the list it is deleted. List all the task in the task list -Format: - -Example Usage +Example Usage: ``` list @@ -173,14 +171,6 @@ List all the task from the task list. Given a keyowrd, return all the tasks from the task list containing the keyword - -Filling up the task list -``` -todo read book -todo write book -todo understand book -``` - Format: `find ` @@ -204,7 +194,7 @@ All tasks which contain the word read are showm. Display a list of all the commands in the application. -Example Usage +Example Usage: ``` help @@ -219,7 +209,7 @@ Shows the list of all the available commands. Terminates the execution of the program -Example Usage +Example Usage: ``` bye From 0aefd9e2a1d09ea07d78afb2d7ccd3d981895608 Mon Sep 17 00:00:00 2001 From: garfield-oo7 <77141836+garfield-oo7@users.noreply.github.com> Date: Mon, 17 Oct 2022 14:15:26 +0800 Subject: [PATCH 75/75] Update README.md --- docs/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/README.md b/docs/README.md index f47a7610a8..0f8eadd0d2 100644 --- a/docs/README.md +++ b/docs/README.md @@ -70,7 +70,7 @@ Expected Outcome: A new event task is added to the task list. ``` Got it. I just added the task: - [E][ ] meeting (at: Sep 22 2022, 2359) + [E][ ] meeting (at: Sep 22 2022, 1600) Now you have 2 tasks in the list. ```

Z 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 literal 87412 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%0AO~VViHYPT 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