From bd4320455e93ca0249e5a4206fb449c8433607cc Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 3 Mar 2025 12:13:10 +0000 Subject: [PATCH] docs: update RepoSense report e386c2fb13b17922d0b58e2f84c99a93263f2e9d --- .nojekyll | 0 JJJEEERRR_ip_master/authorship.json | 1 + JJJEEERRR_ip_master/commits.json | 1 + Jen999_ip_master/authorship.json | 1 + Jen999_ip_master/commits.json | 1 + PerRucia_ip_master/authorship.json | 1 + PerRucia_ip_master/commits.json | 1 + andychong23_ip_master/authorship.json | 1 + andychong23_ip_master/commits.json | 1 + archive.zip | Bin 0 -> 1886337 bytes favicon.ico | Bin 0 -> 3760 bytes ...illium-web-latin-400-normal.28c7a39b.woff2 | Bin 0 -> 12372 bytes ...tillium-web-latin-400-normal.2d64b16d.woff | Bin 0 -> 16464 bytes ...ium-web-latin-ext-400-normal.cdc1a528.woff | Bin 0 -> 9196 bytes friedrice231_ip_master/authorship.json | 1 + friedrice231_ip_master/commits.json | 1 + images/ece_logo.png | Bin 0 -> 70221 bytes index.html | 17 + js/chunk-vendors.js | 6634 +++++++++++++++++ js/index.js | 1749 +++++ js/src_views_c-widget_vue.js | 98 + reposense-logs/reposense.log.0 | 134 + reposense-logs/response.log.0 | 1 + summary.json | 1 + superidol2_ip_master/authorship.json | 1 + superidol2_ip_master/commits.json | 1 + title.md | 1 + 27 files changed, 8647 insertions(+) create mode 100644 .nojekyll create mode 100644 JJJEEERRR_ip_master/authorship.json create mode 100644 JJJEEERRR_ip_master/commits.json create mode 100644 Jen999_ip_master/authorship.json create mode 100644 Jen999_ip_master/commits.json create mode 100644 PerRucia_ip_master/authorship.json create mode 100644 PerRucia_ip_master/commits.json create mode 100644 andychong23_ip_master/authorship.json create mode 100644 andychong23_ip_master/commits.json create mode 100644 archive.zip create mode 100644 favicon.ico create mode 100644 fonts/titillium-web-latin-400-normal.28c7a39b.woff2 create mode 100644 fonts/titillium-web-latin-400-normal.2d64b16d.woff create mode 100644 fonts/titillium-web-latin-ext-400-normal.cdc1a528.woff create mode 100644 friedrice231_ip_master/authorship.json create mode 100644 friedrice231_ip_master/commits.json create mode 100644 images/ece_logo.png create mode 100644 index.html create mode 100644 js/chunk-vendors.js create mode 100644 js/index.js create mode 100644 js/src_views_c-widget_vue.js create mode 100644 reposense-logs/reposense.log.0 create mode 100644 reposense-logs/response.log.0 create mode 100644 summary.json create mode 100644 superidol2_ip_master/authorship.json create mode 100644 superidol2_ip_master/commits.json create mode 100644 title.md diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 000000000..e69de29bb diff --git a/JJJEEERRR_ip_master/authorship.json b/JJJEEERRR_ip_master/authorship.json new file mode 100644 index 000000000..765c9baf5 --- /dev/null +++ b/JJJEEERRR_ip_master/authorship.json @@ -0,0 +1 @@ +[{"path":"src/main/java/Buddy.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"JJJEEERRR"},"content":"import java.util.ArrayList;","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"JJJEEERRR"},"content":"import java.util.Scanner;","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"JJJEEERRR"},"content":"","lastModifiedDate":"2025-03-01","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"JJJEEERRR"},"content":"public class Buddy {","lastModifiedDate":"2025-03-01","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"JJJEEERRR"},"content":" private ArrayList\u003cTask\u003e tasks \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"JJJEEERRR"},"content":"","lastModifiedDate":"2025-03-01","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"JJJEEERRR"},"content":" public static void main(String[] args) {","lastModifiedDate":"2025-03-01","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"JJJEEERRR"},"content":" new Buddy().run();","lastModifiedDate":"2025-03-01","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"JJJEEERRR"},"content":" }","lastModifiedDate":"2025-03-01","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"JJJEEERRR"},"content":"","lastModifiedDate":"2025-03-01","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"JJJEEERRR"},"content":" public void run() {","lastModifiedDate":"2025-03-01","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"JJJEEERRR"},"content":" String logo \u003d \"Buddy\";","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"JJJEEERRR"},"content":"","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"JJJEEERRR"},"content":"// \" /\\\\_/\\\\ \\n\"","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"JJJEEERRR"},"content":"// + \" ( o.o ) \\n\"","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"JJJEEERRR"},"content":"// + \" \u003e ^ \u003c \\n\";","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"JJJEEERRR"},"content":"","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"JJJEEERRR"},"content":"","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"JJJEEERRR"},"content":" System.out.println(\"Hello from\\n\" + logo);","lastModifiedDate":"2025-03-01","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"JJJEEERRR"},"content":" System.out.println(\"Hello! I\u0027m Buddy\");","lastModifiedDate":"2025-03-01","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"JJJEEERRR"},"content":" System.out.println(\"What can I do for you?\");","lastModifiedDate":"2025-03-01","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"JJJEEERRR"},"content":"","lastModifiedDate":"2025-03-01","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"JJJEEERRR"},"content":" Scanner scanner \u003d new Scanner(System.in);","lastModifiedDate":"2025-03-01","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"JJJEEERRR"},"content":" String input;","lastModifiedDate":"2025-03-01","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"JJJEEERRR"},"content":"","lastModifiedDate":"2025-03-01","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"JJJEEERRR"},"content":" while (true) {","lastModifiedDate":"2025-03-01","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"JJJEEERRR"},"content":" input \u003d scanner.nextLine();","lastModifiedDate":"2025-03-01","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"JJJEEERRR"},"content":" String[] parts \u003d input.split(\" \", 2); // 将输入分割为命令和描述","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"JJJEEERRR"},"content":" String command \u003d parts[0];","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"JJJEEERRR"},"content":" String description \u003d parts.length \u003e 1 ? parts[1] : \"\";","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"JJJEEERRR"},"content":"","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"JJJEEERRR"},"content":" switch (command) {","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"JJJEEERRR"},"content":" case \"bye\":","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"JJJEEERRR"},"content":" System.out.println(\"Bye. Hope to see you again soon!\");","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"JJJEEERRR"},"content":" scanner.close();","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"JJJEEERRR"},"content":" return;","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"JJJEEERRR"},"content":" case \"list\":","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"JJJEEERRR"},"content":" listTasks();","lastModifiedDate":"2025-03-01","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"JJJEEERRR"},"content":" break;","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"JJJEEERRR"},"content":" case \"mark\":","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"JJJEEERRR"},"content":" markTask(parts);","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"JJJEEERRR"},"content":" break;","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"JJJEEERRR"},"content":" case \"unmark\":","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"JJJEEERRR"},"content":" unmarkTask(parts);","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"JJJEEERRR"},"content":" break;","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"JJJEEERRR"},"content":" case \"todo\":","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"JJJEEERRR"},"content":" case \"deadline\":","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"JJJEEERRR"},"content":" case \"event\":","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"JJJEEERRR"},"content":" addTask(command, description);","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"JJJEEERRR"},"content":" break;","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"JJJEEERRR"},"content":" case \"delete\": // 新增 delete 命令","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"JJJEEERRR"},"content":" deleteTask(parts);","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"JJJEEERRR"},"content":" break;","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"JJJEEERRR"},"content":" default:","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"JJJEEERRR"},"content":" System.out.println(\" ____________________________________________________________\");","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"JJJEEERRR"},"content":" System.out.println(\" Uh-oh! That command went right over my head. Mind trying again?\");","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"JJJEEERRR"},"content":" System.out.println(\" ____________________________________________________________\");","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"JJJEEERRR"},"content":" }","lastModifiedDate":"2025-03-01","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"JJJEEERRR"},"content":" }","lastModifiedDate":"2025-03-01","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"JJJEEERRR"},"content":" }","lastModifiedDate":"2025-03-01","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"JJJEEERRR"},"content":"","lastModifiedDate":"2025-03-01","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"JJJEEERRR"},"content":" private void addTask(String command, String description) {","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"JJJEEERRR"},"content":" // 检查任务描述是否为空","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"JJJEEERRR"},"content":" if (description.trim().isEmpty()) {","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"JJJEEERRR"},"content":" System.out.println(\" ____________________________________________________________\");","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"JJJEEERRR"},"content":" System.out.println(\" Whoops! You forgot to tell me what the task is! \");","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"JJJEEERRR"},"content":" System.out.println(\" ____________________________________________________________\");","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"JJJEEERRR"},"content":" return;","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"JJJEEERRR"},"content":" }","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"JJJEEERRR"},"content":"","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"JJJEEERRR"},"content":" Task task \u003d null;","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"JJJEEERRR"},"content":" switch (command) {","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"JJJEEERRR"},"content":" case \"todo\":","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"JJJEEERRR"},"content":" task \u003d new Todo(description);","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"JJJEEERRR"},"content":" break;","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"JJJEEERRR"},"content":" case \"deadline\":","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"JJJEEERRR"},"content":" String[] deadlineParts \u003d description.split(\" /by \");","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"JJJEEERRR"},"content":" if (deadlineParts.length !\u003d 2) {","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"JJJEEERRR"},"content":" System.out.println(\" ____________________________________________________________\");","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"JJJEEERRR"},"content":" System.out.println(\" OOPS!!! Invalid deadline format. Please use: deadline \u003cdescription\u003e /by \u003cdate\u003e\");","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"JJJEEERRR"},"content":" System.out.println(\" ____________________________________________________________\");","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"JJJEEERRR"},"content":" return;","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"JJJEEERRR"},"content":" }","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"JJJEEERRR"},"content":" // 可以添加日期格式验证","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"JJJEEERRR"},"content":" task \u003d new Deadline(deadlineParts[0], deadlineParts[1]);","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"JJJEEERRR"},"content":" break;","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"JJJEEERRR"},"content":" case \"event\":","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"JJJEEERRR"},"content":" String[] eventParts \u003d description.split(\" /from | /to \");","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"JJJEEERRR"},"content":" if (eventParts.length !\u003d 3) {","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"JJJEEERRR"},"content":" System.out.println(\" ____________________________________________________________\");","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"JJJEEERRR"},"content":" System.out.println(\" OOPS!!! Invalid event format. Please use: event \u003cdescription\u003e /from \u003cstart\u003e /to \u003cend\u003e\");","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"JJJEEERRR"},"content":" System.out.println(\" ____________________________________________________________\");","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"JJJEEERRR"},"content":" return;","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"JJJEEERRR"},"content":" }","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"JJJEEERRR"},"content":" // 可以添加日期格式验证","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"JJJEEERRR"},"content":" task \u003d new Event(eventParts[0], eventParts[1], eventParts[2]);","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"JJJEEERRR"},"content":" break;","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"JJJEEERRR"},"content":" }","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"JJJEEERRR"},"content":" if (task !\u003d null) {","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"JJJEEERRR"},"content":" tasks.add(task);","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"JJJEEERRR"},"content":" System.out.println(\" ____________________________________________________________\");","lastModifiedDate":"2025-03-01","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"JJJEEERRR"},"content":" System.out.println(\" Got it. I\u0027ve added this task:\");","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"JJJEEERRR"},"content":" System.out.println(\" \" + task);","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"JJJEEERRR"},"content":" System.out.println(\" Now you have \" + tasks.size() + \" tasks in the list.\");","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"JJJEEERRR"},"content":" System.out.println(\" ____________________________________________________________\");","lastModifiedDate":"2025-03-01","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"JJJEEERRR"},"content":" }","lastModifiedDate":"2025-03-01","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"JJJEEERRR"},"content":" }","lastModifiedDate":"2025-03-01","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"JJJEEERRR"},"content":"","lastModifiedDate":"2025-03-01","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"JJJEEERRR"},"content":" private void listTasks() {","lastModifiedDate":"2025-03-01","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"JJJEEERRR"},"content":" System.out.println(\" ____________________________________________________________\");","lastModifiedDate":"2025-03-01","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"JJJEEERRR"},"content":" System.out.println(\" Here are the tasks in your list:\");","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"JJJEEERRR"},"content":" for (int i \u003d 0; i \u003c tasks.size(); i++) {","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"JJJEEERRR"},"content":" System.out.println(\" \" + (i + 1) + \". \" + tasks.get(i));","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"JJJEEERRR"},"content":" }","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"JJJEEERRR"},"content":" System.out.println(\" ____________________________________________________________\");","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"JJJEEERRR"},"content":" }","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"JJJEEERRR"},"content":"","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"JJJEEERRR"},"content":" private void markTask(String[] parts) {","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"JJJEEERRR"},"content":" if (parts.length \u003c 2) {","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"JJJEEERRR"},"content":" System.out.println(\"Please provide a task number to mark.\");","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"JJJEEERRR"},"content":" return;","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"JJJEEERRR"},"content":" }","lastModifiedDate":"2025-03-01","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"JJJEEERRR"},"content":" try {","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"JJJEEERRR"},"content":" int taskIndex \u003d Integer.parseInt(parts[1]) - 1;","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"JJJEEERRR"},"content":" if (taskIndex \u003e\u003d 0 \u0026\u0026 taskIndex \u003c tasks.size()) {","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"JJJEEERRR"},"content":" Task task \u003d tasks.get(taskIndex);","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"JJJEEERRR"},"content":" task.markAsDone();","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"JJJEEERRR"},"content":" System.out.println(\" ____________________________________________________________\");","lastModifiedDate":"2025-03-01","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"JJJEEERRR"},"content":" System.out.println(\" Nice! I\u0027ve marked this task as done:\");","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"JJJEEERRR"},"content":" System.out.println(\" \" + task);","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"JJJEEERRR"},"content":" System.out.println(\" ____________________________________________________________\");","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"JJJEEERRR"},"content":" } else {","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"JJJEEERRR"},"content":" System.out.println(\" ____________________________________________________________\");","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"JJJEEERRR"},"content":" System.out.println(\" OOPS!!! Invalid task index.\");","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"JJJEEERRR"},"content":" System.out.println(\" ____________________________________________________________\");","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"JJJEEERRR"},"content":" }","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"JJJEEERRR"},"content":" } catch (NumberFormatException e) {","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"JJJEEERRR"},"content":" System.out.println(\" ____________________________________________________________\");","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"JJJEEERRR"},"content":" System.out.println(\" OOPS!!! Invalid task number.\");","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"JJJEEERRR"},"content":" System.out.println(\" ____________________________________________________________\");","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"JJJEEERRR"},"content":" }","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"JJJEEERRR"},"content":" }","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"JJJEEERRR"},"content":"","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"JJJEEERRR"},"content":" private void unmarkTask(String[] parts) {","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"JJJEEERRR"},"content":" if (parts.length \u003c 2) {","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"JJJEEERRR"},"content":" System.out.println(\"Please provide a task number to unmark.\");","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"JJJEEERRR"},"content":" return;","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"JJJEEERRR"},"content":" }","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"JJJEEERRR"},"content":" try {","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"JJJEEERRR"},"content":" int taskIndex \u003d Integer.parseInt(parts[1]) - 1;","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"JJJEEERRR"},"content":" if (taskIndex \u003e\u003d 0 \u0026\u0026 taskIndex \u003c tasks.size()) {","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"JJJEEERRR"},"content":" Task task \u003d tasks.get(taskIndex);","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"JJJEEERRR"},"content":" task.markAsUndone();","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"JJJEEERRR"},"content":" System.out.println(\" ____________________________________________________________\");","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"JJJEEERRR"},"content":" System.out.println(\" OK, I\u0027ve marked this task as not done yet:\");","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"JJJEEERRR"},"content":" System.out.println(\" \" + task);","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"JJJEEERRR"},"content":" System.out.println(\" ____________________________________________________________\");","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"JJJEEERRR"},"content":" } else {","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"JJJEEERRR"},"content":" System.out.println(\"Invalid task index.\");","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"JJJEEERRR"},"content":" }","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"JJJEEERRR"},"content":" } catch (NumberFormatException e) {","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"JJJEEERRR"},"content":" System.out.println(\"Invalid task number.\");","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"JJJEEERRR"},"content":" }","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"JJJEEERRR"},"content":" }","lastModifiedDate":"2025-03-01","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"JJJEEERRR"},"content":"","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"JJJEEERRR"},"content":" private void deleteTask(String[] parts) {","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"JJJEEERRR"},"content":" if (parts.length \u003c 2) {","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"JJJEEERRR"},"content":" System.out.println(\" ____________________________________________________________\");","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"JJJEEERRR"},"content":" System.out.println(\" Please provide a task number to delete.\");","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"JJJEEERRR"},"content":" System.out.println(\" ____________________________________________________________\");","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"JJJEEERRR"},"content":" return;","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"JJJEEERRR"},"content":" }","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"JJJEEERRR"},"content":" try {","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"JJJEEERRR"},"content":" int taskIndex \u003d Integer.parseInt(parts[1]) - 1;","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"JJJEEERRR"},"content":" if (taskIndex \u003e\u003d 0 \u0026\u0026 taskIndex \u003c tasks.size()) {","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"JJJEEERRR"},"content":" Task removedTask \u003d tasks.remove(taskIndex);","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"JJJEEERRR"},"content":" System.out.println(\" ____________________________________________________________\");","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"JJJEEERRR"},"content":" System.out.println(\" Noted. I\u0027ve removed this task:\");","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"JJJEEERRR"},"content":" System.out.println(\" \" + removedTask);","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"JJJEEERRR"},"content":" System.out.println(\" Now you have \" + tasks.size() + \" tasks in the list.\");","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"JJJEEERRR"},"content":" System.out.println(\" ____________________________________________________________\");","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"JJJEEERRR"},"content":" } else {","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"JJJEEERRR"},"content":" System.out.println(\" ____________________________________________________________\");","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"JJJEEERRR"},"content":" System.out.println(\" OOPS!!! Invalid task index.\");","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"JJJEEERRR"},"content":" System.out.println(\" ____________________________________________________________\");","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"JJJEEERRR"},"content":" }","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"JJJEEERRR"},"content":" } catch (NumberFormatException e) {","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"JJJEEERRR"},"content":" System.out.println(\" ____________________________________________________________\");","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"JJJEEERRR"},"content":" System.out.println(\" OOPS!!! Invalid task number.\");","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"JJJEEERRR"},"content":" System.out.println(\" ____________________________________________________________\");","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"JJJEEERRR"},"content":" }","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"JJJEEERRR"},"content":" }","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"JJJEEERRR"},"content":"}","lastModifiedDate":"2025-03-01","isFullCredit":false}],"authorContributionMap":{"JJJEEERRR":193}},{"path":"src/main/java/Deadline.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"JJJEEERRR"},"content":"public class Deadline extends Task {","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"JJJEEERRR"},"content":" protected String by;","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"JJJEEERRR"},"content":"","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"JJJEEERRR"},"content":" public Deadline(String description, String by) {","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"JJJEEERRR"},"content":" super(description);","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"JJJEEERRR"},"content":" this.by \u003d by;","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"JJJEEERRR"},"content":" }","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"JJJEEERRR"},"content":"","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"JJJEEERRR"},"content":" @Override","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"JJJEEERRR"},"content":" public String toString() {","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"JJJEEERRR"},"content":" return \"[D]\" + super.toString() + \" (by: \" + by + \")\";","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"JJJEEERRR"},"content":" }","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"JJJEEERRR"},"content":"}","lastModifiedDate":"2025-03-02","isFullCredit":false}],"authorContributionMap":{"JJJEEERRR":13}},{"path":"src/main/java/Event.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"JJJEEERRR"},"content":"public class Event extends Task {","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"JJJEEERRR"},"content":" protected String from;","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"JJJEEERRR"},"content":" protected String to;","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"JJJEEERRR"},"content":"","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"JJJEEERRR"},"content":" public Event(String description, String from, String to) {","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"JJJEEERRR"},"content":" super(description);","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"JJJEEERRR"},"content":" this.from \u003d from;","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"JJJEEERRR"},"content":" this.to \u003d to;","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"JJJEEERRR"},"content":" }","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"JJJEEERRR"},"content":"","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"JJJEEERRR"},"content":" @Override","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"JJJEEERRR"},"content":" public String toString() {","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"JJJEEERRR"},"content":" return \"[E]\" + super.toString() + \" (from: \" + from + \" to: \" + to + \")\";","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"JJJEEERRR"},"content":" }","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"JJJEEERRR"},"content":"}","lastModifiedDate":"2025-03-02","isFullCredit":false}],"authorContributionMap":{"JJJEEERRR":15}},{"path":"src/main/java/Task.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"JJJEEERRR"},"content":"public class Task {","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"JJJEEERRR"},"content":" protected String description;","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"JJJEEERRR"},"content":" protected boolean isDone;","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"JJJEEERRR"},"content":"","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"JJJEEERRR"},"content":" public Task(String description) {","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"JJJEEERRR"},"content":" this.description \u003d description;","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"JJJEEERRR"},"content":" this.isDone \u003d false;","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"JJJEEERRR"},"content":" }","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"JJJEEERRR"},"content":"","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"JJJEEERRR"},"content":" public void markAsDone() {","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"JJJEEERRR"},"content":" this.isDone \u003d true;","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"JJJEEERRR"},"content":" }","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"JJJEEERRR"},"content":"","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"JJJEEERRR"},"content":" public void markAsUndone() {","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"JJJEEERRR"},"content":" this.isDone \u003d false;","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"JJJEEERRR"},"content":" }","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"JJJEEERRR"},"content":"","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"JJJEEERRR"},"content":" public String getStatusIcon() {","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"JJJEEERRR"},"content":" return (isDone ? \"[X]\" : \"[ ]\");","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"JJJEEERRR"},"content":" }","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"JJJEEERRR"},"content":"","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"JJJEEERRR"},"content":" @Override","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"JJJEEERRR"},"content":" public String toString() {","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"JJJEEERRR"},"content":" return getStatusIcon() + description;","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"JJJEEERRR"},"content":" }","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"JJJEEERRR"},"content":"}","lastModifiedDate":"2025-03-02","isFullCredit":false}],"authorContributionMap":{"JJJEEERRR":26}},{"path":"src/main/java/Todo.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"JJJEEERRR"},"content":"public class Todo extends Task {","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"JJJEEERRR"},"content":" public Todo(String description) {","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"JJJEEERRR"},"content":" super(description);","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"JJJEEERRR"},"content":" }","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"JJJEEERRR"},"content":"","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"JJJEEERRR"},"content":" @Override","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"JJJEEERRR"},"content":" public String toString() {","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"JJJEEERRR"},"content":" return \"[T]\" + super.toString();","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"JJJEEERRR"},"content":" }","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"JJJEEERRR"},"content":"}","lastModifiedDate":"2025-03-02","isFullCredit":false}],"authorContributionMap":{"JJJEEERRR":10}},{"path":"text-ui-test/input.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"JJJEEERRR"},"content":"todo borrow book","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"JJJEEERRR"},"content":"deadline return book /by Sunday","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"JJJEEERRR"},"content":"event Meeting /from 2024-12-31 1000 /to 2025-01-02 1130","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"JJJEEERRR"},"content":"list","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"JJJEEERRR"},"content":"mark 1","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"JJJEEERRR"},"content":"mark 2","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"JJJEEERRR"},"content":"list","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"JJJEEERRR"},"content":"unmark 2","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"JJJEEERRR"},"content":"list","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"JJJEEERRR"},"content":"blah","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"JJJEEERRR"},"content":"byt","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"JJJEEERRR"},"content":"bye","lastModifiedDate":"2025-03-02","isFullCredit":false}],"authorContributionMap":{"JJJEEERRR":12}},{"path":"text-ui-test/runtest.sh","fileType":"sh","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"#!/usr/bin/env bash","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"# Colors and formatting","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"RED\u003d\u0027\\033[0;31m\u0027","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"GREEN\u003d\u0027\\033[0;32m\u0027","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"BLUE\u003d\u0027\\033[0;34m\u0027","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"YELLOW\u003d\u0027\\033[1;33m\u0027","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"NC\u003d\u0027\\033[0m\u0027 # No Color","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"BOLD\u003d\u0027\\033[1m\u0027","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"# Print header","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"echo -e \"${BOLD}\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"JJJEEERRR"},"content":"echo -e \"${BLUE} Buddy Test Runner ${NC}\"","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"echo -e \"${BOLD}\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d${NC}\\n\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"# Print Java version for debugging","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"echo -e \"${BOLD}[1/4] Checking Java version...${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"java -version","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"# check if using Java 21","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"java_ver\u003d$(java -version 2\u003e\u00261 | grep -i version | head -n 1)","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"echo -e \"${BLUE}Detected Java version: ${NC}$java_ver\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"version\u003d$(echo $java_ver | sed -n \u0027s/.*version \"\\([0-9]*\\).*/\\1/p\u0027)","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"echo -e \"${BLUE}Parsed major version: ${NC}$version\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":"if [ \"$version\" !\u003d \"21\" ]; then","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" echo -e \"\\n${RED}╔════ ERROR ══════════════════════════════════╗${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" echo -e \"${RED}║ Please use Java 21 (current version: $version)${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" echo -e \"${RED}╚═════════════════════════════════════════════╝${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" exit 1","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":"fi","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":"echo -e \"${GREEN}✓ Java version check passed${NC}\\n\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":"# create bin directory if it doesn\u0027t exist","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":"echo -e \"${BOLD}[2/4] Setting up test environment...${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":"if [ ! -d \"../bin\" ]","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":"then","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" mkdir ../bin","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" echo -e \"${BLUE}Created bin directory${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":"fi","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":"# delete output from previous run","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":"if [ -e \"./ACTUAL.TXT\" ]","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":"then","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" rm ACTUAL.TXT","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" echo -e \"${BLUE}Cleaned up previous test outputs${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":"fi","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":"# compile the code into the bin folder, terminates if error occurred","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":"echo -e \"\\n${BOLD}[3/4] Compiling source files...${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":"if ! javac -cp ../src/main/java -Xlint:none -d ../bin ../src/main/java/*.java","lastModifiedDate":"2020-08-25","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":"then","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" echo -e \"\\n${RED}╔════ ERROR ══════════════════════════════════╗${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" echo -e \"${RED}║ BUILD FAILURE ║${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" echo -e \"${RED}╚═════════════════════════════════════════════╝${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" exit 1","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":"fi","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":"echo -e \"${GREEN}✓ Compilation successful${NC}\\n\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":"# run the program, feed commands from input.txt file and redirect the output to the ACTUAL.TXT","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":"echo -e \"${BOLD}[4/4] Running tests...${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"JJJEEERRR"},"content":"java -classpath ../bin Buddy \u003c input.txt \u003e ACTUAL.TXT","lastModifiedDate":"2025-03-02","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":"# convert to UNIX format","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":"cp EXPECTED.TXT EXPECTED-UNIX.TXT","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":"dos2unix ACTUAL.TXT EXPECTED-UNIX.TXT 2\u003e/dev/null","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":"# compare the output to the expected output","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":"diff ACTUAL.TXT EXPECTED-UNIX.TXT","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":"if [ $? -eq 0 ]","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":"then","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" echo -e \"\\n${GREEN}╔════ SUCCESS ════════════════════════════════╗${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" echo -e \"${GREEN}║ All tests passed ║${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" echo -e \"${GREEN}╚═════════════════════════════════════════════╝${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" exit 0","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":"else","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" echo -e \"\\n${RED}╔════ ERROR ══════════════════════════════════╗${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" echo -e \"${RED}║ Tests FAILED ║${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" echo -e \"${RED}╚═════════════════════════════════════════════╝${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" exit 1","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":"fi","lastModifiedDate":"2020-05-25","isFullCredit":false}],"authorContributionMap":{"JJJEEERRR":2,"-":81}}] diff --git a/JJJEEERRR_ip_master/commits.json b/JJJEEERRR_ip_master/commits.json new file mode 100644 index 000000000..b5829ca93 --- /dev/null +++ b/JJJEEERRR_ip_master/commits.json @@ -0,0 +1 @@ +{"authorDailyContributionsMap":{"JJJEEERRR":[{"date":"2025-03-01","commitResults":[{"hash":"799d41f73b4e529755d4ff895bce9eda462cea87","isMergeCommit":false,"messageTitle":"Level-0: Rename Duke.java to Buddy.java and update .gitignore","messageBody":"","tags":["Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":11,"deletions":10}}},{"hash":"4c865092331463c8a74c5080ee6b5389e1b18a2b","isMergeCommit":false,"messageTitle":"Level-1: Achiving Echo amd Bye","messageBody":"","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":20,"deletions":3}}},{"hash":"78cd557a2f521f2e403f54e0559a16a55670adc0","isMergeCommit":false,"messageTitle":"Level-2: Add, List","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":33,"deletions":2}}}]},{"date":"2025-03-02","commitResults":[{"hash":"94a6e363deaaad654e698c7121a415e382993e3b","isMergeCommit":false,"messageTitle":"Level-3: Mark as Done","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":57,"deletions":4}}},{"hash":"88c836a3a403947e7b7b3e494625aa8b6521194d","isMergeCommit":false,"messageTitle":"Level-4: Implement Todo, Deadline, Event tasks","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":120,"deletions":36}}},{"hash":"2eaf834e153488c5001cae34b869b400e57c2035","isMergeCommit":false,"messageTitle":"Automated Text UI Testing","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":12,"deletions":0},"java":{"insertions":7,"deletions":5},"sh":{"insertions":2,"deletions":2}}},{"hash":"e3255c81904b6291cd2293c878d6de75f3340cfa","isMergeCommit":false,"messageTitle":"Level-5: Implement error handling","messageBody":"","tags":["Level-5"],"fileTypesAndContributionMap":{"java":{"insertions":31,"deletions":3}}},{"hash":"caf292df1ad6981a423808d77be374885e3c9981","isMergeCommit":false,"messageTitle":"Level-6: Implement delete task","messageBody":"","tags":["Level-6"],"fileTypesAndContributionMap":{"java":{"insertions":31,"deletions":0}}}]}]},"authorFileTypeContributionMap":{"JJJEEERRR":{"java":257,"md":0,"fxml":0,"sh":2,"bat":0,"gradle":0,"txt":12}},"authorContributionVariance":{"JJJEEERRR":2463.9495},"authorDisplayNameMap":{"JJJEEERRR":"ZHONG JINYANG"}} diff --git a/Jen999_ip_master/authorship.json b/Jen999_ip_master/authorship.json new file mode 100644 index 000000000..d50e265ce --- /dev/null +++ b/Jen999_ip_master/authorship.json @@ -0,0 +1 @@ +[{"path":"README.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"Jen999"},"content":"# DaveTheBrave","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"Jen999"},"content":"With reference to the the Duke Project se-edu/duke","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"Jen999"},"content":"\u003e \"Embrace technological advancement, don\u0027t fear it.\" - Dave, the brave 🦸🏻‍♂️","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"Jen999"},"content":"Your personal companion to ensure you never have to worry about forgetting a task ever again.","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"## Setting up in IntelliJ","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"Prerequisites: JDK 21.","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"1. Open IntelliJ (if you are not in the welcome screen, click `File` \u003e `Close Project` to close the existing project first)","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"1. Open the project into IntelliJ as follows:","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":" 1. Click `Open`.","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" 1. Select the project directory, and click `OK`.","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":" 1. If there are any further prompts, accept the defaults.","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"1. Configure the project to use **JDK 21** (not other versions) as explained in [here](https://www.jetbrains.com/help/idea/sdk.html#set-up-jdk).\u003cbr\u003e","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" In the same dialog, set the **Project language level** field to the `SDK default` option.","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"Jen999"},"content":"The Main class is located in the `src/main/java/davethebrave/DaveTheBrave` file in the original repository [here](https://github.com/Jen999/ip). ","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"Jen999"},"content":"## Functionalities","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"Jen999"},"content":"**✔️ Manage your own list**","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"Jen999"},"content":"1. Add tasksFind tasks","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"Jen999"},"content":"2. Delete tasks","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"Jen999"},"content":"3. List all tasks","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"Jen999"},"content":"4. Find tasks","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"Jen999"},"content":"**✔️ Variety of task types**","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"Jen999"},"content":"1. To-Do tasks","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"Jen999"},"content":"2. Deadline tasks with end date (deadline)","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"Jen999"},"content":"3. Event tasks with start and end date","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"Jen999"},"content":"**✔️ Marking feature**","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"Jen999"},"content":"1. Mark tasks as done","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"Jen999"},"content":"2. Unmark tasks as undone","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"Jen999"},"content":"## Component Details","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"Jen999"},"content":"#### Task Manager: ","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"Jen999"},"content":"- Handles all methods related to the list of tasks.","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"Jen999"},"content":"#### Task","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"Jen999"},"content":"- Handles all methods related to each individual task.","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"Jen999"},"content":"#### Parser","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"Jen999"},"content":"- Parses user commands into Task Manager operations to execute and generate output.","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"Jen999"},"content":"#### Storage","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"Jen999"},"content":"- Handles the storing and loading of the list of task from local file.","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"Jen999"},"content":"#### UI","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"Jen999"},"content":"- Handles the formatting of basic display messages to be called by Task Manager and Main classes.","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"Jen999"},"content":"## Feature Updates","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"Jen999"},"content":"- [x] Basic management of tasks","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"Jen999"},"content":"- [x] Add \"find/search\" feature","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"Jen999"},"content":"- [ ] Enhancing UI","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"Jen999"},"content":"- [ ] Add \"categorizing/filtering\" feature","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"Jen999"},"content":"## Starting out with DaveTheBrave","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"Jen999"},"content":"After you\u0027ve had your introductions (\"hi\", \"hey\", \"hello\", \"yo\"), you can start adding tasks with:","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":"```","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"Jen999"},"content":"// Add a To-Do task","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"Jen999"},"content":"todo Buy groceries","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2025-01-04","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"Jen999"},"content":"// Add a Deadline task","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"Jen999"},"content":"deadline Complete CS2103DE iP Week 5 Tasks /by 2025-02-14","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"Jen999"},"content":"// View your personal list","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"Jen999"},"content":"list","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"Jen999"},"content":"// Mark a task by its task number once you\u0027ve completed it","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"Jen999"},"content":"mark 1","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"Jen999"},"content":"// Find your task","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"Jen999"},"content":"find CS2103DE","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"Jen999"},"content":"// Call it a day","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"Jen999"},"content":"bye","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":"```","lastModifiedDate":"2025-01-09","isFullCredit":false}],"authorContributionMap":{"Jen999":55,"-":20}},{"path":"build.gradle","fileType":"gradle","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"plugins {","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":" id \u0027java\u0027","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" id \u0027application\u0027","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"Jen999"},"content":" id \u0027org.openjfx.javafxplugin\u0027 version \u00270.1.0\u0027","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":" id \u0027com.github.johnrengelman.shadow\u0027 version \u00277.1.2\u0027","lastModifiedDate":"2023-08-05","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"repositories {","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" mavenCentral()","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"dependencies {","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":" testImplementation group: \u0027org.junit.jupiter\u0027, name: \u0027junit-jupiter-api\u0027, version: \u00275.10.0\u0027","lastModifiedDate":"2023-08-05","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" testRuntimeOnly group: \u0027org.junit.jupiter\u0027, name: \u0027junit-jupiter-engine\u0027, version: \u00275.10.0\u0027","lastModifiedDate":"2023-08-05","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"Jen999"},"content":"javafx {","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"Jen999"},"content":" version \u003d \u002721.0.1\u0027","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"Jen999"},"content":" modules \u003d [\u0027javafx.controls\u0027, \u0027javafx.fxml\u0027, \u0027javafx.graphics\u0027]","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"application {","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"Jen999"},"content":" mainClass.set(\"davethebrave.Launcher\")","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"shadowJar {","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"Jen999"},"content":" archiveBaseName \u003d \"davethebrave\"","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" archiveClassifier \u003d null","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"Jen999"},"content":" archiveFileName \u003d \u0027davethebrave.jar\u0027","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"Jen999"},"content":"java {","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"Jen999"},"content":" sourceCompatibility \u003d JavaVersion.VERSION_21","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"Jen999"},"content":" targetCompatibility \u003d JavaVersion.VERSION_21","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"Jen999"},"content":"}","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"Jen999"},"content":"tasks.withType(JavaCompile) {","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"Jen999"},"content":" options.encoding \u003d \u0027UTF-8\u0027","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"Jen999"},"content":"}","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"Jen999"},"content":"test {","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"Jen999"},"content":" useJUnitPlatform()","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"Jen999"},"content":"}","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":"run {","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" standardInput \u003d System.in","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25","isFullCredit":false}],"authorContributionMap":{"Jen999":20,"-":27}},{"path":"data/davethebrave.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"Jen999"},"content":"D | [X] | CS2103DE iP W7 Tasks | 2025-03-07","lastModifiedDate":"2025-02-25","isFullCredit":false}],"authorContributionMap":{"Jen999":1}},{"path":"data/test.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"Jen999"},"content":"T | [ ] | Read a book","lastModifiedDate":"2025-02-12","isFullCredit":false}],"authorContributionMap":{"Jen999":1}},{"path":"docs/README.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"Jen999"},"content":"# DaveTheBrave User Guide","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2019-07-29","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"Jen999"},"content":"DaveTheBrave is a **desktop chatbot** for managing your tasks amidst your busy schedule, ","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"Jen999"},"content":"functioning as your very own personal assistant keeping track of all of your tasks anytime and anywhere.","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"Jen999"},"content":"- [Quick Start](#quick-start)","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"Jen999"},"content":"- [Features](#features)","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"Jen999"},"content":" - [View your tasks : `list`](#view-your-tasks--list)","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"Jen999"},"content":" - [Adding tasks : `todo / deadline / event`](#adding-tasks--todo--deadline--event)","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"Jen999"},"content":" - [Deleting tasks : `delete`](#deleting-tasks--delete)","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"Jen999"},"content":" - [Marking tasks as done : `mark`](#marking-tasks-as-done--mark)","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"Jen999"},"content":" - [Unmarking tasks as not done : `unmark`](#unmarking-tasks-as-not-done--unmark)","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"Jen999"},"content":" - [Find tasks by keyword : `find`](#find-tasks-by-keyword--find)","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"Jen999"},"content":" - [Display deadline tasks chronologically : `show deadline`](#find-tasks-by-keyword--find)","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"Jen999"},"content":" - [Any other commands](#any-other-commands)","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"Jen999"},"content":"- [FAQ](#faq)","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"Jen999"},"content":"## Quick Start","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"Jen999"},"content":"1. Ensure you have Java `17` or above installed in your Computer.","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"Jen999"},"content":"2. Download the latest .jar file from the [repository releases](https://github.com/Jen999/ip/releases).","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"Jen999"},"content":"3. Copy the file to the folder you want to use as the _home folder_ for DaveTheBrave. ","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"Jen999"},"content":"4. Open a command terminal, `cd` into the folder of your jar file, and use the `java -jar davethebrave.jar` command to run the application.","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"Jen999"},"content":"5. A GUI similar to the below should appear in a few seconds, and you can start chatting away about your tasks!","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"Jen999"},"content":"\u003cimg src\u003d\"Ui.png\" alt\u003d\"DaveTheBrave\" width\u003d\"500\"\u003e","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"Jen999"},"content":"## Features","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"Jen999"},"content":"### View your tasks : `list`","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"Jen999"},"content":"View all your tasks in a list with a single command.","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"Jen999"},"content":"`list`","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"Jen999"},"content":"### Adding tasks : `todo / deadline / event`","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"Jen999"},"content":"There are 3 different types of tasks you can add:","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"Jen999"},"content":"- \"todo\": To-do task without any deadlines","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"Jen999"},"content":"`todo \u003cTASK_NAME\u003e`","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"Jen999"},"content":"- \"deadline\": Task with a deadline to be set","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"Jen999"},"content":"`deadline \u003cTASK_NAME\u003e /by \u003cYYYY-MM-DD\u003e`","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"Jen999"},"content":"- \"event\": Event task with a start and end date","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"Jen999"},"content":"`event \u003cTASK_NAME\u003e /start \u003cDATE/TIME\u003e /end \u003cDATE/TIME\u003e`","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"Jen999"},"content":"### Deleting tasks : `delete`","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"Jen999"},"content":"Tasks can be deleted by their index numbers.","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"Jen999"},"content":"`","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"Jen999"},"content":"// Delete first task (1.) of the list","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"Jen999"},"content":"delete 1","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"Jen999"},"content":"`","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"Jen999"},"content":"### Marking tasks as done : `mark`","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"Jen999"},"content":"All types of tasks can be marked by their index numbers when done.","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"Jen999"},"content":"`","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"Jen999"},"content":"// Mark fifth task (5.) as done","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"Jen999"},"content":"mark 5","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"Jen999"},"content":"`","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"Jen999"},"content":"### Unmarking tasks as not done : `unmark`","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"Jen999"},"content":"All types of tasks can be unmark by their index numbers.","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"Jen999"},"content":"`","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"Jen999"},"content":"// Unmark third task (3.) as undone","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"Jen999"},"content":"unmark 3","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"Jen999"},"content":"`","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"Jen999"},"content":"### Find tasks by keyword : `find`","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"Jen999"},"content":"Search for any tasks with a keyword.","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"Jen999"},"content":"`","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"Jen999"},"content":"// Find task with the \u0027exam\u0027 keyword","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"Jen999"},"content":"find exam","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"Jen999"},"content":"`","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"Jen999"},"content":"### Display deadline tasks chronologically : `show deadline`","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"Jen999"},"content":"View all your urgent deadline tasks in chronological order.","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"Jen999"},"content":"`show deadline`","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2019-07-29","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"Jen999"},"content":"### Any other commands","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"Jen999"},"content":"If you forget the commands to communicate with DaveTheBrave, fret not!\\","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"Jen999"},"content":"Any other commands that are not listed above will trigger a usage display of the usable commands.","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"Jen999"},"content":"## FAQ","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"Jen999"},"content":"**Q:** How do I transfer my task list to another device?\\","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"Jen999"},"content":"**A:** Install the application in the other device and transfer or replace the data file `data/davethebrave.txt` ","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"Jen999"},"content":"with that of your DaveTheBrave in your previous device.","lastModifiedDate":"2025-02-25","isFullCredit":false}],"authorContributionMap":{"Jen999":67,"-":14}},{"path":"src/main/java/davethebrave/DaveTheBrave.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"Jen999"},"content":"package davethebrave;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"Jen999"},"content":"import davethebrave.command.Command;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"Jen999"},"content":"import davethebrave.ui.Ui;","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"Jen999"},"content":"import davethebrave.task.TaskManager;","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"Jen999"},"content":"import davethebrave.storage.Storage;","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"Jen999"},"content":"import davethebrave.parser.Parser;","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"Jen999"},"content":"import java.util.Arrays;","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"Jen999"},"content":"import java.util.List;","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"Jen999"},"content":"/**","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"Jen999"},"content":" * Handles the main logic of running the program and scanning user input","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"Jen999"},"content":" */","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"Jen999"},"content":"public class DaveTheBrave {","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"Jen999"},"content":" private Storage storage;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"Jen999"},"content":" private TaskManager taskManager;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"Jen999"},"content":" private Ui ui;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"Jen999"},"content":" private String commandType;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"Jen999"},"content":" public DaveTheBrave(String filePath) {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"Jen999"},"content":" ui \u003d new Ui();","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"Jen999"},"content":" storage \u003d new Storage(filePath);","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"Jen999"},"content":" taskManager \u003d new TaskManager(storage.loadTasksFromFile(), storage, ui);","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"Jen999"},"content":" public static void main(String[] args) {","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"Jen999"},"content":" System.out.println(\"Hello!\");","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"Jen999"},"content":" public String getResponse(String input) {","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"Jen999"},"content":" List\u003cString\u003e greetings \u003d Arrays.asList(\"hello\", \"hi\", \"hey\", \"yo\");","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"Jen999"},"content":" List\u003cString\u003e goodbyes \u003d Arrays.asList(\"bye\", \"goodbye\");","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"Jen999"},"content":" /*","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"Jen999"},"content":" Exit when user types the command \u0027bye\u0027","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"Jen999"},"content":" */","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"Jen999"},"content":" if (goodbyes.contains(input.toLowerCase())) {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"Jen999"},"content":" commandType \u003d \"GoodbyeCommand\";","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"Jen999"},"content":" return ui.showGoodbye();","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"Jen999"},"content":" /*","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"Jen999"},"content":" Additional greetings","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"Jen999"},"content":" */","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"Jen999"},"content":" if (greetings.contains(input.toLowerCase())) {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"Jen999"},"content":" commandType \u003d \"GreetingCommand\";","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"Jen999"},"content":" return ui.respondHello();","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"Jen999"},"content":" /*","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"Jen999"},"content":" Cheer","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"Jen999"},"content":" */","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"Jen999"},"content":" if (input.equalsIgnoreCase(\"cheer\")) {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"Jen999"},"content":" commandType \u003d \"CheerCommand\";","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"Jen999"},"content":" return ui.showCheer();","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"Jen999"},"content":" try {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"Jen999"},"content":" Command c \u003d Parser.parseCommand(input, taskManager);","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"Jen999"},"content":" commandType \u003d c.getClass().getSimpleName(); // Store the command type","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"Jen999"},"content":" return c.execute();","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"Jen999"},"content":" } catch (Exception e) {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"Jen999"},"content":" return \"Error: \" + e.getMessage();","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"Jen999"},"content":" public String getCommandType() {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"Jen999"},"content":" return commandType;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"Jen999"},"content":"}","lastModifiedDate":"2025-02-05","isFullCredit":false}],"authorContributionMap":{"Jen999":70}},{"path":"src/main/java/davethebrave/Launcher.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"Jen999"},"content":"package davethebrave;","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"Jen999"},"content":"import javafx.application.Application;","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"Jen999"},"content":"/**","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"Jen999"},"content":" * Launcher for main application","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"Jen999"},"content":" */","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"Jen999"},"content":"public class Launcher {","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"Jen999"},"content":" public static void main(String[] args) {","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"Jen999"},"content":" Application.launch(Main.class, args);","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"Jen999"},"content":"}","lastModifiedDate":"2025-02-11","isFullCredit":false}],"authorContributionMap":{"Jen999":12}},{"path":"src/main/java/davethebrave/Main.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"Jen999"},"content":"package davethebrave;","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"Jen999"},"content":"import javafx.fxml.FXMLLoader;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"Jen999"},"content":"import javafx.application.Application;","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"Jen999"},"content":"import javafx.scene.Scene;","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"Jen999"},"content":"import javafx.scene.layout.AnchorPane;","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"Jen999"},"content":"import javafx.stage.Stage;","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"Jen999"},"content":"import java.io.IOException;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"Jen999"},"content":"/**","lastModifiedDate":"2025-02-27","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"Jen999"},"content":" * Main function for handling application","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"Jen999"},"content":" */","lastModifiedDate":"2025-02-27","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"Jen999"},"content":"public class Main extends Application {","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"Jen999"},"content":" /*","lastModifiedDate":"2025-02-27","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"Jen999"},"content":" Store task list data from past uses","lastModifiedDate":"2025-02-27","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"Jen999"},"content":" */","lastModifiedDate":"2025-02-27","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"Jen999"},"content":" private DaveTheBrave dave \u003d new DaveTheBrave(\"data/davethebrave.txt\");","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"Jen999"},"content":" @Override","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"Jen999"},"content":" public void start(Stage stage) {","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"Jen999"},"content":" try {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"Jen999"},"content":" FXMLLoader fxmlLoader \u003d new FXMLLoader(Main.class.getResource(\"/view/MainWindow.fxml\"));","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"Jen999"},"content":" AnchorPane ap \u003d fxmlLoader.load();","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"Jen999"},"content":" Scene scene \u003d new Scene(ap);","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"Jen999"},"content":" stage.setTitle(\"DaveTheBrave\");","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"Jen999"},"content":" stage.setScene(scene);","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"Jen999"},"content":" stage.setMinHeight(220);","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"Jen999"},"content":" stage.setMinWidth(417);","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"Jen999"},"content":" fxmlLoader.\u003cMainWindow\u003egetController().setDave(dave); // inject the Dave instance","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"Jen999"},"content":" stage.show();","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"Jen999"},"content":" } catch (IOException e) {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"Jen999"},"content":" e.printStackTrace();","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"Jen999"},"content":"}","lastModifiedDate":"2025-02-11","isFullCredit":false}],"authorContributionMap":{"Jen999":37}},{"path":"src/main/java/davethebrave/MainWindow.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"Jen999"},"content":"package davethebrave;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"Jen999"},"content":"import davethebrave.ui.DialogBox;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"Jen999"},"content":"import javafx.fxml.FXML;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"Jen999"},"content":"import javafx.scene.control.Button;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"Jen999"},"content":"import javafx.scene.control.ScrollPane;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"Jen999"},"content":"import javafx.scene.control.TextField;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"Jen999"},"content":"import javafx.scene.image.Image;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"Jen999"},"content":"import javafx.scene.layout.AnchorPane;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"Jen999"},"content":"import javafx.scene.layout.VBox;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"Jen999"},"content":"/**","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"Jen999"},"content":" * Controller for the main GUI.","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"Jen999"},"content":" */","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"Jen999"},"content":"public class MainWindow extends AnchorPane {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"Jen999"},"content":" @FXML","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"Jen999"},"content":" private ScrollPane scrollPane;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"Jen999"},"content":" @FXML","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"Jen999"},"content":" private VBox dialogContainer;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"Jen999"},"content":" @FXML","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"Jen999"},"content":" private TextField userInput;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"Jen999"},"content":" @FXML","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"Jen999"},"content":" private Button sendButton;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"Jen999"},"content":" private DaveTheBrave dave;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"Jen999"},"content":" private Image userImage \u003d new Image(this.getClass().getResourceAsStream(\"/images/user.png\"));","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"Jen999"},"content":" private Image daveImage \u003d new Image(this.getClass().getResourceAsStream(\"/images/dave.jpg\"));","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"Jen999"},"content":" @FXML","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"Jen999"},"content":" public void initialize() {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"Jen999"},"content":" scrollPane.vvalueProperty().bind(dialogContainer.heightProperty());","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"Jen999"},"content":" /** Injects the Dave instance */","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"Jen999"},"content":" public void setDave(DaveTheBrave d) {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"Jen999"},"content":" dave \u003d d;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"Jen999"},"content":" /**","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"Jen999"},"content":" * Creates two dialog boxes, one echoing user input and the other containing Dave\u0027s reply and then appends them to","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"Jen999"},"content":" * the dialog container. Clears the user input after processing.","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"Jen999"},"content":" */","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"Jen999"},"content":" @FXML","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"Jen999"},"content":" private void handleUserInput() {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"Jen999"},"content":" String input \u003d userInput.getText();","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"Jen999"},"content":" String response \u003d dave.getResponse(input);","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"Jen999"},"content":" String commandType \u003d dave.getCommandType();","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"Jen999"},"content":" dialogContainer.getChildren().addAll(","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"Jen999"},"content":" DialogBox.getUserDialog(input, userImage),","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"Jen999"},"content":" DialogBox.getDaveDialog(response, daveImage, commandType)","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"Jen999"},"content":" );","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"Jen999"},"content":" userInput.clear();","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"Jen999"},"content":"}","lastModifiedDate":"2025-02-12","isFullCredit":false}],"authorContributionMap":{"Jen999":55}},{"path":"src/main/java/davethebrave/command/AddCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"Jen999"},"content":"package davethebrave.command;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"Jen999"},"content":"import davethebrave.task.TaskManager;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"Jen999"},"content":"/**","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"Jen999"},"content":" * Base command for adding tasks \"Todo\", \"Deadline\", and \"Event\"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"Jen999"},"content":" */","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"Jen999"},"content":"public class AddCommand implements Command {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"Jen999"},"content":" private TaskManager taskManager;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"Jen999"},"content":" private String type;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"Jen999"},"content":" private String description;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"Jen999"},"content":" private String details;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"Jen999"},"content":" public AddCommand(TaskManager taskManager, String type, String description) {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"Jen999"},"content":" this.taskManager \u003d taskManager;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"Jen999"},"content":" this.type \u003d type;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"Jen999"},"content":" this.description \u003d description;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"Jen999"},"content":" this.details \u003d null;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"Jen999"},"content":" public AddCommand(TaskManager taskManager, String type, String description, String details) {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"Jen999"},"content":" this.taskManager \u003d taskManager;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"Jen999"},"content":" this.type \u003d type;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"Jen999"},"content":" this.description \u003d description;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"Jen999"},"content":" this.details \u003d details;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"Jen999"},"content":" @Override","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"Jen999"},"content":" public String execute() {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"Jen999"},"content":" return taskManager.addTask(type, description, details);","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"Jen999"},"content":"}","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false}],"authorContributionMap":{"Jen999":33}},{"path":"src/main/java/davethebrave/command/ChangeMarkCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"Jen999"},"content":"package davethebrave.command;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"Jen999"},"content":"import davethebrave.task.TaskManager;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"Jen999"},"content":"/**","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"Jen999"},"content":" * Base command for toggling task marker","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"Jen999"},"content":" */","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"Jen999"},"content":"public class ChangeMarkCommand implements Command {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"Jen999"},"content":" private TaskManager taskManager;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"Jen999"},"content":" private String taskNumber;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"Jen999"},"content":" private boolean mark;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"Jen999"},"content":" public ChangeMarkCommand(TaskManager taskManager, String taskNumber, boolean mark) {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"Jen999"},"content":" this.taskManager \u003d taskManager;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"Jen999"},"content":" this.taskNumber \u003d taskNumber;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"Jen999"},"content":" this.mark \u003d mark;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"Jen999"},"content":" @Override","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"Jen999"},"content":" public String execute() {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"Jen999"},"content":" return mark ? taskManager.markTask(taskNumber) : taskManager.unmarkTask(taskNumber);","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"Jen999"},"content":"}","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false}],"authorContributionMap":{"Jen999":24}},{"path":"src/main/java/davethebrave/command/Command.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"Jen999"},"content":"package davethebrave.command;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"Jen999"},"content":"public interface Command {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"Jen999"},"content":" String execute();","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"Jen999"},"content":"}","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false}],"authorContributionMap":{"Jen999":6}},{"path":"src/main/java/davethebrave/command/DeleteCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"Jen999"},"content":"package davethebrave.command;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"Jen999"},"content":"import davethebrave.task.TaskManager;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"Jen999"},"content":"/**","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"Jen999"},"content":" * Base command for deleting tasks","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"Jen999"},"content":" */","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"Jen999"},"content":"public class DeleteCommand implements Command {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"Jen999"},"content":" private TaskManager taskManager;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"Jen999"},"content":" private String taskNumber;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"Jen999"},"content":" public DeleteCommand(TaskManager taskManager, String taskNumber) {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"Jen999"},"content":" this.taskManager \u003d taskManager;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"Jen999"},"content":" this.taskNumber \u003d taskNumber;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"Jen999"},"content":" @Override","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"Jen999"},"content":" public String execute() {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"Jen999"},"content":" return taskManager.deleteTask(taskNumber);","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"Jen999"},"content":"}","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false}],"authorContributionMap":{"Jen999":22}},{"path":"src/main/java/davethebrave/command/FindCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"Jen999"},"content":"package davethebrave.command;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"Jen999"},"content":"import davethebrave.task.TaskManager;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"Jen999"},"content":"/**","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"Jen999"},"content":" * Base command for finding tasks based on keyword","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"Jen999"},"content":" */","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"Jen999"},"content":"public class FindCommand implements Command {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"Jen999"},"content":" private TaskManager taskManager;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"Jen999"},"content":" private String keyword;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"Jen999"},"content":" public FindCommand(TaskManager taskManager, String keyword) {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"Jen999"},"content":" this.taskManager \u003d taskManager;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"Jen999"},"content":" this.keyword \u003d keyword;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"Jen999"},"content":" @Override","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"Jen999"},"content":" public String execute() {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"Jen999"},"content":" return taskManager.findTask(keyword);","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"Jen999"},"content":"}","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false}],"authorContributionMap":{"Jen999":23}},{"path":"src/main/java/davethebrave/command/InvalidCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"Jen999"},"content":"package davethebrave.command;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"Jen999"},"content":"/**","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"Jen999"},"content":" * Base command for handling invalid commands","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"Jen999"},"content":" */","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"Jen999"},"content":"public class InvalidCommand implements Command {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"Jen999"},"content":" private String message;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"Jen999"},"content":" public InvalidCommand(String message) {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"Jen999"},"content":" this.message \u003d message;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"Jen999"},"content":" @Override","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"Jen999"},"content":" public String execute() {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"Jen999"},"content":" return message;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"Jen999"},"content":"}","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false}],"authorContributionMap":{"Jen999":18}},{"path":"src/main/java/davethebrave/command/ListCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"Jen999"},"content":"package davethebrave.command;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"Jen999"},"content":"import davethebrave.task.TaskManager;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"Jen999"},"content":"/**","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"Jen999"},"content":" * Base command for displaying list information to user","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"Jen999"},"content":" */","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"Jen999"},"content":"public class ListCommand implements Command {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"Jen999"},"content":" private TaskManager taskManager;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"Jen999"},"content":" public ListCommand(TaskManager taskManager) {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"Jen999"},"content":" this.taskManager \u003d taskManager;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"Jen999"},"content":" @Override","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"Jen999"},"content":" public String execute() {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"Jen999"},"content":" return taskManager.listTasks();","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"Jen999"},"content":"}","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false}],"authorContributionMap":{"Jen999":20}},{"path":"src/main/java/davethebrave/command/ShowDeadlinesCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"Jen999"},"content":"package davethebrave.command;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"Jen999"},"content":"import davethebrave.task.TaskManager;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"Jen999"},"content":"/**","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"Jen999"},"content":" * Base command for displaying deadline tasks chronologically","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"Jen999"},"content":" */","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"Jen999"},"content":"public class ShowDeadlinesCommand implements Command {","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"Jen999"},"content":" private TaskManager taskManager;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"Jen999"},"content":" public ShowDeadlinesCommand(TaskManager taskManager) {","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"Jen999"},"content":" this.taskManager \u003d taskManager;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"Jen999"},"content":" @Override","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"Jen999"},"content":" public String execute() {","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"Jen999"},"content":" return taskManager.showDeadlines();","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"Jen999"},"content":"}","lastModifiedDate":"2025-02-22","isFullCredit":false}],"authorContributionMap":{"Jen999":19}},{"path":"src/main/java/davethebrave/parser/Parser.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"Jen999"},"content":"package davethebrave.parser;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"Jen999"},"content":"import davethebrave.command.Command;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"Jen999"},"content":"import davethebrave.command.AddCommand;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"Jen999"},"content":"import davethebrave.command.ChangeMarkCommand;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"Jen999"},"content":"import davethebrave.command.DeleteCommand;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"Jen999"},"content":"import davethebrave.command.FindCommand;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"Jen999"},"content":"import davethebrave.command.InvalidCommand;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"Jen999"},"content":"import davethebrave.command.ListCommand;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"Jen999"},"content":"import davethebrave.command.ShowDeadlinesCommand;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"Jen999"},"content":"import davethebrave.task.TaskManager;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"Jen999"},"content":"/**","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"Jen999"},"content":" * Parses user commands into TaskManager operations to execute and generate output","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"Jen999"},"content":" */","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"Jen999"},"content":"public class Parser {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"Jen999"},"content":" public static Command parseCommand(String command, TaskManager taskManager) {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"Jen999"},"content":" /*","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"Jen999"},"content":" Ensures that command is not null or empty","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"Jen999"},"content":" */","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"Jen999"},"content":" assert command !\u003d null \u0026\u0026 !command.trim().isEmpty() : \"Command cannot be null or empty\";","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"Jen999"},"content":" /*","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"Jen999"},"content":" Display list when requested","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"Jen999"},"content":" */","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"Jen999"},"content":" if (command.equalsIgnoreCase(\"list\")) {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"Jen999"},"content":" return new ListCommand(taskManager);","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"Jen999"},"content":" else if (command.toLowerCase().startsWith(\"find \")) {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"Jen999"},"content":" String keyword \u003d command.substring(5).trim();","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"Jen999"},"content":" return keyword.isEmpty() ? new InvalidCommand(\"Invalid format. Use: find \u003ckeyword\u003e\") : new FindCommand(taskManager, keyword);","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"Jen999"},"content":" /*","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"Jen999"},"content":" Add To-Do tasks","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"Jen999"},"content":" */","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"Jen999"},"content":" else if (command.toLowerCase().startsWith(\"todo \")) {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"Jen999"},"content":" String todoInfo \u003d command.substring(5).trim();","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"Jen999"},"content":" return new AddCommand(taskManager, \"T\", todoInfo);","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"Jen999"},"content":" /*","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"Jen999"},"content":" Add Deadline tasks","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"Jen999"},"content":" */","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"Jen999"},"content":" else if (command.toLowerCase().startsWith(\"deadline \")) {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"Jen999"},"content":" String[] deadlineInfo \u003d command.substring(9).split(\" /by\", 2);","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"Jen999"},"content":" if (deadlineInfo.length \u003d\u003d 2) {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"Jen999"},"content":" return new AddCommand(taskManager, \"D\", deadlineInfo[0].trim(), deadlineInfo[1].trim());","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"Jen999"},"content":" } else {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"Jen999"},"content":" return new InvalidCommand(\"Invalid format. Use: deadline \u003ctask\u003e /by yyyy-MM-dd\");","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"Jen999"},"content":" /*","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"Jen999"},"content":" Add Event tasks","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"Jen999"},"content":" */","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"Jen999"},"content":" else if (command.toLowerCase().startsWith(\"event \")) {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"Jen999"},"content":" String[] eventInfo \u003d command.substring(6).split(\" /start | /end \", 3);","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"Jen999"},"content":" if (eventInfo.length \u003d\u003d 3) {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"Jen999"},"content":" return new AddCommand(taskManager, \"E\", eventInfo[0].trim(), \"(start: \" + eventInfo[1].trim() + \", end: \" + eventInfo[2].trim() + \")\");","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"Jen999"},"content":" } else {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"Jen999"},"content":" return new InvalidCommand(\"Invalid format. Use: event \u003ctask\u003e /start \u003cstart date/time\u003e /end \u003cend date/time\u003e\");","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"Jen999"},"content":" /*","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"Jen999"},"content":" Delete tasks","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"Jen999"},"content":" */","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"Jen999"},"content":" else if (command.toLowerCase().startsWith(\"delete \")) {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"Jen999"},"content":" String taskNumber \u003d command.substring(7).trim();","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"Jen999"},"content":" return new DeleteCommand(taskManager, taskNumber);","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"Jen999"},"content":" /*","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"Jen999"},"content":" Mark tasks as done","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"Jen999"},"content":" */","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"Jen999"},"content":" else if (command.toLowerCase().startsWith(\"mark \")) {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"Jen999"},"content":" String taskNumber \u003d command.substring(5).trim();","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"Jen999"},"content":" return new ChangeMarkCommand(taskManager, taskNumber, true);","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"Jen999"},"content":" /*","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"Jen999"},"content":" Unmark tasks as not done","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"Jen999"},"content":" */","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"Jen999"},"content":" else if (command.toLowerCase().startsWith(\"unmark \")) {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"Jen999"},"content":" String taskNumber \u003d command.substring(7).trim();","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"Jen999"},"content":" return new ChangeMarkCommand(taskManager, taskNumber, false);","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"Jen999"},"content":" /*","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"Jen999"},"content":" Show deadline tasks in chronological order","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"Jen999"},"content":" */","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"Jen999"},"content":" else if (command.toLowerCase().startsWith(\"show deadline\")) {","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"Jen999"},"content":" return new ShowDeadlinesCommand(taskManager);","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"Jen999"},"content":" /*","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"Jen999"},"content":" Handle Invalid Commands","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"Jen999"},"content":" */","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"Jen999"},"content":" else {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"Jen999"},"content":" return new InvalidCommand(","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"Jen999"},"content":" \"--Invalid Command--\\n\" +","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"Jen999"},"content":" \"Add to list\\n\" +","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"Jen999"},"content":" \" \u0027todo\u0027: todo \u003ctask\u003e\\n\" +","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"Jen999"},"content":" \" \u0027deadline\u0027: deadline \u003ctask\u003e /by \u003cdeadline date/time\\n\" +","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"Jen999"},"content":" \" \u0027event\u0027: event \u003ctask\u003e /start \u003cstart date/time\u003e /end \u003cend date/time\u003e\\n\" +","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"Jen999"},"content":" \"View list\\n\" +","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"Jen999"},"content":" \" \u0027list\u0027: list\\n\" +","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"Jen999"},"content":" \"View deadline tasks in chronological order\\n\" +","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"Jen999"},"content":" \" \u0027show deadlines\u0027: show deadlines\\n\" +","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"Jen999"},"content":" \"Mark/Unmark tasks in list\\n\" +","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"Jen999"},"content":" \" \u0027mark\u0027: mark \u003ctask\u003e\\n\" +","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"Jen999"},"content":" \" \u0027unmark\u0027: unmark \u003ctask\u003e\\n\" +","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"Jen999"},"content":" \"Delete task from list\\n\" +","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"Jen999"},"content":" \" \u0027delete\u0027: delete \u003ctask number\u003e\\n\" +","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"Jen999"},"content":" \"Find task from list\\n\" +","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"Jen999"},"content":" \" \u0027find\u0027: find \u003ckeyword\u003e\\n\");","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"Jen999"},"content":"}","lastModifiedDate":"2025-02-05","isFullCredit":false}],"authorContributionMap":{"Jen999":112}},{"path":"src/main/java/davethebrave/storage/Storage.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"Jen999"},"content":"package davethebrave.storage;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"Jen999"},"content":"import davethebrave.task.Task;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"Jen999"},"content":"import java.io.File;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"Jen999"},"content":"import java.io.FileWriter;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"Jen999"},"content":"import java.io.IOException;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"Jen999"},"content":"import java.io.PrintWriter;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"Jen999"},"content":"import java.util.ArrayList;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"Jen999"},"content":"import java.util.List;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"Jen999"},"content":"import java.util.Scanner;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"Jen999"},"content":"/**","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"Jen999"},"content":" * Handles the storing and loading of the list of task from local file","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"Jen999"},"content":" */","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"Jen999"},"content":"public class Storage {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"Jen999"},"content":" private String filePath;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"Jen999"},"content":" public Storage(String filePath) {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"Jen999"},"content":" this.filePath \u003d filePath;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"Jen999"},"content":" checkFileExists();","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"Jen999"},"content":" public void saveTasksToFile(List\u003cTask\u003e tasks) {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"Jen999"},"content":" try (PrintWriter writer \u003d new PrintWriter(new FileWriter(filePath))) {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"Jen999"},"content":" for (Task task : tasks) {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"Jen999"},"content":" writer.println(task.toFileFormat());","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"Jen999"},"content":" writer.close();","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"Jen999"},"content":" } catch (IOException e) {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"Jen999"},"content":" System.out.println(\"Error saving tasks to file: \" + e.getMessage());","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"Jen999"},"content":" public List\u003cTask\u003e loadTasksFromFile() {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"Jen999"},"content":" List\u003cTask\u003e tasks \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"Jen999"},"content":" try (Scanner scanner \u003d new Scanner(new File(filePath))){","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"Jen999"},"content":" while (scanner.hasNextLine()) {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"Jen999"},"content":" Task task \u003d Task.fromFileFormat(scanner.nextLine());","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"Jen999"},"content":" /*","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"Jen999"},"content":" Ensure no null tasks are loaded","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"Jen999"},"content":" */","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"Jen999"},"content":" assert task !\u003d null : \"Loaded task is null\";","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"Jen999"},"content":" if (task !\u003d null) {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"Jen999"},"content":" tasks.add(task);","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"Jen999"},"content":" } catch (IOException e) {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"Jen999"},"content":" System.out.println(\"Error loading tasks: \" + e.getMessage());","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"Jen999"},"content":" return tasks;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"Jen999"},"content":" /*","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"Jen999"},"content":" Check if folder and file exists. Create folder and/or file if not.","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"Jen999"},"content":" */","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"Jen999"},"content":" public void checkFileExists() {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"Jen999"},"content":" File file \u003d new File(filePath);","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"Jen999"},"content":" if (!file.exists()) {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"Jen999"},"content":" try {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"Jen999"},"content":" file.getParentFile().mkdirs();","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"Jen999"},"content":" file.createNewFile();","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"Jen999"},"content":" } catch (IOException e) {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"Jen999"},"content":" System.out.println(\"Error creating file: \" + e.getMessage());","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"Jen999"},"content":"}","lastModifiedDate":"2025-02-05","isFullCredit":false}],"authorContributionMap":{"Jen999":68}},{"path":"src/main/java/davethebrave/task/Task.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"Jen999"},"content":"package davethebrave.task;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"Jen999"},"content":"import java.time.LocalDate;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"Jen999"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"Jen999"},"content":"import java.time.format.DateTimeParseException;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"Jen999"},"content":"/**","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"Jen999"},"content":" * Handles methods related to each individual task","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"Jen999"},"content":" */","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"Jen999"},"content":"public class Task {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"Jen999"},"content":" private String type; // \"T\" \u003d To-Do, \"D\" \u003d Deadline, \"E\" \u003d Event","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"Jen999"},"content":" private String description;","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"Jen999"},"content":" private boolean status; // false \u003d not done, true \u003d done","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"Jen999"},"content":" private String details; // Info for Event tasks","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"Jen999"},"content":" private LocalDate deadline; // Info for Deadline tasks","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"Jen999"},"content":" String todoType \u003d \"T\";","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"Jen999"},"content":" String deadlineType \u003d \"D\";","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"Jen999"},"content":" String eventType \u003d \"E\";","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"Jen999"},"content":" public static final DateTimeFormatter INPUT_FORMATTER \u003d DateTimeFormatter.ofPattern(\"yyyy-MM-dd\");","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"Jen999"},"content":" public static final DateTimeFormatter OUTPUT_FORMATTER \u003d DateTimeFormatter.ofPattern(\"MMM dd yyyy\");","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"Jen999"},"content":" public Task(String type, String task, String details) {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"Jen999"},"content":" this.type \u003d type;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"Jen999"},"content":" this.description \u003d task;","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"Jen999"},"content":" this.status \u003d false;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"Jen999"},"content":" this.details \u003d details;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"Jen999"},"content":" /*","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"Jen999"},"content":" Handling specific task types (i.e., deadline tasks)","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"Jen999"},"content":" */","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"Jen999"},"content":" if (type.equals(deadlineType) \u0026\u0026 details !\u003d null) {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"Jen999"},"content":" try {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"Jen999"},"content":" this.deadline \u003d LocalDate.parse(details.trim(), INPUT_FORMATTER);","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"Jen999"},"content":" } catch (DateTimeParseException e) {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"Jen999"},"content":" System.out.println(\"Invalid date format! Please use yyyy-MM-dd (e.g., 2019-10-15).\");","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"Jen999"},"content":" public String getType() {","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"Jen999"},"content":" return type;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"Jen999"},"content":" public LocalDate getDate() {","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"Jen999"},"content":" return deadline !\u003d null ? deadline : LocalDate.MAX;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"Jen999"},"content":" public String getTaskDescription() {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"Jen999"},"content":" return this.description;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"Jen999"},"content":" public void mark() {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"Jen999"},"content":" this.status \u003d true;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"Jen999"},"content":" public void unmark() {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"Jen999"},"content":" this.status \u003d false;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"Jen999"},"content":" @Override","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"Jen999"},"content":" public String toString() {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"Jen999"},"content":" String taskStatus \u003d status ? \"[X]\" : \"[ ]\";","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"Jen999"},"content":" if (type.equals(deadlineType)) {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"Jen999"},"content":" String taskDetails \u003d details !\u003d null ? \" (by: \" + deadline.format(OUTPUT_FORMATTER) + \")\" : \"\";","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"Jen999"},"content":" return \"[\" + type + \"]\" + taskStatus + \" \" + description + taskDetails;","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"Jen999"},"content":" } else {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"Jen999"},"content":" String taskDetails \u003d details !\u003d null ? \" \" + details : \"\";","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"Jen999"},"content":" return \"[\" + type + \"]\" + taskStatus + \" \" + description + (taskDetails);","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"Jen999"},"content":" /*","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"Jen999"},"content":" Formatting task to write to data file","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"Jen999"},"content":" */","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"Jen999"},"content":" public String toFileFormat() {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"Jen999"},"content":" return type + \" | \" + (status ? \"[X]\" : \"[ ]\") + \" | \" + description + (details !\u003d null ? \" | \" + details : \"\");","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"Jen999"},"content":" /*","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"Jen999"},"content":" Loading tasks from data file","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"Jen999"},"content":" */","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"Jen999"},"content":" public static Task fromFileFormat(String line) {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"Jen999"},"content":" String[] info \u003d line.split(\"\\\\s*\\\\|\\\\s*\");","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"Jen999"},"content":" /*","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"Jen999"},"content":" Ignore invalid lines","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"Jen999"},"content":" */","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"Jen999"},"content":" if (info.length \u003c 3) {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"Jen999"},"content":" return null;","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"Jen999"},"content":" String type \u003d info[0];","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"Jen999"},"content":" boolean status \u003d info[1].equals(\"[X]\");","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"Jen999"},"content":" String task \u003d info[2];","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"Jen999"},"content":" String details \u003d info.length \u003e 3 ? info[3] : null;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"Jen999"},"content":" Task loadedTask \u003d new Task(type, task, details);","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"Jen999"},"content":" if (status) {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"Jen999"},"content":" loadedTask.mark();","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"Jen999"},"content":" return loadedTask;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"Jen999"},"content":"}","lastModifiedDate":"2025-02-05","isFullCredit":false}],"authorContributionMap":{"Jen999":102}},{"path":"src/main/java/davethebrave/task/TaskManager.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"Jen999"},"content":"package davethebrave.task;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"Jen999"},"content":"import davethebrave.storage.Storage;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"Jen999"},"content":"import davethebrave.ui.Ui;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"Jen999"},"content":"import java.time.LocalDate;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"Jen999"},"content":"import java.time.format.DateTimeParseException;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"Jen999"},"content":"import java.util.List;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"Jen999"},"content":"import java.util.ArrayList;","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"Jen999"},"content":"import java.util.Comparator;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"Jen999"},"content":"/**","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"Jen999"},"content":" * Handles methods related to the list of tasks","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"Jen999"},"content":" */","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"Jen999"},"content":"public class TaskManager {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"Jen999"},"content":" private List\u003cTask\u003e tasks;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"Jen999"},"content":" private Storage storage;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"Jen999"},"content":" private Ui ui;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"Jen999"},"content":" String deadlineType \u003d \"D\";","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"Jen999"},"content":" public TaskManager(List\u003cTask\u003e tasks, Storage storage, Ui ui) {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"Jen999"},"content":" this.tasks \u003d tasks;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"Jen999"},"content":" this.storage \u003d storage;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"Jen999"},"content":" this.ui \u003d ui;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"Jen999"},"content":" storage.checkFileExists();","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"Jen999"},"content":" storage.loadTasksFromFile();","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"Jen999"},"content":" System.out.println(\"Previous tasks loaded: \");","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"Jen999"},"content":" listTasks();","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"Jen999"},"content":" public String addTask(String type, String task, String details) {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"Jen999"},"content":" if (type.equals(deadlineType) \u0026\u0026 details !\u003d null) {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"Jen999"},"content":" try {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"Jen999"},"content":" LocalDate.parse(details.trim(), Task.INPUT_FORMATTER);","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"Jen999"},"content":" tasks.add(new Task(type, task, details));","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"Jen999"},"content":" storage.saveTasksToFile(tasks);","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"Jen999"},"content":" return \"Added deadline: \" + task + \" (by: \" + details + \")\";","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"Jen999"},"content":" } catch (DateTimeParseException e) {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"Jen999"},"content":" return \"Invalid date format! Please use yyyy-MM-dd (e.g., 2019-10-15).\";","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"Jen999"},"content":" tasks.add(new Task(type, task, details));","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"Jen999"},"content":" storage.saveTasksToFile(tasks);","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"Jen999"},"content":" return ui.showTaskAdded(tasks);","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"Jen999"},"content":" public String deleteTask(String taskNumber) {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"Jen999"},"content":" if (isValidTaskNumber(taskNumber)) {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"Jen999"},"content":" Task removedTask \u003d tasks.remove(Integer.parseInt(taskNumber) - 1);","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"Jen999"},"content":" storage.saveTasksToFile(tasks);","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"Jen999"},"content":" return ui.showTaskDeleted(removedTask, tasks);","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"Jen999"},"content":" return \"Invalid Task Number.\";","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"Jen999"},"content":" public String listTasks() {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"Jen999"},"content":" String output \u003d \"\";","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"Jen999"},"content":" if (tasks.isEmpty()) {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"Jen999"},"content":" return \"No tasks to display.\";","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"Jen999"},"content":" } else {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"Jen999"},"content":" output +\u003d \"Here are the tasks in your list:\\n\";","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"Jen999"},"content":" for (int i \u003d 0; i \u003c tasks.size(); i++) {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"Jen999"},"content":" output +\u003d \" \" + (i + 1) + \".\" + tasks.get(i) + \"\\n\";","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"Jen999"},"content":" return output;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"Jen999"},"content":" public String markTask(String taskNumber) {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"Jen999"},"content":" String output \u003d \"\";","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"Jen999"},"content":" if (isValidTaskNumber(taskNumber)) {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"Jen999"},"content":" Task task \u003d tasks.get(Integer.parseInt(taskNumber) - 1);","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"Jen999"},"content":" if (!task.toString().contains(\"[X]\")) {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"Jen999"},"content":" task.mark();","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"Jen999"},"content":" storage.saveTasksToFile(tasks);","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"Jen999"},"content":" output +\u003d \"Nice! I\u0027ve marked this task as done:\\n\";","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"Jen999"},"content":" } else {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"Jen999"},"content":" output +\u003d \"This task is already marked as done:\\n\";","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"Jen999"},"content":" return output + task;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"Jen999"},"content":" return \"Invalid Task Number.\";","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"Jen999"},"content":" public String unmarkTask(String taskNumber) {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"Jen999"},"content":" String output \u003d \"\";","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"Jen999"},"content":" if (isValidTaskNumber(taskNumber)) {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"Jen999"},"content":" Task task \u003d tasks.get(Integer.parseInt(taskNumber) - 1);","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"Jen999"},"content":" if (task.toString().contains(\"[X]\")) {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"Jen999"},"content":" task.unmark();","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"Jen999"},"content":" storage.saveTasksToFile(tasks);","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"Jen999"},"content":" output +\u003d \"OK, I\u0027ve marked this task as not done yet:\\n\";","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"Jen999"},"content":" } else {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"Jen999"},"content":" output +\u003d \"This task is already marked as not done:\\n\";","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"Jen999"},"content":" return output + task;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"Jen999"},"content":" return \"Invalid Task Number.\";","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"Jen999"},"content":" public String findTask(String keyword) {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"Jen999"},"content":" List\u003cTask\u003e matchingTasks \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"Jen999"},"content":" String output \u003d \"\";","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"Jen999"},"content":" for (int i \u003d 0; i \u003c tasks.size(); i++) {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"Jen999"},"content":" String taskDesc \u003d tasks.get(i).getTaskDescription().toLowerCase();","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"Jen999"},"content":" if (taskDesc.contains(keyword.toLowerCase())) {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"Jen999"},"content":" matchingTasks.add(tasks.get(i));","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"Jen999"},"content":" if (matchingTasks.isEmpty()) {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"Jen999"},"content":" output +\u003d \"No matching tasks found.\";","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"Jen999"},"content":" } else {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"Jen999"},"content":" output +\u003d \"Matching tasks found:\\n\";","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"Jen999"},"content":" for (int i \u003d 0; i \u003c matchingTasks.size(); i++) {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"Jen999"},"content":" output +\u003d \" \" + (i + 1) + \".\" + matchingTasks.get(i) + \"\\n\";","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"Jen999"},"content":" return output;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"Jen999"},"content":" /*","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"Jen999"},"content":" Show all deadline tasks in chronological order","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"Jen999"},"content":" */","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"Jen999"},"content":" public String showDeadlines() {","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"Jen999"},"content":" String output \u003d \"\";","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"Jen999"},"content":" List\u003cTask\u003e deadlineTasks \u003d tasks.stream()","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"Jen999"},"content":" .filter(task -\u003e task.getType().equals(deadlineType))","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"Jen999"},"content":" .sorted(Comparator.comparing(Task::getDate))","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"Jen999"},"content":" .toList();","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"Jen999"},"content":" if (deadlineTasks.isEmpty()) {","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"Jen999"},"content":" output +\u003d \"No deadline tasks found.\";","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"Jen999"},"content":" output +\u003d \"Here are your deadline tasks in chronological order:\\n\";","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"Jen999"},"content":" for (int i \u003d 0; i \u003c deadlineTasks.size(); i++) {","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"Jen999"},"content":" Task task \u003d deadlineTasks.get(i);","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"Jen999"},"content":" output +\u003d \" \" + (i + 1) + \".\" + task.toString() + \"\\n\";","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"Jen999"},"content":" return output;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"Jen999"},"content":" private boolean isValidTaskNumber(String taskNumber) {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"Jen999"},"content":" try {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"Jen999"},"content":" int num \u003d Integer.parseInt(taskNumber);","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"Jen999"},"content":" /*","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"Jen999"},"content":" Ensure task number is valid","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"Jen999"},"content":" */","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"Jen999"},"content":" assert num \u003e\u003d 1 \u0026\u0026 num \u003c\u003d tasks.size() : \"Task number is out of bounds.\";","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"Jen999"},"content":" return num \u003e\u003d 1 \u0026\u0026 num \u003c\u003d tasks.size();","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"Jen999"},"content":" } catch (NumberFormatException e) {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"Jen999"},"content":" return false;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"Jen999"},"content":"}","lastModifiedDate":"2025-02-05","isFullCredit":false}],"authorContributionMap":{"Jen999":158}},{"path":"src/main/java/davethebrave/ui/DialogBox.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"Jen999"},"content":"package davethebrave.ui;","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"Jen999"},"content":"import davethebrave.MainWindow;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"Jen999"},"content":"import javafx.collections.FXCollections;","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"Jen999"},"content":"import javafx.collections.ObservableList;","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"Jen999"},"content":"import javafx.fxml.FXML;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"Jen999"},"content":"import javafx.fxml.FXMLLoader;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"Jen999"},"content":"import javafx.geometry.Pos;","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"Jen999"},"content":"import javafx.scene.Node;","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"Jen999"},"content":"import javafx.scene.control.Label;","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"Jen999"},"content":"import javafx.scene.image.Image;","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"Jen999"},"content":"import javafx.scene.image.ImageView;","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"Jen999"},"content":"import javafx.scene.layout.HBox;","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"Jen999"},"content":"import java.io.IOException;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"Jen999"},"content":"public class DialogBox extends HBox {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"Jen999"},"content":" @FXML","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"Jen999"},"content":" private Label dialog;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"Jen999"},"content":" @FXML","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"Jen999"},"content":" private ImageView displayPicture;","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"Jen999"},"content":" private DialogBox(String s, Image i) {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"Jen999"},"content":" try {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"Jen999"},"content":" FXMLLoader fxmlLoader \u003d new FXMLLoader(MainWindow.class.getResource(\"/view/DialogBox.fxml\"));","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"Jen999"},"content":" fxmlLoader.setController(this);","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"Jen999"},"content":" fxmlLoader.setRoot(this);","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"Jen999"},"content":" fxmlLoader.load();","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"Jen999"},"content":" } catch (IOException e) {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"Jen999"},"content":" e.printStackTrace();","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"Jen999"},"content":" dialog.setText(s);","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"Jen999"},"content":" displayPicture.setImage(i);","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"Jen999"},"content":" private void flip() {","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"Jen999"},"content":" ObservableList\u003cNode\u003e tmp \u003d FXCollections.observableArrayList(this.getChildren());","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"Jen999"},"content":" FXCollections.reverse(tmp);","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"Jen999"},"content":" getChildren().setAll(tmp);","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"Jen999"},"content":" setAlignment(Pos.TOP_LEFT);","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"Jen999"},"content":" dialog.getStyleClass().add(\"reply-label\");","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"Jen999"},"content":" private void changeDialogStyle(String commandType) {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"Jen999"},"content":" if (commandType \u003d\u003d null) {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"Jen999"},"content":" commandType \u003d \"UnknownCommand\";","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"Jen999"},"content":" switch (commandType) {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"Jen999"},"content":" case \"AddCommand\":","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"Jen999"},"content":" dialog.getStyleClass().add(\"add-label\");","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"Jen999"},"content":" break;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"Jen999"},"content":" case \"ChangeMarkCommand\":","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"Jen999"},"content":" dialog.getStyleClass().add(\"marked-label\");","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"Jen999"},"content":" break;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"Jen999"},"content":" case \"DeleteCommand\":","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"Jen999"},"content":" dialog.getStyleClass().add(\"delete-label\");","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"Jen999"},"content":" break;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"Jen999"},"content":" case \"FindCommand\":","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"Jen999"},"content":" dialog.getStyleClass().add(\"find-label\");","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"Jen999"},"content":" break;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"Jen999"},"content":" case \"InvalidCommand\":","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"Jen999"},"content":" dialog.getStyleClass().add(\"error-label\");","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"Jen999"},"content":" break;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"Jen999"},"content":" case \"GreetingCommand\":","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"Jen999"},"content":" dialog.getStyleClass().add(\"greeting-label\");","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"Jen999"},"content":" break;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"Jen999"},"content":" case \"CheerCommand\":","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"Jen999"},"content":" dialog.getStyleClass().add(\"cheer-label\");","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"Jen999"},"content":" break;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"Jen999"},"content":" case \"GoodbyeCommand\":","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"Jen999"},"content":" dialog.getStyleClass().add(\"goodbye-label\");","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"Jen999"},"content":" break;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"Jen999"},"content":" default:","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"Jen999"},"content":" dialog.getStyleClass().add(\"default-label\");","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"Jen999"},"content":" public static DialogBox getUserDialog(String s, Image i) {","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"Jen999"},"content":" return new DialogBox(s, i);","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"Jen999"},"content":" public static DialogBox getDaveDialog(String s, Image i, String commandType) {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"Jen999"},"content":" var db \u003d new DialogBox(s, i);","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"Jen999"},"content":" db.flip();","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"Jen999"},"content":" db.changeDialogStyle(commandType);","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"Jen999"},"content":" return db;","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-11","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"Jen999"},"content":"}","lastModifiedDate":"2025-02-11","isFullCredit":false}],"authorContributionMap":{"Jen999":92}},{"path":"src/main/java/davethebrave/ui/Ui.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"Jen999"},"content":"/*","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"Jen999"},"content":"Handles the formatting of basic display messages to be called by TaskManager and Main classes","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"Jen999"},"content":" */","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"Jen999"},"content":"package davethebrave.ui;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"Jen999"},"content":"import davethebrave.task.Task;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"Jen999"},"content":"import java.util.List;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"Jen999"},"content":"public class Ui {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"Jen999"},"content":" public String respondHello() {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"Jen999"},"content":" return \"Hey, what\u0027s up?\";","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"Jen999"},"content":" public String showGoodbye() {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"Jen999"},"content":" return \"Bye! Hope I didn\u0027t scare you away!\";","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"Jen999"},"content":" public String showCheer() {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"Jen999"},"content":" return \"Keep going - even the best programmers started out writing \u0027Hello World\u0027!\";","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"Jen999"},"content":" public String showTaskAdded(List\u003cTask\u003e tasks) {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"Jen999"},"content":" return \"Got it. I\u0027ve added this task:\\n\"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"Jen999"},"content":" + tasks.getLast() + \"\\n\"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"Jen999"},"content":" + \"Now you have \" + tasks.size() + \" tasks in the list.\";","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"Jen999"},"content":" public String showTaskDeleted(Task removedTask, List\u003cTask\u003e tasks) {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"Jen999"},"content":" return \"Noted. I\u0027ve removed this task:\\n\"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"Jen999"},"content":" + removedTask + \"\\n\"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"Jen999"},"content":" + \"Now you have \" + tasks.size() + \" tasks in the list.\";","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"Jen999"},"content":"}","lastModifiedDate":"2025-02-05","isFullCredit":false}],"authorContributionMap":{"Jen999":35}},{"path":"src/main/resources/view/DialogBox.fxml","fileType":"fxml","lines":[{"lineNumber":1,"author":{"gitId":"Jen999"},"content":"\u003c?xml version\u003d\"1.0\" encoding\u003d\"UTF-8\"?\u003e","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"Jen999"},"content":"\u003c?import javafx.geometry.Insets?\u003e","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"Jen999"},"content":"\u003c?import javafx.scene.control.Label?\u003e","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"Jen999"},"content":"\u003c?import javafx.scene.image.ImageView?\u003e","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"Jen999"},"content":"\u003c?import javafx.scene.layout.HBox?\u003e","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"Jen999"},"content":"\u003cfx:root alignment\u003d\"TOP_RIGHT\" maxHeight\u003d\"1.7976931348623157E308\" maxWidth\u003d\"1.7976931348623157E308\" prefWidth\u003d\"400.0\" stylesheets\u003d\"@../css/dialog-box.css\" type\u003d\"javafx.scene.layout.HBox\" xmlns\u003d\"http://javafx.com/javafx/23.0.1\" xmlns:fx\u003d\"http://javafx.com/fxml/1\"\u003e","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"Jen999"},"content":" \u003cchildren\u003e","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"Jen999"},"content":" \u003cLabel fx:id\u003d\"dialog\" minHeight\u003d\"-Infinity\" text\u003d\"Label\" wrapText\u003d\"true\"\u003e","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"Jen999"},"content":" \u003cHBox.margin\u003e","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"Jen999"},"content":" \u003cInsets left\u003d\"7.0\" right\u003d\"7.0\" /\u003e","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"Jen999"},"content":" \u003c/HBox.margin\u003e","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"Jen999"},"content":" \u003cpadding\u003e","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"Jen999"},"content":" \u003cInsets bottom\u003d\"6.0\" left\u003d\"6.0\" right\u003d\"6.0\" top\u003d\"6.0\" /\u003e","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"Jen999"},"content":" \u003c/padding\u003e\u003c/Label\u003e","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"Jen999"},"content":" \u003cImageView fx:id\u003d\"displayPicture\" fitHeight\u003d\"99.0\" fitWidth\u003d\"99.0\" pickOnBounds\u003d\"true\" preserveRatio\u003d\"true\" /\u003e","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"Jen999"},"content":" \u003c/children\u003e","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"Jen999"},"content":" \u003cpadding\u003e","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"Jen999"},"content":" \u003cInsets bottom\u003d\"15.0\" left\u003d\"5.0\" right\u003d\"5.0\" top\u003d\"15.0\" /\u003e","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"Jen999"},"content":" \u003c/padding\u003e","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"Jen999"},"content":"\u003c/fx:root\u003e","lastModifiedDate":"2025-02-12","isFullCredit":false}],"authorContributionMap":{"Jen999":22}},{"path":"src/main/resources/view/MainWindow.fxml","fileType":"fxml","lines":[{"lineNumber":1,"author":{"gitId":"Jen999"},"content":"\u003c?xml version\u003d\"1.0\" encoding\u003d\"UTF-8\"?\u003e","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"Jen999"},"content":"\u003c?import javafx.scene.control.Button?\u003e","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"Jen999"},"content":"\u003c?import javafx.scene.control.ScrollPane?\u003e","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"Jen999"},"content":"\u003c?import javafx.scene.control.TextField?\u003e","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"Jen999"},"content":"\u003c?import javafx.scene.layout.AnchorPane?\u003e","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"Jen999"},"content":"\u003c?import javafx.scene.layout.VBox?\u003e","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"Jen999"},"content":"\u003cAnchorPane maxHeight\u003d\"-Infinity\" maxWidth\u003d\"-Infinity\" minHeight\u003d\"-Infinity\" minWidth\u003d\"-Infinity\" prefHeight\u003d\"600.0\" prefWidth\u003d\"400.0\" stylesheets\u003d\"@../css/main.css\" xmlns\u003d\"http://javafx.com/javafx/23.0.1\" xmlns:fx\u003d\"http://javafx.com/fxml/1\" fx:controller\u003d\"davethebrave.MainWindow\"\u003e","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"Jen999"},"content":" \u003cchildren\u003e","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"Jen999"},"content":" \u003cTextField fx:id\u003d\"userInput\" layoutY\u003d\"558.0\" onAction\u003d\"#handleUserInput\" prefHeight\u003d\"41.0\" prefWidth\u003d\"324.0\" AnchorPane.bottomAnchor\u003d\"1.0\" AnchorPane.leftAnchor\u003d\"0.0\" AnchorPane.rightAnchor\u003d\"76.0\" /\u003e","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"Jen999"},"content":" \u003cButton fx:id\u003d\"sendButton\" layoutX\u003d\"324.0\" layoutY\u003d\"558.0\" mnemonicParsing\u003d\"false\" onAction\u003d\"#handleUserInput\" prefHeight\u003d\"41.0\" prefWidth\u003d\"76.0\" text\u003d\"Send\" AnchorPane.bottomAnchor\u003d\"1.0\" AnchorPane.rightAnchor\u003d\"0.0\" /\u003e","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"Jen999"},"content":" \u003cScrollPane fx:id\u003d\"scrollPane\" fitToWidth\u003d\"true\" hbarPolicy\u003d\"NEVER\" hvalue\u003d\"1.0\" prefHeight\u003d\"557.0\" prefWidth\u003d\"400.0\" vvalue\u003d\"1.0\" AnchorPane.bottomAnchor\u003d\"43.0\" AnchorPane.leftAnchor\u003d\"0.0\" AnchorPane.rightAnchor\u003d\"0.0\" AnchorPane.topAnchor\u003d\"0.0\"\u003e","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"Jen999"},"content":" \u003ccontent\u003e","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"Jen999"},"content":" \u003cVBox fx:id\u003d\"dialogContainer\" prefHeight\u003d\"552.0\" prefWidth\u003d\"388.0\" /\u003e","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"Jen999"},"content":" \u003c/content\u003e","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"Jen999"},"content":" \u003c/ScrollPane\u003e","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"Jen999"},"content":" \u003c/children\u003e","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"Jen999"},"content":"\u003c/AnchorPane\u003e","lastModifiedDate":"2025-02-12","isFullCredit":false}],"authorContributionMap":{"Jen999":19}},{"path":"src/test/java/davethebrave/TodoTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"Jen999"},"content":"package davethebrave;","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"Jen999"},"content":"import org.junit.jupiter.api.Test;","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"Jen999"},"content":"import org.junit.jupiter.api.BeforeEach;","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"Jen999"},"content":"import java.util.ArrayList;","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"Jen999"},"content":"import java.util.List;","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"Jen999"},"content":"import davethebrave.task.TaskManager;","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"Jen999"},"content":"import davethebrave.task.Task;","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"Jen999"},"content":"import davethebrave.storage.Storage;","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"Jen999"},"content":"import davethebrave.ui.Ui;","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"Jen999"},"content":"import static org.junit.jupiter.api.Assertions.assertTrue;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"Jen999"},"content":"import static org.junit.jupiter.api.Assertions.assertEquals;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"Jen999"},"content":"import static org.junit.jupiter.api.Assertions.assertFalse;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"Jen999"},"content":"public class TodoTest {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"Jen999"},"content":" private TaskManager taskManager;","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"Jen999"},"content":" private List\u003cTask\u003e taskList;","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"Jen999"},"content":" private Storage storage;","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"Jen999"},"content":" private Ui ui;","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"Jen999"},"content":" @BeforeEach","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"Jen999"},"content":" void setUp() {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"Jen999"},"content":" taskList \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"Jen999"},"content":" storage \u003d new Storage(\"data/test.txt\");","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"Jen999"},"content":" ui \u003d new Ui();","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"Jen999"},"content":" taskManager \u003d new TaskManager(taskList, storage, ui);","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"Jen999"},"content":" /*","lastModifiedDate":"2025-02-09","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"Jen999"},"content":" Test UI task added display","lastModifiedDate":"2025-02-09","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"Jen999"},"content":" */","lastModifiedDate":"2025-02-09","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"Jen999"},"content":" @Test","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"Jen999"},"content":" public void displayTaskTest() {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"Jen999"},"content":" Task myFirstTask \u003d new Task(\"T\", \"Complete Assignment\", null);","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"Jen999"},"content":" assertEquals(\"[T][ ] Complete Assignment\", myFirstTask.toString());","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"Jen999"},"content":" /*","lastModifiedDate":"2025-02-09","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"Jen999"},"content":" Test adding task","lastModifiedDate":"2025-02-09","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"Jen999"},"content":" */","lastModifiedDate":"2025-02-09","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"Jen999"},"content":" @Test","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"Jen999"},"content":" public void addTaskTest() {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"Jen999"},"content":" taskManager.addTask(\"T\", \"Complete Assignment\", null);","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"Jen999"},"content":" assertEquals(1, taskList.size(), \"Task should be added into list.\");","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"Jen999"},"content":" /*","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"Jen999"},"content":" Test mark/unmark task","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"Jen999"},"content":" */","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"Jen999"},"content":" @Test","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"Jen999"},"content":" public void markUnmarkTaskTest() {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"Jen999"},"content":" taskManager.addTask(\"T\", \"Read a book\", null);","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"Jen999"},"content":" taskManager.markTask(\"1\");","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"Jen999"},"content":" assertTrue(taskList.get(0).toString().contains(\"[X]\"), \"Task should be marked as done.\");","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"Jen999"},"content":" taskManager.unmarkTask(\"1\");","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"Jen999"},"content":" assertFalse(taskList.get(0).toString().contains(\"[X]\"), \"Task should be unmarked and set to not done.\");","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"Jen999"},"content":" /*","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"Jen999"},"content":" Test invalid task number (mark/unmark)","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"Jen999"},"content":" */","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"Jen999"},"content":" @Test","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"Jen999"},"content":" public void invalidMarkUnmarkTest() {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"Jen999"},"content":" int initialSize \u003d taskList.size();","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"Jen999"},"content":" taskManager.markTask(\"999\");","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"Jen999"},"content":" assertEquals(initialSize, taskList.size(), \"Invalid task marking should not change task list.\");","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"Jen999"},"content":" taskManager.unmarkTask(\"999\");","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"Jen999"},"content":" assertEquals(initialSize, taskList.size(), \"Invalid task marking should not change task list.\");","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"Jen999"},"content":"","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"Jen999"},"content":" /*","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"Jen999"},"content":" Test deleting task","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"Jen999"},"content":" */","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"Jen999"},"content":" @Test","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"Jen999"},"content":" public void deleteTaskTest() {","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"Jen999"},"content":" taskManager.deleteTask(\"1\");","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"Jen999"},"content":" assertTrue(taskList.isEmpty(), \"Task should be deleted from list.\");","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"Jen999"},"content":" }","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"Jen999"},"content":"}","lastModifiedDate":"2025-02-07","isFullCredit":false}],"authorContributionMap":{"Jen999":85}},{"path":"text-ui-test/input.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"Jen999"},"content":"todo buy groceries","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"Jen999"},"content":"deadline fix lightbulb /by Monday 3pm","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"Jen999"},"content":"event bestfriend\u0027s wedding /start Saturday 9am /end Saturday 10pm","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"Jen999"},"content":"list","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"Jen999"},"content":"mark 3","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"Jen999"},"content":"list","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"Jen999"},"content":"Bye","lastModifiedDate":"2025-01-30","isFullCredit":false}],"authorContributionMap":{"Jen999":7}},{"path":"text-ui-test/runtest.bat","fileType":"bat","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"@echo off","lastModifiedDate":"2025-01-13","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"chcp 65001 \u003e nul","lastModifiedDate":"2025-01-13","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"echo \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"Jen999"},"content":"echo davethebrave.DaveTheBrave Test Runner","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"echo \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"echo.","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"echo [1/4] Checking Java version...","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"java -version","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"REM check if using Java 21","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"for /f \"tokens\u003d3\" %%g in (\u0027java -version 2^\u003e^\u00261 ^| findstr /i \"version\"\u0027) do (","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" set JAVAVER\u003d%%g","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":")","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2025-01-13","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"set JAVAVER\u003d%JAVAVER:\"\u003d%","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"for /f \"delims\u003d. tokens\u003d1\" %%v in (\"%JAVAVER%\") do (","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" set MAJORVER\u003d%%v","lastModifiedDate":"2025-01-13","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":")","lastModifiedDate":"2025-01-13","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2025-01-13","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"if NOT \"%MAJORVER%\"\u003d\u003d\"21\" (","lastModifiedDate":"2025-01-13","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":" echo.","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" echo \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d ERROR \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" echo Please use Java 21 ^(current: %MAJORVER%^)","lastModifiedDate":"2025-01-13","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":" echo \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" exit /b 1","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":")","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":"echo [√] Java version check passed","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":"echo.","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":"echo [2/4] Setting up test environment...","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":"if not exist ..\\bin (","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" mkdir ..\\bin","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" echo Created bin directory","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":")","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":"if exist ACTUAL.TXT (","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" del ACTUAL.TXT","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" echo Cleaned up previous test outputs","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":")","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":"echo.","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":"echo [3/4] Compiling source files...","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":"javac -cp ..\\src\\main\\java -Xlint:none -d ..\\bin ..\\src\\main\\java\\*.java","lastModifiedDate":"2020-08-25","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":"IF ERRORLEVEL 1 (","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" echo.","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":" echo \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d ERROR \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":" echo BUILD FAILURE ","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":" echo \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":" exit /b 1","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":")","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":"echo [√] Compilation successful","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":"echo.","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":"echo [4/4] Running tests...","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"Jen999"},"content":"java -classpath ..\\bin davethebrave.DaveTheBrave \u003c input.txt \u003e ACTUAL.TXT","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":"FC ACTUAL.TXT EXPECTED.TXT \u003e nul","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":"if ERRORLEVEL 1 (","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" echo.","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":" echo \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d ERROR \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":" echo Tests FAILED ","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":" echo \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":" exit /b 1","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":") else (","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":" echo.","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":" echo \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d SUCCESS \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":" echo All tests passed ","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":" echo \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":" exit /b 0","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":")","lastModifiedDate":"2025-01-09","isFullCredit":false}],"authorContributionMap":{"Jen999":2,"-":72}},{"path":"text-ui-test/runtest.sh","fileType":"sh","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"#!/usr/bin/env bash","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"# Colors and formatting","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"RED\u003d\u0027\\033[0;31m\u0027","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"GREEN\u003d\u0027\\033[0;32m\u0027","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"BLUE\u003d\u0027\\033[0;34m\u0027","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"YELLOW\u003d\u0027\\033[1;33m\u0027","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"NC\u003d\u0027\\033[0m\u0027 # No Color","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"BOLD\u003d\u0027\\033[1m\u0027","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"# Print header","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"echo -e \"${BOLD}\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"Jen999"},"content":"echo -e \"${BLUE} DaveTheBrave Test Runner ${NC}\"","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"echo -e \"${BOLD}\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d${NC}\\n\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"# Print Java version for debugging","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"echo -e \"${BOLD}[1/4] Checking Java version...${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"java -version","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"# check if using Java 21","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"java_ver\u003d$(java -version 2\u003e\u00261 | grep -i version | head -n 1)","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"echo -e \"${BLUE}Detected Java version: ${NC}$java_ver\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"version\u003d$(echo $java_ver | sed -n \u0027s/.*version \"\\([0-9]*\\).*/\\1/p\u0027)","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"echo -e \"${BLUE}Parsed major version: ${NC}$version\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":"if [ \"$version\" !\u003d \"21\" ]; then","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" echo -e \"\\n${RED}╔════ ERROR ══════════════════════════════════╗${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" echo -e \"${RED}║ Please use Java 21 (current version: $version)${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" echo -e \"${RED}╚═════════════════════════════════════════════╝${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" exit 1","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":"fi","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":"echo -e \"${GREEN}✓ Java version check passed${NC}\\n\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":"# create bin directory if it doesn\u0027t exist","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":"echo -e \"${BOLD}[2/4] Setting up test environment...${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":"if [ ! -d \"../bin\" ]","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":"then","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" mkdir ../bin","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" echo -e \"${BLUE}Created bin directory${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":"fi","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":"# delete output from previous run","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":"if [ -e \"./ACTUAL.TXT\" ]","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":"then","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" rm ACTUAL.TXT","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" echo -e \"${BLUE}Cleaned up previous test outputs${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":"fi","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":"# compile the code into the bin folder, terminates if error occurred","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":"echo -e \"\\n${BOLD}[3/4] Compiling source files...${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"-"},"content":"if ! javac -cp ../src/main/java -Xlint:none -d ../bin ../src/main/java/*.java","lastModifiedDate":"2020-08-25","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":"then","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" echo -e \"\\n${RED}╔════ ERROR ══════════════════════════════════╗${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" echo -e \"${RED}║ BUILD FAILURE ║${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" echo -e \"${RED}╚═════════════════════════════════════════════╝${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" exit 1","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":"fi","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":"echo -e \"${GREEN}✓ Compilation successful${NC}\\n\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":"# run the program, feed commands from input.txt file and redirect the output to the ACTUAL.TXT","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":"echo -e \"${BOLD}[4/4] Running tests...${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"Jen999"},"content":"java -classpath ../bin davethebrave.DaveTheBrave \u003c input.txt \u003e ACTUAL.TXT","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":"# convert to UNIX format","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"-"},"content":"cp EXPECTED.TXT EXPECTED-UNIX.TXT","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":"dos2unix ACTUAL.TXT EXPECTED-UNIX.TXT 2\u003e/dev/null","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":"# compare the output to the expected output","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":"diff ACTUAL.TXT EXPECTED-UNIX.TXT","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":"if [ $? -eq 0 ]","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":"then","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" echo -e \"\\n${GREEN}╔════ SUCCESS ════════════════════════════════╗${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" echo -e \"${GREEN}║ All tests passed ║${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" echo -e \"${GREEN}╚═════════════════════════════════════════════╝${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" exit 0","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":"else","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" echo -e \"\\n${RED}╔════ ERROR ══════════════════════════════════╗${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" echo -e \"${RED}║ Tests FAILED ║${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" echo -e \"${RED}╚═════════════════════════════════════════════╝${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" exit 1","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":"fi","lastModifiedDate":"2020-05-25","isFullCredit":false}],"authorContributionMap":{"Jen999":2,"-":81}}] diff --git a/Jen999_ip_master/commits.json b/Jen999_ip_master/commits.json new file mode 100644 index 000000000..0ae8122d8 --- /dev/null +++ b/Jen999_ip_master/commits.json @@ -0,0 +1 @@ +{"authorDailyContributionsMap":{"Jen999":[{"date":"2025-01-30","commitResults":[{"hash":"d6c8115b067800de16e984921c84742cc470e5df","isMergeCommit":false,"messageTitle":"Update ChatBot name from Duke to Dave","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1},"bat":{"insertions":2,"deletions":2},"sh":{"insertions":2,"deletions":2}}},{"hash":"5be0855368e980afed1328f40bce1d5af0152a14","isMergeCommit":false,"messageTitle":"Complete Level-0","messageBody":"","tags":["Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":7,"deletions":6}}},{"hash":"4ce9b8a5da6819b07ba6555c5a41e6db9ea472cb","isMergeCommit":false,"messageTitle":"Complete Level-1","messageBody":"","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":44,"deletions":6}}},{"hash":"e2d4ecb11faed7817cd704b07ff9db7e4a60a71a","isMergeCommit":false,"messageTitle":"Complete Level-2","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":28,"deletions":4}}},{"hash":"b7f908dfc851e14f48845c511a9f1cb3c24e003e","isMergeCommit":false,"messageTitle":"Complete Level-3","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":66,"deletions":2}}},{"hash":"94c238a55d333cc0dae52f517b05eb066cb2774b","isMergeCommit":false,"messageTitle":"Implement Level-4 basic","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":113,"deletions":29}}},{"hash":"afa7553a19134bcc8b87b7e94b0f26cce4bb084f","isMergeCommit":false,"messageTitle":"Complete Level-4","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":132,"deletions":147}}},{"hash":"ec4dfc2a90dea4b3c4755b0a27fc90b30d556a64","isMergeCommit":false,"messageTitle":"Complete A-TextUiTesting","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":7,"deletions":0}}},{"hash":"d9c2d72465dcb19a0523e3ab5ebb1461b27ecca6","isMergeCommit":false,"messageTitle":"Complete Level-5 to handle errors for incorrect format of tasks and invalid commands","messageBody":"","tags":["Level-5"],"fileTypesAndContributionMap":{"java":{"insertions":8,"deletions":1}}},{"hash":"1e919d967cb95df1284d386490f79893d760d258","isMergeCommit":false,"messageTitle":"Complete Level-6 delete feature. Handle errors for empty task number for mark, unmark, and delete features","messageBody":"","tags":["Level-6"],"fileTypesAndContributionMap":{"java":{"insertions":34,"deletions":0}}}]},{"date":"2025-02-04","commitResults":[{"hash":"4bf23f211e45fd1beb6b1381d92d5755bdafa17a","isMergeCommit":false,"messageTitle":"Rename chatbot to DaveTheBrave","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":3,"deletions":3},"bat":{"insertions":2,"deletions":2},"sh":{"insertions":2,"deletions":2}}},{"hash":"26f001b50b79d6d16a39afd2315ef04dc991e501","isMergeCommit":false,"messageTitle":"Complete Level-7","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":92,"deletions":1}}},{"hash":"d764614339be4402ba827b4360aedf03dea17181","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-7\u0027","messageBody":"","tags":["Level-7"],"fileTypesAndContributionMap":{}},{"hash":"96a186da0a61eaf99b81e903df35913b029e8906","isMergeCommit":false,"messageTitle":"Complete Level-8","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":36,"deletions":5}}},{"hash":"17527268723d2c61e55e0342d791bb15ce4c3d38","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-8\u0027","messageBody":"","tags":["Level-8"],"fileTypesAndContributionMap":{}}]},{"date":"2025-02-05","commitResults":[{"hash":"ecf0942f4153dde0671b5723143d7994f326db9b","isMergeCommit":false,"messageTitle":"Refactor code based on A-MoreOOP task","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":3,"deletions":0},"java":{"insertions":209,"deletions":162}}},{"hash":"0995604c298df002744182df53aa8ddc5d63fda5","isMergeCommit":false,"messageTitle":"Delete redundant data file","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":0,"deletions":3}}},{"hash":"6da40b487032e025258428cf8012a85c067c816d","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-MoreOOP\u0027","messageBody":"","tags":["A-MoreOOP"],"fileTypesAndContributionMap":{}},{"hash":"47bd08b23bb91a132d45effd6d0fc6a27163ea1b","isMergeCommit":false,"messageTitle":"Organize classes into suitable java packages","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":446,"deletions":416},"bat":{"insertions":2,"deletions":2},"sh":{"insertions":1,"deletions":1}}},{"hash":"354e7117662f8a500ebb9ca8ad0c1f29496678cb","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-Packages\u0027","messageBody":"","tags":["A-Packages"],"fileTypesAndContributionMap":{}},{"hash":"5bddf7c9e6c6c21201c0548b463364a0b081f97c","isMergeCommit":true,"messageTitle":"Merge branch \u0027add-gradle-support\u0027","messageBody":"","fileTypesAndContributionMap":{}}]},{"date":"2025-02-06","commitResults":[{"hash":"0342a48e1ed11dc7fcffe1d949ab25f2b2598b7c","isMergeCommit":false,"messageTitle":"Debug issue with running Gradle","messageBody":"","fileTypesAndContributionMap":{"gradle":{"insertions":2,"deletions":2}}}]},{"date":"2025-02-07","commitResults":[{"hash":"94f8444a92c0b6cc1669cd2f3db041babf7dd787","isMergeCommit":false,"messageTitle":"Complete J-Unit testing task","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":1,"deletions":0},"java":{"insertions":50,"deletions":16}}},{"hash":"24475154c177295af9bc00fbe9cc8950f6ec9f5f","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-JUnit\u0027","messageBody":"","tags":["A-JUnit"],"fileTypesAndContributionMap":{}},{"hash":"520459cd05c0515fba4796c0ff45a3aa827eed0d","isMergeCommit":false,"messageTitle":"Complete A-JavaDoc adding comments to the code","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":24,"deletions":0}}},{"hash":"2b5ffd13e2c73c0133a67b3edc2120fe847ad6c8","isMergeCommit":false,"messageTitle":"Modify code to comply with coding standard","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":70,"deletions":25}}},{"hash":"c62aa39b1f0c5056ad02c244b5c70bc76831b439","isMergeCommit":false,"messageTitle":"Complete Level-9 find feature","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":1,"deletions":0},"java":{"insertions":45,"deletions":5}}},{"hash":"8712f7a4039b27737ef7b10aa16bdd5a5fcf1d4d","isMergeCommit":false,"messageTitle":"Complete A-Cheer random motivational quote","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":13,"deletions":0}}},{"hash":"c00981ff7ea6e8a8e11bef6e979248d9241334cc","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-JavaDoc\u0027","messageBody":"","tags":["A-JavaDoc"],"fileTypesAndContributionMap":{}},{"hash":"88510854365a99e7912876048964591e46caab91","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-CodingStandard\u0027","messageBody":"","tags":["A-CodingStandard"],"fileTypesAndContributionMap":{}},{"hash":"058f6c26db56f363a97385520b00cf01d3834c55","isMergeCommit":true,"messageTitle":"Resolve conflicts with Level-9 branch","messageBody":"","tags":["Level-9"],"fileTypesAndContributionMap":{}},{"hash":"37851b5928312bb54d7ee2b76df8c8e9b1e72b13","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-Cheer\u0027","messageBody":"","tags":["A-Cheer"],"fileTypesAndContributionMap":{}}]},{"date":"2025-02-08","commitResults":[{"hash":"295db913e5644cf0f1d04e39e528e5a838dbe32b","isMergeCommit":false,"messageTitle":"Resolve missing method getTaskDescription() after merging","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":4,"deletions":0}}}]},{"date":"2025-02-09","commitResults":[{"hash":"14fc8ce762c8e92cc19b637c47304b0a2068edd2","isMergeCommit":false,"messageTitle":"Remove data file","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":0,"deletions":2}}},{"hash":"c7d8be05194cb2c6f0ae6e986afa4575a7b8d5f1","isMergeCommit":false,"messageTitle":"Update JUnit Test","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":9,"deletions":3}}},{"hash":"df9cb8e3ac3ee958aadbb5af5cb7a5bae88ed344","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-JUnit\u0027","messageBody":"","fileTypesAndContributionMap":{}}]},{"date":"2025-02-11","commitResults":[{"hash":"151e3de3dd67db9bc926f1dda228ef7d15f02690","isMergeCommit":false,"messageTitle":"Complete Part 2 of JavaFX Tutorial","messageBody":"","fileTypesAndContributionMap":{"gradle":{"insertions":20,"deletions":15},"java":{"insertions":184,"deletions":63}}},{"hash":"015c5f5703ecf80151f9bd678d94e4963fb908b8","isMergeCommit":false,"messageTitle":"Complete Part 3 of JavaFX Tutorial","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":132,"deletions":98}}}]},{"date":"2025-02-12","commitResults":[{"hash":"df83cb32d9a6f909dd9c99e8244d6eb3ce66c24b","isMergeCommit":false,"messageTitle":"Integrate original chatbot functionality","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":2,"deletions":0},"fxml":{"insertions":66,"deletions":0},"java":{"insertions":209,"deletions":274}}},{"hash":"bc9e6383afed6394bcd7e816636363e704b1875f","isMergeCommit":false,"messageTitle":"Complete A-UnitTesting and tests run successfully","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":1,"deletions":0},"java":{"insertions":31,"deletions":4}}},{"hash":"644ac91dd343853838dc1d415f6db94d559ecf89","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-10\u0027","messageBody":"","tags":["A-UnitTesting"],"fileTypesAndContributionMap":{}},{"hash":"fd85d23e7a9d1c18f4317e9140dc4d723d9497a8","isMergeCommit":false,"messageTitle":"Complete JavaFX Tutorial Part 5 and Level-10","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":3,"deletions":0},"fxml":{"insertions":13,"deletions":38},"java":{"insertions":223,"deletions":56}}},{"hash":"d132b157927bde76a682fb388f4f0725f08b156b","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-10\u0027","messageBody":"","tags":["Level-10"],"fileTypesAndContributionMap":{}}]},{"date":"2025-02-16","commitResults":[{"hash":"cc1e928c1ac80651a0775592973435b5e5cd91a7","isMergeCommit":false,"messageTitle":"Add assert feature to TaskManager, Parser, and Storage","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":15,"deletions":2}}},{"hash":"b19e1812eb645a10a95998d252dcaaf7e56d93a6","isMergeCommit":false,"messageTitle":"Modify Parser and TaskManager for A-CodeQuality","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":3,"deletions":4}}},{"hash":"3d91d541aaef1cff1e2b25c770702b5dbae23154","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-Assertions\u0027","messageBody":"","tags":["A-Assertions"],"fileTypesAndContributionMap":{}},{"hash":"0d1287ddf326abd91bc52af50621b34ed62021c8","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-CodeQuality\u0027","messageBody":"","tags":["A-CodeQuality"],"fileTypesAndContributionMap":{}}]},{"date":"2025-02-22","commitResults":[{"hash":"23c302147ece8b59e6478099c272b8ea206e6743","isMergeCommit":false,"messageTitle":"Add extention C-Sort in the form of showDeadlines() function to display to user all their deadline tasks in chronological order","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":2,"deletions":1},"java":{"insertions":65,"deletions":8}}},{"hash":"c34148811628c5d3da6974ef8dd692b6706178dd","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-BCD-Extension\u0027","messageBody":"","tags":["BCD-Extension"],"fileTypesAndContributionMap":{}},{"hash":"6cea93df2d722165039cac1235d7fc1147d0da4e","isMergeCommit":false,"messageTitle":"Update README.md","messageBody":"","fileTypesAndContributionMap":{"md":{"insertions":63,"deletions":44}}},{"hash":"c5c51522a606baeb967bb2dcd12ec2a9514e7fea","isMergeCommit":false,"messageTitle":"Update README.md","messageBody":"","fileTypesAndContributionMap":{"md":{"insertions":1,"deletions":1}}},{"hash":"65eba50c61509124f247f57be13377523f520c44","isMergeCommit":false,"messageTitle":"Update README.md","messageBody":"","fileTypesAndContributionMap":{"md":{"insertions":12,"deletions":0}}}]},{"date":"2025-02-23","commitResults":[{"hash":"3a33207dd737bb5ea74584b2b99c5c2e79d07f0a","isMergeCommit":false,"messageTitle":"Add and format Java Doc header for files","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":44,"deletions":22}}},{"hash":"3da982f324076e911297d00f71b7b497c77adaca","isMergeCommit":true,"messageTitle":"Merge branch \u0027master\u0027 of https://github.com/Jen999/ip","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"fb17a7a11245026e871d40c240c24a65d2efd4c4","isMergeCommit":false,"messageTitle":"Resolve wildcard imports in Parser and Test file","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":12,"deletions":2}}},{"hash":"6a7fdfa48f008abf0658f224a0b91ae78ec1d345","isMergeCommit":false,"messageTitle":"Improve description of Task class","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":3,"deletions":4}}},{"hash":"fc74562911f6ca0233604573deab2d2224962d0c","isMergeCommit":false,"messageTitle":"Complete finalize the features task","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":3,"deletions":3},"md":{"insertions":50,"deletions":15}}}]},{"date":"2025-02-25","commitResults":[{"hash":"efdf9eb9d63b96174d8557656bcecf31eeb82239","isMergeCommit":false,"messageTitle":"Add scene title","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":1,"deletions":6},"java":{"insertions":10,"deletions":9}}},{"hash":"e43b8bbd9830da2cceec44285051528d9101d0f6","isMergeCommit":false,"messageTitle":"Complete user guide for A-UserGuide","messageBody":"","fileTypesAndContributionMap":{"md":{"insertions":58,"deletions":62}}},{"hash":"df5093df71dee13a434d10b2761249bf8726b2e8","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-UserGuide\u0027","messageBody":"","tags":["A-UserGuide","A-Release"],"fileTypesAndContributionMap":{}},{"hash":"c9a588861e74db90266ceb02d19e685e87fa3596","isMergeCommit":false,"messageTitle":"Update build.gradle and docs/README.md","messageBody":"","fileTypesAndContributionMap":{"gradle":{"insertions":1,"deletions":0},"md":{"insertions":4,"deletions":1}}},{"hash":"b7444bb92dffedb035e04b198331864bde6acb86","isMergeCommit":false,"messageTitle":"Add quick access and FAQ section in user guide","messageBody":"","fileTypesAndContributionMap":{"md":{"insertions":19,"deletions":2}}},{"hash":"6d68548a017dbc87ca8463544862c2f50458e5b3","isMergeCommit":false,"messageTitle":"Bold FAQ question and answer headers","messageBody":"","fileTypesAndContributionMap":{"md":{"insertions":2,"deletions":2}}}]},{"date":"2025-02-27","commitResults":[{"hash":"c07704d717bb7f1dc66951760ef2fc7713b9cb54","isMergeCommit":false,"messageTitle":"Update comments and remove unused code","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":6,"deletions":5}}},{"hash":"898a8722603acbd03289796212b07103a00b178e","isMergeCommit":true,"messageTitle":"Merge branch \u0027master\u0027 into branch-A-CodeQuality","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"ce8ed91b19d21ad59b35f9f5f3c860d012d85d1e","isMergeCommit":true,"messageTitle":"Merge pull request #1 from Jen999/branch-A-CodeQuality","messageBody":"Update comments and remove unused code","fileTypesAndContributionMap":{}}]}]},"authorFileTypeContributionMap":{"Jen999":{"java":991,"md":122,"fxml":41,"sh":2,"bat":2,"gradle":20,"txt":9}},"authorContributionVariance":{"Jen999":74382.3},"authorDisplayNameMap":{"Jen999":"TAN LING JEN"}} diff --git a/PerRucia_ip_master/authorship.json b/PerRucia_ip_master/authorship.json new file mode 100644 index 000000000..c4226c490 --- /dev/null +++ b/PerRucia_ip_master/authorship.json @@ -0,0 +1 @@ +[{"path":"AI.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"PerRucia"},"content":"### Week 3 Tasks","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"PerRucia"},"content":"- Created a project in ChatGPT and uploaded relevant files to provide context.","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"PerRucia"},"content":"- Provided instructions with reference to the weekly tasks and asked GPT to generate starter code based on it","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"PerRucia"},"content":"- Refined generated code by providing additional prompts to specify the requirements of the tasks.","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"PerRucia"},"content":"- Used Copilot to autocomplete some manual coding sections.","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"PerRucia"},"content":"**Reflection**\u003cbr\u003e","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"PerRucia"},"content":"The tasks for Week 3 are relatively simple, so GPT was able to generate the code with minimal guidance. ","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"PerRucia"},"content":"The generated code was quite accurate and usually required only minor modifications. ","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"PerRucia"},"content":"### Week 4 Tasks","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"PerRucia"},"content":"- As more functions were added to the ChatBot, the amount of work required per task generally increased as code will need to be changed across multiple classes.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"PerRucia"},"content":"- Instead of directly asking GPT or Copilot to complete the whole task at once, I first broke down the task into smaller parts and asked for code for each part separately.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"PerRucia"},"content":"- This allowed me to better understand the code generated by GPT and make necessary modifications before moving on to the next part.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"PerRucia"},"content":"- This also allowed me to test new additions individually and ensure that they work as intended before integrating them into the main codebase, which in a sense is similar to using branches in Git.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"PerRucia"},"content":"- After completing A-Packages, I realised that the function to write tasks to storage was broken. GPT was able to save a lot of time here as it quickly identified the issue and provided a solution.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"PerRucia"},"content":"- Manual tracing of the code to find the problem would otherwise have been very time-consuming.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"PerRucia"},"content":"### Week 5 Tasks","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"PerRucia"},"content":"- JavaFX was introduced in Week 5, which was a new concept for me. So the tasks this week were implemented manually, with input from GPT and Copilot for bug fixes and error debugging.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"PerRucia"},"content":"- Additionally, I also asked GPT for ideas and ways to make the ChatBot more aesthetically pleasing and user-friendly.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"PerRucia"},"content":"### Week 6 Tasks","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"PerRucia"},"content":"- Tasks were relatively simple this week, with most of the work involving pull requests and merging them into the main branch.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"PerRucia"},"content":"- However, a couple of bugs were missed when transitioning from a text-based interface to the JavaFX GUI.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"PerRucia"},"content":"- GPT was able to quickly explain the issue, identify the problematic code, and suggest a fix.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"PerRucia"},"content":"### Week 7 Tasks","lastModifiedDate":"2025-02-23","isFullCredit":false}],"authorContributionMap":{"PerRucia":28}},{"path":"build.gradle","fileType":"gradle","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"plugins {","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":" id \u0027java\u0027","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" id \u0027application\u0027","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":" id \u0027com.github.johnrengelman.shadow\u0027 version \u00277.1.2\u0027","lastModifiedDate":"2023-08-05","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"repositories {","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":" mavenCentral()","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"dependencies {","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":" testImplementation group: \u0027org.junit.jupiter\u0027, name: \u0027junit-jupiter-api\u0027, version: \u00275.10.0\u0027","lastModifiedDate":"2023-08-05","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":" testRuntimeOnly group: \u0027org.junit.jupiter\u0027, name: \u0027junit-jupiter-engine\u0027, version: \u00275.10.0\u0027","lastModifiedDate":"2023-08-05","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"PerRucia"},"content":" testImplementation \u0027org.mockito:mockito-core:5.0.0\u0027","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"PerRucia"},"content":" String javaFxVersion \u003d \u002717.0.7\u0027","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"PerRucia"},"content":" implementation group: \u0027org.openjfx\u0027, name: \u0027javafx-base\u0027, version: javaFxVersion, classifier: \u0027win\u0027","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"PerRucia"},"content":" implementation group: \u0027org.openjfx\u0027, name: \u0027javafx-base\u0027, version: javaFxVersion, classifier: \u0027mac\u0027","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"PerRucia"},"content":" implementation group: \u0027org.openjfx\u0027, name: \u0027javafx-base\u0027, version: javaFxVersion, classifier: \u0027linux\u0027","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"PerRucia"},"content":" implementation group: \u0027org.openjfx\u0027, name: \u0027javafx-controls\u0027, version: javaFxVersion, classifier: \u0027win\u0027","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"PerRucia"},"content":" implementation group: \u0027org.openjfx\u0027, name: \u0027javafx-controls\u0027, version: javaFxVersion, classifier: \u0027mac\u0027","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"PerRucia"},"content":" implementation group: \u0027org.openjfx\u0027, name: \u0027javafx-controls\u0027, version: javaFxVersion, classifier: \u0027linux\u0027","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"PerRucia"},"content":" implementation group: \u0027org.openjfx\u0027, name: \u0027javafx-fxml\u0027, version: javaFxVersion, classifier: \u0027win\u0027","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"PerRucia"},"content":" implementation group: \u0027org.openjfx\u0027, name: \u0027javafx-fxml\u0027, version: javaFxVersion, classifier: \u0027mac\u0027","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"PerRucia"},"content":" implementation group: \u0027org.openjfx\u0027, name: \u0027javafx-fxml\u0027, version: javaFxVersion, classifier: \u0027linux\u0027","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"PerRucia"},"content":" implementation group: \u0027org.openjfx\u0027, name: \u0027javafx-graphics\u0027, version: javaFxVersion, classifier: \u0027win\u0027","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"PerRucia"},"content":" implementation group: \u0027org.openjfx\u0027, name: \u0027javafx-graphics\u0027, version: javaFxVersion, classifier: \u0027mac\u0027","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"PerRucia"},"content":" implementation group: \u0027org.openjfx\u0027, name: \u0027javafx-graphics\u0027, version: javaFxVersion, classifier: \u0027linux\u0027","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":"test {","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":" useJUnitPlatform()","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":" testLogging {","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":" events \"passed\", \"skipped\", \"failed\"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" showExceptions true","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":" exceptionFormat \"full\"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" showCauses true","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" showStackTraces true","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":" showStandardStreams \u003d false","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":"application {","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"PerRucia"},"content":" mainClass.set(\"rucia.ui.Launcher\")","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":"shadowJar {","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"PerRucia"},"content":" archiveBaseName.set(\u0027RuciaApp\u0027)","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"PerRucia"},"content":" archiveClassifier.set(\u0027all\u0027) // Generates a JAR with `-all.jar` suffix","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"PerRucia"},"content":" archiveVersion.set(\u00271.0\u0027)","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"PerRucia"},"content":" manifest {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"PerRucia"},"content":" attributes \u0027Main-Class\u0027: \u0027Rucia\u0027 // Entry point for the JAR","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"PerRucia"},"content":" mergeServiceFiles() // Helps to avoid Java Service conflicts","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":"run{","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" standardInput \u003d System.in","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25","isFullCredit":false}],"authorContributionMap":{"PerRucia":26,"-":38}},{"path":"data/cheer.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"PerRucia"},"content":"\"Keep going, you\u0027re almost there. Or not. Who knows?\"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"PerRucia"},"content":"\"Believe in yourself. Because no one else will.\"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"PerRucia"},"content":"\"You can do it! But probably not.\"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"PerRucia"},"content":"\"Don\u0027t give up! Unless you want to, then go ahead.\"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"PerRucia"},"content":"\"Success is just around the corner. Or maybe it\u0027s a dead end.\"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"PerRucia"},"content":"\"You\u0027re doing great! Just kidding, try harder.\"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"PerRucia"},"content":"\"Stay positive! Or don\u0027t. Whatever.\"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"PerRucia"},"content":"\"Dream big! But don\u0027t be surprised if it doesn\u0027t work out.\"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"PerRucia"},"content":"\"You got this! Or maybe you don\u0027t. It\u0027s a toss-up.\"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"PerRucia"},"content":"\"Keep pushing! Because clearly, you need the extra effort.\"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"PerRucia"},"content":"\"You\u0027re a star! A dim one, but still a star.\"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"PerRucia"},"content":"\"Keep trying! Even a broken clock is right twice a day.\"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"PerRucia"},"content":"\"You\u0027re unique! Just like everyone else.\"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"PerRucia"},"content":"\"Don\u0027t worry, failure is just success in progress. Very slow progress.\"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"PerRucia"},"content":"\"You\u0027re almost there! Or maybe not. Who can tell?\"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"PerRucia"},"content":"\"Believe in your dreams! Unless they\u0027re unrealistic, then maybe reconsider.\"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"PerRucia"},"content":"\"You\u0027re doing amazing! At least that\u0027s what I\u0027ll tell you.\"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"PerRucia"},"content":"\"Keep it up! Mediocrity is still an achievement.\"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"PerRucia"},"content":"\"You\u0027re unstoppable! Like a train wreck.\"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"PerRucia"},"content":"\"Stay focused! Or at least try to.\"","lastModifiedDate":"2025-02-23","isFullCredit":false}],"authorContributionMap":{"PerRucia":20}},{"path":"data/tasks.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"PerRucia"},"content":"T | 0 | TestTestTest","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"PerRucia"},"content":"N | 0 | TestNote | Lorem Ipsum Dolor Sit Amet","lastModifiedDate":"2025-02-23","isFullCredit":false}],"authorContributionMap":{"PerRucia":2}},{"path":"misc.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"PerRucia"},"content":"// Display ASCII art","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"PerRucia"},"content":"System.out.println(\"______ _ _ _____ _____ ___ \");","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"PerRucia"},"content":"System.out.println(\"| ___ \\\\ | | / __ \\\\_ _|/ _ \\\\ \");","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"PerRucia"},"content":"System.out.println(\"| |_/ / | | | / \\\\/ | | / /_\\\\ \\\\\");","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"PerRucia"},"content":"System.out.println(\"| /| | | | | | | | _ |\");","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"PerRucia"},"content":"System.out.println(\"| |\\\\ \\\\| |_| | \\\\__/\\\\_| |_| | | |\");","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"PerRucia"},"content":"System.out.println(\"\\\\_| \\\\_|\\\\___/ \\\\____/\\\\___/\\\\_| |_/\");","lastModifiedDate":"2025-02-07","isFullCredit":false}],"authorContributionMap":{"PerRucia":7}},{"path":"src/main/java/rucia/commands/AddCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"PerRucia"},"content":"// src/main/java/commands/AddCommand.java","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"PerRucia"},"content":"package rucia.commands;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"PerRucia"},"content":"import rucia.tasks.TaskList;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"PerRucia"},"content":"import rucia.tasks.ToDo;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"PerRucia"},"content":"import rucia.ui.Message;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"PerRucia"},"content":"import rucia.utils.Storage;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"PerRucia"},"content":"import java.io.IOException;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"PerRucia"},"content":"/**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"PerRucia"},"content":" * Represents a command to add a ToDo task.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"PerRucia"},"content":"public class AddCommand implements Command {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"PerRucia"},"content":" private String taskDescription;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"PerRucia"},"content":" private Storage storage;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"PerRucia"},"content":" * Constructs an AddCommand with the specified task description and storage.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"PerRucia"},"content":" * @param taskDescription The description of the task to be added.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"PerRucia"},"content":" * @param storage The storage to save the task.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"PerRucia"},"content":" public AddCommand(String taskDescription, Storage storage) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"PerRucia"},"content":" this.taskDescription \u003d taskDescription;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"PerRucia"},"content":" this.storage \u003d storage;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"PerRucia"},"content":" * Executes the command to add a ToDo task to the task list and save it to storage.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"PerRucia"},"content":" * @param taskList The task list to add the task to.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"PerRucia"},"content":" * @param message The message object to display messages on JavaFX.","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"PerRucia"},"content":" @Override","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"PerRucia"},"content":" public String execute(TaskList taskList, Message message) {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"PerRucia"},"content":" taskList.addTask(new ToDo(taskDescription));","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"PerRucia"},"content":" try {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"PerRucia"},"content":" storage.saveToFile(taskList);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"PerRucia"},"content":" message.addMessage(\"Added ToDo task - \" + taskDescription);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"PerRucia"},"content":" message.addMessage(\"You now have \" + taskList.getTaskSize() + \" task(s) in your list. \" +","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"PerRucia"},"content":" \"Impressive, I guess.\");","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"PerRucia"},"content":" } catch (IOException e) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"PerRucia"},"content":" return Message.showError(e.getMessage());","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"PerRucia"},"content":" return message.getMessage();","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"PerRucia"},"content":"}","lastModifiedDate":"2025-02-08","isFullCredit":false}],"authorContributionMap":{"PerRucia":47}},{"path":"src/main/java/rucia/commands/ByeCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"PerRucia"},"content":"// src/main/java/commands/ByeCommand.java","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"PerRucia"},"content":"package rucia.commands;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"PerRucia"},"content":"import rucia.tasks.TaskList;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"PerRucia"},"content":"import rucia.ui.Message;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"PerRucia"},"content":"/**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"PerRucia"},"content":" * The ByeCommand class implements the Command interface and is used to handle the \"bye\" command.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"PerRucia"},"content":" * This command signals the application to exit.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"PerRucia"},"content":"public class ByeCommand implements Command {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"PerRucia"},"content":" * Executes the \"bye\" command, which shows the exit message and terminates the application.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"PerRucia"},"content":" * @param taskList The list of tasks (not used in this command).","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"PerRucia"},"content":" * @param message The message object to display messages on JavaFX.","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"PerRucia"},"content":" @Override","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"PerRucia"},"content":" public String execute(TaskList taskList, Message message) {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"PerRucia"},"content":" return Message.showExit();","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"PerRucia"},"content":"}","lastModifiedDate":"2025-02-08","isFullCredit":false}],"authorContributionMap":{"PerRucia":24}},{"path":"src/main/java/rucia/commands/CheerCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"PerRucia"},"content":"package rucia.commands;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"PerRucia"},"content":"import rucia.tasks.TaskList;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"PerRucia"},"content":"import rucia.ui.Message;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"PerRucia"},"content":"import java.io.IOException;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"PerRucia"},"content":"import java.nio.file.Files;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"PerRucia"},"content":"import java.nio.file.Paths;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"PerRucia"},"content":"import java.util.List;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"PerRucia"},"content":"import java.util.Random;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"PerRucia"},"content":"/**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"PerRucia"},"content":" * The CheerCommand class implements the Command interface and is responsible for","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"PerRucia"},"content":" * displaying a random motivational quote from a file.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"PerRucia"},"content":"public class CheerCommand implements Command {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"PerRucia"},"content":" private static final String FILE_PATH \u003d \"./data/cheer.txt\";","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"PerRucia"},"content":" * Executes the CheerCommand, which reads a random quote from the file and displays it.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"PerRucia"},"content":" * @param taskList The task list (not used in this command).","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"PerRucia"},"content":" * @param message The message object to display messages on JavaFX.","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"PerRucia"},"content":" @Override","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"PerRucia"},"content":" public String execute(TaskList taskList, Message message) {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"PerRucia"},"content":" try {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"PerRucia"},"content":" List\u003cString\u003e quotes \u003d Files.readAllLines(Paths.get(FILE_PATH));","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"PerRucia"},"content":" if (quotes.isEmpty()) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"PerRucia"},"content":" message.addMessage(\"No quotes available.\");","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"PerRucia"},"content":" } else {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"PerRucia"},"content":" Random random \u003d new Random();","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"PerRucia"},"content":" String randomQuote \u003d quotes.get(random.nextInt(quotes.size()));","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"PerRucia"},"content":" message.addMessage(randomQuote);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"PerRucia"},"content":" } catch (IOException e) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"PerRucia"},"content":" return Message.showError(e.getMessage());","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"PerRucia"},"content":" return message.getMessage();","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"PerRucia"},"content":"}","lastModifiedDate":"2025-02-08","isFullCredit":false}],"authorContributionMap":{"PerRucia":42}},{"path":"src/main/java/rucia/commands/ClearCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"PerRucia"},"content":"package rucia.commands;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"PerRucia"},"content":"import rucia.tasks.TaskList;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"PerRucia"},"content":"import rucia.ui.Message;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"PerRucia"},"content":"import rucia.utils.Storage;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"PerRucia"},"content":"import java.io.IOException;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"PerRucia"},"content":"/**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"PerRucia"},"content":" * The ClearCommand class implements the Command interface and is used to handle the \"clear\" command.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"PerRucia"},"content":" * This command clears all tasks from the task list and updates the storage.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"PerRucia"},"content":"public class ClearCommand implements Command {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"PerRucia"},"content":" private Storage storage;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"PerRucia"},"content":" * Constructs a ClearCommand with the specified storage.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"PerRucia"},"content":" * @param storage The storage to update after clearing tasks.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"PerRucia"},"content":" public ClearCommand(Storage storage) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"PerRucia"},"content":" this.storage \u003d storage;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"PerRucia"},"content":" * Executes the \"clear\" command, which clears all tasks from the task list and updates the storage.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"PerRucia"},"content":" * @param taskList The list of tasks to be cleared.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"PerRucia"},"content":" * @param message The message object to display messages on JavaFX.","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"PerRucia"},"content":" @Override","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"PerRucia"},"content":" public String execute(TaskList taskList, Message message) {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"PerRucia"},"content":" taskList.clearTasks();","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"PerRucia"},"content":" try {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"PerRucia"},"content":" storage.saveToFile(taskList);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"PerRucia"},"content":" message.addMessage(\"Cleared all tasks. Starting fresh, are we?\");","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"PerRucia"},"content":" } catch (IOException e) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"PerRucia"},"content":" return Message.showError(e.getMessage());","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"PerRucia"},"content":" return message.getMessage();","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"PerRucia"},"content":"}","lastModifiedDate":"2025-02-08","isFullCredit":false}],"authorContributionMap":{"PerRucia":43}},{"path":"src/main/java/rucia/commands/Command.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"PerRucia"},"content":"// src/main/java/commands/Command.java","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"PerRucia"},"content":"package rucia.commands;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"PerRucia"},"content":"import rucia.tasks.TaskList;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"PerRucia"},"content":"import rucia.ui.Message;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"PerRucia"},"content":"/**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"PerRucia"},"content":" * The Command interface defines the structure for all command classes.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"PerRucia"},"content":" * Each command must implement the execute method to perform its specific action.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"PerRucia"},"content":"public interface Command {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"PerRucia"},"content":" * Executes the command with the given task list and user interface.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"PerRucia"},"content":" * @param taskList The list of tasks to be manipulated by the command.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"PerRucia"},"content":" * @param message The message object to display messages on JavaFX.","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"PerRucia"},"content":" String execute(TaskList taskList, Message message);","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"PerRucia"},"content":"}","lastModifiedDate":"2025-02-08","isFullCredit":false}],"authorContributionMap":{"PerRucia":20}},{"path":"src/main/java/rucia/commands/DeadlineCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"PerRucia"},"content":"package rucia.commands;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"PerRucia"},"content":"import rucia.tasks.TaskList;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"PerRucia"},"content":"import rucia.tasks.Deadline;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"PerRucia"},"content":"import rucia.ui.Message;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"PerRucia"},"content":"import rucia.utils.Storage;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"PerRucia"},"content":"import rucia.utils.TaskStorageUtil;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"PerRucia"},"content":"import java.io.IOException;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"PerRucia"},"content":"import java.time.LocalDateTime;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"PerRucia"},"content":"import java.time.ZoneOffset;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"PerRucia"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"PerRucia"},"content":"import java.time.format.DateTimeParseException;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"PerRucia"},"content":"/**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"PerRucia"},"content":" * Represents a command to add a deadline task to the task list.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"PerRucia"},"content":" * Handles parsing of date-time input, creation of the deadline task,","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"PerRucia"},"content":" * updating the task list, and saving the tasks to persistent storage.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"PerRucia"},"content":"public class DeadlineCommand implements Command {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"PerRucia"},"content":" private String taskDescription;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"PerRucia"},"content":" private String dateTimeString;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"PerRucia"},"content":" private Storage storage;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"PerRucia"},"content":" * Formatter to parse date-time strings in the format \"dd/MM/yyyy HHmm\".","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"PerRucia"},"content":" private static final DateTimeFormatter DATE_TIME_FORMATTER \u003d DateTimeFormatter.ofPattern(\"dd/MM/yyyy HHmm\");","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"PerRucia"},"content":" * Constructs a DeadlineCommand with the specified task description, date-time string, and storage handler.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"PerRucia"},"content":" * @param taskDescription The description of the deadline task.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"PerRucia"},"content":" * @param dateTimeString The deadline date and time in string format.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"PerRucia"},"content":" * @param storage The storage handler to save the task.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"PerRucia"},"content":" public DeadlineCommand(String taskDescription, String dateTimeString, Storage storage) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"PerRucia"},"content":" this.taskDescription \u003d taskDescription;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"PerRucia"},"content":" this.dateTimeString \u003d dateTimeString;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"PerRucia"},"content":" this.storage \u003d storage;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"PerRucia"},"content":" * Executes the deadline command by adding a new deadline task to the task list,","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"PerRucia"},"content":" * saving the updated list to storage, and displaying appropriate messages to the user.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"PerRucia"},"content":" * @param taskList The current task list to which the new deadline task will be added.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"PerRucia"},"content":" * @param message The message object to display messages on JavaFX.","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"PerRucia"},"content":" @Override","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"PerRucia"},"content":" public String execute(TaskList taskList, Message message) {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"PerRucia"},"content":" try {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"PerRucia"},"content":" if (dateTimeString.length() \u003d\u003d 10) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"PerRucia"},"content":" dateTimeString +\u003d \" 1200\"; // Default time if only date is provided","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"PerRucia"},"content":" LocalDateTime dateTime \u003d LocalDateTime.parse(dateTimeString.trim(), DATE_TIME_FORMATTER);","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"PerRucia"},"content":" taskList.addTask(new Deadline(taskDescription, dateTime.toEpochSecond(ZoneOffset.UTC)));","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"PerRucia"},"content":" TaskStorageUtil.saveEntries(taskList, storage);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"PerRucia"},"content":" message.addMessage(\"Added Deadline task - \" + taskDescription + \" (by: \" +","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"PerRucia"},"content":" dateTime.format(DateTimeFormatter.ofPattern(\"MMM d yyyy, h:mma\")) + \")\");","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"PerRucia"},"content":" message.addMessage(\"You now have \" + taskList.getTaskSize() + \" task(s) in your list. \" +","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"PerRucia"},"content":" \"Impressive, I guess.\");","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"PerRucia"},"content":" return message.getMessage();","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"PerRucia"},"content":" } catch (DateTimeParseException e) {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"PerRucia"},"content":" return Message.showError(\"Invalid date format. Use: dd/MM/yyyy HHmm \" +","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"PerRucia"},"content":" \"(e.g., 02/03/2019 1800). It\u0027s not that hard.\");","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"PerRucia"},"content":" } catch (IOException e) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"PerRucia"},"content":" return Message.showError(e.getMessage());","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"PerRucia"},"content":"}","lastModifiedDate":"2025-02-08","isFullCredit":false}],"authorContributionMap":{"PerRucia":73}},{"path":"src/main/java/rucia/commands/DeleteCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"PerRucia"},"content":"package rucia.commands;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"PerRucia"},"content":"import rucia.tasks.TaskList;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"PerRucia"},"content":"import rucia.ui.Message;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"PerRucia"},"content":"import rucia.utils.Storage;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"PerRucia"},"content":"import java.io.IOException;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"PerRucia"},"content":"/**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"PerRucia"},"content":" * Represents a command to delete a task from the task list.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"PerRucia"},"content":"public class DeleteCommand implements Command {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"PerRucia"},"content":" private String input;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"PerRucia"},"content":" private Storage storage;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"PerRucia"},"content":" * Constructs a DeleteCommand with the specified input and storage.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"PerRucia"},"content":" * @param input The input string containing the task number to be deleted.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"PerRucia"},"content":" * @param storage The storage to save the updated task list.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"PerRucia"},"content":" public DeleteCommand(String input, Storage storage) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"PerRucia"},"content":" this.input \u003d input;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"PerRucia"},"content":" this.storage \u003d storage;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"PerRucia"},"content":" * Executes the delete command by removing the specified task from the task list,","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"PerRucia"},"content":" * saving the updated list to storage, and displaying appropriate messages to the user.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"PerRucia"},"content":" * @param taskList The current task list from which the task will be deleted.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"PerRucia"},"content":" * @param message The message object to display messages on JavaFX.","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"PerRucia"},"content":" @Override","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"PerRucia"},"content":" public String execute(TaskList taskList, Message message) {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"PerRucia"},"content":" try {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"PerRucia"},"content":" int taskIndex \u003d Integer.parseInt(input.split(\" \")[1]) - 1;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"PerRucia"},"content":" String taskDescription \u003d taskList.getTask(taskIndex).getDescription();","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"PerRucia"},"content":" taskList.deleteTask(taskIndex);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"PerRucia"},"content":" storage.saveToFile(taskList);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"PerRucia"},"content":" message.addMessage(\"Deleted task - \" + taskDescription + \". Cleaning up your mess, I see.\");","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"PerRucia"},"content":" message.addMessage(\"You now have \" + taskList.getTaskSize() + \" task(s) in your list.\");","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"PerRucia"},"content":" return message.getMessage();","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"PerRucia"},"content":" } catch (IndexOutOfBoundsException | NumberFormatException e) {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"PerRucia"},"content":" return Message.showError(\"Invalid task number. Pay attention!\");","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"PerRucia"},"content":" } catch (IOException e) {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"PerRucia"},"content":" return Message.showError(e.getMessage());","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"PerRucia"},"content":"}","lastModifiedDate":"2025-02-08","isFullCredit":false}],"authorContributionMap":{"PerRucia":51}},{"path":"src/main/java/rucia/commands/DeleteNoteCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"PerRucia"},"content":"package rucia.commands;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"PerRucia"},"content":"import rucia.tasks.Task;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"PerRucia"},"content":"import rucia.tasks.TaskList;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"PerRucia"},"content":"import rucia.ui.Message;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"PerRucia"},"content":"import rucia.utils.Storage;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"PerRucia"},"content":"import java.io.IOException;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"PerRucia"},"content":"import java.util.ArrayList;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"PerRucia"},"content":"import java.util.List;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"PerRucia"},"content":"/**","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"PerRucia"},"content":" * Represents a command to delete a task from the task list.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"PerRucia"},"content":"public class DeleteNoteCommand implements Command {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"PerRucia"},"content":" private String input;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"PerRucia"},"content":" private Storage storage;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"PerRucia"},"content":" * Constructs a DeleteCommand with the specified input and storage.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"PerRucia"},"content":" * @param input The input string containing the task number to be deleted.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"PerRucia"},"content":" * @param storage The storage to save the updated task list.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"PerRucia"},"content":" public DeleteNoteCommand(String input, Storage storage) {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"PerRucia"},"content":" this.input \u003d input;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"PerRucia"},"content":" this.storage \u003d storage;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"PerRucia"},"content":" * Executes the delete command by removing the specified task from the task list,","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"PerRucia"},"content":" * saving the updated list to storage, and displaying appropriate messages to the user.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"PerRucia"},"content":" * @param taskList The current task list from which the task will be deleted.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"PerRucia"},"content":" * @param message The message object to display messages on JavaFX.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"PerRucia"},"content":" @Override","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"PerRucia"},"content":" public String execute(TaskList taskList, Message message) {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"PerRucia"},"content":" try {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"PerRucia"},"content":" int taskIndex \u003d Integer.parseInt(input.split(\" \")[1]) - 1;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"PerRucia"},"content":" String noteTitle \u003d taskList.getNote(taskIndex).toString();","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"PerRucia"},"content":" taskList.deleteNote(taskIndex);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"PerRucia"},"content":" storage.saveToFile(taskList);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"PerRucia"},"content":" message.addMessage(\"Deleted note - \" + noteTitle + \". Don\u0027t regret it.\");","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"PerRucia"},"content":" message.addMessage(\"You now have \" + taskList.getNoteSize() + \" note(s)\");","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"PerRucia"},"content":" return message.getMessage();","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"PerRucia"},"content":" } catch (IndexOutOfBoundsException | NumberFormatException e) {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"PerRucia"},"content":" return Message.showError(\"Invalid note number. Pay attention!\");","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"PerRucia"},"content":" } catch (IOException e) {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"PerRucia"},"content":" return Message.showError(e.getMessage());","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"PerRucia"},"content":"}","lastModifiedDate":"2025-02-23","isFullCredit":false}],"authorContributionMap":{"PerRucia":54}},{"path":"src/main/java/rucia/commands/EventCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"PerRucia"},"content":"package rucia.commands;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"PerRucia"},"content":"import rucia.tasks.TaskList;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"PerRucia"},"content":"import rucia.tasks.Event;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"PerRucia"},"content":"import rucia.ui.Message;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"PerRucia"},"content":"import rucia.utils.Storage;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"PerRucia"},"content":"import rucia.utils.TaskStorageUtil;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"PerRucia"},"content":"import java.io.IOException;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"PerRucia"},"content":"import java.time.LocalDateTime;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"PerRucia"},"content":"import java.time.ZoneOffset;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"PerRucia"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"PerRucia"},"content":"import java.time.format.DateTimeParseException;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"PerRucia"},"content":"/**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"PerRucia"},"content":" * Represents a command to add an event task to the task list.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"PerRucia"},"content":" * Handles parsing of start and end date-time inputs, creation of the event task,","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"PerRucia"},"content":" * updating the task list, and saving the tasks to persistent storage.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"PerRucia"},"content":"public class EventCommand implements Command {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"PerRucia"},"content":" private String description;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"PerRucia"},"content":" private String fromDateTimeString;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"PerRucia"},"content":" private String toDateTimeString;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"PerRucia"},"content":" private Storage storage;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"PerRucia"},"content":" * Formatter to parse date-time strings in the format \"dd/MM/yyyy HHmm\".","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"PerRucia"},"content":" private static final DateTimeFormatter DATE_TIME_FORMATTER \u003d DateTimeFormatter.ofPattern(\"dd/MM/yyyy HHmm\");","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"PerRucia"},"content":" * Constructs an EventCommand with the specified description, start and end date-time strings, and storage handler.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"PerRucia"},"content":" * @param description The description of the event.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"PerRucia"},"content":" * @param fromDateTimeString The start date and time in string format.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"PerRucia"},"content":" * @param toDateTimeString The end date and time in string format.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"PerRucia"},"content":" * @param storage The storage handler to save the task.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"PerRucia"},"content":" public EventCommand(String description, String fromDateTimeString, String toDateTimeString, Storage storage) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"PerRucia"},"content":" this.description \u003d description;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"PerRucia"},"content":" this.fromDateTimeString \u003d fromDateTimeString;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"PerRucia"},"content":" this.toDateTimeString \u003d toDateTimeString;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"PerRucia"},"content":" this.storage \u003d storage;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"PerRucia"},"content":" * Executes the event command by adding a new event task to the task list,","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"PerRucia"},"content":" * saving the updated list to storage, and displaying appropriate messages to the user.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"PerRucia"},"content":" * @param taskList The current task list to which the new event task will be added.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"PerRucia"},"content":" * @param message The message object to display messages on JavaFX.","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"PerRucia"},"content":" @Override","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"PerRucia"},"content":" public String execute(TaskList taskList, Message message) {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"PerRucia"},"content":" try {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"PerRucia"},"content":" if (fromDateTimeString.length() \u003d\u003d 10) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"PerRucia"},"content":" fromDateTimeString +\u003d \" 1200\"; // Default time if only date is provided","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"PerRucia"},"content":" LocalDateTime fromDateTime \u003d LocalDateTime.parse(fromDateTimeString, DATE_TIME_FORMATTER);","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"PerRucia"},"content":" if (toDateTimeString.length() \u003d\u003d 10) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"PerRucia"},"content":" toDateTimeString +\u003d \" 1200\"; // Default time if only date is provided","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"PerRucia"},"content":" LocalDateTime toDateTime \u003d LocalDateTime.parse(toDateTimeString, DATE_TIME_FORMATTER);","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"PerRucia"},"content":" taskList.addTask(new Event(description, fromDateTime.toEpochSecond(ZoneOffset.UTC),","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"PerRucia"},"content":" toDateTime.toEpochSecond(ZoneOffset.UTC)));","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"PerRucia"},"content":" TaskStorageUtil.saveEntries(taskList, storage);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"PerRucia"},"content":" message.addMessage(\"Added Event task - \" + description + \" (from: \" +","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"PerRucia"},"content":" fromDateTime.format(DateTimeFormatter.ofPattern(\"MMM d yyyy, h:mma\")) + \" to: \" +","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"PerRucia"},"content":" toDateTime.format(DateTimeFormatter.ofPattern(\"MMM d yyyy, h:mma\")) + \")\");","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"PerRucia"},"content":" message.addMessage(\"You now have \" + taskList.getTaskSize() + \" task(s) in your list. \" +","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"PerRucia"},"content":" \"Impressive, I guess.\");","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"PerRucia"},"content":" return message.getMessage();","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"PerRucia"},"content":" } catch (DateTimeParseException e) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"PerRucia"},"content":" return Message.showError(\"Invalid date format. Use: dd/MM/yyyy HHmm (e.g., 02/03/2019 1800)\");","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"PerRucia"},"content":" } catch (IOException e) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"PerRucia"},"content":" return Message.showError(e.getMessage());","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"PerRucia"},"content":"}","lastModifiedDate":"2025-02-08","isFullCredit":false}],"authorContributionMap":{"PerRucia":82}},{"path":"src/main/java/rucia/commands/FindCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"PerRucia"},"content":"package rucia.commands;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"PerRucia"},"content":"import rucia.tasks.Task;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"PerRucia"},"content":"import rucia.tasks.TaskList;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"PerRucia"},"content":"import rucia.ui.Message;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"PerRucia"},"content":"import java.util.List;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"PerRucia"},"content":"import java.util.stream.Collectors;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"PerRucia"},"content":"/**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"PerRucia"},"content":" * The FindCommand class implements the Command interface and is responsible for","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"PerRucia"},"content":" * finding tasks that contain specific keywords in their description.","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"PerRucia"},"content":" * \u003cp\u003eThis class allows for multiple keywords to be specified, and it will search","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"PerRucia"},"content":" * for tasks that contain any of the provided keywords. If no matching tasks are found,","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"PerRucia"},"content":" * an appropriate message is displayed to the user.\u003c/p\u003e","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"PerRucia"},"content":" * \u003cp\u003eExample usage:\u003c/p\u003e","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"PerRucia"},"content":" * \u003cpre\u003e","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"PerRucia"},"content":" * {@code","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"PerRucia"},"content":" * FindCommand findCommand \u003d new FindCommand(\"keyword1\", \"keyword2\");","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"PerRucia"},"content":" * findCommand.execute(taskList, message);","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"PerRucia"},"content":" * }","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"PerRucia"},"content":" * \u003c/pre\u003e","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"PerRucia"},"content":"public class FindCommand implements Command {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"PerRucia"},"content":" private String[] keywords;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"PerRucia"},"content":" public FindCommand(String... keywords) {","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"PerRucia"},"content":" this.keywords \u003d keywords;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"PerRucia"},"content":" * Executes the find command by searching for tasks that contain any of the specified keywords","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"PerRucia"},"content":" * in their description. Displays the matching tasks or an appropriate message if no tasks are found.","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"PerRucia"},"content":" * @param taskList The current task list to search for matching tasks.","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"PerRucia"},"content":" * @param message The message object to display messages on JavaFX.","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"PerRucia"},"content":" @Override","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"PerRucia"},"content":" public String execute(TaskList taskList, Message message) {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"PerRucia"},"content":" List\u003cTask\u003e matchingTasks \u003d taskList.getTasks().stream()","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"PerRucia"},"content":" .filter(task -\u003e {","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"PerRucia"},"content":" for (String keyword : keywords) {","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"PerRucia"},"content":" if (task.getDescription().contains(keyword)) {","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"PerRucia"},"content":" return true;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"PerRucia"},"content":" return false;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"PerRucia"},"content":" })","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"PerRucia"},"content":" .collect(Collectors.toList());","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"PerRucia"},"content":" if (matchingTasks.isEmpty()) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"PerRucia"},"content":" message.addMessage(\"No tasks found with the keywords: \" + String.join(\", \", keywords)","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"PerRucia"},"content":" + \". Better luck next time.\");","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"PerRucia"},"content":" } else {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"PerRucia"},"content":" message.addMessage(\"Tasks found with the keywords: \" + String.join(\", \", keywords));","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"PerRucia"},"content":" for (Task task : matchingTasks) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"PerRucia"},"content":" message.addMessage(task.toString());","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"PerRucia"},"content":" return message.getMessage();","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"PerRucia"},"content":"}","lastModifiedDate":"2025-02-08","isFullCredit":false}],"authorContributionMap":{"PerRucia":63}},{"path":"src/main/java/rucia/commands/HelpCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"PerRucia"},"content":"package rucia.commands;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"PerRucia"},"content":"import rucia.tasks.TaskList;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"PerRucia"},"content":"import rucia.ui.Message;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"PerRucia"},"content":"/**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"PerRucia"},"content":" * Represents a command to display help information to the user.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"PerRucia"},"content":" * Lists all available commands with brief descriptions.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"PerRucia"},"content":"public class HelpCommand implements Command {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"PerRucia"},"content":" * Executes the help command by displaying a list of available commands","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"PerRucia"},"content":" * along with their descriptions to the user.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"PerRucia"},"content":" * @param taskList The current task list (not used in this command).","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"PerRucia"},"content":" * @param message The message object to display messages on JavaFX.","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"PerRucia"},"content":" @Override","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"PerRucia"},"content":" public String execute(TaskList taskList, Message message) {;","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"PerRucia"},"content":" String helpMessage \u003d \"Looks like you need help after all huh?:\\n\"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"PerRucia"},"content":" + \"1. add \u003ctask description\u003e - Add a new task\\n\"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"PerRucia"},"content":" + \"2. deadline \u003ctask\u003e /by \u003cdate\u003e - Add a new deadline task\\n\"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"PerRucia"},"content":" + \"3. event \u003ctask\u003e /from \u003cstart\u003e /to \u003cend\u003e - Add a new event task\\n\"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"PerRucia"},"content":" + \"4. list - List all tasks\\n\"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"PerRucia"},"content":" + \"5. mark \u003ctask number\u003e - Mark a task as done\\n\"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"PerRucia"},"content":" + \"6. unmark \u003ctask number\u003e - Mark a task as not done\\n\"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"PerRucia"},"content":" + \"7. delete \u003ctask number\u003e - Delete a task\\n\"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"PerRucia"},"content":" + \"8. list_day \u003cdd/MM/yyyy\u003e - List tasks for a specific day\\n\"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"PerRucia"},"content":" + \"9. find \u003ckeyword\u003e - Find tasks containing the keyword\\n\"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"PerRucia"},"content":" + \"10. help notes - Show notes-related commands\\n\"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"PerRucia"},"content":" + \"11. bye - Exit the application\\\\n\\\"\"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"PerRucia"},"content":" + \"12. help or ? - Show this help message\";","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"PerRucia"},"content":" message.addMessage(helpMessage);","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"PerRucia"},"content":" return message.getMessage();","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"PerRucia"},"content":"}","lastModifiedDate":"2025-02-08","isFullCredit":false}],"authorContributionMap":{"PerRucia":37}},{"path":"src/main/java/rucia/commands/HelpNotesCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"PerRucia"},"content":"package rucia.commands;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"PerRucia"},"content":"import rucia.tasks.TaskList;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"PerRucia"},"content":"import rucia.ui.Message;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"PerRucia"},"content":"/**","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"PerRucia"},"content":" * Represents a command to display help information to the user.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"PerRucia"},"content":" * Lists all available commands with brief descriptions.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"PerRucia"},"content":"public class HelpNotesCommand implements Command {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"PerRucia"},"content":" * Executes the help command by displaying a list of available commands","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"PerRucia"},"content":" * along with their descriptions to the user.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"PerRucia"},"content":" * @param taskList The current task list (not used in this command).","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"PerRucia"},"content":" * @param message The message object to display messages on JavaFX.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"PerRucia"},"content":" public String execute(TaskList taskList, Message message) {;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"PerRucia"},"content":" String helpMessage \u003d \"It\u0027s just note-taking, how hard can it be?:\\n\"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"PerRucia"},"content":" + \"1. note \u003ctitle\u003e /desc \u003cdescription\u003e - Add a new note\\n\"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"PerRucia"},"content":" + \"2. notes - List all notes\\n\"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"PerRucia"},"content":" + \"3. delete_note \u003cnote number\u003e - Delete a note\\n\"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"PerRucia"},"content":" + \"4. view_note \u003cnote number\u003e - View details about a note\\n\";","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"PerRucia"},"content":" message.addMessage(helpMessage);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"PerRucia"},"content":" return message.getMessage();","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"PerRucia"},"content":"}","lastModifiedDate":"2025-02-23","isFullCredit":false}],"authorContributionMap":{"PerRucia":28}},{"path":"src/main/java/rucia/commands/ListCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"PerRucia"},"content":"package rucia.commands;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"PerRucia"},"content":"import rucia.tasks.TaskList;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"PerRucia"},"content":"import rucia.ui.Message;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"PerRucia"},"content":"/**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"PerRucia"},"content":" * Represents a command to display all tasks in the task list.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"PerRucia"},"content":" * Lists each task with its corresponding index.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"PerRucia"},"content":"public class ListCommand implements Command {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"PerRucia"},"content":" * Executes the list command by displaying all tasks in the task list.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"PerRucia"},"content":" * If the task list is empty, an appropriate message is shown.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"PerRucia"},"content":" * @param taskList The current task list containing tasks to be displayed.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"PerRucia"},"content":" * @param message The message object to display messages on JavaFX.","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"PerRucia"},"content":" @Override","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"PerRucia"},"content":" public String execute(TaskList taskList, Message message) {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"PerRucia"},"content":" if (taskList.getTaskSize() \u003d\u003d 0) {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"PerRucia"},"content":" message.addMessage(\"Your task list is empty. Someone is free...\");","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"PerRucia"},"content":" } else {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"PerRucia"},"content":" message.addMessage(\"Here are your tasks. Try not to forget them:\");","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"PerRucia"},"content":" for (int i \u003d 0; i \u003c taskList.getTaskSize(); i++) {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"PerRucia"},"content":" message.addMessage((i + 1) + \". \" + taskList.getTask(i));","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"PerRucia"},"content":" return message.getMessage();","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"PerRucia"},"content":"}","lastModifiedDate":"2025-02-08","isFullCredit":false}],"authorContributionMap":{"PerRucia":31}},{"path":"src/main/java/rucia/commands/ListDayCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"PerRucia"},"content":"package rucia.commands;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"PerRucia"},"content":"import rucia.tasks.Deadline;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"PerRucia"},"content":"import rucia.tasks.Event;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"PerRucia"},"content":"import rucia.tasks.Task;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"PerRucia"},"content":"import rucia.tasks.TaskList;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"PerRucia"},"content":"import rucia.ui.Message;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"PerRucia"},"content":"import java.time.LocalDate;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"PerRucia"},"content":"import java.time.LocalDateTime;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"PerRucia"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"PerRucia"},"content":"import java.time.format.DateTimeParseException;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"PerRucia"},"content":"import java.util.List;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"PerRucia"},"content":"import java.util.stream.Collectors;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"PerRucia"},"content":"/**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"PerRucia"},"content":" * Represents a command to list tasks scheduled for a specific day.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"PerRucia"},"content":" * Filters and displays deadlines and events that occur on the specified date.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"PerRucia"},"content":"public class ListDayCommand implements Command {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"PerRucia"},"content":" private LocalDate date;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"PerRucia"},"content":" * Constructs a ListDayCommand with the specified date input.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"PerRucia"},"content":" * Parses the date from the user input.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"PerRucia"},"content":" * @param input The user input containing the date in dd/MM/yyyy format.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"PerRucia"},"content":" * @throws IllegalArgumentException if the date format is invalid.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"PerRucia"},"content":" public ListDayCommand(String input) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"PerRucia"},"content":" try {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"PerRucia"},"content":" String dateString \u003d input.substring(8).trim();","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"PerRucia"},"content":" this.date \u003d LocalDate.parse(dateString, DateTimeFormatter.ofPattern(\"dd/MM/yyyy\"));","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"PerRucia"},"content":" } catch (DateTimeParseException e) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"PerRucia"},"content":" throw new IllegalArgumentException(\"Invalid date format. Use: list_day \u003cdd/MM/yyyy\u003e\");","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"PerRucia"},"content":" * Executes the list day command by filtering tasks scheduled for the specified date.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"PerRucia"},"content":" * Displays the list of matching tasks or a message if no tasks are found.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"PerRucia"},"content":" * @param taskList The current task list containing tasks to be filtered.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"PerRucia"},"content":" * @param message The message object to display messages on JavaFX.","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"PerRucia"},"content":" @Override","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"PerRucia"},"content":" public String execute(TaskList taskList, Message message) {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"PerRucia"},"content":" List\u003cTask\u003e tasksForDay \u003d taskList.getTasks().stream()","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"PerRucia"},"content":" .filter(task -\u003e {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"PerRucia"},"content":" if (task instanceof Deadline) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"PerRucia"},"content":" LocalDateTime byDateTime \u003d ((Deadline) task).getByDateTime();","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"PerRucia"},"content":" return byDateTime.toLocalDate().equals(date);","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"PerRucia"},"content":" } else if (task instanceof Event) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"PerRucia"},"content":" LocalDateTime fromDateTime \u003d ((Event) task).getFromDateTime();","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"PerRucia"},"content":" LocalDateTime toDateTime \u003d ((Event) task).getToDateTime();","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"PerRucia"},"content":" return !fromDateTime.toLocalDate().isAfter(date) \u0026\u0026 !toDateTime.toLocalDate().isBefore(date);","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"PerRucia"},"content":" return false;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"PerRucia"},"content":" })","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"PerRucia"},"content":" .collect(Collectors.toList());","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"PerRucia"},"content":" if (tasksForDay.isEmpty()) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"PerRucia"},"content":" message.addMessage(\"No tasks found for \" + date + \". Enjoy your free time, I guess.\");","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"PerRucia"},"content":" } else {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"PerRucia"},"content":" message.addMessage(\"Tasks for \" + date + \":\");","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"PerRucia"},"content":" for (Task task : tasksForDay) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"PerRucia"},"content":" message.addMessage(task.toString());","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"PerRucia"},"content":" return message.getMessage();","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"PerRucia"},"content":"}","lastModifiedDate":"2025-02-08","isFullCredit":false}],"authorContributionMap":{"PerRucia":72}},{"path":"src/main/java/rucia/commands/ListNotesCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"PerRucia"},"content":"package rucia.commands;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"PerRucia"},"content":"import rucia.tasks.TaskList;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"PerRucia"},"content":"import rucia.ui.Message;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"PerRucia"},"content":"/**","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"PerRucia"},"content":" * Represents a command to display all tasks in the task list.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"PerRucia"},"content":" * Lists each task with its corresponding index.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"PerRucia"},"content":"public class ListNotesCommand implements Command {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"PerRucia"},"content":" * Executes the list command by displaying all tasks in the task list.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"PerRucia"},"content":" * If the task list is empty, an appropriate message is shown.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"PerRucia"},"content":" * @param taskList The current task list containing tasks to be displayed.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"PerRucia"},"content":" * @param message The message object to display messages on JavaFX.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"PerRucia"},"content":" @Override","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"PerRucia"},"content":" public String execute(TaskList taskList, Message message) {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"PerRucia"},"content":" if (taskList.getNoteSize() \u003d\u003d 0) {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"PerRucia"},"content":" message.addMessage(\"Your note list is empty. Don\u0027t you have anything to write?\");","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"PerRucia"},"content":" } else {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"PerRucia"},"content":" message.addMessage(\"Here are your notes:\");","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"PerRucia"},"content":" for (int i \u003d 0; i \u003c taskList.getNoteSize(); i++) {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"PerRucia"},"content":" message.addMessage((i + 1) + \". \" + taskList.getNote(i));","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"PerRucia"},"content":" return message.getMessage();","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"PerRucia"},"content":"}","lastModifiedDate":"2025-02-23","isFullCredit":false}],"authorContributionMap":{"PerRucia":31}},{"path":"src/main/java/rucia/commands/MarkCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"PerRucia"},"content":"package rucia.commands;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"PerRucia"},"content":"import rucia.tasks.TaskList;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"PerRucia"},"content":"import rucia.ui.Message;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"PerRucia"},"content":"import rucia.utils.Storage;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"PerRucia"},"content":"import rucia.utils.TaskStorageUtil;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"PerRucia"},"content":"import java.io.IOException;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"PerRucia"},"content":"/**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"PerRucia"},"content":" * Represents a command to mark a task as done in the task list.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"PerRucia"},"content":" * Handles updating the task status, saving changes to storage,","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"PerRucia"},"content":" * and notifying the user.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"PerRucia"},"content":"public class MarkCommand implements Command {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"PerRucia"},"content":" private int taskIndex;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"PerRucia"},"content":" private Storage storage;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"PerRucia"},"content":" * Constructs a MarkCommand with the specified task index from user input","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"PerRucia"},"content":" * and initializes the storage handler.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"PerRucia"},"content":" * @param input The user input containing the task number to mark as done.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"PerRucia"},"content":" * @param storage The storage handler to save the updated task list.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"PerRucia"},"content":" * @throws IllegalArgumentException if the input does not contain a valid task number.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"PerRucia"},"content":" public MarkCommand(String input, Storage storage) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"PerRucia"},"content":" try {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"PerRucia"},"content":" this.taskIndex \u003d Integer.parseInt(input.substring(4).trim()) - 1;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"PerRucia"},"content":" } catch (NumberFormatException e) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"PerRucia"},"content":" throw new IllegalArgumentException(\"Invalid input. Please provide a valid task number.\");","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"PerRucia"},"content":" this.storage \u003d storage;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"PerRucia"},"content":" * Executes the mark command by marking the specified task as done,","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"PerRucia"},"content":" * saving the updated task list to storage, and displaying a confirmation message.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"PerRucia"},"content":" * If the task is already marked as done, an appropriate message is shown.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"PerRucia"},"content":" * @param taskList The current task list containing tasks to be updated.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"PerRucia"},"content":" * @param message The message object to display messages.","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"PerRucia"},"content":" @Override","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"PerRucia"},"content":" public String execute(TaskList taskList, Message message) {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"PerRucia"},"content":" if (taskIndex \u003c 0 || taskIndex \u003e\u003d taskList.getTaskSize()) {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"PerRucia"},"content":" return Message.showError(\"Invalid task index. It\u0027s not rocket science.\");","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"PerRucia"},"content":" if (taskList.isTaskDone(taskIndex)) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"PerRucia"},"content":" return Message.showError(\"Task is already marked as done. Are you forgetful or what?\");","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"PerRucia"},"content":" taskList.markTask(taskIndex);","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"PerRucia"},"content":" try {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"PerRucia"},"content":" TaskStorageUtil.saveEntries(taskList, storage);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"PerRucia"},"content":" message.addMessage(\"Marked task as done - \" + taskList.getTask(taskIndex));","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"PerRucia"},"content":" message.addMessage(\"Finally, some progress.\");","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"PerRucia"},"content":" } catch (IOException e) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"PerRucia"},"content":" return Message.showError(e.getMessage());","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"PerRucia"},"content":" return message.getMessage();","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"PerRucia"},"content":"}","lastModifiedDate":"2025-02-08","isFullCredit":false}],"authorContributionMap":{"PerRucia":61}},{"path":"src/main/java/rucia/commands/NoteCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"PerRucia"},"content":"package rucia.commands;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"PerRucia"},"content":"import rucia.tasks.Note;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"PerRucia"},"content":"import rucia.tasks.Task;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"PerRucia"},"content":"import rucia.tasks.TaskList;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"PerRucia"},"content":"import rucia.ui.Message;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"PerRucia"},"content":"import rucia.utils.Storage;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"PerRucia"},"content":"import java.util.ArrayList;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"PerRucia"},"content":"import java.util.List;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"PerRucia"},"content":"/**","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"PerRucia"},"content":" * Represents a command to add a new Note to the task list.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"PerRucia"},"content":"public class NoteCommand implements Command {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"PerRucia"},"content":" private String title;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"PerRucia"},"content":" private String description;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"PerRucia"},"content":" private Storage storage;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"PerRucia"},"content":" * Constructs a NoteCommand with the specified title and description.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"PerRucia"},"content":" * @param title The title of the note.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"PerRucia"},"content":" * @param description The description of the note.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"PerRucia"},"content":" public NoteCommand(String title, String description, Storage storage) {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"PerRucia"},"content":" this.title \u003d title;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"PerRucia"},"content":" this.description \u003d description;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"PerRucia"},"content":" this.storage \u003d storage;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"PerRucia"},"content":" * Executes the note command by adding a new Note to the task list.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"PerRucia"},"content":" * @param taskList The current task list to add the note to.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"PerRucia"},"content":" * @param message The message object to display messages on JavaFX.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"PerRucia"},"content":" * @return A response message indicating the note has been added.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"PerRucia"},"content":" @Override","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"PerRucia"},"content":" public String execute(TaskList taskList, Message message) {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"PerRucia"},"content":" Note note \u003d new Note(title, description);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"PerRucia"},"content":" taskList.addNote(note);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"PerRucia"},"content":" try {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"PerRucia"},"content":" storage.saveToFile(taskList);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"PerRucia"},"content":" message.addMessage(\"Added Note - \" + title);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"PerRucia"},"content":" message.addMessage(\"You now have \" + taskList.getNoteSize() + \" note(s).\" +","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"PerRucia"},"content":" \" Are you sure that\u0027s enough?\");","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"PerRucia"},"content":" } catch (Exception e) {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"PerRucia"},"content":" return Message.showError(e.getMessage());","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"PerRucia"},"content":" return message.getMessage();","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"PerRucia"},"content":"}","lastModifiedDate":"2025-02-23","isFullCredit":false}],"authorContributionMap":{"PerRucia":53}},{"path":"src/main/java/rucia/commands/UnmarkCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"PerRucia"},"content":"package rucia.commands;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"PerRucia"},"content":"import rucia.tasks.TaskList;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"PerRucia"},"content":"import rucia.ui.Message;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"PerRucia"},"content":"import rucia.utils.Storage;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"PerRucia"},"content":"import rucia.utils.TaskStorageUtil;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"PerRucia"},"content":"import java.io.IOException;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"PerRucia"},"content":"/**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"PerRucia"},"content":" * Represents a command to unmark a task as not done in the task list.","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"PerRucia"},"content":" * Handles updating the task status, saving changes to storage,","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"PerRucia"},"content":" * and notifying the user.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"PerRucia"},"content":"public class UnmarkCommand implements Command {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"PerRucia"},"content":" private int taskIndex;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"PerRucia"},"content":" private Storage storage;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"PerRucia"},"content":" * Constructs an UnmarkCommand with the specified task index from user input","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"PerRucia"},"content":" * and initializes the storage handler.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"PerRucia"},"content":" * @param input The user input containing the task number to unmark as not done.","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"PerRucia"},"content":" * @param storage The storage handler to save the updated task list.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"PerRucia"},"content":" * @throws IllegalArgumentException if the input does not contain a valid task number.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"PerRucia"},"content":" public UnmarkCommand(String input, Storage storage) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"PerRucia"},"content":" try {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"PerRucia"},"content":" this.taskIndex \u003d Integer.parseInt(input.substring(6).trim()) - 1;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"PerRucia"},"content":" } catch (NumberFormatException e) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"PerRucia"},"content":" throw new IllegalArgumentException(\"Invalid input. Please provide a valid task number.\");","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"PerRucia"},"content":" this.storage \u003d storage;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"PerRucia"},"content":" * Executes the unmark command by unmarking the specified task as not done,","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"PerRucia"},"content":" * saving the updated task list to storage, and displaying a confirmation message.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"PerRucia"},"content":" * If the task is already unmarked, an appropriate message is shown.","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"PerRucia"},"content":" * @param taskList The current task list containing tasks to be updated.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"PerRucia"},"content":" * @param message The message object to display messages.","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"PerRucia"},"content":" @Override","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"PerRucia"},"content":" public String execute(TaskList taskList, Message message) {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"PerRucia"},"content":" if (taskIndex \u003c 0 || taskIndex \u003e\u003d taskList.getTaskSize()) {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"PerRucia"},"content":" return Message.showError(\"Invalid task index. It\u0027s just a number, come on.\");","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"PerRucia"},"content":" if (!taskList.isTaskDone(taskIndex)) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"PerRucia"},"content":" return Message.showError(\"Task is already unmarked. Even a goldfish has a better memory.\");","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"PerRucia"},"content":" taskList.unmarkTask(taskIndex);","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"PerRucia"},"content":" try {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"PerRucia"},"content":" TaskStorageUtil.saveEntries(taskList, storage);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"PerRucia"},"content":" message.addMessage(\"Unmarked task as not done - \" + taskList.getTask(taskIndex));","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"PerRucia"},"content":" message.addMessage(\"You\u0027re back to square one.\");","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"PerRucia"},"content":" } catch (IOException e) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"PerRucia"},"content":" return Message.showError(e.getMessage());","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"PerRucia"},"content":" return message.getMessage();","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"PerRucia"},"content":"}","lastModifiedDate":"2025-02-08","isFullCredit":false}],"authorContributionMap":{"PerRucia":61}},{"path":"src/main/java/rucia/commands/ViewNoteCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"PerRucia"},"content":"// src/main/java/rucia/commands/ViewNoteCommand.java","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"PerRucia"},"content":"package rucia.commands;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"PerRucia"},"content":"import rucia.tasks.TaskList;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"PerRucia"},"content":"import rucia.ui.Message;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"PerRucia"},"content":"public class ViewNoteCommand implements Command {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"PerRucia"},"content":" private final int noteIndex;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"PerRucia"},"content":" public ViewNoteCommand(String input) {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"PerRucia"},"content":" this.noteIndex \u003d Integer.parseInt(input) - 1;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"PerRucia"},"content":" public String execute(TaskList taskList, Message message) {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"PerRucia"},"content":" try {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"PerRucia"},"content":" message.addMessage(\"Viewing Note: \" + taskList.getNote(noteIndex).toFullString());","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"PerRucia"},"content":" return message.getMessage();","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"PerRucia"},"content":" } catch (IndexOutOfBoundsException e) {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"PerRucia"},"content":" return Message.showError(\"Invalid note number. Please try again.\");","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"PerRucia"},"content":"}","lastModifiedDate":"2025-02-23","isFullCredit":false}],"authorContributionMap":{"PerRucia":22}},{"path":"src/main/java/rucia/driver/Rucia.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"PerRucia"},"content":"package rucia.driver;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"PerRucia"},"content":"import rucia.utils.CommandIdentifier;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"PerRucia"},"content":"import rucia.utils.CommandParser;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"PerRucia"},"content":"import rucia.utils.CommandType;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"PerRucia"},"content":"import rucia.utils.Storage;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"PerRucia"},"content":"import rucia.tasks.TaskList;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"PerRucia"},"content":"import rucia.ui.Message;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"PerRucia"},"content":"import rucia.commands.Command;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"PerRucia"},"content":"import java.io.IOException;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"PerRucia"},"content":"/**","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"PerRucia"},"content":" * Rucia is a personal assistant chatbot that helps users with basic commands.","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"PerRucia"},"content":" * This class handles greeting the user, managing tasks, providing help, and exiting when requested.","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"PerRucia"},"content":" * The main command-processing logic is encapsulated in {@code getResponse}, which processes a single user command","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"PerRucia"},"content":" * and returns a response string.","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"PerRucia"},"content":"public class Rucia {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"PerRucia"},"content":" private Storage storage;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"PerRucia"},"content":" private TaskList taskList;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"PerRucia"},"content":" * Constructs a new Rucia instance and initializes the UI, storage, and task list.","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"PerRucia"},"content":" public Rucia() {","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"PerRucia"},"content":" storage \u003d new Storage(\"data/tasks.txt\");","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"PerRucia"},"content":" try {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"PerRucia"},"content":" taskList \u003d new TaskList(storage.loadFromFile());","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"PerRucia"},"content":" } catch (IOException e) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"PerRucia"},"content":" taskList \u003d new TaskList();","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"PerRucia"},"content":" * Processes a single user command and returns the chatbot\u0027s response.","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"PerRucia"},"content":" * \u003cp\u003e","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"PerRucia"},"content":" * The method identifies and parses the input command, then executes it.","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"PerRucia"},"content":" * It is assumed that {@code Command.execute} has been refactored to return a response string.","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"PerRucia"},"content":" * If an error occurs during parsing or execution, the error message is returned.","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"PerRucia"},"content":" * \u003c/p\u003e","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"PerRucia"},"content":" * @param input The command input string provided by the user.","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"PerRucia"},"content":" * @return A response message generated after processing the command.","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"PerRucia"},"content":" public String getResponse(String input) {","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"PerRucia"},"content":" CommandType commandType \u003d CommandIdentifier.identify(input);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"PerRucia"},"content":" try {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"PerRucia"},"content":" Command command \u003d CommandParser.parse(input, commandType, storage);","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"PerRucia"},"content":" return command.execute(taskList, new Message());","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"PerRucia"},"content":" } catch (IllegalArgumentException e) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"PerRucia"},"content":" return Message.showError(e.getMessage());","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"PerRucia"},"content":" * Returns a welcome message to be displayed when the user starts the application.","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"PerRucia"},"content":" * @return The welcome message.","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"PerRucia"},"content":" public String getWelcomeMessage() {","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"PerRucia"},"content":" return Message.showWelcome();","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"PerRucia"},"content":"}","lastModifiedDate":"2025-02-07","isFullCredit":false}],"authorContributionMap":{"PerRucia":64}},{"path":"src/main/java/rucia/tasks/Deadline.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"PerRucia"},"content":"// src/main/java/tasks/Deadline.java","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"PerRucia"},"content":"package rucia.tasks;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"PerRucia"},"content":"import java.time.LocalDateTime;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"PerRucia"},"content":"import java.time.ZoneOffset;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"PerRucia"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"PerRucia"},"content":"/**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"PerRucia"},"content":" * Represents a Deadline task with a specific due date and time.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"PerRucia"},"content":" * Inherits from the Task class and provides additional functionality","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"PerRucia"},"content":" * for managing deadlines.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"PerRucia"},"content":"public class Deadline extends Task {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"PerRucia"},"content":" protected long byTimestamp;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"PerRucia"},"content":" private static final DateTimeFormatter DATE_TIME_FORMATTER \u003d DateTimeFormatter.ofPattern(\"dd/MM/yyyy HHmm\");","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"PerRucia"},"content":" * Constructs a Deadline task using a description and a date-time string.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"PerRucia"},"content":" * @param description The description of the deadline task.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"PerRucia"},"content":" * @param by The due date and time in the format \"dd/MM/yyyy HHmm\".","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"PerRucia"},"content":" public Deadline(String description, String by) {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"PerRucia"},"content":" super(description);","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"PerRucia"},"content":" this.byTimestamp \u003d LocalDateTime.parse(by, DATE_TIME_FORMATTER).toEpochSecond(ZoneOffset.UTC);","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"PerRucia"},"content":" * Constructs a Deadline task using a description and a timestamp.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"PerRucia"},"content":" * @param description The description of the deadline task.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"PerRucia"},"content":" * @param byTimestamp The due date and time as a Unix timestamp.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"PerRucia"},"content":" public Deadline(String description, long byTimestamp) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"PerRucia"},"content":" super(description);","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"PerRucia"},"content":" this.byTimestamp \u003d byTimestamp;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"PerRucia"},"content":" * Returns the type of the task.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"PerRucia"},"content":" * @return A string \"D\" representing a Deadline task.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"PerRucia"},"content":" @Override","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"PerRucia"},"content":" protected String getType() {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"PerRucia"},"content":" return \"D\";","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"PerRucia"},"content":" * Converts the Deadline task to a formatted string suitable for file storage.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"PerRucia"},"content":" * @return A string representing the task in a file-friendly format.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"PerRucia"},"content":" @Override","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"PerRucia"},"content":" public String toFileString() {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"PerRucia"},"content":" return String.format(\"%s | %d | %s | %d\", getType(), isDone ? 1 : 0, description, byTimestamp);","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"PerRucia"},"content":" * Returns a string representation of the Deadline task for display.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"PerRucia"},"content":" * @return A string with the task type, status, description, and due date.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"PerRucia"},"content":" @Override","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"PerRucia"},"content":" public String toString() {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"PerRucia"},"content":" LocalDateTime byDateTime \u003d LocalDateTime.ofEpochSecond(byTimestamp, 0, ZoneOffset.UTC);","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"PerRucia"},"content":" return String.format(\"[%s][%s] %s (by: %s)\", getType(), isDone ? \"X\" : \" \", description,","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"PerRucia"},"content":" byDateTime.format(DateTimeFormatter.ofPattern(\"MMM d yyyy, h:mma\")));","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"PerRucia"},"content":" * Retrieves the due date and time of the Deadline task as a LocalDateTime object.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"PerRucia"},"content":" * @return The due date and time of the task.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"PerRucia"},"content":" public LocalDateTime getByDateTime() {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"PerRucia"},"content":" return LocalDateTime.ofEpochSecond(byTimestamp, 0, ZoneOffset.UTC);","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"PerRucia"},"content":"}","lastModifiedDate":"2025-02-07","isFullCredit":false}],"authorContributionMap":{"PerRucia":79}},{"path":"src/main/java/rucia/tasks/Event.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"PerRucia"},"content":"// src/main/java/tasks/Event.java","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"PerRucia"},"content":"package rucia.tasks;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"PerRucia"},"content":"import java.time.LocalDateTime;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"PerRucia"},"content":"import java.time.ZoneOffset;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"PerRucia"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"PerRucia"},"content":"/**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"PerRucia"},"content":" * Represents an Event task with a specific start and end date-time.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"PerRucia"},"content":" * Inherits from the Task class and provides additional functionality","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"PerRucia"},"content":" * for managing event tasks.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"PerRucia"},"content":"public class Event extends Task {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"PerRucia"},"content":" protected long fromTimestamp;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"PerRucia"},"content":" protected long toTimestamp;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"PerRucia"},"content":" private static final DateTimeFormatter DATE_TIME_FORMATTER \u003d DateTimeFormatter.ofPattern(\"dd/MM/yyyy HHmm\");","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"PerRucia"},"content":" * Constructs an Event task using a description and date-time strings for the start and end times.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"PerRucia"},"content":" * @param description The description of the event task.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"PerRucia"},"content":" * @param from The start date and time in the format \"dd/MM/yyyy HHmm\".","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"PerRucia"},"content":" * @param to The end date and time in the format \"dd/MM/yyyy HHmm\".","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"PerRucia"},"content":" public Event(String description, String from, String to) {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"PerRucia"},"content":" super(description);","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"PerRucia"},"content":" this.fromTimestamp \u003d LocalDateTime.parse(from, DATE_TIME_FORMATTER).toEpochSecond(ZoneOffset.UTC);","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"PerRucia"},"content":" this.toTimestamp \u003d LocalDateTime.parse(to, DATE_TIME_FORMATTER).toEpochSecond(ZoneOffset.UTC);","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"PerRucia"},"content":" * Constructs an Event task using a description and timestamps for the start and end times.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"PerRucia"},"content":" * @param description The description of the event task.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"PerRucia"},"content":" * @param fromTimestamp The start date and time as a Unix timestamp.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"PerRucia"},"content":" * @param toTimestamp The end date and time as a Unix timestamp.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"PerRucia"},"content":" public Event(String description, long fromTimestamp, long toTimestamp) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"PerRucia"},"content":" super(description);","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"PerRucia"},"content":" this.fromTimestamp \u003d fromTimestamp;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"PerRucia"},"content":" this.toTimestamp \u003d toTimestamp;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"PerRucia"},"content":" * Returns the type of the task.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"PerRucia"},"content":" * @return A string \"E\" representing an Event task.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"PerRucia"},"content":" @Override","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"PerRucia"},"content":" protected String getType() {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"PerRucia"},"content":" return \"E\";","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"PerRucia"},"content":" * Converts the Event task to a formatted string suitable for file storage.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"PerRucia"},"content":" * @return A string representing the task in a file-friendly format.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"PerRucia"},"content":" @Override","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"PerRucia"},"content":" public String toFileString() {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"PerRucia"},"content":" return String.format(\"%s | %d | %s | %d | %d\", getType(), isDone ? 1 : 0, description, fromTimestamp, toTimestamp);","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"PerRucia"},"content":" * Returns a string representation of the Event task for display.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"PerRucia"},"content":" * @return A string with the task type, status, description, start date, and end date.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"PerRucia"},"content":" @Override","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"PerRucia"},"content":" public String toString() {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"PerRucia"},"content":" LocalDateTime fromDateTime \u003d LocalDateTime.ofEpochSecond(fromTimestamp, 0, ZoneOffset.UTC);","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"PerRucia"},"content":" LocalDateTime toDateTime \u003d LocalDateTime.ofEpochSecond(toTimestamp, 0, ZoneOffset.UTC);","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"PerRucia"},"content":" return String.format(\"[%s][%s] %s (from: %s to: %s)\", getType(), isDone ? \"X\" : \" \", description, fromDateTime.format(DateTimeFormatter.ofPattern(\"MMM d yyyy, h:mma\")), toDateTime.format(DateTimeFormatter.ofPattern(\"MMM d yyyy, h:mma\")));","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"PerRucia"},"content":" * Retrieves the start date and time of the Event task as a LocalDateTime object.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"PerRucia"},"content":" * @return The start date and time of the event.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"PerRucia"},"content":" public LocalDateTime getFromDateTime() {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"PerRucia"},"content":" return LocalDateTime.ofEpochSecond(fromTimestamp, 0, ZoneOffset.UTC);","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"PerRucia"},"content":" * Retrieves the end date and time of the Event task as a LocalDateTime object.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"PerRucia"},"content":" * @return The end date and time of the event.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"PerRucia"},"content":" public LocalDateTime getToDateTime() {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"PerRucia"},"content":" return LocalDateTime.ofEpochSecond(toTimestamp, 0, ZoneOffset.UTC);","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"PerRucia"},"content":"}","lastModifiedDate":"2025-02-07","isFullCredit":false}],"authorContributionMap":{"PerRucia":93}},{"path":"src/main/java/rucia/tasks/Note.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"PerRucia"},"content":"package rucia.tasks;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"PerRucia"},"content":"/**","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"PerRucia"},"content":" * Represents a Note with a title and description.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"PerRucia"},"content":" * Extends the Task class to reuse common task properties and behaviors.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"PerRucia"},"content":"public class Note extends Task {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"PerRucia"},"content":" private String title;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"PerRucia"},"content":" * Constructs a Note with the specified title and description.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"PerRucia"},"content":" * @param title The title of the note.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"PerRucia"},"content":" * @param description The description of the note.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"PerRucia"},"content":" public Note(String title, String description) {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"PerRucia"},"content":" super(description);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"PerRucia"},"content":" this.title \u003d title;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"PerRucia"},"content":" * Retrieves the title of the note.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"PerRucia"},"content":" * @return The note title.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"PerRucia"},"content":" private String getTitle() {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"PerRucia"},"content":" return title;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"PerRucia"},"content":" * Retrieves the title of the note.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"PerRucia"},"content":" * @return The note title.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"PerRucia"},"content":" @Override","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"PerRucia"},"content":" public String getDescription() {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"PerRucia"},"content":" return getTitle();","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"PerRucia"},"content":" * Returns the type of the task.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"PerRucia"},"content":" * @return A string representing the task type.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"PerRucia"},"content":" @Override","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"PerRucia"},"content":" protected String getType() {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"PerRucia"},"content":" return \"N\";","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"PerRucia"},"content":" * Converts the Note to a formatted string suitable for file storage.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"PerRucia"},"content":" * @return A string representing the note in a file-friendly format.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"PerRucia"},"content":" @Override","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"PerRucia"},"content":" public String toFileString() {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"PerRucia"},"content":" return String.format(\"%s | %s | %s | %s\", getType(), isDone ? 1 : 0, title, description);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"PerRucia"},"content":" * Returns a string representation of the Note for display.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"PerRucia"},"content":" * @return A string with the note type, title, and description.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"PerRucia"},"content":" @Override","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"PerRucia"},"content":" public String toString() {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"PerRucia"},"content":" return String.format(\"%s\", title);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"PerRucia"},"content":" * Returns a string representation of the Note for view_note command.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"PerRucia"},"content":" * @return A string with the note type, title, and description.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"PerRucia"},"content":" public String toFullString() {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"PerRucia"},"content":" return String.format(\"%s\\n%s\", title, description);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"PerRucia"},"content":"}","lastModifiedDate":"2025-02-23","isFullCredit":false}],"authorContributionMap":{"PerRucia":78}},{"path":"src/main/java/rucia/tasks/Task.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"PerRucia"},"content":"// src/main/java/tasks/Task.java","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"PerRucia"},"content":"package rucia.tasks;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"PerRucia"},"content":"/**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"PerRucia"},"content":" * Represents an abstract Task that contains common properties and behaviors","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"PerRucia"},"content":" * shared by all task types such as ToDo, Deadline, and Event.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"PerRucia"},"content":"public abstract class Task {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"PerRucia"},"content":" protected String description;","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"PerRucia"},"content":" protected boolean isDone;","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"PerRucia"},"content":" * Constructs a Task with the specified description.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"PerRucia"},"content":" * @param description The description of the task.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"PerRucia"},"content":" public Task(String description) {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"PerRucia"},"content":" this.description \u003d description;","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"PerRucia"},"content":" this.isDone \u003d false;","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"PerRucia"},"content":" * Converts the Task to a formatted string suitable for file storage.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"PerRucia"},"content":" * @return A string representing the task in a file-friendly format.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"PerRucia"},"content":" public String toFileString() {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"PerRucia"},"content":" return String.format(\"%s | %d | %s\", getType(), isDone ? 1 : 0, description);","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"PerRucia"},"content":" * Returns the type of the task.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"PerRucia"},"content":" * @return A string representing the task type.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"PerRucia"},"content":" protected abstract String getType();","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"PerRucia"},"content":" * Marks the task as done.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"PerRucia"},"content":" public void markAsDone() {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"PerRucia"},"content":" isDone \u003d true;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"PerRucia"},"content":" * Marks the task as not done.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"PerRucia"},"content":" public void markAsNotDone() {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"PerRucia"},"content":" isDone \u003d false;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"PerRucia"},"content":" * Retrieves the description of the task.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"PerRucia"},"content":" * @return The task description.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"PerRucia"},"content":" public String getDescription() {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"PerRucia"},"content":" return description;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"PerRucia"},"content":" * Checks if the task is marked as done.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"PerRucia"},"content":" * @return true if the task is done, false otherwise.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"PerRucia"},"content":" public boolean isDone() {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"PerRucia"},"content":" return isDone;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"PerRucia"},"content":" * Returns a string representation of the Task for display.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"PerRucia"},"content":" * @return A string with the task type, status, and description.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"PerRucia"},"content":" @Override","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"PerRucia"},"content":" public String toString() {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"PerRucia"},"content":" return String.format(\"[%s][%s] %s\", getType(), isDone ? \"X\" : \" \", description);","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"PerRucia"},"content":"}","lastModifiedDate":"2025-02-07","isFullCredit":false}],"authorContributionMap":{"PerRucia":79}},{"path":"src/main/java/rucia/tasks/TaskList.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"PerRucia"},"content":"package rucia.tasks;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"PerRucia"},"content":"import java.util.ArrayList;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"PerRucia"},"content":"/**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"PerRucia"},"content":" * Represents a list of tasks and notes, providing methods to manage tasks and notes such as adding,","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"PerRucia"},"content":" * deleting, marking as done, and unmarking. Handles common operations on the task list and note list.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"PerRucia"},"content":"public class TaskList {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"PerRucia"},"content":" private ArrayList\u003cTask\u003e tasks;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"PerRucia"},"content":" private ArrayList\u003cNote\u003e notes;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"PerRucia"},"content":" * Constructs an empty TaskList.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"PerRucia"},"content":" public TaskList() {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"PerRucia"},"content":" this.tasks \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"PerRucia"},"content":" this.notes \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"PerRucia"},"content":" * Constructs a TaskList with an existing list of tasks and notes from a Storage instance.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"PerRucia"},"content":" * @param list The list of tasks and notes to initialize the TaskList with.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"PerRucia"},"content":" public TaskList(ArrayList\u003cTask\u003e list) {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"PerRucia"},"content":" this.tasks \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"PerRucia"},"content":" this.notes \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"PerRucia"},"content":" for (Task task : list) {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"PerRucia"},"content":" if (task instanceof Note) {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"PerRucia"},"content":" notes.add((Note) task);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"PerRucia"},"content":" } else {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"PerRucia"},"content":" tasks.add(task);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"PerRucia"},"content":" // Task-related methods","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"PerRucia"},"content":" * Adds a task to the task list.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"PerRucia"},"content":" * @param task The task to add.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"PerRucia"},"content":" public void addTask(Task task) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"PerRucia"},"content":" tasks.add(task);","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"PerRucia"},"content":" * Deletes the task at the specified index.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"PerRucia"},"content":" * @param index The index of the task to delete.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"PerRucia"},"content":" * @return The task that was deleted.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"PerRucia"},"content":" * @throws IndexOutOfBoundsException if the index is out of bounds.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"PerRucia"},"content":" public Task deleteTask(int index) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"PerRucia"},"content":" if (index \u003e\u003d 0 \u0026\u0026 index \u003c tasks.size()) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"PerRucia"},"content":" return tasks.remove(index);","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"PerRucia"},"content":" } else {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"PerRucia"},"content":" throw new IndexOutOfBoundsException(\"Invalid task index\");","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"PerRucia"},"content":" * Returns the task at the specified index.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"PerRucia"},"content":" * @param index The index of the task to return.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"PerRucia"},"content":" * @return The task at the specified index.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"PerRucia"},"content":" * @throws IndexOutOfBoundsException if the index is out of bounds.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"PerRucia"},"content":" public Task getTask(int index) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"PerRucia"},"content":" if (index \u003e\u003d 0 \u0026\u0026 index \u003c tasks.size()) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"PerRucia"},"content":" return tasks.get(index);","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"PerRucia"},"content":" } else {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"PerRucia"},"content":" throw new IndexOutOfBoundsException(\"Invalid task index\");","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"PerRucia"},"content":" * Returns the number of tasks in the task list.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"PerRucia"},"content":" * @return The number of tasks in the task list.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"PerRucia"},"content":" public int getTaskSize() {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"PerRucia"},"content":" return tasks.size();","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"PerRucia"},"content":" * Returns the list of tasks.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"PerRucia"},"content":" * @return The list of tasks.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"PerRucia"},"content":" public ArrayList\u003cTask\u003e getTasks() {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"PerRucia"},"content":" return tasks;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"PerRucia"},"content":" * Clears all tasks from the task list.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"PerRucia"},"content":" public void clearTasks() {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"PerRucia"},"content":" tasks.clear();","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"PerRucia"},"content":" * Marks the task at the specified index as done.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"PerRucia"},"content":" * @param index","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"PerRucia"},"content":" public void markTask(int index) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"PerRucia"},"content":" if (index \u003e\u003d 0 \u0026\u0026 index \u003c tasks.size()) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"PerRucia"},"content":" tasks.get(index).markAsDone();","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"PerRucia"},"content":" } else {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"PerRucia"},"content":" throw new IndexOutOfBoundsException(\"Invalid task index\");","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"PerRucia"},"content":" * Unmarks the task at the specified index as not done.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"PerRucia"},"content":" * @param index","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"PerRucia"},"content":" public void unmarkTask(int index) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"PerRucia"},"content":" if (index \u003e\u003d 0 \u0026\u0026 index \u003c tasks.size()) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"PerRucia"},"content":" tasks.get(index).markAsNotDone();","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"PerRucia"},"content":" } else {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"PerRucia"},"content":" throw new IndexOutOfBoundsException(\"Invalid task index\");","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"PerRucia"},"content":" * Checks if the task at the specified index is marked as done.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"PerRucia"},"content":" * @param index The index of the task to check.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"PerRucia"},"content":" * @return true if the task is marked as done, false otherwise.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"PerRucia"},"content":" * @throws IndexOutOfBoundsException if the index is out of bounds.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"PerRucia"},"content":" public boolean isTaskDone(int index) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"PerRucia"},"content":" if (index \u003e\u003d 0 \u0026\u0026 index \u003c tasks.size()) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"PerRucia"},"content":" return tasks.get(index).isDone();","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"PerRucia"},"content":" } else {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"PerRucia"},"content":" throw new IndexOutOfBoundsException(\"Invalid task index\");","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"PerRucia"},"content":" // Note-related methods","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"PerRucia"},"content":" * Adds a note to the note list.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"PerRucia"},"content":" * @param note The note to add.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"PerRucia"},"content":" public void addNote(Note note) {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"PerRucia"},"content":" notes.add(note);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"PerRucia"},"content":" * Deletes the note at the specified index.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"PerRucia"},"content":" * @param index The index of the note to delete.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"PerRucia"},"content":" * @return The note that was deleted.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"PerRucia"},"content":" * @throws IndexOutOfBoundsException if the index is out of bounds.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"PerRucia"},"content":" public Note deleteNote(int index) {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"PerRucia"},"content":" if (index \u003e\u003d 0 \u0026\u0026 index \u003c notes.size()) {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"PerRucia"},"content":" return notes.remove(index);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"PerRucia"},"content":" } else {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"PerRucia"},"content":" throw new IndexOutOfBoundsException(\"Invalid note index\");","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"PerRucia"},"content":" * Returns the note at the specified index.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"PerRucia"},"content":" * @param index The index of the note to return.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"PerRucia"},"content":" * @return The note at the specified index.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"PerRucia"},"content":" * @throws IndexOutOfBoundsException if the index is out of bounds.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"PerRucia"},"content":" public Note getNote(int index) {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"PerRucia"},"content":" if (index \u003e\u003d 0 \u0026\u0026 index \u003c notes.size()) {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"PerRucia"},"content":" return notes.get(index);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"PerRucia"},"content":" } else {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"PerRucia"},"content":" throw new IndexOutOfBoundsException(\"Invalid note index\");","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"PerRucia"},"content":" * Returns the number of notes in the note list.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"PerRucia"},"content":" * @return The number of notes in the note list.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"PerRucia"},"content":" public int getNoteSize() {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"PerRucia"},"content":" return notes.size();","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"PerRucia"},"content":" * Returns the list of notes.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"PerRucia"},"content":" * @return The list of notes.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"PerRucia"},"content":" public ArrayList\u003cNote\u003e getNotes() {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"PerRucia"},"content":" return notes;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"PerRucia"},"content":"}","lastModifiedDate":"2025-02-08","isFullCredit":false}],"authorContributionMap":{"PerRucia":192}},{"path":"src/main/java/rucia/tasks/ToDo.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"PerRucia"},"content":"package rucia.tasks;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"PerRucia"},"content":"/**","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"PerRucia"},"content":" * Represents a ToDo task without any date/time attached to it.","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"PerRucia"},"content":" * Inherits from the Task class and provides basic functionality","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"PerRucia"},"content":" * for managing ToDo tasks.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"PerRucia"},"content":"public class ToDo extends Task {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"PerRucia"},"content":" * Constructs a ToDo task with the specified description.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"PerRucia"},"content":" * @param description The description of the ToDo task.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"PerRucia"},"content":" public ToDo(String description) {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"PerRucia"},"content":" super(description);","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"PerRucia"},"content":" * Returns the type of the task.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"PerRucia"},"content":" * @return A string \"T\" representing a ToDo task.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"PerRucia"},"content":" @Override","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"PerRucia"},"content":" protected String getType() {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"PerRucia"},"content":" return \"T\";","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"PerRucia"},"content":"}","lastModifiedDate":"2025-02-07","isFullCredit":false}],"authorContributionMap":{"PerRucia":28}},{"path":"src/main/java/rucia/ui/DialogBox.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"PerRucia"},"content":"package rucia.ui;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"PerRucia"},"content":"import java.io.IOException;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"PerRucia"},"content":"import javafx.fxml.FXML;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"PerRucia"},"content":"import javafx.fxml.FXMLLoader;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"PerRucia"},"content":"import javafx.geometry.Pos;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"PerRucia"},"content":"import javafx.scene.Node;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"PerRucia"},"content":"import javafx.scene.control.Label;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"PerRucia"},"content":"import javafx.scene.image.Image;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"PerRucia"},"content":"import javafx.scene.image.ImageView;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"PerRucia"},"content":"import javafx.scene.layout.HBox;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"PerRucia"},"content":"import javafx.scene.shape.Circle;","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"PerRucia"},"content":"import javafx.animation.FadeTransition;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"PerRucia"},"content":"import javafx.util.Duration;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"PerRucia"},"content":"/**","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"PerRucia"},"content":" * Represents a dialog box consisting of an ImageView to represent the speaker\u0027s face","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"PerRucia"},"content":" * and a label containing text from the speaker.","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"PerRucia"},"content":"public class DialogBox extends HBox {","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"PerRucia"},"content":" @FXML","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"PerRucia"},"content":" private Label dialog;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"PerRucia"},"content":" @FXML","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"PerRucia"},"content":" private ImageView displayPicture;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"PerRucia"},"content":" * Constructs a DialogBox with the specified text and image.","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"PerRucia"},"content":" * @param text The text to be displayed in the dialog box.","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"PerRucia"},"content":" * @param img The image to be displayed in the dialog box.","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"PerRucia"},"content":" private DialogBox(String text, Image img) {","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"PerRucia"},"content":" try {","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"PerRucia"},"content":" FXMLLoader fxmlLoader \u003d new FXMLLoader(MainWindow.class.getResource(\"/view/DialogBox.fxml\"));","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"PerRucia"},"content":" fxmlLoader.setController(this);","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"PerRucia"},"content":" fxmlLoader.setRoot(this);","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"PerRucia"},"content":" fxmlLoader.load();","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"PerRucia"},"content":" } catch (IOException e) {","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"PerRucia"},"content":" e.printStackTrace();","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"PerRucia"},"content":" dialog.setText(text);","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"PerRucia"},"content":" displayPicture.setImage(img);","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"PerRucia"},"content":" int size \u003d 50;","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"PerRucia"},"content":" // Set the avatar’s width/height","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"PerRucia"},"content":" displayPicture.setFitWidth(size);","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"PerRucia"},"content":" displayPicture.setFitHeight(size);","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"PerRucia"},"content":" displayPicture.setPreserveRatio(true);","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"PerRucia"},"content":" // Clip the ImageView into a circle","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"PerRucia"},"content":" Circle clip \u003d new Circle(25, 25, 20); // centerX, centerY, radius","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"PerRucia"},"content":" displayPicture.setClip(clip);","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"PerRucia"},"content":" // Give some spacing between avatar and text","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"PerRucia"},"content":" this.setSpacing(15);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"PerRucia"},"content":" // Style the label like a bubble","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"PerRucia"},"content":" dialog.setStyle(","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"PerRucia"},"content":" \"-fx-background-color: #3C3F41; \"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"PerRucia"},"content":" + \"-fx-text-fill: #FFFFFF; \"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"PerRucia"},"content":" + \"-fx-background-radius: 10; \"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"PerRucia"},"content":" + \"-fx-padding: 10;\"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"PerRucia"},"content":" + \"-fx-font-family: \u0027Segoe UI\u0027; \"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"PerRucia"},"content":" + \"-fx-font-size: 14px; \"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"PerRucia"},"content":" );","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"PerRucia"},"content":" // Apply fade-in animation","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"PerRucia"},"content":" applyFadeInAnimation();","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"PerRucia"},"content":" * Returns a DialogBox with the specified text and image for the user.","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"PerRucia"},"content":" * @param text The text to be displayed in the dialog box.","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"PerRucia"},"content":" * @param img The image to be displayed in the dialog box.","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"PerRucia"},"content":" * @return A DialogBox with the specified text and image for the user.","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"PerRucia"},"content":" public static DialogBox getUserDialog(String text, Image img) {","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"PerRucia"},"content":" DialogBox db \u003d new DialogBox(text, img);","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"PerRucia"},"content":" db.dialog.setStyle(","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"PerRucia"},"content":" \"-fx-background-color: #0061a8; \"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"PerRucia"},"content":" + \"-fx-text-fill: #FFFFFF; \"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"PerRucia"},"content":" + \"-fx-background-radius: 10; \"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"PerRucia"},"content":" + \"-fx-padding: 12 15 12 15; \"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"PerRucia"},"content":" + \"-fx-effect: dropshadow(three-pass-box, rgba(0,0,0,0.3), 5, 0, 2, 2);\"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"PerRucia"},"content":" );","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"PerRucia"},"content":" db.setAlignment(Pos.TOP_RIGHT);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"PerRucia"},"content":" return db;","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"PerRucia"},"content":" * Returns a DialogBox with the specified text and image for Rucia.","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"PerRucia"},"content":" * @param text The text to be displayed in the dialog box.","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"PerRucia"},"content":" * @param img The image to be displayed in the dialog box.","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"PerRucia"},"content":" * @return A DialogBox with the specified text and image for Rucia.","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"PerRucia"},"content":" public static DialogBox getRuciaDialog(String text, Image img) {","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"PerRucia"},"content":" DialogBox db \u003d new DialogBox(text, img);","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"PerRucia"},"content":" db.setAlignment(Pos.TOP_LEFT);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"PerRucia"},"content":" db.getChildren().remove(db.displayPicture);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"PerRucia"},"content":" db.getChildren().add(0, db.displayPicture);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"PerRucia"},"content":" db.dialog.setStyle(","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"PerRucia"},"content":" \"-fx-background-color: #3C3F41; \"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"PerRucia"},"content":" + \"-fx-text-fill: #FFFFFF; \"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"PerRucia"},"content":" + \"-fx-background-radius: 10; \"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"PerRucia"},"content":" + \"-fx-padding: 12 15 12 15; \"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"PerRucia"},"content":" + \"-fx-effect: dropshadow(three-pass-box, rgba(0,0,0,0.3), 5, 0, 2, 2);\"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"PerRucia"},"content":" );","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"PerRucia"},"content":" return db;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"PerRucia"},"content":" private void applyFadeInAnimation() {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"PerRucia"},"content":" FadeTransition ft \u003d new FadeTransition(Duration.millis(300), this);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"PerRucia"},"content":" ft.setFromValue(0);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"PerRucia"},"content":" ft.setToValue(1);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"PerRucia"},"content":" ft.play();","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"PerRucia"},"content":"}","lastModifiedDate":"2025-02-15","isFullCredit":false}],"authorContributionMap":{"PerRucia":120}},{"path":"src/main/java/rucia/ui/Launcher.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"PerRucia"},"content":"package rucia.ui;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"PerRucia"},"content":"import javafx.application.Application;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"PerRucia"},"content":"/**","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"PerRucia"},"content":" * A launcher class to workaround classpath issues.","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"PerRucia"},"content":"public class Launcher {","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"PerRucia"},"content":" public static void main(String[] args) {","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"PerRucia"},"content":" Application.launch(Main.class, args);","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"PerRucia"},"content":"}","lastModifiedDate":"2025-02-15","isFullCredit":false}],"authorContributionMap":{"PerRucia":12}},{"path":"src/main/java/rucia/ui/Main.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"PerRucia"},"content":"package rucia.ui;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"PerRucia"},"content":"import java.io.IOException;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"PerRucia"},"content":"import javafx.application.Application;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"PerRucia"},"content":"import javafx.fxml.FXMLLoader;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"PerRucia"},"content":"import javafx.scene.Scene;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"PerRucia"},"content":"import javafx.scene.layout.AnchorPane;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"PerRucia"},"content":"import javafx.stage.Stage;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"PerRucia"},"content":"import rucia.driver.Rucia;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"PerRucia"},"content":"public class Main extends Application {","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"PerRucia"},"content":" private static final int DEFAULT_WIDTH \u003d 600;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"PerRucia"},"content":" private static final int DEFAULT_HEIGHT \u003d 600;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"PerRucia"},"content":" private final Rucia rucia \u003d new Rucia();","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"PerRucia"},"content":" @Override","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"PerRucia"},"content":" public void start(Stage stage) {","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"PerRucia"},"content":" try {","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"PerRucia"},"content":" FXMLLoader fxmlLoader \u003d new FXMLLoader(Main.class.getResource(\"/view/MainWindow.fxml\"));","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"PerRucia"},"content":" AnchorPane ap \u003d fxmlLoader.load();","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"PerRucia"},"content":" assert ap !\u003d null : \"AnchorPane should not be null\";","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"PerRucia"},"content":" Scene scene \u003d new Scene(ap);","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"PerRucia"},"content":" // Load the dark theme CSS","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"PerRucia"},"content":" scene.getStylesheets().add(Main.class.getResource(\"/css/darktheme.css\").toExternalForm());","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"PerRucia"},"content":" stage.setScene(scene);","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"PerRucia"},"content":" fxmlLoader.\u003cMainWindow\u003egetController().setRucia(rucia); // inject the Rucia instance","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"PerRucia"},"content":" stage.setTitle(\"Rucia ChatBot\");","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"PerRucia"},"content":" stage.setWidth(DEFAULT_WIDTH);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"PerRucia"},"content":" stage.setHeight(DEFAULT_HEIGHT);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"PerRucia"},"content":" stage.show();","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"PerRucia"},"content":" } catch (IOException e) {","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"PerRucia"},"content":" e.printStackTrace(); // Consider using a logging framework","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"PerRucia"},"content":"}","lastModifiedDate":"2025-02-15","isFullCredit":false}],"authorContributionMap":{"PerRucia":36}},{"path":"src/main/java/rucia/ui/MainWindow.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"PerRucia"},"content":"package rucia.ui;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"PerRucia"},"content":"import javafx.animation.PauseTransition;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"PerRucia"},"content":"import javafx.application.Platform;","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"PerRucia"},"content":"import javafx.fxml.FXML;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"PerRucia"},"content":"import javafx.scene.control.Button;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"PerRucia"},"content":"import javafx.scene.control.ScrollPane;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"PerRucia"},"content":"import javafx.scene.control.TextField;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"PerRucia"},"content":"import javafx.scene.effect.DropShadow;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"PerRucia"},"content":"import javafx.scene.image.Image;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"PerRucia"},"content":"import javafx.scene.layout.AnchorPane;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"PerRucia"},"content":"import javafx.scene.layout.Priority;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"PerRucia"},"content":"import javafx.scene.layout.VBox;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"PerRucia"},"content":"import javafx.scene.paint.Color;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"PerRucia"},"content":"import javafx.util.Duration;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"PerRucia"},"content":"import rucia.driver.Rucia;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"PerRucia"},"content":"/**","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"PerRucia"},"content":" * Controller for the main GUI.","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"PerRucia"},"content":"public class MainWindow extends AnchorPane {","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"PerRucia"},"content":" @FXML","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"PerRucia"},"content":" private ScrollPane scrollPane;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"PerRucia"},"content":" @FXML","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"PerRucia"},"content":" private VBox dialogContainer;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"PerRucia"},"content":" @FXML","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"PerRucia"},"content":" private TextField userInput;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"PerRucia"},"content":" @FXML","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"PerRucia"},"content":" private Button sendButton;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"PerRucia"},"content":" private Rucia rucia;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"PerRucia"},"content":" private static final Image USER_IMAGE \u003d new Image(MainWindow.class.getResourceAsStream(\"/images/user.png\"));","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"PerRucia"},"content":" private static final Image RUCIA_IMAGE \u003d new Image(MainWindow.class.getResourceAsStream(\"/images/rucia2.png\"));","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"PerRucia"},"content":" private static final int EXIT_DELAY \u003d 1500; // Delay before exiting the application","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"PerRucia"},"content":" private static final int RESPONSE_DELAY \u003d 400; // Delay before Rucia responds","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"PerRucia"},"content":" @FXML","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"PerRucia"},"content":" public void initialize() {","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"PerRucia"},"content":" scrollPane.vvalueProperty().bind(dialogContainer.heightProperty());","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"PerRucia"},"content":" VBox.setVgrow(dialogContainer, Priority.ALWAYS); // Ensure dialog container stretches","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"PerRucia"},"content":" // Ensure VBox expands when ScrollPane resizes","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"PerRucia"},"content":" dialogContainer.prefWidthProperty().bind(scrollPane.widthProperty());","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"PerRucia"},"content":" * Displays the welcome message from Rucia.","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"PerRucia"},"content":" private void showWelcomeMessage() {","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"PerRucia"},"content":" String welcomeMessage \u003d rucia.getWelcomeMessage();","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"PerRucia"},"content":" dialogContainer.getChildren().add(","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"PerRucia"},"content":" DialogBox.getRuciaDialog(welcomeMessage, RUCIA_IMAGE)","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"PerRucia"},"content":" );","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"PerRucia"},"content":" /** Injects the Rucia instance */","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"PerRucia"},"content":" public void setRucia(Rucia r) {","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"PerRucia"},"content":" assert r !\u003d null : \"Rucia instance should not be null\";","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"PerRucia"},"content":" rucia \u003d r;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"PerRucia"},"content":" showWelcomeMessage();","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"PerRucia"},"content":" * Handles user input by creating dialog boxes for user input and Rucia\u0027s response.","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"PerRucia"},"content":" * Clears the user input after processing.","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"PerRucia"},"content":" @FXML","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"PerRucia"},"content":" private void handleUserInput() {","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"PerRucia"},"content":" // Trigger visual click effect on sendButton","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"PerRucia"},"content":" animateSendButton();","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"PerRucia"},"content":" String input \u003d userInput.getText();","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"PerRucia"},"content":" assert input !\u003d null \u0026\u0026 !input.isEmpty() : \"User input should not be null or empty\";","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"PerRucia"},"content":" String response \u003d rucia.getResponse(input);","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"PerRucia"},"content":" // Create the user dialog box and add it immediately","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"PerRucia"},"content":" DialogBox userDialog \u003d DialogBox.getUserDialog(input, USER_IMAGE);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"PerRucia"},"content":" dialogContainer.getChildren().add(userDialog);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"PerRucia"},"content":" userInput.clear();","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"PerRucia"},"content":" // Create a PauseTransition before adding Rucia\u0027s response","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"PerRucia"},"content":" PauseTransition botDelay \u003d new PauseTransition(Duration.millis(RESPONSE_DELAY));","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"PerRucia"},"content":" botDelay.setOnFinished(event -\u003e {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"PerRucia"},"content":" Platform.runLater(() -\u003e {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"PerRucia"},"content":" DialogBox ruciaDialog \u003d DialogBox.getRuciaDialog(response, RUCIA_IMAGE);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"PerRucia"},"content":" dialogContainer.getChildren().add(ruciaDialog);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"PerRucia"},"content":" });","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"PerRucia"},"content":" });","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"PerRucia"},"content":" botDelay.play();","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"PerRucia"},"content":" // Delay exit if user says \"bye\"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"PerRucia"},"content":" if (input.equalsIgnoreCase(\"bye\")) {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"PerRucia"},"content":" PauseTransition exitDelay \u003d new PauseTransition(Duration.millis(EXIT_DELAY + RESPONSE_DELAY));","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"PerRucia"},"content":" exitDelay.setOnFinished(event -\u003e Platform.exit());","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"PerRucia"},"content":" exitDelay.play();","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"PerRucia"},"content":" * Creates a visual effect when the send button is pressed.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"PerRucia"},"content":" private void animateSendButton() {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"PerRucia"},"content":" sendButton.setStyle(\"-fx-background-color: #005BB5; -fx-text-fill: white;\");","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"PerRucia"},"content":" DropShadow shadow \u003d new DropShadow();","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"PerRucia"},"content":" shadow.setColor(Color.LIGHTBLUE);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"PerRucia"},"content":" shadow.setRadius(15);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"PerRucia"},"content":" sendButton.setEffect(shadow);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"PerRucia"},"content":" PauseTransition resetEffect \u003d new PauseTransition(Duration.millis(150));","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"PerRucia"},"content":" resetEffect.setOnFinished(event -\u003e {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"PerRucia"},"content":" sendButton.setStyle(\"-fx-background-color: #0084FF; -fx-text-fill: white;\");","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"PerRucia"},"content":" sendButton.setEffect(null);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"PerRucia"},"content":" });","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"PerRucia"},"content":" resetEffect.play();","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"PerRucia"},"content":"}","lastModifiedDate":"2025-02-15","isFullCredit":false}],"authorContributionMap":{"PerRucia":117}},{"path":"src/main/java/rucia/ui/Message.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"PerRucia"},"content":"package rucia.ui;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"PerRucia"},"content":"/**","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"PerRucia"},"content":" * The Message class contains static methods to generate messages for JavaFX GUI.","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"PerRucia"},"content":"public class Message {","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"PerRucia"},"content":" private StringBuilder message \u003d new StringBuilder();","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"PerRucia"},"content":" public Message() {}","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"PerRucia"},"content":" * Adds a new message to the existing message string.","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"PerRucia"},"content":" * @param newMessage The new message to be added.","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"PerRucia"},"content":" public void addMessage(String newMessage) {","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"PerRucia"},"content":" assert newMessage !\u003d null : \"New message should not be null\";","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"PerRucia"},"content":" if (message.isEmpty()) {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"PerRucia"},"content":" message.append(newMessage);","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"PerRucia"},"content":" } else {","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"PerRucia"},"content":" message.append(\"\\n\").append(newMessage);","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"PerRucia"},"content":" * Retrieves the current message string.","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"PerRucia"},"content":" * @return The current message string.","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"PerRucia"},"content":" public String getMessage() {","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"PerRucia"},"content":" return message.toString();","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"PerRucia"},"content":" * Returns a welcome message to be displayed when the user starts the application.","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"PerRucia"},"content":" * @return The welcome message.","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"PerRucia"},"content":" public static String showWelcome() {","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"PerRucia"},"content":" return \"\"\"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"PerRucia"},"content":" Oh, it\u0027s you again. I\u0027m Rucia.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"PerRucia"},"content":" What do you want this time?","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"PerRucia"},"content":" Type \"Help\" or \"?\" if you can\u0027t figure it out yourself.\"\"\";","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"PerRucia"},"content":" * Returns an exit message to be displayed when the user exits the application.","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"PerRucia"},"content":" * @return The exit message.","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"PerRucia"},"content":" public static String showExit() {","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"PerRucia"},"content":" return \"Finally! Bye. Don\u0027t let the door hit you on the way out.\";","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"PerRucia"},"content":" * Returns an error message to be displayed when an error occurs.","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"PerRucia"},"content":" * @param errorMessage The error message to be displayed.","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"PerRucia"},"content":" * @return The formatted error message.","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"PerRucia"},"content":" public static String showError(String errorMessage) {","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"PerRucia"},"content":" return errorMessage;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-15","isFullCredit":false}],"authorContributionMap":{"PerRucia":64}},{"path":"src/main/java/rucia/utils/CommandIdentifier.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"PerRucia"},"content":"// src/main/java/utils/CommandIdentifier.java","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"PerRucia"},"content":"package rucia.utils;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"PerRucia"},"content":"/**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"PerRucia"},"content":" * Utility class for identifying commands from user input.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"PerRucia"},"content":" * Determines the type of command based on specific keywords.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"PerRucia"},"content":"public class CommandIdentifier {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"PerRucia"},"content":" * Identifies the command type from the given user input.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"PerRucia"},"content":" * @param input The user input string.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"PerRucia"},"content":" * @return A string representing the identified command type,","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"PerRucia"},"content":" * such as \"add\", \"deadline\", \"event\", \"list\", \"mark\",","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"PerRucia"},"content":" * \"unmark\", \"delete\", \"list_day\", or \"unknown\" if no match is found.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"PerRucia"},"content":" public static CommandType identify(String input) {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"PerRucia"},"content":" if (input.equalsIgnoreCase(\"bye\")) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"PerRucia"},"content":" return CommandType.BYE;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"PerRucia"},"content":" } else if (input.trim().equalsIgnoreCase(\"help notes\")) {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"PerRucia"},"content":" return CommandType.HELP_NOTES;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"PerRucia"},"content":" } else if (input.trim().equalsIgnoreCase(\"help\") || input.trim().equals(\"?\")) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"PerRucia"},"content":" return CommandType.HELP;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"PerRucia"},"content":" } else if (input.trim().equalsIgnoreCase(\"clear\")) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"PerRucia"},"content":" return CommandType.CLEAR;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"PerRucia"},"content":" } else if (input.startsWith(\"add\")) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"PerRucia"},"content":" return CommandType.ADD;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"PerRucia"},"content":" } else if (input.startsWith(\"deadline\")) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"PerRucia"},"content":" return CommandType.DEADLINE;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"PerRucia"},"content":" } else if (input.startsWith(\"event\")) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"PerRucia"},"content":" return CommandType.EVENT;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"PerRucia"},"content":" } else if (input.trim().equalsIgnoreCase(\"list\")) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"PerRucia"},"content":" return CommandType.LIST;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"PerRucia"},"content":" } else if (input.startsWith(\"mark\")) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"PerRucia"},"content":" return CommandType.MARK;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"PerRucia"},"content":" } else if (input.startsWith(\"unmark\")) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"PerRucia"},"content":" return CommandType.UNMARK;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"PerRucia"},"content":" } else if (input.startsWith(\"delete\")) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"PerRucia"},"content":" if (input.trim().startsWith(\"delete_note\")) {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"PerRucia"},"content":" return CommandType.DELETE_NOTE;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"PerRucia"},"content":" } else {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"PerRucia"},"content":" return CommandType.DELETE;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"PerRucia"},"content":" } else if (input.startsWith(\"list_day\")) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"PerRucia"},"content":" return CommandType.LIST_DAY;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"PerRucia"},"content":" } else if (input.startsWith(\"find\")) {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"PerRucia"},"content":" return CommandType.FIND;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"PerRucia"},"content":" } else if (input.trim().equalsIgnoreCase(\"cheer\")) {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"PerRucia"},"content":" return CommandType.CHEER;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"PerRucia"},"content":" } else if (input.startsWith(\"note\")) {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"PerRucia"},"content":" if (input.trim().equalsIgnoreCase(\"notes\")) {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"PerRucia"},"content":" return CommandType.NOTES;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"PerRucia"},"content":" } else {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"PerRucia"},"content":" return CommandType.NOTE;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"PerRucia"},"content":" } else if (input.startsWith(\"view_note\")) {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"PerRucia"},"content":" return CommandType.VIEW_NOTE;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"PerRucia"},"content":" } else {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"PerRucia"},"content":" return CommandType.UNKNOWN;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"PerRucia"},"content":"}","lastModifiedDate":"2025-02-08","isFullCredit":false}],"authorContributionMap":{"PerRucia":63}},{"path":"src/main/java/rucia/utils/CommandParser.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"PerRucia"},"content":"package rucia.utils;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"PerRucia"},"content":"import rucia.commands.*;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"PerRucia"},"content":"/**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"PerRucia"},"content":" * Utility class for parsing user input into specific command objects.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"PerRucia"},"content":" * Determines the appropriate command to execute based on the input and command type.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"PerRucia"},"content":"public class CommandParser {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"PerRucia"},"content":" private static final int ADD_COMMAND_LENGTH \u003d 3;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"PerRucia"},"content":" private static final int DEADLINE_COMMAND_LENGTH \u003d 8;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"PerRucia"},"content":" private static final int EVENT_COMMAND_LENGTH \u003d 5;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"PerRucia"},"content":" private static final int FIND_COMMAND_LENGTH \u003d 4;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"PerRucia"},"content":" private static final int NOTE_COMMAND_LENGTH \u003d 4;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"PerRucia"},"content":" private static final int VIEW_NOTE_COMMAND_LENGTH \u003d 9;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"PerRucia"},"content":" * Parses the user input and returns the corresponding command object.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"PerRucia"},"content":" * @param input The user input string.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"PerRucia"},"content":" * @param commandType The type of command identified from the input.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"PerRucia"},"content":" * @param storage The storage handler for saving task-related changes.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"PerRucia"},"content":" * @return The command object corresponding to the input.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"PerRucia"},"content":" * @throws IllegalArgumentException if the input format is invalid or the command type is unknown.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"PerRucia"},"content":" public static Command parse(String input, CommandType commandType, Storage storage) {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"PerRucia"},"content":" switch (commandType) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"PerRucia"},"content":" case BYE:","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"PerRucia"},"content":" return new ByeCommand();","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"PerRucia"},"content":" case ADD:","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"PerRucia"},"content":" String taskDescription \u003d input.substring(ADD_COMMAND_LENGTH).trim();","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"PerRucia"},"content":" if (taskDescription.isEmpty()) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"PerRucia"},"content":" throw new IllegalArgumentException(\"Task description cannot be empty. Use: add \u003ctask \" +","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"PerRucia"},"content":" \"description\u003e. It\u0027s not rocket science.\");","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"PerRucia"},"content":" return new AddCommand(taskDescription, storage);","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"PerRucia"},"content":" case DEADLINE:","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"PerRucia"},"content":" String[] parts \u003d input.substring(DEADLINE_COMMAND_LENGTH).trim().split(\" /by \");","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"PerRucia"},"content":" if (parts.length \u003c 2) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"PerRucia"},"content":" throw new IllegalArgumentException(\"Invalid input format. Use: deadline \u003ctask\u003e /by \u003cdate\u003e. \" +","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"PerRucia"},"content":" \"Seriously, how hard is it?\");","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"PerRucia"},"content":" return new DeadlineCommand(parts[0].trim(), parts[1].trim(), storage);","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"PerRucia"},"content":" case EVENT:","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"PerRucia"},"content":" String[] eventParts \u003d input.substring(EVENT_COMMAND_LENGTH).trim().split(\" /from \");","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"PerRucia"},"content":" if (eventParts.length \u003c 2) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"PerRucia"},"content":" throw new IllegalArgumentException(\"Invalid input format. Use: event \u003ctask\u003e /from \u003cstart\u003e /to \" +","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"PerRucia"},"content":" \"\u003cend\u003e. Pay attention!\");","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"PerRucia"},"content":" String description \u003d eventParts[0];","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"PerRucia"},"content":" String[] timeParts \u003d eventParts[1].split(\" /to \");","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"PerRucia"},"content":" if (timeParts.length \u003c 2) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"PerRucia"},"content":" throw new IllegalArgumentException(\"Invalid input format. Use: event \u003ctask\u003e /from \u003cstart\u003e /to \" +","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"PerRucia"},"content":" \"\u003cend\u003e. It\u0027s not that complicated.\");","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"PerRucia"},"content":" return new EventCommand(description, timeParts[0].trim(), timeParts[1].trim(), storage);","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"PerRucia"},"content":" case LIST:","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"PerRucia"},"content":" return new ListCommand();","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"PerRucia"},"content":" case MARK:","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"PerRucia"},"content":" return new MarkCommand(input, storage);","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"PerRucia"},"content":" case UNMARK:","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"PerRucia"},"content":" return new UnmarkCommand(input, storage);","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"PerRucia"},"content":" case DELETE:","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"PerRucia"},"content":" return new DeleteCommand(input, storage);","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"PerRucia"},"content":" case LIST_DAY:","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"PerRucia"},"content":" return new ListDayCommand(input);","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"PerRucia"},"content":" case HELP:","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"PerRucia"},"content":" return new HelpCommand();","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"PerRucia"},"content":" case CLEAR:","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"PerRucia"},"content":" return new ClearCommand(storage);","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"PerRucia"},"content":" case FIND:","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"PerRucia"},"content":" String[] keywords \u003d input.substring(FIND_COMMAND_LENGTH).trim().split(\"\\\\s+\");","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"PerRucia"},"content":" if (keywords.length \u003d\u003d 0) {","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"PerRucia"},"content":" throw new IllegalArgumentException(\"Keyword(s) cannot be empty. Use: find \u003ckeyword1\u003e \u003ckeyword2\u003e \" +","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"PerRucia"},"content":" \"... Come on, it\u0027s not that hard.\");","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"PerRucia"},"content":" return new FindCommand(keywords);","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"PerRucia"},"content":" case CHEER:","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"PerRucia"},"content":" return new CheerCommand();","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"PerRucia"},"content":" case NOTE:","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"PerRucia"},"content":" String[] noteParts \u003d input.substring(NOTE_COMMAND_LENGTH).trim().split(\" /desc \");","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"PerRucia"},"content":" if (noteParts.length \u003c 2) {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"PerRucia"},"content":" throw new IllegalArgumentException(\"Invalid input format. Use: note \u003cTitle\u003e /desc \" +","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"PerRucia"},"content":" \"\u003cDescription\u003e. Try to keep up.\");","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"PerRucia"},"content":" return new NoteCommand(noteParts[0].trim(), noteParts[1].trim(), storage);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"PerRucia"},"content":" case NOTES:","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"PerRucia"},"content":" return new ListNotesCommand();","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"PerRucia"},"content":" case HELP_NOTES:","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"PerRucia"},"content":" return new HelpNotesCommand();","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"PerRucia"},"content":" case DELETE_NOTE:","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"PerRucia"},"content":" return new DeleteNoteCommand(input, storage);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"PerRucia"},"content":" case VIEW_NOTE:","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"PerRucia"},"content":" String noteIndex \u003d input.substring(VIEW_NOTE_COMMAND_LENGTH).trim();","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"PerRucia"},"content":" if (noteIndex.isEmpty()) {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"PerRucia"},"content":" throw new IllegalArgumentException(\"Note index cannot be empty. Use: view_note \u003cindex\u003e. \" +","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"PerRucia"},"content":" \"It\u0027s not that hard.\");","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"PerRucia"},"content":" return new ViewNoteCommand(noteIndex);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"PerRucia"},"content":" default:","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"PerRucia"},"content":" throw new IllegalArgumentException(\"Unknown command type. Are you even trying?\");","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"PerRucia"},"content":"}","lastModifiedDate":"2025-02-08","isFullCredit":false}],"authorContributionMap":{"PerRucia":105}},{"path":"src/main/java/rucia/utils/CommandType.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"PerRucia"},"content":"// src/main/java/rucia/utils/CommandType.java","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"PerRucia"},"content":"package rucia.utils;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"PerRucia"},"content":"public enum CommandType {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"PerRucia"},"content":" BYE,","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"PerRucia"},"content":" HELP_NOTES,","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"PerRucia"},"content":" HELP,","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"PerRucia"},"content":" CLEAR,","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"PerRucia"},"content":" ADD,","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"PerRucia"},"content":" DEADLINE,","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"PerRucia"},"content":" EVENT,","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"PerRucia"},"content":" LIST,","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"PerRucia"},"content":" MARK,","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"PerRucia"},"content":" UNMARK,","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"PerRucia"},"content":" DELETE,","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"PerRucia"},"content":" LIST_DAY,","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"PerRucia"},"content":" FIND,","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"PerRucia"},"content":" CHEER,","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"PerRucia"},"content":" NOTE,","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"PerRucia"},"content":" NOTES,","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"PerRucia"},"content":" DELETE_NOTE,","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"PerRucia"},"content":" VIEW_NOTE,","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"PerRucia"},"content":" UNKNOWN","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"PerRucia"},"content":"}","lastModifiedDate":"2025-02-23","isFullCredit":false}],"authorContributionMap":{"PerRucia":24}},{"path":"src/main/java/rucia/utils/Storage.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"PerRucia"},"content":"// src/main/java/utils/Storage.java","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"PerRucia"},"content":"package rucia.utils;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"PerRucia"},"content":"import rucia.tasks.*;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"PerRucia"},"content":"import java.io.IOException;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"PerRucia"},"content":"import java.nio.file.Files;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"PerRucia"},"content":"import java.nio.file.Path;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"PerRucia"},"content":"import java.nio.file.Paths;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"PerRucia"},"content":"import java.util.ArrayList;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"PerRucia"},"content":"import java.util.List;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"PerRucia"},"content":"/**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"PerRucia"},"content":" * Handles the storage of tasks to and from a file.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"PerRucia"},"content":" * Provides functionality to save and load tasks in a persistent way.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"PerRucia"},"content":"public class Storage {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"PerRucia"},"content":" private final String filePath;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"PerRucia"},"content":" * Constructs a Storage object with the specified file path.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"PerRucia"},"content":" * Creates the file and necessary directories if they do not exist.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"PerRucia"},"content":" * @param filePath The path to the storage file.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"PerRucia"},"content":" public Storage(String filePath) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"PerRucia"},"content":" this.filePath \u003d Paths.get(System.getProperty(\"user.dir\"), filePath).toString();","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"PerRucia"},"content":" createFileIfNotExists();","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"PerRucia"},"content":" * Creates the storage file and its parent directories if they do not exist.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"PerRucia"},"content":" private void createFileIfNotExists() {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"PerRucia"},"content":" Path path \u003d Paths.get(filePath);","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"PerRucia"},"content":" try {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"PerRucia"},"content":" if (Files.notExists(path)) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"PerRucia"},"content":" Files.createDirectories(path.getParent());","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"PerRucia"},"content":" Files.createFile(path);","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"PerRucia"},"content":" } catch (IOException e) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"PerRucia"},"content":" System.err.println(\"Error creating file: \" + e.getMessage());","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"PerRucia"},"content":" * Saves the list of tasks to the storage file.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"PerRucia"},"content":" * @param taskList The TaskList containing notes and tasks to be saved.","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"PerRucia"},"content":" * @throws IOException If an I/O error occurs while writing to the file.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"PerRucia"},"content":" public void saveToFile(TaskList taskList) throws IOException {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"PerRucia"},"content":" List\u003cString\u003e lines \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"PerRucia"},"content":" ArrayList\u003cTask\u003e tasks \u003d taskList.getTasks();","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"PerRucia"},"content":" ArrayList\u003cNote\u003e notes \u003d taskList.getNotes();","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"PerRucia"},"content":" for (Task task : tasks) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"PerRucia"},"content":" lines.add(task.toFileString());","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"PerRucia"},"content":" for (Note note : notes) {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"PerRucia"},"content":" lines.add(note.toFileString());","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"PerRucia"},"content":" Files.write(Paths.get(filePath), lines);","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"PerRucia"},"content":" * Loads tasks from the storage file.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"PerRucia"},"content":" * @return A list of tasks loaded from the file.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"PerRucia"},"content":" * @throws IOException If an I/O error occurs while reading the file.","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"PerRucia"},"content":" public ArrayList\u003cTask\u003e loadFromFile() throws IOException {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"PerRucia"},"content":" ArrayList\u003cTask\u003e tasks \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"PerRucia"},"content":" List\u003cString\u003e lines \u003d Files.readAllLines(Paths.get(filePath));","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"PerRucia"},"content":" for (String line : lines) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"PerRucia"},"content":" String[] parts \u003d line.split(\" \\\\| \");","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"PerRucia"},"content":" String type \u003d parts[0];","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"PerRucia"},"content":" boolean isDone \u003d parts[1].equals(\"1\");","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"PerRucia"},"content":" String description \u003d parts[2];","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"PerRucia"},"content":" Task task;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"PerRucia"},"content":" switch (type) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"PerRucia"},"content":" case \"T\":","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"PerRucia"},"content":" task \u003d new ToDo(description);","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"PerRucia"},"content":" break;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"PerRucia"},"content":" case \"D\":","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"PerRucia"},"content":" long byTimestamp \u003d Long.parseLong(parts[3]);","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"PerRucia"},"content":" task \u003d new Deadline(description, byTimestamp);","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"PerRucia"},"content":" break;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"PerRucia"},"content":" case \"E\":","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"PerRucia"},"content":" long fromTimestamp \u003d Long.parseLong(parts[3]);","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"PerRucia"},"content":" long toTimestamp \u003d Long.parseLong(parts[4]);","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"PerRucia"},"content":" task \u003d new Event(description, fromTimestamp, toTimestamp);","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"PerRucia"},"content":" break;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"PerRucia"},"content":" case \"N\":","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"PerRucia"},"content":" task \u003d new Note(description, parts[3]);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"PerRucia"},"content":" break;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"PerRucia"},"content":" default:","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"PerRucia"},"content":" throw new IllegalArgumentException(\"Unknown task type: \" + type);","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"PerRucia"},"content":" if (isDone) {","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"PerRucia"},"content":" task.markAsDone();","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"PerRucia"},"content":" tasks.add(task);","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"PerRucia"},"content":" return tasks;","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"PerRucia"},"content":"}","lastModifiedDate":"2025-02-08","isFullCredit":false}],"authorContributionMap":{"PerRucia":108}},{"path":"src/main/java/rucia/utils/TaskStorageUtil.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"PerRucia"},"content":"// src/main/java/utils/TaskStorageUtil.java","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"PerRucia"},"content":"package rucia.utils;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"PerRucia"},"content":"import rucia.tasks.Task;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"PerRucia"},"content":"import rucia.tasks.TaskList;","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"PerRucia"},"content":"import java.io.IOException;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"PerRucia"},"content":"import java.util.ArrayList;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"PerRucia"},"content":"import java.util.List;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"PerRucia"},"content":"public class TaskStorageUtil {","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"PerRucia"},"content":" /**","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"PerRucia"},"content":" * Saves the current tasks in the task list to persistent storage.","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"PerRucia"},"content":" *","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"PerRucia"},"content":" * @param taskList The task list containing tasks to be saved.","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"PerRucia"},"content":" * @param storage The storage handler to save the task list.","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"PerRucia"},"content":" * @throws IOException if an I/O error occurs during saving.","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"PerRucia"},"content":" */","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"PerRucia"},"content":" public static void saveEntries(TaskList taskList, Storage storage) throws IOException {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"PerRucia"},"content":" storage.saveToFile(taskList);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"PerRucia"},"content":"}","lastModifiedDate":"2025-02-15","isFullCredit":false}],"authorContributionMap":{"PerRucia":22}},{"path":"src/main/resources/view/DialogBox.fxml","fileType":"fxml","lines":[{"lineNumber":1,"author":{"gitId":"PerRucia"},"content":"\u003c?xml version\u003d\"1.0\" encoding\u003d\"UTF-8\"?\u003e","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"PerRucia"},"content":"\u003c?import javafx.geometry.Insets?\u003e","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"PerRucia"},"content":"\u003c?import javafx.scene.control.Label?\u003e","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"PerRucia"},"content":"\u003c?import javafx.scene.image.ImageView?\u003e","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"PerRucia"},"content":"\u003c?import javafx.scene.layout.HBox?\u003e","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"PerRucia"},"content":"\u003cfx:root alignment\u003d\"TOP_RIGHT\"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"PerRucia"},"content":" maxHeight\u003d\"1.7976931348623157E308\"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"PerRucia"},"content":" maxWidth\u003d\"1.7976931348623157E308\"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"PerRucia"},"content":" prefWidth\u003d\"400.0\"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"PerRucia"},"content":" type\u003d\"javafx.scene.layout.HBox\"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"PerRucia"},"content":" xmlns\u003d\"http://javafx.com/javafx/17\"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"PerRucia"},"content":" xmlns:fx\u003d\"http://javafx.com/fxml/1\"\u003e","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"PerRucia"},"content":" \u003cchildren\u003e","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"PerRucia"},"content":" \u003cLabel fx:id\u003d\"dialog\" text\u003d\"Label\" wrapText\u003d\"true\" minHeight\u003d\"-Infinity\"/\u003e","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"PerRucia"},"content":" \u003cImageView fx:id\u003d\"displayPicture\" fitHeight\u003d\"99.0\" fitWidth\u003d\"99.0\" pickOnBounds\u003d\"true\" preserveRatio\u003d\"true\" /\u003e","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"PerRucia"},"content":" \u003c/children\u003e","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"PerRucia"},"content":" \u003cpadding\u003e","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"PerRucia"},"content":" \u003cInsets bottom\u003d\"15.0\" left\u003d\"5.0\" right\u003d\"5.0\" top\u003d\"15.0\" /\u003e","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"PerRucia"},"content":" \u003c/padding\u003e","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"PerRucia"},"content":"\u003c/fx:root\u003e","lastModifiedDate":"2025-02-15","isFullCredit":false}],"authorContributionMap":{"PerRucia":22}},{"path":"src/main/resources/view/MainWindow.fxml","fileType":"fxml","lines":[{"lineNumber":1,"author":{"gitId":"PerRucia"},"content":"\u003c?xml version\u003d\"1.0\" encoding\u003d\"UTF-8\"?\u003e","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"PerRucia"},"content":"\u003c?import javafx.scene.control.Button?\u003e","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"PerRucia"},"content":"\u003c?import javafx.scene.control.ScrollPane?\u003e","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"PerRucia"},"content":"\u003c?import javafx.scene.control.TextField?\u003e","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"PerRucia"},"content":"\u003c?import javafx.scene.layout.AnchorPane?\u003e","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"PerRucia"},"content":"\u003c?import javafx.scene.layout.VBox?\u003e","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"PerRucia"},"content":"\u003cAnchorPane maxHeight\u003d\"-Infinity\" maxWidth\u003d\"-Infinity\"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"PerRucia"},"content":" minHeight\u003d\"-Infinity\" minWidth\u003d\"-Infinity\"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"PerRucia"},"content":" prefHeight\u003d\"600.0\" prefWidth\u003d\"400.0\"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"PerRucia"},"content":" xmlns\u003d\"http://javafx.com/javafx/17\"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"PerRucia"},"content":" xmlns:fx\u003d\"http://javafx.com/fxml/1\"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"PerRucia"},"content":" fx:controller\u003d\"rucia.ui.MainWindow\"\u003e","lastModifiedDate":"2025-02-22","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"PerRucia"},"content":" \u003cchildren\u003e","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"PerRucia"},"content":" \u003cScrollPane fx:id\u003d\"scrollPane\"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"PerRucia"},"content":" fitToWidth\u003d\"true\"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"PerRucia"},"content":" AnchorPane.topAnchor\u003d\"0.0\"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"PerRucia"},"content":" AnchorPane.bottomAnchor\u003d\"40.0\"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"PerRucia"},"content":" AnchorPane.leftAnchor\u003d\"0.0\"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"PerRucia"},"content":" AnchorPane.rightAnchor\u003d\"0.0\"\u003e","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"PerRucia"},"content":" \u003ccontent\u003e","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"PerRucia"},"content":" \u003cVBox fx:id\u003d\"dialogContainer\" spacing\u003d\"10.0\" fillWidth\u003d\"true\" /\u003e","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"PerRucia"},"content":" \u003c/content\u003e","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"PerRucia"},"content":" \u003c/ScrollPane\u003e","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"PerRucia"},"content":" \u003cTextField fx:id\u003d\"userInput\"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"PerRucia"},"content":" layoutY\u003d\"558.0\"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"PerRucia"},"content":" onAction\u003d\"#handleUserInput\"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"PerRucia"},"content":" prefHeight\u003d\"41.0\"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"PerRucia"},"content":" prefWidth\u003d\"324.0\"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"PerRucia"},"content":" AnchorPane.bottomAnchor\u003d\"0.0\"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"PerRucia"},"content":" AnchorPane.leftAnchor\u003d\"0.0\"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"PerRucia"},"content":" AnchorPane.rightAnchor\u003d\"60.0\" /\u003e","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"PerRucia"},"content":" \u003cButton fx:id\u003d\"sendButton\"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"PerRucia"},"content":" layoutX\u003d\"324.0\"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"PerRucia"},"content":" layoutY\u003d\"558.0\"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"PerRucia"},"content":" mnemonicParsing\u003d\"false\"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"PerRucia"},"content":" onAction\u003d\"#handleUserInput\"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"PerRucia"},"content":" prefHeight\u003d\"41.0\"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"PerRucia"},"content":" prefWidth\u003d\"76.0\"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"PerRucia"},"content":" text\u003d\"Send\"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"PerRucia"},"content":" styleClass\u003d\"send-button\"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"PerRucia"},"content":" style\u003d\"-fx-background-color: #0084FF; -fx-text-fill: white;\"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"PerRucia"},"content":" AnchorPane.bottomAnchor\u003d\"0.0\"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"PerRucia"},"content":" AnchorPane.rightAnchor\u003d\"0.0\" /\u003e","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"PerRucia"},"content":" \u003c/children\u003e","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"PerRucia"},"content":"\u003c/AnchorPane\u003e","lastModifiedDate":"2025-02-15","isFullCredit":false}],"authorContributionMap":{"PerRucia":47}},{"path":"src/test/java/rucia/commands/CommandTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"PerRucia"},"content":"package rucia.commands;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"PerRucia"},"content":"import org.junit.jupiter.api.BeforeEach;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"PerRucia"},"content":"import org.junit.jupiter.api.Test;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"PerRucia"},"content":"import rucia.tasks.TaskList;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"PerRucia"},"content":"import rucia.ui.Message;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"PerRucia"},"content":"import rucia.utils.Storage;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"PerRucia"},"content":"import java.io.IOException;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"PerRucia"},"content":"import static org.junit.jupiter.api.Assertions.*;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"PerRucia"},"content":"import static org.mockito.Mockito.*;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"PerRucia"},"content":"class CommandTest {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"PerRucia"},"content":" private TaskList taskList;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"PerRucia"},"content":" private Storage storage;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"PerRucia"},"content":" private Message message;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"PerRucia"},"content":" @BeforeEach","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"PerRucia"},"content":" void setUp() {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"PerRucia"},"content":" taskList \u003d new TaskList();","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"PerRucia"},"content":" storage \u003d mock(Storage.class); // Mock Storage to prevent actual file writes","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"PerRucia"},"content":" message \u003d new Message();","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"PerRucia"},"content":" @Test","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"PerRucia"},"content":" void execute_addCommand_addsTaskAndSavesToStorage() throws IOException {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"PerRucia"},"content":" AddCommand command \u003d new AddCommand(\"Buy groceries\", storage);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"PerRucia"},"content":" String response \u003d command.execute(taskList, message);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"PerRucia"},"content":" assertEquals(1, taskList.getTaskSize());","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"PerRucia"},"content":" assertTrue(response.contains(\"Added ToDo task - Buy groceries\"));","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"PerRucia"},"content":" verify(storage, times(1)).saveToFile(taskList);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"PerRucia"},"content":" @Test","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"PerRucia"},"content":" void execute_deleteCommand_deletesTaskAndSavesToStorage() throws IOException {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"PerRucia"},"content":" new AddCommand(\"Test Task\", storage).execute(taskList, message);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"PerRucia"},"content":" DeleteCommand command \u003d new DeleteCommand(\"delete 1\", storage);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"PerRucia"},"content":" String response \u003d command.execute(taskList, message);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"PerRucia"},"content":" assertEquals(0, taskList.getTaskSize());","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"PerRucia"},"content":" assertTrue(response.contains(\"Deleted task\"));","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"PerRucia"},"content":" verify(storage, times(2)).saveToFile(taskList);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"PerRucia"},"content":" @Test","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"PerRucia"},"content":" void execute_markCommand_marksTaskAsDone() throws IOException {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"PerRucia"},"content":" new AddCommand(\"Test Task\", storage).execute(taskList, message);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"PerRucia"},"content":" MarkCommand command \u003d new MarkCommand(\"mark 1\", storage);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"PerRucia"},"content":" String response \u003d command.execute(taskList, message);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"PerRucia"},"content":" assertTrue(taskList.isTaskDone(0));","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"PerRucia"},"content":" assertTrue(response.contains(\"Marked task as done\"));","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"PerRucia"},"content":" verify(storage, times(2)).saveToFile(taskList);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"PerRucia"},"content":" @Test","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"PerRucia"},"content":" void execute_unmarkCommand_marksTaskAsNotDone() throws IOException {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"PerRucia"},"content":" new AddCommand(\"Test Task\", storage).execute(taskList, message);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"PerRucia"},"content":" new MarkCommand(\"mark 1\", storage).execute(taskList, message);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"PerRucia"},"content":" UnmarkCommand command \u003d new UnmarkCommand(\"unmark 1\", storage);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"PerRucia"},"content":" String response \u003d command.execute(taskList, message);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"PerRucia"},"content":" assertFalse(taskList.isTaskDone(0));","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"PerRucia"},"content":" assertTrue(response.contains(\"Unmarked task as not done\"));","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"PerRucia"},"content":" verify(storage, times(3)).saveToFile(taskList);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"PerRucia"},"content":" @Test","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"PerRucia"},"content":" void execute_deadlineCommand_addsDeadlineTask() throws IOException {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"PerRucia"},"content":" DeadlineCommand command \u003d new DeadlineCommand(\"Finish report\", \"15/03/2025 1800\", storage);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"PerRucia"},"content":" String response \u003d command.execute(taskList, message);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"PerRucia"},"content":" assertEquals(1, taskList.getTaskSize());","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"PerRucia"},"content":" assertTrue(response.contains(\"Added Deadline task - Finish report\"));","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"PerRucia"},"content":" verify(storage, times(1)).saveToFile(taskList);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"PerRucia"},"content":" @Test","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"PerRucia"},"content":" void execute_eventCommand_addsEventTask() throws IOException {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"PerRucia"},"content":" EventCommand command \u003d new EventCommand(\"Team Meeting\", \"15/03/2025 1000\", \"15/03/2025 1200\", storage);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"PerRucia"},"content":" String response \u003d command.execute(taskList, message);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"PerRucia"},"content":" assertEquals(1, taskList.getTaskSize());","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"PerRucia"},"content":" assertTrue(response.contains(\"Added Event task - Team Meeting\"));","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"PerRucia"},"content":" verify(storage, times(1)).saveToFile(taskList);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"PerRucia"},"content":" @Test","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"PerRucia"},"content":" void execute_findCommand_findsMatchingTasks() {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"PerRucia"},"content":" new AddCommand(\"Finish homework\", storage).execute(taskList, message);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"PerRucia"},"content":" new AddCommand(\"Buy groceries\", storage).execute(taskList, message);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"PerRucia"},"content":" FindCommand command \u003d new FindCommand(\"homework\");","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"PerRucia"},"content":" String response \u003d command.execute(taskList, message);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"PerRucia"},"content":" assertTrue(response.contains(\"Tasks found with the keywords: homework\"));","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"PerRucia"},"content":" @Test","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"PerRucia"},"content":" void execute_listCommand_showsAllTasks() {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"PerRucia"},"content":" new AddCommand(\"Test Task\", storage).execute(taskList, message);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"PerRucia"},"content":" ListCommand command \u003d new ListCommand();","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"PerRucia"},"content":" String response \u003d command.execute(taskList, message);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"PerRucia"},"content":" assertTrue(response.contains(\"Here are your tasks.\"));","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"PerRucia"},"content":" @Test","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"PerRucia"},"content":" void execute_listDayCommand_listsTasksOnSpecificDay() {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"PerRucia"},"content":" new DeadlineCommand(\"Project deadline\", \"15/03/2025 1800\", storage).execute(taskList, message);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"PerRucia"},"content":" ListDayCommand command \u003d new ListDayCommand(\"list_day 15/03/2025\");","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"PerRucia"},"content":" String response \u003d command.execute(taskList, message);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"PerRucia"},"content":" assertTrue(response.contains(\"Tasks for 2025-03-15\"));","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"PerRucia"},"content":" @Test","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"PerRucia"},"content":" void execute_noteCommand_addsNote() {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"PerRucia"},"content":" NoteCommand command \u003d new NoteCommand(\"Meeting Notes\", \"Discussed project plan\", storage);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"PerRucia"},"content":" String response \u003d command.execute(taskList, message);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"PerRucia"},"content":" assertEquals(1, taskList.getNoteSize());","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"PerRucia"},"content":" assertTrue(response.contains(\"Meeting Notes\"));","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"PerRucia"},"content":" @Test","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"PerRucia"},"content":" void execute_notesCommand_listsAllNotes() {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"PerRucia"},"content":" new NoteCommand(\"Meeting Notes\", \"Discussed project plan\", storage).execute(taskList, message);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"PerRucia"},"content":" ListNotesCommand command \u003d new ListNotesCommand();","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"PerRucia"},"content":" String response \u003d command.execute(taskList, message);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"PerRucia"},"content":" assertTrue(response.contains(\"Here are your notes:\"));","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"PerRucia"},"content":" @Test","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"PerRucia"},"content":" void execute_clearCommand_clearsAllTasks() throws IOException {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"PerRucia"},"content":" new AddCommand(\"Task 1\", storage).execute(taskList, message);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"PerRucia"},"content":" new AddCommand(\"Task 2\", storage).execute(taskList, message);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"PerRucia"},"content":" ClearCommand command \u003d new ClearCommand(storage);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"PerRucia"},"content":" String response \u003d command.execute(taskList, message);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"PerRucia"},"content":" assertEquals(0, taskList.getTaskSize());","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"PerRucia"},"content":" assertTrue(response.contains(\"Cleared all tasks.\"));","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"PerRucia"},"content":" verify(storage, times(3)).saveToFile(taskList);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"PerRucia"},"content":" @Test","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"PerRucia"},"content":" void execute_byeCommand_returnsExitMessage() {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"PerRucia"},"content":" ByeCommand command \u003d new ByeCommand();","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"PerRucia"},"content":" String response \u003d command.execute(taskList, message);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"PerRucia"},"content":" assertTrue(response.contains(\"Finally! Bye.\"));","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"PerRucia"},"content":" @Test","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"PerRucia"},"content":" void execute_helpCommand_displaysHelpMessage() {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"PerRucia"},"content":" HelpCommand command \u003d new HelpCommand();","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"PerRucia"},"content":" String response \u003d command.execute(taskList, message);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"PerRucia"},"content":" assertTrue(response.contains(\"Looks like you need help after all huh?\"));","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"PerRucia"},"content":" @Test","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"PerRucia"},"content":" void execute_helpNotesCommand_displaysNotesHelpMessage() {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"PerRucia"},"content":" HelpNotesCommand command \u003d new HelpNotesCommand();","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"PerRucia"},"content":" String response \u003d command.execute(taskList, message);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"PerRucia"},"content":" assertTrue(response.contains(\"It\u0027s just note-taking, how hard can it be?:\"));","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"PerRucia"},"content":" @Test","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"PerRucia"},"content":" void execute_deleteNoteCommand_deletesNote() throws IOException {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"PerRucia"},"content":" new NoteCommand(\"Meeting Notes\", \"Discussed project plan\", storage).execute(taskList, message);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"PerRucia"},"content":" DeleteNoteCommand command \u003d new DeleteNoteCommand(\"delete_note 1\", storage);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"PerRucia"},"content":" String response \u003d command.execute(taskList, message);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"PerRucia"},"content":" assertEquals(0, taskList.getNoteSize());","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"PerRucia"},"content":" assertTrue(response.contains(\"Deleted note\"));","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"PerRucia"},"content":" verify(storage, times(2)).saveToFile(taskList);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"PerRucia"},"content":" @Test","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"PerRucia"},"content":" void execute_viewNoteCommand_viewNote() {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"PerRucia"},"content":" new NoteCommand(\"Meeting Notes\", \"Discussed project plan\", storage).execute(taskList, message);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"PerRucia"},"content":" ViewNoteCommand command \u003d new ViewNoteCommand(\"1\");","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"PerRucia"},"content":" String response \u003d command.execute(taskList, message);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"PerRucia"},"content":" assertTrue(response.contains(\"Meeting Notes\"));","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"PerRucia"},"content":" @Test","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"PerRucia"},"content":" void execute_cheerCommand_displaysMotivationalQuote() {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"PerRucia"},"content":" CheerCommand command \u003d new CheerCommand();","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":207,"author":{"gitId":"PerRucia"},"content":" String response \u003d command.execute(taskList, message);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":208,"author":{"gitId":"PerRucia"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":209,"author":{"gitId":"PerRucia"},"content":" assertNotNull(response);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":210,"author":{"gitId":"PerRucia"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":211,"author":{"gitId":"PerRucia"},"content":"}","lastModifiedDate":"2025-02-23","isFullCredit":false}],"authorContributionMap":{"PerRucia":211}},{"path":"test_tasks.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"PerRucia"},"content":"T | 0 | Test task 1","lastModifiedDate":"2025-02-08","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"PerRucia"},"content":"T | 0 | Test task 2","lastModifiedDate":"2025-02-08","isFullCredit":false}],"authorContributionMap":{"PerRucia":2}}] diff --git a/PerRucia_ip_master/commits.json b/PerRucia_ip_master/commits.json new file mode 100644 index 000000000..713387287 --- /dev/null +++ b/PerRucia_ip_master/commits.json @@ -0,0 +1 @@ +{"authorDailyContributionsMap":{"PerRucia":[{"date":"2025-02-07","commitResults":[{"hash":"dce8367a7d15d275efb771199a8d81b9206628a9","isMergeCommit":false,"messageTitle":"Create AI.md","messageBody":"","fileTypesAndContributionMap":{"md":{"insertions":0,"deletions":0}}},{"hash":"60201c255f3ea7509bbec7bd4143f0a5657f6f7d","isMergeCommit":false,"messageTitle":"Delete Duke.java","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":0,"deletions":10}}},{"hash":"38eaf40f5f6c3901702d907d5064babef8d11f6c","isMergeCommit":false,"messageTitle":"Create Rucia.java","messageBody":"","tags":["Level-0-Rename,-Greet,-Exit"],"fileTypesAndContributionMap":{"java":{"insertions":37,"deletions":0}}},{"hash":"d1837948af72cf24388f7f291a2c2171bcfb117c","isMergeCommit":false,"messageTitle":"Update Rucia.java","messageBody":"","tags":["Level-1-Echo"],"fileTypesAndContributionMap":{"java":{"insertions":31,"deletions":18}}},{"hash":"f24fc1138974a42c9e1a0b915ebac6a4a92b3783","isMergeCommit":false,"messageTitle":"Update Rucia.java","messageBody":"","tags":["Level-2-Add,-List"],"fileTypesAndContributionMap":{"java":{"insertions":19,"deletions":2}}},{"hash":"53c836fecb631a8a9309920af1bae527ccc4fec7","isMergeCommit":false,"messageTitle":"Create misc.txt","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":7,"deletions":0}}},{"hash":"99c696f4dcd6d2eb5266d2213e8e00512e64a279","isMergeCommit":false,"messageTitle":"Update Rucia.java","messageBody":"","tags":["Level-3-Mark-as-Done"],"fileTypesAndContributionMap":{"java":{"insertions":62,"deletions":16}}},{"hash":"9bc94545d6e40a2bdbdce988c2f7e15201b55d16","isMergeCommit":false,"messageTitle":"Create tasks package","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":89,"deletions":0}}},{"hash":"ea6ba4a5592f4c3582e28bd6f8a02e6be3080518","isMergeCommit":false,"messageTitle":"Update Rucia.java","messageBody":"","tags":["Level-4-ToDo,-Event,-Deadline"],"fileTypesAndContributionMap":{"java":{"insertions":32,"deletions":32}}},{"hash":"54f3a815a155c8ca9858b3d38cfd85bc2710cb63","isMergeCommit":false,"messageTitle":"Setup I/O tests","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":13,"deletions":0},"bat":{"insertions":24,"deletions":15}}},{"hash":"a11f024099f1cd41b15293d83909f34ea38c4fd2","isMergeCommit":false,"messageTitle":"Update Rucia.java","messageBody":"","tags":["Level-5-Handle-Errors","A-TextUiTesting-Automated-Text-UI-Testing"],"fileTypesAndContributionMap":{"java":{"insertions":5,"deletions":2}}},{"hash":"e72cad1e94c6c193ff8aef5658ae86e0902934df","isMergeCommit":false,"messageTitle":"Update test cases for delete function","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":4,"deletions":0}}},{"hash":"cd8f634e703aaa4cd464630556104303c49fbb10","isMergeCommit":false,"messageTitle":"Update Rucia.java","messageBody":"","tags":["Level-6-Delete"],"fileTypesAndContributionMap":{"java":{"insertions":18,"deletions":1}}},{"hash":"846b54eadbd89d3d28e364827559d1a2491d8fd2","isMergeCommit":false,"messageTitle":"Update Rucia.java","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":27,"deletions":22}}},{"hash":"f412b8fb57241c11025557d587b16c1db24ac162","isMergeCommit":false,"messageTitle":"Update AI.md","messageBody":"","fileTypesAndContributionMap":{"md":{"insertions":11,"deletions":0}}},{"hash":"b573bbc1438acc79d341a9a50486413642d13a95","isMergeCommit":false,"messageTitle":"Add test inputs for level-7","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":4,"deletions":1}}},{"hash":"6b15402e08f8056789a7a1d50bca82b889423326","isMergeCommit":false,"messageTitle":"Complete level-7","messageBody":"","tags":["Level-7-Save"],"fileTypesAndContributionMap":{"txt":{"insertions":2,"deletions":0},"java":{"insertions":82,"deletions":2}}},{"hash":"50fd55b7cb5f9e2b550c7da542ab7cbf84be66c3","isMergeCommit":false,"messageTitle":"Update Rucia.java","messageBody":"","tags":["A-Enums-Use-Enums"],"fileTypesAndContributionMap":{"java":{"insertions":61,"deletions":27}}}]},{"date":"2025-02-08","commitResults":[{"hash":"d30dad0545b87741372fdeed370d643a9e29f010","isMergeCommit":false,"messageTitle":"Add date handling for tasks","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":25,"deletions":2}}},{"hash":"1d823612e123fa9e26b7db967f6601da00c41914","isMergeCommit":false,"messageTitle":"Update Rucia.java","messageBody":"","tags":["Level-8-Dates-and-Times"],"fileTypesAndContributionMap":{"java":{"insertions":138,"deletions":39}}},{"hash":"2fd730706e0899c25e9834b921f38ca9dce4bd37","isMergeCommit":false,"messageTitle":"Update tasks.txt","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":0,"deletions":2}}},{"hash":"1843668574f5e8551ebbf1e81a8bfd71a0c61767","isMergeCommit":false,"messageTitle":"Update test files","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":0,"deletions":1}}},{"hash":"5b98b1724b63a98b8f15581f313a16ab7db36e81","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-level-8\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"b7165d4c638c01f6eb29a76bb27e6d02a1aea2f7","isMergeCommit":false,"messageTitle":"Create Ui.java","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":70,"deletions":0}}},{"hash":"2365be4fd70541c7cdcf485a1833d9f4f9f99604","isMergeCommit":false,"messageTitle":"Update Ui.java","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":0,"deletions":1}}},{"hash":"37796296862ebb6c5163d0ed1be72de664e52402","isMergeCommit":false,"messageTitle":"Update Rucia.java for to use Ui.java","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":42,"deletions":54}}},{"hash":"f785c295b42478692e370ffedda7e4dc41be45e4","isMergeCommit":false,"messageTitle":"Create Parser.java","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":170,"deletions":0}}},{"hash":"1f42967c8622e6617bbf498f1996a0b6644b16e5","isMergeCommit":false,"messageTitle":"Create Storage.java","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":98,"deletions":0}}},{"hash":"d78a4d6758967e39f77569909c589e04436f8e0c","isMergeCommit":false,"messageTitle":"Update Rucia.java to use parser and storage classes","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":6,"deletions":278}}},{"hash":"0fa59edecd69c0ce27ac75886cc7c267b8a08a51","isMergeCommit":false,"messageTitle":"Create TaskList.java","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":48,"deletions":0}}},{"hash":"2c25a0a6422ce06f521e2675048c68005e169fa9","isMergeCommit":false,"messageTitle":"Update Parser.java","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":31,"deletions":31}}},{"hash":"6ebe2d7cf4701254f3b9db4b4864886bf5100920","isMergeCommit":false,"messageTitle":"Update Rucia.java","messageBody":"","tags":["A-MoreOOP-Use-More-OOP"],"fileTypesAndContributionMap":{"java":{"insertions":3,"deletions":4}}},{"hash":"a78b2b8fff722b4544999cc02f8e775ae24407b3","isMergeCommit":false,"messageTitle":"Create command class","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":9,"deletions":0}}},{"hash":"02075c9c6bd460aa702aea7eac675ac7ff66de63","isMergeCommit":false,"messageTitle":"Abstract events to commands","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":101,"deletions":0}}},{"hash":"86556c62e2075757cdd701ffe2a0412fed4e99c3","isMergeCommit":false,"messageTitle":"Move into packages","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":2,"deletions":1}}},{"hash":"ae0cd86c333d1d2758965a6c2f3f410c074cc1c4","isMergeCommit":false,"messageTitle":"Update Parser.java","messageBody":"","tags":["A-Packages-Organize-into-Packages"],"fileTypesAndContributionMap":{"java":{"insertions":34,"deletions":96}}},{"hash":"5ffe19c45d4bffa372a14a42770c8c5c1fbae015","isMergeCommit":true,"messageTitle":"Merge pull request #1 from PerRucia/branch-packages","messageBody":"Branch packages","fileTypesAndContributionMap":{}},{"hash":"12829d5f98f8cbb7f1aa2da3ed4feb0f5f417f39","isMergeCommit":false,"messageTitle":"Fix storage writing","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":3,"deletions":1},"java":{"insertions":87,"deletions":105}}},{"hash":"6b2739f6d880e4157459932c32a2dc7259255fd9","isMergeCommit":false,"messageTitle":"Update AI.md","messageBody":"","tags":["A-Gradle-Use-Gradle"],"fileTypesAndContributionMap":{"md":{"insertions":8,"deletions":0}}},{"hash":"515bd7fadaabf361046dcd8e6e5355c715203dea","isMergeCommit":false,"messageTitle":"Update Storage.java and relevant classes to use Storage as an instance instead of static methods","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":3,"deletions":3},"java":{"insertions":159,"deletions":22}}},{"hash":"de0f1170c7e63d49633fcb8684f2b0fdedc88811","isMergeCommit":false,"messageTitle":"Delete JUnit tests","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":0,"deletions":115}}},{"hash":"c9b4073456c7d0e430f287a1b03cf016c3502776","isMergeCommit":false,"messageTitle":"Create ByeCommand.java","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":14,"deletions":0}}},{"hash":"e6d2f35c75a55d402ed0336ce04372ba089f7f4c","isMergeCommit":false,"messageTitle":"Update Parser.java","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":7,"deletions":4}}},{"hash":"3671eab9f5ccaa0e61e7c2524b580a7fd453caff","isMergeCommit":false,"messageTitle":"Update parser class to CommandParser and CommandIdentifier classes","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":224,"deletions":165}}},{"hash":"c1391326eee50ba3ef8ba4b01f2e491d60995f3f","isMergeCommit":false,"messageTitle":"Create ListCommand.java","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":20,"deletions":0}}},{"hash":"2c77e8370031171b8d1b1abfd657751602f94278","isMergeCommit":false,"messageTitle":"Add ListCommand.java and bug fixes","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":106,"deletions":6}}},{"hash":"745dd1095a5cb399dc282bd1a476de142471b578","isMergeCommit":false,"messageTitle":"Fix mark and unmark issues with writing to storage","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":27,"deletions":13}}},{"hash":"3761524f28f1e8971d297dcbbd7ddfea7fcb5672","isMergeCommit":false,"messageTitle":"Create DeleteCommand.java","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":37,"deletions":0}}},{"hash":"dadf0da80ee4c880ff740311ce37b2290d3a80a7","isMergeCommit":false,"messageTitle":"Create ListDayCommand.java","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":55,"deletions":0}}},{"hash":"21e073e0e0e94625e06f24fe64b11374955f882c","isMergeCommit":false,"messageTitle":"Update Task.java","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":2,"deletions":0}}},{"hash":"3d31f607a98a780990c1b3f2e681b9730011c6fc","isMergeCommit":false,"messageTitle":"Update CommandParser.java","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":7,"deletions":4}}},{"hash":"b3c96c5fb7e15fa8a7e3e0a7697288afa9f5bf52","isMergeCommit":false,"messageTitle":"Create HelpCommand.java","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":26,"deletions":1}}},{"hash":"c93919744e9f5e0f9e5dce164953a0fbf1d14dfc","isMergeCommit":false,"messageTitle":"Create ClearCommand.java","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":30,"deletions":1}}},{"hash":"9d1941475022596b97af2129978395e224625b5d","isMergeCommit":false,"messageTitle":"Update build.gradle to allow for mockito","messageBody":"","fileTypesAndContributionMap":{"gradle":{"insertions":1,"deletions":0}}},{"hash":"365cbcadae4421622c7d796910975b9ad254a8a4","isMergeCommit":false,"messageTitle":"Update DeleteCommand.java","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":0}}},{"hash":"5b792618f864fa14b957f6c80c0540468ef10a41","isMergeCommit":false,"messageTitle":"Delete DateTimeFormatTest.java","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":0,"deletions":38}}},{"hash":"89a0efc654bc5f741773bdcc560bdf5dd8233fae","isMergeCommit":false,"messageTitle":"Create RuciaTest.java","messageBody":"","tags":["A-JUnit-Add-JUnit-Tests"],"fileTypesAndContributionMap":{"java":{"insertions":182,"deletions":0}}},{"hash":"f54c35edaabde11dff39a6b2916ba19a37a1a2d8","isMergeCommit":false,"messageTitle":"Update tasks.txt","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":2,"deletions":1}}},{"hash":"7648659d31337920bdc56b613a0816a5e0291bac","isMergeCommit":false,"messageTitle":"Update runtest.bat to fix wrong main java path","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":2,"deletions":0}}},{"hash":"8bb10e7a4d2ea182ffce1dfd15d85d0d37762cb6","isMergeCommit":false,"messageTitle":"Update build.gradle","messageBody":"","fileTypesAndContributionMap":{"gradle":{"insertions":25,"deletions":3}}},{"hash":"55aed813dc0c1db6bc4a6f5cc2dcab6e6227d9b5","isMergeCommit":false,"messageTitle":"Update Storage.java to create new directory when running chatbot from a jar file","messageBody":"","tags":["A-Jar-Create-a-JAR-File"],"fileTypesAndContributionMap":{"java":{"insertions":15,"deletions":1}}},{"hash":"472934c6aa7f664647b7cb64d0a40f96ab8025cb","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-jar\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"21e8c15fcf8f7e7f721df2117f1175f14c64e3b6","isMergeCommit":false,"messageTitle":"Add Javadoc headers and comments","messageBody":"","tags":["A-JavaDoc-JavaDoc","A-CodingStandard-Follow-the-Coding-Standard"],"fileTypesAndContributionMap":{"java":{"insertions":542,"deletions":29}}},{"hash":"cdcbb907d6fa274ac079d60fe1ab0895b81571e9","isMergeCommit":false,"messageTitle":"Create FindCommand.java","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":34,"deletions":0}}},{"hash":"ca6b000fcddc0a7e78db13aec3808b871e9fdee0","isMergeCommit":false,"messageTitle":"Update command identification and parsing to use new find command","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":8,"deletions":0}}},{"hash":"767238176835707823ab896d46bcea11285607c6","isMergeCommit":false,"messageTitle":"Add test case for find command","messageBody":"","tags":["Level-9-Find"],"fileTypesAndContributionMap":{"java":{"insertions":20,"deletions":0}}},{"hash":"c7f0ad00429ebc9a35c07b8d5a285151f2c36229","isMergeCommit":false,"messageTitle":"Update HelpCommand.java","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":2,"deletions":1}}},{"hash":"9e37fbbaa289f1cadf59525a508aa864035595c9","isMergeCommit":false,"messageTitle":"Create cheer.txt","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":20,"deletions":0}}},{"hash":"936ebb19229c4412944f1fedffff00108b861ef2","isMergeCommit":false,"messageTitle":"Create CheerCommand.java","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":56,"deletions":0}}},{"hash":"4ea94adacff9f272c2c1e97e67e2256e92ac11a7","isMergeCommit":false,"messageTitle":"Update command identifier and parser to make use of new cheer command","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":4,"deletions":0}}},{"hash":"09a1d2cf2c4c4ebef439e7c1e6b9c3d2594423e4","isMergeCommit":false,"messageTitle":"Update RuciaTest.java","messageBody":"","tags":["A-Cheer-Random-Motivational-Quote"],"fileTypesAndContributionMap":{"java":{"insertions":18,"deletions":0}}},{"hash":"0e0be43b4a758075ec487f7d36faefc69c52aa1f","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-level9-find\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"80ba2e600a4d528858b8847ab25131a55699035c","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-cheer\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"c5667b599fbdc1832713fed58ce8eef77092caf8","isMergeCommit":false,"messageTitle":"Fix bug when reading marked tasks from storage","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":13,"deletions":4}}},{"hash":"c78f93ad439330dae1e02346ee1ce696773dc212","isMergeCommit":false,"messageTitle":"Fix issues with test cases for Find and Cheer","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":10,"deletions":3}}},{"hash":"1b5dfef114f4e32116e8fe637cb3c59ecfdaf092","isMergeCommit":false,"messageTitle":"Update FindCommand.java","messageBody":"","tags":["A-UnitTesting-Write-Unit-Tests"],"fileTypesAndContributionMap":{"java":{"insertions":16,"deletions":0}}}]},{"date":"2025-02-15","commitResults":[{"hash":"37fc40d753417c87f1e15f5df305514cdb688789","isMergeCommit":false,"messageTitle":"Update FindCommand.java and relevant classes to use varargs","messageBody":"","tags":["A-Varargs"],"fileTypesAndContributionMap":{"java":{"insertions":37,"deletions":28}}},{"hash":"a4903acf61346facdc858035871c4777c162500e","isMergeCommit":false,"messageTitle":"Setup initial JavaFX skeleton","messageBody":"","fileTypesAndContributionMap":{"gradle":{"insertions":1,"deletions":1},"txt":{"insertions":1,"deletions":0},"fxml":{"insertions":66,"deletions":0},"java":{"insertions":157,"deletions":0}}},{"hash":"a285ae4854c4e716f38a5eb3781b0ddb47c94dfb","isMergeCommit":false,"messageTitle":"Replace Ui.java with Message.java to handle I/O for JavaFX","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":36,"deletions":69}}},{"hash":"52dc584686ceb00913bc872dd2672843970f0bb6","isMergeCommit":false,"messageTitle":"Update MainWindow and Rucia to show welcome message on application boot","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":80,"deletions":42}}},{"hash":"1b34c336540ff20a8e0ad5a9997155b97b0fbf1e","isMergeCommit":false,"messageTitle":"Create TaskStorageUtil.java to abstract out task-saving methods","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":19,"deletions":0}}}]},{"date":"2025-02-16","commitResults":[{"hash":"2bcd84d2f9de60f93a8096025eed242c1c4f6db4","isMergeCommit":false,"messageTitle":"Fix Command classes to use Message instead of ui","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":129,"deletions":176}}},{"hash":"2d76cdd910baa7249308f77c063a85ba66babd26","isMergeCommit":false,"messageTitle":"Fix error when trying to show welcome message before rucia is initialized","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1}}},{"hash":"98e5b4e0a945a851667af19f963f65de6e46847b","isMergeCommit":false,"messageTitle":"Improve aesthetics of the chatbot","messageBody":"","tags":["Level-10-GUI"],"fileTypesAndContributionMap":{"txt":{"insertions":1,"deletions":3},"fxml":{"insertions":17,"deletions":16},"java":{"insertions":76,"deletions":16}}}]},{"date":"2025-02-22","commitResults":[{"hash":"cc17812a044de4b4baf2c666d00149a574788528","isMergeCommit":false,"messageTitle":"Move classes into reorganized packages","messageBody":"","fileTypesAndContributionMap":{"gradle":{"insertions":1,"deletions":1},"fxml":{"insertions":1,"deletions":1},"java":{"insertions":94,"deletions":312}}},{"hash":"ea0c604d0e5a2ac9d0d36a258ba5e824288a7227","isMergeCommit":false,"messageTitle":"Add assertions to enforce preconditions in UI components","messageBody":"Assertions have been added to key methods to ensure valid state and inputs, improving robustness and maintainability.\n\n- start(Stage stage): Ensures AnchorPane is successfully loaded before use.\n- addMessage(String newMessage): Prevents null values from being added as messages.\n- handleUserInput(): Ensures user input is neither null nor empty before processing.\n- setRucia(Rucia r): Verifies Rucia instance is not null before assignment.\n\nThese assertions help catch potential issues early during development and debugging, ensuring that critical UI elements and data are always in a valid state.\n","fileTypesAndContributionMap":{"java":{"insertions":4,"deletions":0}}},{"hash":"052ea6d978d46a42614e1bbdfe73109fd09984b2","isMergeCommit":false,"messageTitle":"Improve code quality for Main.java","messageBody":"Exceptions are currently printed to the console using printStackTrace(), which is not ideal for production environments.\n\nLogging errors instead of printing them improves debugging and maintainability.\n\nReplace printStackTrace() with proper logging.\n\nUsing a logging framework ensures better error tracking and debugging.\n","fileTypesAndContributionMap":{"java":{"insertions":3,"deletions":3}}},{"hash":"ac05c1e5a96c936726582b2adbb680f4c5173b76","isMergeCommit":false,"messageTitle":"Improve code quality for MainWindow.java","messageBody":"Constants are not declared as final, making them mutable.\n\nMarking constants as final prevents unintended modifications.\n\nDeclare constants as final to enforce immutability.\n\nUsing final follows best practices for constant declarations.\n","fileTypesAndContributionMap":{"java":{"insertions":8,"deletions":8}}},{"hash":"07602fd437b30dbae8ea6d341a6db83b6829138e","isMergeCommit":false,"messageTitle":"Improve code quality for Message.java","messageBody":"String concatenation in addMessage uses String, leading to inefficient memory allocation.\n\nUsing String for repeated modifications creates multiple string objects, impacting performance.\n\nReplace String with StringBuilder for more efficient string manipulation.\n\nStringBuilder is optimized for modifying strings dynamically.\n","tags":["A-FullCommitMessage"],"fileTypesAndContributionMap":{"java":{"insertions":55,"deletions":56}}},{"hash":"e51e2281e8d34f3f3fa82a05950b493c80a6927a","isMergeCommit":false,"messageTitle":"Refactor handleUserInput using Java Streams","messageBody":"handleUserInput manually adds dialog boxes to dialogContainer using multiple method calls.\n\nUsing Java Streams improves code clarity and reduces verbosity.\n\nReplace explicit addAll calls with a Stream.of(...).forEach(...) construct.\n\nJava Streams provide a more declarative way to handle multiple elements.\n","fileTypesAndContributionMap":{"txt":{"insertions":1,"deletions":0},"java":{"insertions":12,"deletions":10}}},{"hash":"7cc98f2293104823312ed8a40dfa6ebd19f048b2","isMergeCommit":true,"messageTitle":"Merge pull request #2 from PerRucia/branch-A-Assertions","messageBody":"Add assertions to enforce preconditions in UI components","fileTypesAndContributionMap":{}},{"hash":"088193fd19df60a25dd9961b59133cd1c1bbcae6","isMergeCommit":true,"messageTitle":"Merge pull request #3 from PerRucia/branch-A-Streams","messageBody":"Refactor handleUserInput using Java Streams","fileTypesAndContributionMap":{}},{"hash":"7956f4406697d73725c37d7f8d61a851642649bd","isMergeCommit":true,"messageTitle":"Resolve merge conflicts","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"e9971542455668d2ff8f072e297d134f51bd6838","isMergeCommit":true,"messageTitle":"Resolve merge conflicts","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"e742455c87aae80d18f0c5486ecf5929bfbfef85","isMergeCommit":true,"messageTitle":"Merge pull request #4 from PerRucia/branch-A-CodeQuality","messageBody":"Branch a code quality","fileTypesAndContributionMap":{}},{"hash":"e80f597e54a5be6acfcba58327a1a55fa59285dd","isMergeCommit":false,"messageTitle":"Add help command that gives users an overview of what the chatbot can do","messageBody":"","tags":["C-Help","BCD-Extension"],"fileTypesAndContributionMap":{"java":{"insertions":112,"deletions":0}}},{"hash":"5b40a0477a31fee84c2d0f128659abccc669d5fb","isMergeCommit":false,"messageTitle":"Remove magic numbers from CommandParser.java","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":10,"deletions":6}}}]},{"date":"2025-02-23","commitResults":[{"hash":"3db58b3e158f0d3ef6d802eb43add80efc8a59a4","isMergeCommit":false,"messageTitle":"Add new note classes and commands for users to add notes as entries to their list of tasks.","messageBody":"","tags":["D-Notes"],"fileTypesAndContributionMap":{"java":{"insertions":167,"deletions":168}}},{"hash":"b3e856fff715ad824f936caa77add486ac9cf057","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-extension\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"79bc740b92b68867c03446bd032f1f6e56fc40a4","isMergeCommit":false,"messageTitle":"Fix bug with cheer command","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":2,"deletions":16}}},{"hash":"1a2fb43466ae6cd513be1cf5840d9647bf80e56a","isMergeCommit":false,"messageTitle":"Update AI.md","messageBody":"","fileTypesAndContributionMap":{"md":{"insertions":8,"deletions":1}}},{"hash":"0c4d2e46bc67e9a5a9a3c224e63cc094c0ba72a1","isMergeCommit":false,"messageTitle":"Fix dialog box anchoring issue for user messages","messageBody":"","fileTypesAndContributionMap":{"fxml":{"insertions":1,"deletions":0},"java":{"insertions":21,"deletions":22}}},{"hash":"b00b2e87a088225b5b765f4cb55fd68cd6bc4cf6","isMergeCommit":false,"messageTitle":"Improve aesthetics of the chatbot with fade-in animations, background gradient, font adjustments.","messageBody":"","tags":["A-BetterGui"],"fileTypesAndContributionMap":{"fxml":{"insertions":1,"deletions":0},"java":{"insertions":28,"deletions":12},"md":{"insertions":3,"deletions":1}}},{"hash":"b106784d724eaf82a9b9ed09db50b5cbf823f283","isMergeCommit":false,"messageTitle":"Update Rucia\u0027s response to have a mean and snarky personality","messageBody":"","tags":["A-personality"],"fileTypesAndContributionMap":{"txt":{"insertions":21,"deletions":20},"java":{"insertions":82,"deletions":59}}},{"hash":"d46a9c446ab3cf66ec9234a14edbb662b78612a6","isMergeCommit":false,"messageTitle":"Add pressed effect to send button","messageBody":"","tags":["A-MoreErrorHandling"],"fileTypesAndContributionMap":{"java":{"insertions":23,"deletions":0}}},{"hash":"8bff903b1eb250e4b10312060249d05f7786bc5a","isMergeCommit":false,"messageTitle":"Add JUnit Tests for the individual commands that the chatbot accepts","messageBody":"","tags":["A-MoreTesting","A-AiAssisted"],"fileTypesAndContributionMap":{"txt":{"insertions":1,"deletions":3},"java":{"insertions":176,"deletions":0}}},{"hash":"3f0d9fb3c93693d478c4b823f6bfb86495b2ae8a","isMergeCommit":false,"messageTitle":"Remove text-ui-test","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":0,"deletions":20},"java":{"insertions":2,"deletions":2},"bat":{"insertions":0,"deletions":82},"sh":{"insertions":0,"deletions":83}}},{"hash":"3f3ef0ec2dfacb8cb86e00b4aa8da8373d4f6748","isMergeCommit":false,"messageTitle":"Lay groundwork for a more comprehensive note-taking function, update TaskList.java to store tasks and notes separately","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":1,"deletions":1},"java":{"insertions":138,"deletions":43}}},{"hash":"983cd30429f9f63daf435bcc6ace7188a106571f","isMergeCommit":false,"messageTitle":"Use Java Enums for command identification","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":0,"deletions":1},"java":{"insertions":124,"deletions":56}}},{"hash":"ed48d8619d9cbe060dfe73f507a97a29280c96f4","isMergeCommit":false,"messageTitle":"Add new case for Storage to be able to parse Note entries.","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":1,"deletions":0},"java":{"insertions":7,"deletions":32}}},{"hash":"41eabba74971700c0344e0c6257fe8b67f478a0e","isMergeCommit":false,"messageTitle":"Add JUnit tests for note, notes, and help notes commands","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":18,"deletions":1}}},{"hash":"bdb75a4d715d591380234235a71a2901d8a2e0bc","isMergeCommit":false,"messageTitle":"Add functionality to delete notes, fix bugs when trying to read/write both tasks and notes to storage.","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":2,"deletions":1},"java":{"insertions":94,"deletions":19}}},{"hash":"6996153a6c04e291b6c1e955fee21750e868ba9a","isMergeCommit":false,"messageTitle":"Add view_note command to be able to view full note details","messageBody":"","tags":["A-Streams","A-CodeQuality","A-Assertions"],"fileTypesAndContributionMap":{"java":{"insertions":52,"deletions":1}}}]}]},"authorFileTypeContributionMap":{"PerRucia":{"java":2390,"md":28,"fxml":69,"sh":0,"bat":0,"gradle":26,"txt":31}},"authorContributionVariance":{"PerRucia":460900.06},"authorDisplayNameMap":{"PerRucia":"Davin Chua"}} diff --git a/andychong23_ip_master/authorship.json b/andychong23_ip_master/authorship.json new file mode 100644 index 000000000..755763415 --- /dev/null +++ b/andychong23_ip_master/authorship.json @@ -0,0 +1 @@ +[{"path":"build.gradle","fileType":"gradle","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"plugins {","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":" id \u0027java\u0027","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" id \u0027application\u0027","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"andychong23"},"content":"// id \u0027checkstyle\u0027","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"andychong23"},"content":" id \u0027org.openjfx.javafxplugin\u0027 version \u00270.1.0\u0027","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":" id \u0027com.github.johnrengelman.shadow\u0027 version \u00277.1.2\u0027","lastModifiedDate":"2023-08-05","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"repositories {","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":" mavenCentral()","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"dependencies {","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":" testImplementation group: \u0027org.junit.jupiter\u0027, name: \u0027junit-jupiter-api\u0027, version: \u00275.10.0\u0027","lastModifiedDate":"2023-08-05","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"andychong23"},"content":" testImplementation group: \u0027org.junit.jupiter\u0027, name: \u0027junit-jupiter-params\u0027, version: \u00275.6.2\u0027","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":" testRuntimeOnly group: \u0027org.junit.jupiter\u0027, name: \u0027junit-jupiter-engine\u0027, version: \u00275.10.0\u0027","lastModifiedDate":"2023-08-05","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"andychong23"},"content":" testRuntimeOnly group: \u0027org.junit.jupiter\u0027, name: \u0027junit-jupiter-params\u0027, version: \u00275.6.2\u0027","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"test {","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":" useJUnitPlatform()","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":" testLogging {","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":" events \"passed\", \"skipped\", \"failed\"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":" showExceptions true","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" exceptionFormat \"full\"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" showCauses true","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" showStackTraces true","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" showStandardStreams \u003d false","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":"application {","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"andychong23"},"content":" mainClass.set(\"launcher.Launcher\")","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":"shadowJar {","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"andychong23"},"content":" archiveBaseName \u003d \"bob\"","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" archiveClassifier \u003d null","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":"run{","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" standardInput \u003d System.in","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"andychong23"},"content":" enableAssertions \u003d true","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"andychong23"},"content":"}","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"andychong23"},"content":"//checkstyle {","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"andychong23"},"content":"// toolVersion \u003d \u002710.2\u0027","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"andychong23"},"content":"//}","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"andychong23"},"content":"tasks.withType(JavaCompile) {","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"andychong23"},"content":" options.encoding \u003d \u0027UTF-8\u0027","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"andychong23"},"content":"}","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"andychong23"},"content":"javafx {","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"andychong23"},"content":" version \u003d \u002721.0.1\u0027","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"andychong23"},"content":" modules \u003d [\u0027javafx.controls\u0027, \u0027javafx.fxml\u0027, \u0027javafx.graphics\u0027]","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25","isFullCredit":false}],"authorContributionMap":{"andychong23":21,"-":39}},{"path":"src/main/java/action/ActionHandler.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"andychong23"},"content":"package action;","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"andychong23"},"content":"import data.DataHandler;","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"andychong23"},"content":"import task.DeadLineTask;","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"andychong23"},"content":"import task.EventTask;","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"andychong23"},"content":"import task.Task;","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"andychong23"},"content":"import task.ToDoTask;","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"andychong23"},"content":"import user.User;","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"andychong23"},"content":"import java.io.IOException;","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"andychong23"},"content":"import java.util.ArrayList;","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"andychong23"},"content":"import java.util.Arrays;","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"andychong23"},"content":"import java.util.List;","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"andychong23"},"content":"import java.util.Random;","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"andychong23"},"content":"import java.util.random.RandomGenerator;","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"andychong23"},"content":"import static java.lang.Integer.parseInt;","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"andychong23"},"content":"/**","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"andychong23"},"content":" * Class to handle actions","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"andychong23"},"content":"public class ActionHandler {","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"andychong23"},"content":" private RandomGenerator randomGenerator \u003d new Random();","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"andychong23"},"content":" * Returns List of Strings that will be output to the user","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"andychong23"},"content":" * This method processes the actions that the user inputs accordingly","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"andychong23"},"content":" * Precondition: actionString is a valid input by the user","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"andychong23"},"content":" *","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"andychong23"},"content":" * @param actionString Valid Input String provided by the user","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"andychong23"},"content":" * @param user User class that indicates the current user","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"andychong23"},"content":" * @return List of Strings that indicates what needs to be output to the console","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"andychong23"},"content":" public List\u003cString\u003e processAction(String actionString, User user) throws IOException {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"andychong23"},"content":" List\u003cString\u003e outputMessages \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"andychong23"},"content":" List\u003cString\u003e actionStringTokens \u003d Arrays.asList(actionString.split(\" \"));","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"andychong23"},"content":" if (actionStringTokens.getFirst().equalsIgnoreCase(Action.LIST.toString())) {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"andychong23"},"content":" processListAction(user, outputMessages);","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"andychong23"},"content":" } else if (actionStringTokens.getFirst().equalsIgnoreCase(Action.MARK.toString())) {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"andychong23"},"content":" processMarkAction(user, actionStringTokens, outputMessages);","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"andychong23"},"content":" } else if (actionStringTokens.getFirst().equalsIgnoreCase(Action.UNMARK.toString())) {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"andychong23"},"content":" processUnmarkAction(user, actionStringTokens, outputMessages);","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"andychong23"},"content":" } else if (actionStringTokens.getFirst().equalsIgnoreCase(Action.TODO.toString())) {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"andychong23"},"content":" processToDoAction(user, actionStringTokens, outputMessages);","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"andychong23"},"content":" } else if (actionStringTokens.getFirst().equalsIgnoreCase(Action.DEADLINE.toString())) {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"andychong23"},"content":" processDeadlineAction(user, actionStringTokens, outputMessages);","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"andychong23"},"content":" } else if (actionStringTokens.getFirst().equalsIgnoreCase(Action.EVENT.toString())) {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"andychong23"},"content":" processEventAction(user, actionStringTokens, outputMessages);","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"andychong23"},"content":" } else if (actionStringTokens.getFirst().equalsIgnoreCase(Action.DELETE.toString())) {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"andychong23"},"content":" processDeleteAction(user, actionStringTokens, outputMessages);","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"andychong23"},"content":" } else if (actionStringTokens.getFirst().equalsIgnoreCase(Action.FIND.toString())) {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"andychong23"},"content":" processFindAction(user, actionStringTokens, outputMessages);","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"andychong23"},"content":" } else if (actionStringTokens.getFirst().equalsIgnoreCase(Action.CHEER.toString())) {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"andychong23"},"content":" processCheerAction(outputMessages);","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"andychong23"},"content":" } else if (actionStringTokens.getFirst().equalsIgnoreCase(Action.HELP.toString())) {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"andychong23"},"content":" processHelpAction(actionStringTokens, outputMessages);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"andychong23"},"content":" updateSaveFile(user, false);","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"andychong23"},"content":" return outputMessages;","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"andychong23"},"content":" private void processHelpAction(List\u003cString\u003e actionStringTokens, List\u003cString\u003e outputMessages) {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"andychong23"},"content":" if (actionStringTokens.size() \u003d\u003d 1) {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"andychong23"},"content":" outputMessages.add(\"List of commands that can be used: \");","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"andychong23"},"content":" for (Action action : Action.values()) {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"andychong23"},"content":" if (action !\u003d Action.DEFAULT) {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"andychong23"},"content":" outputMessages.add(\"\\t%s\".formatted(action.toString().toLowerCase()));","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"andychong23"},"content":" } else {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"andychong23"},"content":" String actionCommandToHelp \u003d actionStringTokens.get(1);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"andychong23"},"content":" Action action \u003d Action.mapAction(actionCommandToHelp);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"andychong23"},"content":" outputMessages.add(\"%s\".formatted(action.getHelpMessage()));","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"andychong23"},"content":" * Adds a cheer message to outputMessages","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"andychong23"},"content":" * @param outputMessages List of Strings that will be shown to the user","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"andychong23"},"content":" * @throws IOException File read fails for the cheer messages","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"andychong23"},"content":" private void processCheerAction(List\u003cString\u003e outputMessages) throws IOException {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"andychong23"},"content":" outputMessages.add(getCheerMessage());","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"andychong23"},"content":" * Find the tasks that has the relevant keyword","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"andychong23"},"content":" * If tasks are found, add a numbered task list to outputMessages","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"andychong23"},"content":" * Note: Numbered task list provided here does not correspond to the actual task number","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"andychong23"},"content":" *","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"andychong23"},"content":" * @param user User that is requesting the find action","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"andychong23"},"content":" * @param actionStringTokens List of inputs provided by the user, split by *space*","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"andychong23"},"content":" * @param outputMessages List of Strings that will be shown to the user","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"andychong23"},"content":" private void processFindAction(User user, List\u003cString\u003e actionStringTokens, List\u003cString\u003e outputMessages) {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"andychong23"},"content":" List\u003cTask\u003e foundTasks \u003d user.findTaskWithKeyWord(","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"andychong23"},"content":" String.join(\" \", actionStringTokens.subList(1, actionStringTokens.size())));","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"andychong23"},"content":" if (foundTasks.isEmpty()) {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"andychong23"},"content":" outputMessages.add(\"There are not tasks with that keyword in your list D:\");","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"andychong23"},"content":" else {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"andychong23"},"content":" outputMessages.add(\"Here are the matching tasks in your list:\");","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"andychong23"},"content":" outputMessages.add(user.getTaskList(foundTasks));","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"andychong23"},"content":" * Delete the task number specified by the user","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"andychong23"},"content":" * @param user User","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"andychong23"},"content":" * @param actionStringTokens List of inputs provided by the user, split by *space*","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"andychong23"},"content":" * @param outputMessages List of Strings that will be shown to the user","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"andychong23"},"content":" private void processDeleteAction(User user, List\u003cString\u003e actionStringTokens, List\u003cString\u003e outputMessages) {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"andychong23"},"content":" outputMessages.add(\"Noted. I\u0027ve removed this task:\");","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"andychong23"},"content":" outputMessages.add(user.deleteTask(parseInt(actionStringTokens.get(1)) - 1));","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"andychong23"},"content":" outputMessages.add(\"Now you have %s tasks in your list\".formatted(user.getNumberOfTasks()));","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"andychong23"},"content":" * Adds an event task to the task list associated with the user","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"andychong23"},"content":" * @param user User","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"andychong23"},"content":" * @param actionStringTokens List of inputs provided by the user, split by *space*","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"andychong23"},"content":" * @param outputMessages List of Strings that will be shown to the user","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"andychong23"},"content":" private void processEventAction(User user, List\u003cString\u003e actionStringTokens, List\u003cString\u003e outputMessages) {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"andychong23"},"content":" outputMessages.add(\"Got it. I\u0027ve added this event:\");","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"andychong23"},"content":" Task createdTask \u003d createTask(","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"andychong23"},"content":" Action.EVENT,","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"andychong23"},"content":" actionStringTokens.subList(1, actionStringTokens.size())","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"andychong23"},"content":" );","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"andychong23"},"content":" user.addTask(createdTask);","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"andychong23"},"content":" assert createdTask !\u003d null;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"andychong23"},"content":" outputMessages.add(createdTask.getTaskInformation());","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"andychong23"},"content":" outputMessages.add(\"Now you have %s tasks in your list\".formatted(user.getNumberOfTasks()));","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"andychong23"},"content":" * Adds a deadline task to the task list associated with the user","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"andychong23"},"content":" * @param user User","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"andychong23"},"content":" * @param actionStringTokens List of inputs provided by the user, split by *space*","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"andychong23"},"content":" * @param outputMessages List of Strings that will be shown to the user","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"andychong23"},"content":" private void processDeadlineAction(User user, List\u003cString\u003e actionStringTokens, List\u003cString\u003e outputMessages) {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"andychong23"},"content":" outputMessages.add(\"Got it. I\u0027ve added this deadline:\");","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"andychong23"},"content":" Task createdTask \u003d createTask(","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"andychong23"},"content":" Action.DEADLINE,","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"andychong23"},"content":" actionStringTokens.subList(1, actionStringTokens.size())","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"andychong23"},"content":" );","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"andychong23"},"content":" user.addTask(createdTask);","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"andychong23"},"content":" assert createdTask !\u003d null;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"andychong23"},"content":" outputMessages.add(createdTask.getTaskInformation());","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"andychong23"},"content":" outputMessages.add(\"Now you have %s tasks in your list\".formatted(user.getNumberOfTasks()));","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"andychong23"},"content":" * Adds a todo task to the task list associated with the user","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"andychong23"},"content":" * @param user User","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"andychong23"},"content":" * @param actionStringTokens List of inputs provided by the user, split by *space*","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"andychong23"},"content":" * @param outputMessages List of Strings that will be shown to the user","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"andychong23"},"content":" private void processToDoAction(User user, List\u003cString\u003e actionStringTokens, List\u003cString\u003e outputMessages) {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"andychong23"},"content":" outputMessages.add(\"Got it. I\u0027ve added this todo task:\");","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"andychong23"},"content":" Task createdTask \u003d createTask(","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"andychong23"},"content":" Action.TODO,","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"andychong23"},"content":" actionStringTokens.subList(1, actionStringTokens.size())","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"andychong23"},"content":" );","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"andychong23"},"content":" user.addTask(createdTask);","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"andychong23"},"content":" assert createdTask !\u003d null;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"andychong23"},"content":" outputMessages.add(createdTask.getTaskInformation());","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"andychong23"},"content":" outputMessages.add(\"Now you have %s tasks in your list\".formatted(user.getNumberOfTasks()));","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"andychong23"},"content":" * Unmarks a task status","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"andychong23"},"content":" * @param user User","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"andychong23"},"content":" * @param actionStringTokens List of inputs provided by the user, split by *space*","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"andychong23"},"content":" * @param outputMessages List of Strings that will be shown to the user","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"andychong23"},"content":" private void processUnmarkAction(User user, List\u003cString\u003e actionStringTokens, List\u003cString\u003e outputMessages) {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"andychong23"},"content":" outputMessages.add(\"OK, I\u0027ve marked this task as not done yet:\");","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"andychong23"},"content":" outputMessages.add(user.markTaskAsNotDone(parseInt(actionStringTokens.get(1)) - 1));","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"andychong23"},"content":" * Marks a task status","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"andychong23"},"content":" * @param user User","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"andychong23"},"content":" * @param actionStringTokens List of inputs provided by the user, split by *space*","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"andychong23"},"content":" * @param outputMessages List of Strings that will be shown to the user","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"andychong23"},"content":" private void processMarkAction(User user, List\u003cString\u003e actionStringTokens, List\u003cString\u003e outputMessages) {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"andychong23"},"content":" outputMessages.add(\"Nice! I\u0027ve marked this task as done:\");","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"andychong23"},"content":" outputMessages.add(user.markTaskAsDone(parseInt(actionStringTokens.get(1)) - 1));","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"andychong23"},"content":" * Add the user\u0027s task list to outputMessages","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"andychong23"},"content":" * @param user User","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"andychong23"},"content":" * @param outputMessages List of Strings that will be shown to the user","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"andychong23"},"content":" private void processListAction(User user, List\u003cString\u003e outputMessages) {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"andychong23"},"content":" outputMessages.add(\"Here are the tasks in your list: \");","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":207,"author":{"gitId":"andychong23"},"content":" outputMessages.add(user.getTaskList());","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":208,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":209,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":210,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":211,"author":{"gitId":"andychong23"},"content":" * Writes the user\u0027s current task list into memory","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":212,"author":{"gitId":"andychong23"},"content":" * @param user User","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":213,"author":{"gitId":"andychong23"},"content":" * @param isAppend boolean that indicates if we should append the data of rewrite the file","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":214,"author":{"gitId":"andychong23"},"content":" * @throws IOException When the file does not exist","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":215,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":216,"author":{"gitId":"andychong23"},"content":" private void updateSaveFile(User user, boolean isAppend) throws IOException {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":217,"author":{"gitId":"andychong23"},"content":" try {","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":218,"author":{"gitId":"andychong23"},"content":" DataHandler.writeFile(user.getDataFilePath(), user.createSaveData(), isAppend);","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":219,"author":{"gitId":"andychong23"},"content":" } catch (IOException e) {","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":220,"author":{"gitId":"andychong23"},"content":" throw new RuntimeException(e);","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":221,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":222,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":223,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":224,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":225,"author":{"gitId":"andychong23"},"content":" * Adds a cheer message to outputMessages","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":226,"author":{"gitId":"andychong23"},"content":" * @return String of cheer message","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":227,"author":{"gitId":"andychong23"},"content":" * @throws IOException when the file containing the cheer messages does not exist","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":228,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":229,"author":{"gitId":"andychong23"},"content":" private String getCheerMessage() throws IOException{","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":230,"author":{"gitId":"andychong23"},"content":" List\u003cString\u003e cheerMessages \u003d DataHandler.readFile(DataHandler.cheerPath);","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":231,"author":{"gitId":"andychong23"},"content":" return cheerMessages.get(randomGenerator.nextInt(cheerMessages.size()));","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":232,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":233,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":234,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":235,"author":{"gitId":"andychong23"},"content":" * Method to create a TODO/DEADLINE/EVENT task","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":236,"author":{"gitId":"andychong23"},"content":" *","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":237,"author":{"gitId":"andychong23"},"content":" * @param action Action enum field that indicates what is the action to do","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":238,"author":{"gitId":"andychong23"},"content":" * @param taskDetails Valid input string provided by the user","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":239,"author":{"gitId":"andychong23"},"content":" * @return Task that encapsulates the required information to create TODO/DEADLINE/EVENT task","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":240,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":241,"author":{"gitId":"andychong23"},"content":" public static Task createTask(Action action, List\u003cString\u003e taskDetails) {","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":242,"author":{"gitId":"andychong23"},"content":" if (action.equals(Action.TODO)) {","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":243,"author":{"gitId":"andychong23"},"content":" return new ToDoTask(String.join(\" \", taskDetails));","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":244,"author":{"gitId":"andychong23"},"content":" } else if (action.equals(Action.DEADLINE)) {","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":245,"author":{"gitId":"andychong23"},"content":" int deadLineIndex \u003d taskDetails.indexOf(\"/by\");","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":246,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":247,"author":{"gitId":"andychong23"},"content":" return new DeadLineTask(","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":248,"author":{"gitId":"andychong23"},"content":" String.join(\" \", taskDetails.subList(0, deadLineIndex)),","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":249,"author":{"gitId":"andychong23"},"content":" String.join(\" \", taskDetails.subList(deadLineIndex + 1, taskDetails.size()))","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":250,"author":{"gitId":"andychong23"},"content":" );","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":251,"author":{"gitId":"andychong23"},"content":" } else if (action.equals(Action.EVENT)) {","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":252,"author":{"gitId":"andychong23"},"content":" int fromIndex \u003d taskDetails.indexOf(\"/from\");","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":253,"author":{"gitId":"andychong23"},"content":" int toIndex \u003d taskDetails.indexOf(\"/to\");","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":254,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":255,"author":{"gitId":"andychong23"},"content":" return new EventTask(","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":256,"author":{"gitId":"andychong23"},"content":" String.join(\" \", taskDetails.subList(0, fromIndex)),","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":257,"author":{"gitId":"andychong23"},"content":" String.join(\" \", taskDetails.subList(fromIndex + 1, toIndex)),","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":258,"author":{"gitId":"andychong23"},"content":" String.join(\" \", taskDetails.subList(toIndex + 1, taskDetails.size()))","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":259,"author":{"gitId":"andychong23"},"content":" );","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":260,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":261,"author":{"gitId":"andychong23"},"content":" return null;","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":262,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":263,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":264,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":265,"author":{"gitId":"andychong23"},"content":" * Create Task","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":266,"author":{"gitId":"andychong23"},"content":" *","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":267,"author":{"gitId":"andychong23"},"content":" * @param taskDetail String representation for the details of the task","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":268,"author":{"gitId":"andychong23"},"content":" * @return Task created","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":269,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":270,"author":{"gitId":"andychong23"},"content":" @Deprecated","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":271,"author":{"gitId":"andychong23"},"content":" private Task createTask(String taskDetail) {","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":272,"author":{"gitId":"andychong23"},"content":" return new Task(taskDetail);","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":273,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":274,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":275,"author":{"gitId":"andychong23"},"content":" public enum Action {","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":276,"author":{"gitId":"andychong23"},"content":" LIST {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":277,"author":{"gitId":"andychong23"},"content":" @Override","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":278,"author":{"gitId":"andychong23"},"content":" public String getHelpMessage() {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":279,"author":{"gitId":"andychong23"},"content":" return \"Usage of command: \\n\\tlist\";","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":280,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":281,"author":{"gitId":"andychong23"},"content":" },","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":282,"author":{"gitId":"andychong23"},"content":" MARK {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":283,"author":{"gitId":"andychong23"},"content":" @Override","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":284,"author":{"gitId":"andychong23"},"content":" public String getHelpMessage() {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":285,"author":{"gitId":"andychong23"},"content":" return \"Usage of command: \\n\\tmark \u003ctask_number\u003e\";","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":286,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":287,"author":{"gitId":"andychong23"},"content":" },","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":288,"author":{"gitId":"andychong23"},"content":" UNMARK {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":289,"author":{"gitId":"andychong23"},"content":" @Override","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":290,"author":{"gitId":"andychong23"},"content":" public String getHelpMessage() {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":291,"author":{"gitId":"andychong23"},"content":" return \"Usage of command: \\n\\tmark \u003ctask_number\u003e\";","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":292,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":293,"author":{"gitId":"andychong23"},"content":" },","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":294,"author":{"gitId":"andychong23"},"content":" BYE {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":295,"author":{"gitId":"andychong23"},"content":" @Override","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":296,"author":{"gitId":"andychong23"},"content":" public String getHelpMessage() {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":297,"author":{"gitId":"andychong23"},"content":" return \"Usage of command: \\n\\tbye\";","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":298,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":299,"author":{"gitId":"andychong23"},"content":" },","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":300,"author":{"gitId":"andychong23"},"content":" TODO {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":301,"author":{"gitId":"andychong23"},"content":" @Override","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":302,"author":{"gitId":"andychong23"},"content":" public String getHelpMessage() {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":303,"author":{"gitId":"andychong23"},"content":" return \"Usage of command: \\n\\t todo \u003ctask_information\u003e\";","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":304,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":305,"author":{"gitId":"andychong23"},"content":" },","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":306,"author":{"gitId":"andychong23"},"content":" DEADLINE {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":307,"author":{"gitId":"andychong23"},"content":" @Override","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":308,"author":{"gitId":"andychong23"},"content":" public String getHelpMessage() {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":309,"author":{"gitId":"andychong23"},"content":" return \"Usage of command: \\n\\t deadline \u003ctask_information\u003e /by \u003cdeadline\u003e\";","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":310,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":311,"author":{"gitId":"andychong23"},"content":" },","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":312,"author":{"gitId":"andychong23"},"content":" EVENT {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":313,"author":{"gitId":"andychong23"},"content":" @Override","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":314,"author":{"gitId":"andychong23"},"content":" public String getHelpMessage() {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":315,"author":{"gitId":"andychong23"},"content":" return \"Usage of command: \\n\\t event \u003ctask_information\u003e /from \u003cstart_date\u003e /to \u003cend_date\u003e\";","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":316,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":317,"author":{"gitId":"andychong23"},"content":" },","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":318,"author":{"gitId":"andychong23"},"content":" DELETE {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":319,"author":{"gitId":"andychong23"},"content":" @Override","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":320,"author":{"gitId":"andychong23"},"content":" public String getHelpMessage() {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":321,"author":{"gitId":"andychong23"},"content":" return \"Usage of command: \\n\\t delete \u003ctask_number\u003e\";","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":322,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":323,"author":{"gitId":"andychong23"},"content":" },","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":324,"author":{"gitId":"andychong23"},"content":" FIND {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":325,"author":{"gitId":"andychong23"},"content":" @Override","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":326,"author":{"gitId":"andychong23"},"content":" public String getHelpMessage() {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":327,"author":{"gitId":"andychong23"},"content":" return \"Usage of command: \\n\\t find \u003cstring_to_find\u003e\";","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":328,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":329,"author":{"gitId":"andychong23"},"content":" },","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":330,"author":{"gitId":"andychong23"},"content":" CHEER {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":331,"author":{"gitId":"andychong23"},"content":" @Override","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":332,"author":{"gitId":"andychong23"},"content":" public String getHelpMessage() {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":333,"author":{"gitId":"andychong23"},"content":" return \"Usage of command: \\n\\t cheer\";","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":334,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":335,"author":{"gitId":"andychong23"},"content":" },","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":336,"author":{"gitId":"andychong23"},"content":" HELP {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":337,"author":{"gitId":"andychong23"},"content":" @Override","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":338,"author":{"gitId":"andychong23"},"content":" public String getHelpMessage() {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":339,"author":{"gitId":"andychong23"},"content":" return \"Usage of command: \\n\\t help [command_name]\";","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":340,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":341,"author":{"gitId":"andychong23"},"content":" },","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":342,"author":{"gitId":"andychong23"},"content":" DEFAULT {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":343,"author":{"gitId":"andychong23"},"content":" @Override","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":344,"author":{"gitId":"andychong23"},"content":" public String getHelpMessage() {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":345,"author":{"gitId":"andychong23"},"content":" return \"Unknown command\";","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":346,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":347,"author":{"gitId":"andychong23"},"content":" };","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":348,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":349,"author":{"gitId":"andychong23"},"content":" public abstract String getHelpMessage();","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":350,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":351,"author":{"gitId":"andychong23"},"content":" public static Action mapAction(String actionString) {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":352,"author":{"gitId":"andychong23"},"content":" switch (actionString.toLowerCase()) {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":353,"author":{"gitId":"andychong23"},"content":" case \"list\" -\u003e {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":354,"author":{"gitId":"andychong23"},"content":" return Action.LIST;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":355,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":356,"author":{"gitId":"andychong23"},"content":" case \"mark\" -\u003e {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":357,"author":{"gitId":"andychong23"},"content":" return Action.MARK;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":358,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":359,"author":{"gitId":"andychong23"},"content":" case \"unmark\" -\u003e {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":360,"author":{"gitId":"andychong23"},"content":" return Action.UNMARK;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":361,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":362,"author":{"gitId":"andychong23"},"content":" case \"bye\" -\u003e {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":363,"author":{"gitId":"andychong23"},"content":" return Action.BYE;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":364,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":365,"author":{"gitId":"andychong23"},"content":" case \"todo\" -\u003e {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":366,"author":{"gitId":"andychong23"},"content":" return Action.TODO;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":367,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":368,"author":{"gitId":"andychong23"},"content":" case \"deadline\" -\u003e {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":369,"author":{"gitId":"andychong23"},"content":" return Action.DEADLINE;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":370,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":371,"author":{"gitId":"andychong23"},"content":" case \"event\" -\u003e {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":372,"author":{"gitId":"andychong23"},"content":" return Action.EVENT;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":373,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":374,"author":{"gitId":"andychong23"},"content":" case \"delete\" -\u003e {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":375,"author":{"gitId":"andychong23"},"content":" return Action.DELETE;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":376,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":377,"author":{"gitId":"andychong23"},"content":" case \"find\" -\u003e {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":378,"author":{"gitId":"andychong23"},"content":" return Action.FIND;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":379,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":380,"author":{"gitId":"andychong23"},"content":" case \"cheer\" -\u003e {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":381,"author":{"gitId":"andychong23"},"content":" return Action.CHEER;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":382,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":383,"author":{"gitId":"andychong23"},"content":" case \"help\" -\u003e {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":384,"author":{"gitId":"andychong23"},"content":" return Action.HELP;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":385,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":386,"author":{"gitId":"andychong23"},"content":" default -\u003e {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":387,"author":{"gitId":"andychong23"},"content":" return Action.DEFAULT;","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":388,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":389,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":390,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":391,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":392,"author":{"gitId":"andychong23"},"content":"}","lastModifiedDate":"2025-01-30","isFullCredit":false}],"authorContributionMap":{"andychong23":392}},{"path":"src/main/java/bob/Bob.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"andychong23"},"content":"package bob;","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"andychong23"},"content":"import action.ActionHandler;","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"andychong23"},"content":"import io.InputValidator;","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"andychong23"},"content":"import io.UI;","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"andychong23"},"content":"import io.ValidationToken;","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"andychong23"},"content":"import user.User;","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"andychong23"},"content":"import java.io.IOException;","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"andychong23"},"content":"import java.util.List;","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"andychong23"},"content":"/**","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"andychong23"},"content":" * Chatbot class","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"andychong23"},"content":"public class Bob {","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"andychong23"},"content":" private static final String CHATBOT_NAME \u003d \"Bob\";","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"andychong23"},"content":" private final UI uI \u003d new UI(Bob.getCHATBOT_NAME());","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"andychong23"},"content":" private User user;","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"andychong23"},"content":" private final ActionHandler actionHandler \u003d new ActionHandler();","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"andychong23"},"content":" public Bob() throws IOException {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"andychong23"},"content":" user \u003d new User(\"bob\");","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"andychong23"},"content":" public Bob(String userName) throws IOException {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"andychong23"},"content":" user \u003d new User(userName);","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"andychong23"},"content":" public static String getCHATBOT_NAME() {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"andychong23"},"content":" return CHATBOT_NAME;","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"andychong23"},"content":" public String getWelcomeMessage() {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"andychong23"},"content":" return String.join(\" \", uI.getWelcomeMessage());","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"andychong23"},"content":" public String getExitMessage() {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"andychong23"},"content":" return String.join(\" \", uI.getExitMessage());","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"andychong23"},"content":" public String parseInput(String input) throws IOException {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"andychong23"},"content":" ValidationToken validationToken \u003d InputValidator.isInputValid(input, user);","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"andychong23"},"content":" if (validationToken.isValid()) {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"andychong23"},"content":" return String.join(\"\\n\", actionHandler.processAction(input, user));","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"andychong23"},"content":" } else {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"andychong23"},"content":" return validationToken.getErrorMessage();","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2019-07-29","isFullCredit":false}],"authorContributionMap":{"andychong23":48,"-":1}},{"path":"src/main/java/data/DataHandler.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"andychong23"},"content":"package data;","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"andychong23"},"content":"import java.io.IOException;","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"andychong23"},"content":"import java.net.URISyntaxException;","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"andychong23"},"content":"import java.nio.file.Files;","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"andychong23"},"content":"import java.nio.file.Path;","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"andychong23"},"content":"import java.nio.file.Paths;","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"andychong23"},"content":"import java.nio.file.StandardOpenOption;","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"andychong23"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"andychong23"},"content":"import java.util.List;","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"andychong23"},"content":"import java.util.Random;","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"andychong23"},"content":"import java.util.random.RandomGenerator;","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"andychong23"},"content":"/**","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"andychong23"},"content":" * DataHandler class that handles Files I/O","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"andychong23"},"content":"public class DataHandler {","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"andychong23"},"content":" public static String saveDelimiter \u003d \"|\";","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"andychong23"},"content":" public static Path programRoot \u003d Paths.get(\"\").toAbsolutePath();","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"andychong23"},"content":" public static DateTimeFormatter dateSaveFormat \u003d DateTimeFormatter.ofPattern(\"dd/MM/yyyy\");","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"andychong23"},"content":" public static DateTimeFormatter dateTimeSaveFormat \u003d DateTimeFormatter.ofPattern(\"dd/MM/yyyy HH:mm\");","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"andychong23"},"content":" public static Path cheerPath;","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"andychong23"},"content":" static {","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"andychong23"},"content":" try {","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"andychong23"},"content":" cheerPath \u003d Paths.get(DataHandler.class.getResource(\"/cheer.txt\").toURI());","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"andychong23"},"content":" } catch (URISyntaxException e) {","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"andychong23"},"content":" throw new RuntimeException(e);","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"andychong23"},"content":" * Method to write data to a file","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"andychong23"},"content":" * Precondition: File already exists in the system","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"andychong23"},"content":" *","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"andychong23"},"content":" * @param filePath Path object of the file","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"andychong23"},"content":" * @param payLoad List of strings to write to the file, each item will be separated by \\n","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"andychong23"},"content":" * @param isAppend Flag to append data instead of rewriting the file","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"andychong23"},"content":" * @throws IOException IO fails","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"andychong23"},"content":" public static void writeFile(Path filePath, List\u003cString\u003e payLoad, boolean isAppend) throws IOException {","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"andychong23"},"content":" //file exists","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"andychong23"},"content":" if (isAppend) {","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"andychong23"},"content":" Files.writeString(filePath, String.join(\"\\n\", payLoad), StandardOpenOption.APPEND);","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"andychong23"},"content":" } else {","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"andychong23"},"content":" Files.writeString(filePath, String.join(\"\\n\", payLoad), StandardOpenOption.TRUNCATE_EXISTING);","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"andychong23"},"content":" * Method to read data from a file","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"andychong23"},"content":" * Precondition: No precondition","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"andychong23"},"content":" * Guaranteed result:","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"andychong23"},"content":" * 1. Data directory is created at the level of the program root","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"andychong23"},"content":" * 2. userName.txt is created","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"andychong23"},"content":" * @param filePath Path of the file to be read from","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"andychong23"},"content":" * @return List of strings that contains the file contents","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"andychong23"},"content":" * @throws IOException When either the directory or file is not created or when the file does not exists","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"andychong23"},"content":" public static List\u003cString\u003e readFile(Path filePath) throws IOException {","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"andychong23"},"content":" if (!Files.exists(programRoot.resolve(\"data\"))) {","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"andychong23"},"content":" Files.createDirectory(programRoot.resolve(\"data\"));","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"andychong23"},"content":" if (!Files.exists(filePath)) {","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"andychong23"},"content":" Files.createFile(filePath);","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"andychong23"},"content":" return Files.readAllLines(filePath);","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"andychong23"},"content":"}","lastModifiedDate":"2025-02-03","isFullCredit":false}],"authorContributionMap":{"andychong23":70}},{"path":"src/main/java/gui/BobWindow.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"andychong23"},"content":"package gui;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"andychong23"},"content":"import javafx.event.Event;","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"andychong23"},"content":"import javafx.geometry.Pos;","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"andychong23"},"content":"import javafx.scene.control.Button;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"andychong23"},"content":"import javafx.scene.control.ScrollPane;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"andychong23"},"content":"import javafx.scene.control.TextField;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"andychong23"},"content":"import javafx.scene.image.Image;","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"andychong23"},"content":"import javafx.scene.input.KeyCode;","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"andychong23"},"content":"import javafx.scene.input.KeyEvent;","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"andychong23"},"content":"import javafx.scene.layout.AnchorPane;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"andychong23"},"content":"import javafx.scene.layout.HBox;","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"andychong23"},"content":"import javafx.scene.layout.VBox;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"andychong23"},"content":"import bob.Bob;","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"andychong23"},"content":"import java.io.IOException;","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"andychong23"},"content":"public class BobWindow extends AnchorPane {","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"andychong23"},"content":" private ScrollPane scrollPane;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"andychong23"},"content":" private VBox vBox;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"andychong23"},"content":" private HBox hBox;","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"andychong23"},"content":" private TextField textField;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"andychong23"},"content":" private Button button;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"andychong23"},"content":" private Image bobImage \u003d new Image(this.getClass().getResourceAsStream(\"/images/bob.jpg\"));","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"andychong23"},"content":" private Image userImage \u003d new Image(this.getClass().getResourceAsStream(\"/images/gru.jpg\"));","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"andychong23"},"content":" private Bob bob;","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"andychong23"},"content":" public BobWindow(double minHeight, double minWidth) throws IOException {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"andychong23"},"content":" setDefaultWindow(minHeight, minWidth);","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"andychong23"},"content":" bob \u003d new Bob();","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"andychong23"},"content":" handleUserLogIn();","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"andychong23"},"content":" this.setOnKeyPressed((event) -\u003e {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"andychong23"},"content":" if (isExit(event)) {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"andychong23"},"content":" handleExit();","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"andychong23"},"content":" } else if (isEnter(event)) {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"andychong23"},"content":" handleEnter();","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"andychong23"},"content":" });","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"andychong23"},"content":" this.button.setOnAction((event) -\u003e {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"andychong23"},"content":" handleButtonClick();","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"andychong23"},"content":" });","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"andychong23"},"content":" private boolean isExit(KeyEvent event) {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"andychong23"},"content":" if (event.getCode() \u003d\u003d KeyCode.ENTER \u0026\u0026 textField.getText().equalsIgnoreCase(\"bye\")) {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"andychong23"},"content":" return true;","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"andychong23"},"content":" return false;","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"andychong23"},"content":" private boolean isEnter(KeyEvent event) {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"andychong23"},"content":" if (event.getCode() \u003d\u003d KeyCode.ENTER) {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"andychong23"},"content":" return true;","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"andychong23"},"content":" return false;","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"andychong23"},"content":" private void handleExit() {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"andychong23"},"content":" DialogBox userDialog \u003d DialogBox.createUserDialogBox(userImage, textField.getText());","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"andychong23"},"content":" DialogBox bobDialog \u003d DialogBox.createBobDialogBox(bobImage, bob.getExitMessage());","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"andychong23"},"content":" userDialog.setAlignment(Pos.CENTER_RIGHT);","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"andychong23"},"content":" bobDialog.setAlignment(Pos.CENTER_LEFT);","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"andychong23"},"content":" vBox.getChildren().addAll(userDialog, bobDialog);","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"andychong23"},"content":" textField.clear();","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"andychong23"},"content":" textField.setEditable(false);","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"andychong23"},"content":" button.setDisable(true);","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"andychong23"},"content":" // make it such that user cannot provide any more functionality after saying bye","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"andychong23"},"content":" setOnKeyPressed((event) -\u003e {});","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"andychong23"},"content":" private void handleUserLogIn() {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"andychong23"},"content":" DialogBox bobDialog \u003d DialogBox.createBobDialogBox(bobImage, bob.getWelcomeMessage());","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"andychong23"},"content":" bobDialog.setAlignment(Pos.CENTER_LEFT);","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"andychong23"},"content":" vBox.getChildren().add(bobDialog);","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"andychong23"},"content":" private void setDefaultWindow(double minHeight, double minWidth) {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"andychong23"},"content":" this.setPrefSize(minWidth, minHeight);","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"andychong23"},"content":" scrollPane \u003d new ScrollPane();","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"andychong23"},"content":" vBox \u003d new VBox();","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"andychong23"},"content":" scrollPane.setContent(vBox);","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"andychong23"},"content":" hBox \u003d new HBox();","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"andychong23"},"content":" textField \u003d new TextField();","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"andychong23"},"content":" button \u003d new Button(\"Send\");","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"andychong23"},"content":" hBox.getChildren().addAll(textField, button);","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"andychong23"},"content":" hBox.setPrefWidth(this.getPrefWidth());","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"andychong23"},"content":" textField.setPrefWidth(hBox.getPrefWidth() * 0.8);","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"andychong23"},"content":" button.setPrefWidth(hBox.getPrefWidth() * 0.2);","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"andychong23"},"content":" setDefaultScrollPane(scrollPane);","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"andychong23"},"content":" setDefaultTextField(textField);","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"andychong23"},"content":" setTopAnchor(scrollPane, 0.0);","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"andychong23"},"content":" setBottomAnchor(hBox, 5.0);","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"andychong23"},"content":" setDefaultVBox(vBox);","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"andychong23"},"content":" scrollPane.setPrefHeight(this.getPrefHeight() * 0.95);","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"andychong23"},"content":" this.getChildren().addAll(scrollPane, hBox);","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"andychong23"},"content":" private void setDefaultVBox(VBox vBox) {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"andychong23"},"content":" vBox.setPrefWidth(scrollPane.getPrefWidth());","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"andychong23"},"content":" private void setDefaultScrollPane(ScrollPane scrollPane) {","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"andychong23"},"content":" scrollPane.setVbarPolicy(ScrollPane.ScrollBarPolicy.AS_NEEDED);","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"andychong23"},"content":" scrollPane.setHbarPolicy(ScrollPane.ScrollBarPolicy.NEVER);","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"andychong23"},"content":" scrollPane.setPrefSize(this.getPrefWidth(), this.getPrefHeight());","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"andychong23"},"content":" scrollPane.vvalueProperty().bind(vBox.heightProperty());","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"andychong23"},"content":" private void setDefaultTextField(TextField textField) {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"andychong23"},"content":" textField.setPromptText(\"Input your request here\");","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"andychong23"},"content":" private void handleEnter() {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"andychong23"},"content":" handleButtonClick();","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"andychong23"},"content":" private void handleButtonClick() {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"andychong23"},"content":" DialogBox userDialog;","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"andychong23"},"content":" DialogBox bobDialog;","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"andychong23"},"content":" userDialog \u003d DialogBox.createUserDialogBox(userImage, textField.getText());","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"andychong23"},"content":" try {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"andychong23"},"content":" bobDialog \u003d DialogBox.createBobDialogBox(bobImage, bob.parseInput(textField.getText()));","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"andychong23"},"content":" } catch (Exception e) {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"andychong23"},"content":" bobDialog \u003d DialogBox.createBobDialogBox(bobImage, \"An error occurred, please try again\");","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"andychong23"},"content":" userDialog.setAlignment(Pos.CENTER_RIGHT);","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"andychong23"},"content":" bobDialog.setAlignment(Pos.CENTER_LEFT);","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"andychong23"},"content":" vBox.getChildren().addAll(userDialog, bobDialog);","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"andychong23"},"content":" textField.clear();","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"andychong23"},"content":"}","lastModifiedDate":"2025-02-15","isFullCredit":false}],"authorContributionMap":{"andychong23":153}},{"path":"src/main/java/gui/DialogBox.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"andychong23"},"content":"package gui;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"andychong23"},"content":"import javafx.collections.FXCollections;","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"andychong23"},"content":"import javafx.collections.ObservableList;","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"andychong23"},"content":"import javafx.scene.Node;","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"andychong23"},"content":"import javafx.scene.control.Label;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"andychong23"},"content":"import javafx.scene.image.Image;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"andychong23"},"content":"import javafx.scene.image.ImageView;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"andychong23"},"content":"import javafx.scene.layout.HBox;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"andychong23"},"content":"import java.util.Collections;","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"andychong23"},"content":"public class DialogBox extends HBox {","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"andychong23"},"content":" private final int IMAGE_WIDTH \u003d 150;","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"andychong23"},"content":" private final int IMAGE_HEIGHT \u003d 150;","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"andychong23"},"content":" public DialogBox(Image img, String text) {","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"andychong23"},"content":" ImageView imageView \u003d new ImageView(img);","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"andychong23"},"content":" Label label \u003d new Label(text);","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"andychong23"},"content":" setImageViewSize(imageView);","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"andychong23"},"content":" setLabelSize(label);","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"andychong23"},"content":" this.getChildren().addAll(label, imageView);","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"andychong23"},"content":" private void setImageViewSize(ImageView imgView) {","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"andychong23"},"content":" imgView.setFitWidth(IMAGE_WIDTH);","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"andychong23"},"content":" imgView.setFitHeight(IMAGE_HEIGHT);","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"andychong23"},"content":" private void setLabelSize(Label label) {","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"andychong23"},"content":" label.setWrapText(true);","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"andychong23"},"content":" public static DialogBox createUserDialogBox(Image img, String text) {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"andychong23"},"content":" return new DialogBox(img, text);","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"andychong23"},"content":" public static DialogBox createBobDialogBox(Image img, String text) {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"andychong23"},"content":" DialogBox dialogBox \u003d new DialogBox(img, text);","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"andychong23"},"content":" ObservableList\u003cNode\u003e temp \u003d FXCollections.observableArrayList(dialogBox.getChildren());","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"andychong23"},"content":" Collections.reverse(temp);","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"andychong23"},"content":" dialogBox.getChildren().setAll(temp);","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"andychong23"},"content":" return dialogBox;","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"andychong23"},"content":"}","lastModifiedDate":"2025-02-15","isFullCredit":false}],"authorContributionMap":{"andychong23":45}},{"path":"src/main/java/gui/Main.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"andychong23"},"content":"package gui;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"andychong23"},"content":"import javafx.application.Application;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"andychong23"},"content":"import javafx.scene.Scene;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"andychong23"},"content":"import javafx.scene.layout.AnchorPane;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"andychong23"},"content":"import javafx.stage.Stage;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"andychong23"},"content":"import java.io.IOException;","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"andychong23"},"content":"public class Main extends Application{","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"andychong23"},"content":" double minHeight \u003d 600;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"andychong23"},"content":" double minWidth \u003d 400;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"andychong23"},"content":" @Override","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"andychong23"},"content":" public void start(Stage stage) throws IOException {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"andychong23"},"content":" AnchorPane anchorPane \u003d new BobWindow(minHeight, minWidth);","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"andychong23"},"content":" stage.setTitle(\"Bob\");","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"andychong23"},"content":" Scene scene \u003d new Scene(anchorPane);","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"andychong23"},"content":" stage.setScene(scene);","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"andychong23"},"content":" stage.show();","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"andychong23"},"content":"}","lastModifiedDate":"2025-02-15","isFullCredit":false}],"authorContributionMap":{"andychong23":22}},{"path":"src/main/java/io/Input.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"andychong23"},"content":"package io;","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"andychong23"},"content":"import java.io.BufferedReader;","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"andychong23"},"content":"import java.io.IOException;","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"andychong23"},"content":"import java.io.InputStreamReader;","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"andychong23"},"content":"/**","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"andychong23"},"content":" * Input class to handle the reading of all user inputs","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"andychong23"},"content":"class Input {","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"andychong23"},"content":" private final BufferedReader BUFFERED_READER \u003d new BufferedReader(new InputStreamReader(System.in));","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"andychong23"},"content":" * Constructor","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"andychong23"},"content":" public Input() {","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"andychong23"},"content":" * Method to get cleaned user input with no trailing or leading whitespaces","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"andychong23"},"content":" *","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"andychong23"},"content":" * @return Input string that user provides","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"andychong23"},"content":" * @throws IOException when IO fails","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"andychong23"},"content":" public String getUserInput() throws IOException {","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"andychong23"},"content":" return this.cleanUserInput(this.BUFFERED_READER.readLine());","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"andychong23"},"content":" * Remove leading and trailing whitespaces","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"andychong23"},"content":" *","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"andychong23"},"content":" * @param userInput userInput String","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"andychong23"},"content":" * @return String with no trailing or leading whitespaces","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"andychong23"},"content":" private String cleanUserInput(String userInput) {","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"andychong23"},"content":" return userInput.strip();","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"andychong23"},"content":"}","lastModifiedDate":"2025-01-27","isFullCredit":false}],"authorContributionMap":{"andychong23":38}},{"path":"src/main/java/io/InputValidator.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"andychong23"},"content":"package io;","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"andychong23"},"content":"import action.ActionHandler;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"andychong23"},"content":"import user.User;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"andychong23"},"content":"import java.time.LocalDate;","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"andychong23"},"content":"import java.time.LocalDateTime;","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"andychong23"},"content":"import java.time.Year;","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"andychong23"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"andychong23"},"content":"import java.time.format.DateTimeParseException;","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"andychong23"},"content":"import java.util.ArrayList;","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"andychong23"},"content":"import java.util.Arrays;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"andychong23"},"content":"import java.util.List;","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"andychong23"},"content":"/**","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"andychong23"},"content":" * InputValidator class that validates all user inputs","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"andychong23"},"content":"public class InputValidator {","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"andychong23"},"content":" public static final DateTimeFormatter DAY_MONTH_YEAR_FORMATTER \u003d DateTimeFormatter.ofPattern(\"dd/MM/yyyy\");","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"andychong23"},"content":" public static final DateTimeFormatter DAY_MONTH_YEAR_TIME_FORMATTER \u003d DateTimeFormatter.ofPattern(\"dd/MM/yyyy HH:mm\");","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"andychong23"},"content":" * Check if user input is valid","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"andychong23"},"content":" *","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"andychong23"},"content":" * @param userInput Input string provided by the user with no trailing or leading whitespaces","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"andychong23"},"content":" * @return ValidationToken with isValid status and error message if it is not valid","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"andychong23"},"content":" public static ValidationToken isInputValid(String userInput, User user) {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"andychong23"},"content":" List\u003cString\u003e userInputTokens \u003d Arrays.asList(userInput.split(\" \"));","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"andychong23"},"content":" if (userInputTokens.getFirst().equalsIgnoreCase(ActionHandler.Action.LIST.toString())) {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"andychong23"},"content":" return isListInputValid(userInputTokens);","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"andychong23"},"content":" } else if (userInputTokens.getFirst().equalsIgnoreCase(ActionHandler.Action.BYE.toString())) {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"andychong23"},"content":" return isByeInputValid(userInputTokens);","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"andychong23"},"content":" } else if (userInputTokens.getFirst().equalsIgnoreCase(ActionHandler.Action.MARK.toString())) {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"andychong23"},"content":" return isMarkInputValid(userInputTokens, user);","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"andychong23"},"content":" } else if (userInputTokens.getFirst().equalsIgnoreCase(ActionHandler.Action.UNMARK.toString())) {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"andychong23"},"content":" return isUnmarkInputValid(userInputTokens, user);","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"andychong23"},"content":" } else if (userInputTokens.getFirst().equalsIgnoreCase(ActionHandler.Action.TODO.toString())) {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"andychong23"},"content":" return isToDoInputValid(userInputTokens);","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"andychong23"},"content":" } else if (userInputTokens.getFirst().equalsIgnoreCase(ActionHandler.Action.DEADLINE.toString())) {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"andychong23"},"content":" return isDeadLineInputValid(userInputTokens);","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"andychong23"},"content":" } else if (userInputTokens.getFirst().equalsIgnoreCase(ActionHandler.Action.EVENT.toString())) {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"andychong23"},"content":" return isEventInputValid(userInputTokens);","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"andychong23"},"content":" } else if (userInputTokens.getFirst().equalsIgnoreCase(ActionHandler.Action.DELETE.toString())) {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"andychong23"},"content":" return isDeleteInputValid(userInputTokens, user);","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"andychong23"},"content":" } else if (userInputTokens.getFirst().equalsIgnoreCase(ActionHandler.Action.FIND.toString())) {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"andychong23"},"content":" return isFindInputValid(userInputTokens);","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"andychong23"},"content":" } else if (userInputTokens.getFirst().equalsIgnoreCase(ActionHandler.Action.CHEER.toString())) {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"andychong23"},"content":" return isCheerInputValid(userInputTokens);","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"andychong23"},"content":" } else if (userInputTokens.getFirst().equalsIgnoreCase(ActionHandler.Action.HELP.toString())) {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"andychong23"},"content":" return isHelpInputValid(userInputTokens);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"andychong23"},"content":" return new ValidationToken(false, ValidationToken.InputError.INVALID_COMMAND);","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"andychong23"},"content":" private static ValidationToken isHelpInputValid(List\u003cString\u003e userInputTokens) {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"andychong23"},"content":" if (userInputTokens.size() \u003d\u003d 1) {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"andychong23"},"content":" return new ValidationToken(true);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"andychong23"},"content":" if (userInputTokens.size() \u003e 2) {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"andychong23"},"content":" return new ValidationToken(false, ValidationToken.InputError.HELP_TOO_MANY_ARGUMENTS);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"andychong23"},"content":" if (ActionHandler.Action.mapAction(userInputTokens.get(1)).equals(ActionHandler.Action.DEFAULT)) {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"andychong23"},"content":" return new ValidationToken(false, ValidationToken.InputError.HELP_UNKNOWN_COMMAND);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"andychong23"},"content":" return new ValidationToken(true);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"andychong23"},"content":" private static ValidationToken isCheerInputValid(List\u003cString\u003e userInputTokens) {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"andychong23"},"content":" if (userInputTokens.size() \u003e\u003d 2) {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"andychong23"},"content":" return new ValidationToken(false, ValidationToken.InputError.CHEER_TOO_MANY_ARGUMENTS);","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"andychong23"},"content":" return new ValidationToken(true);","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"andychong23"},"content":" private static ValidationToken isFindInputValid(List\u003cString\u003e userInputTokens) {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"andychong23"},"content":" if (userInputTokens.size() \u003d\u003d 1) {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"andychong23"},"content":" return new ValidationToken(false, ValidationToken.InputError.FIND_TOO_LITTLE_ARGUMENTS);","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"andychong23"},"content":" return new ValidationToken(true);","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"andychong23"},"content":" private static ValidationToken isDeleteInputValid(List\u003cString\u003e userInputTokens, User user) {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"andychong23"},"content":" if (userInputTokens.size() \u003e 2) {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"andychong23"},"content":" // too many arguments","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"andychong23"},"content":" return new ValidationToken(false, ValidationToken.InputError.DELETE_TOO_MANY_ARGUMENTS);","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"andychong23"},"content":" try {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"andychong23"},"content":" Integer.parseInt(userInputTokens.get(1));","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"andychong23"},"content":" } catch (NumberFormatException e) {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"andychong23"},"content":" // second argument not a number","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"andychong23"},"content":" return new ValidationToken(false, ValidationToken.InputError.DELETE_INCORRECT_ARGUMENT_TYPE);","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"andychong23"},"content":" if (Integer.parseInt(userInputTokens.get(1)) \u003c\u003d 0 || Integer.parseInt(userInputTokens.get(1)) \u003e user.getNumberOfTasks()) {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"andychong23"},"content":" return new ValidationToken(false, ValidationToken.InputError.DELETE_ARGUMENT_DOES_NOT_EXISTS);","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"andychong23"},"content":" return new ValidationToken(true);","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"andychong23"},"content":" private static ValidationToken isEventInputValid(List\u003cString\u003e userInputTokens) {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"andychong23"},"content":" if (!(userInputTokens.contains(\"/from\") \u0026\u0026 userInputTokens.contains(\"/to\"))) {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"andychong23"},"content":" return new ValidationToken(false, ValidationToken.InputError.EVENT_MISSING_FROM_TO_ARGUMENTS);","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"andychong23"},"content":" int fromIndex \u003d userInputTokens.indexOf(\"/from\");","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"andychong23"},"content":" int toIndex \u003d userInputTokens.indexOf(\"/to\");","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"andychong23"},"content":" if (fromIndex \u003d\u003d 1) {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"andychong23"},"content":" return new ValidationToken(false, ValidationToken.InputError.EVENT_MISSING_EVENT_INFO);","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"andychong23"},"content":" String fromDateTime \u003d String.join(\" \",","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"andychong23"},"content":" userInputTokens.subList(fromIndex + 1, toIndex));","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"andychong23"},"content":" if (!(InputValidator.isValidDateTime(fromDateTime, false)","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"andychong23"},"content":" || InputValidator.isValidDate(fromDateTime, false))) {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"andychong23"},"content":" return new ValidationToken(false, ValidationToken.InputError.EVENT_INVALID_DATETIME);","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"andychong23"},"content":" String toDateTime \u003d String.join(\" \", userInputTokens.subList(toIndex + 1, userInputTokens.size()));","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"andychong23"},"content":" if (!(InputValidator.isValidDateTime(toDateTime, true)","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"andychong23"},"content":" || InputValidator.isValidDate(fromDateTime, true))) {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"andychong23"},"content":" return new ValidationToken(false, ValidationToken.InputError.EVENT_INVALID_DATETIME);","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"andychong23"},"content":" return new ValidationToken(true);","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"andychong23"},"content":" private static ValidationToken isDeadLineInputValid(List\u003cString\u003e userInputTokens) {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"andychong23"},"content":" if (userInputTokens.size() \u003c\u003d 2) {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"andychong23"},"content":" return new ValidationToken(false, ValidationToken.InputError.DEADLINE_TOO_LITTLE_ARGUMENTS);","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"andychong23"},"content":" if (!userInputTokens.contains(\"/by\")) {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"andychong23"},"content":" return new ValidationToken(false, ValidationToken.InputError.DEADLINE_MISSING_BY);","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"andychong23"},"content":" int deadLineIndex \u003d userInputTokens.indexOf(\"/by\") + 1;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"andychong23"},"content":" if (deadLineIndex \u003d\u003d userInputTokens.size()) {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"andychong23"},"content":" return new ValidationToken(false, ValidationToken.InputError.DEADLINE_MISSING_DEADLINE);","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"andychong23"},"content":" String stringDateTime \u003d String.join(\" \",","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"andychong23"},"content":" userInputTokens.subList(deadLineIndex, userInputTokens.size()));","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"andychong23"},"content":" if (!(InputValidator.isValidDateTime(stringDateTime, true)","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"andychong23"},"content":" || InputValidator.isValidDate(stringDateTime, true))) {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"andychong23"},"content":" return new ValidationToken(false, ValidationToken.InputError.DEADLINE_INVALID_DATETIME);","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"andychong23"},"content":" return new ValidationToken(true);","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"andychong23"},"content":" private static ValidationToken isToDoInputValid(List\u003cString\u003e userInputTokens) {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"andychong23"},"content":" if (userInputTokens.size() \u003d\u003d 1) {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"andychong23"},"content":" return new ValidationToken(false, ValidationToken.InputError.TODO_TOO_LITTLE_ARGUMENTS);","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"andychong23"},"content":" return new ValidationToken(true);","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"andychong23"},"content":" private static ValidationToken isUnmarkInputValid(List\u003cString\u003e userInputTokens, User user) {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"andychong23"},"content":" if (userInputTokens.size() \u003d\u003d 1) {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"andychong23"},"content":" return new ValidationToken(false, ValidationToken.InputError.UNMARK_TOO_LITTLE_ARGUMENTS);","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"andychong23"},"content":" } else if (userInputTokens.size() \u003e 2) {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"andychong23"},"content":" return new ValidationToken(false, ValidationToken.InputError.UNMARK_TOO_MANY_ARGUMENTS);","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"andychong23"},"content":" try {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"andychong23"},"content":" Integer.parseInt(userInputTokens.get(1));","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"andychong23"},"content":" } catch (NumberFormatException e) {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"andychong23"},"content":" return new ValidationToken(false, ValidationToken.InputError.UNMARK_INCORRECT_ARGUMENT_TYPE);","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"andychong23"},"content":" if (Integer.parseInt(userInputTokens.get(1)) \u003c 1","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"andychong23"},"content":" || Integer.parseInt(userInputTokens.get(1)) \u003e user.getNumberOfTasks()) {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"andychong23"},"content":" return new ValidationToken(false, ValidationToken.InputError.INVALID_TASK_NUMBER);","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"andychong23"},"content":" return new ValidationToken(true);","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"andychong23"},"content":" private static ValidationToken isMarkInputValid(List\u003cString\u003e userInputTokens, User user) {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"andychong23"},"content":" if (userInputTokens.size() \u003d\u003d 1) {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"andychong23"},"content":" return new ValidationToken(false, ValidationToken.InputError.MARK_TOO_LITTLE_ARGUMENTS);","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"andychong23"},"content":" } else if (userInputTokens.size() \u003e 2) {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"andychong23"},"content":" return new ValidationToken(false, ValidationToken.InputError.MARK_TOO_MANY_ARGUMENTS);","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"andychong23"},"content":" try {","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":199,"author":{"gitId":"andychong23"},"content":" Integer.parseInt(userInputTokens.get(1));","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":200,"author":{"gitId":"andychong23"},"content":" } catch (NumberFormatException e) {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":201,"author":{"gitId":"andychong23"},"content":" return new ValidationToken(false, ValidationToken.InputError.MARK_INCORRECT_ARGUMENT_TYPE);","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":202,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":203,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":204,"author":{"gitId":"andychong23"},"content":" if (Integer.parseInt(userInputTokens.get(1)) \u003c 1","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":205,"author":{"gitId":"andychong23"},"content":" || Integer.parseInt(userInputTokens.get(1)) \u003e user.getNumberOfTasks()) {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":206,"author":{"gitId":"andychong23"},"content":" return new ValidationToken(false, ValidationToken.InputError.INVALID_TASK_NUMBER);","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":207,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":208,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":209,"author":{"gitId":"andychong23"},"content":" return new ValidationToken(true);","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":210,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":211,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":212,"author":{"gitId":"andychong23"},"content":" private static ValidationToken isByeInputValid(List\u003cString\u003e userInputTokens) {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":213,"author":{"gitId":"andychong23"},"content":" if (userInputTokens.size() \u003d\u003d 1) {","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":214,"author":{"gitId":"andychong23"},"content":" return new ValidationToken(true);","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":215,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":216,"author":{"gitId":"andychong23"},"content":" return new ValidationToken(false, ValidationToken.InputError.BYE_TOO_MANY_ARGUMENTS);","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":217,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":218,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":219,"author":{"gitId":"andychong23"},"content":" private static ValidationToken isListInputValid(List\u003cString\u003e userInputTokens) {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":220,"author":{"gitId":"andychong23"},"content":" if (userInputTokens.size() \u003d\u003d 1) {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":221,"author":{"gitId":"andychong23"},"content":" return new ValidationToken(true);","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":222,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":223,"author":{"gitId":"andychong23"},"content":" return new ValidationToken(false, ValidationToken.InputError.LIST_TOO_MANY_ARGUMENTS);","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":224,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":225,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":226,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":227,"author":{"gitId":"andychong23"},"content":" * Method to check if the provided string follows the dd/MM or dd/MM/yyyy format","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":228,"author":{"gitId":"andychong23"},"content":" * @param stringDate String to be checked","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":229,"author":{"gitId":"andychong23"},"content":" * @param requiresFuture Indicates if stringDate needs to be in the future","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":230,"author":{"gitId":"andychong23"},"content":" * @return boolean that indicates if it is a valid date format","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":231,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":232,"author":{"gitId":"andychong23"},"content":" public static boolean isValidDate(String stringDate, boolean requiresFuture) {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":233,"author":{"gitId":"andychong23"},"content":" try {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":234,"author":{"gitId":"andychong23"},"content":" LocalDate date \u003d LocalDate.parse(stringDate + \"/\" + Year.now(), DAY_MONTH_YEAR_FORMATTER);","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":235,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":236,"author":{"gitId":"andychong23"},"content":" if (requiresFuture) {","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":237,"author":{"gitId":"andychong23"},"content":" return date.isAfter(LocalDate.now());","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":238,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":239,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":240,"author":{"gitId":"andychong23"},"content":" return true;","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":241,"author":{"gitId":"andychong23"},"content":" } catch (DateTimeParseException e) {","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":242,"author":{"gitId":"andychong23"},"content":" e.getMessage();","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":243,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":244,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":245,"author":{"gitId":"andychong23"},"content":" try {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":246,"author":{"gitId":"andychong23"},"content":" LocalDate date \u003d LocalDate.parse(stringDate, DAY_MONTH_YEAR_FORMATTER);","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":247,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":248,"author":{"gitId":"andychong23"},"content":" if (requiresFuture) {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":249,"author":{"gitId":"andychong23"},"content":" return date.isAfter(LocalDate.now());","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":250,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":251,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":252,"author":{"gitId":"andychong23"},"content":" return true;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":253,"author":{"gitId":"andychong23"},"content":" } catch (DateTimeParseException e) {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":254,"author":{"gitId":"andychong23"},"content":" e.getMessage();","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":255,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":256,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":257,"author":{"gitId":"andychong23"},"content":" return false;","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":258,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":259,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":260,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":261,"author":{"gitId":"andychong23"},"content":" * Method to check if the provided string follows the dd/MM H:m or dd/MM/yyyy H:m format","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":262,"author":{"gitId":"andychong23"},"content":" *","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":263,"author":{"gitId":"andychong23"},"content":" * @param stringDateTime String to be checked","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":264,"author":{"gitId":"andychong23"},"content":" * @param requiresFuture Indicates if stringDateTime needs to be in the future","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":265,"author":{"gitId":"andychong23"},"content":" * @return boolean that indicates if it is a valid time format","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":266,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":267,"author":{"gitId":"andychong23"},"content":" public static boolean isValidDateTime(String stringDateTime, boolean requiresFuture) {","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":268,"author":{"gitId":"andychong23"},"content":" List\u003cString\u003e stringDateList \u003d new ArrayList\u003c\u003e(List.of(stringDateTime.split(\" \")));","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":269,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":270,"author":{"gitId":"andychong23"},"content":" try {","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":271,"author":{"gitId":"andychong23"},"content":" LocalDateTime dateTime \u003d LocalDateTime.parse(String.join(\" \", stringDateList),","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":272,"author":{"gitId":"andychong23"},"content":" DAY_MONTH_YEAR_TIME_FORMATTER);","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":273,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":274,"author":{"gitId":"andychong23"},"content":" if (requiresFuture) {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":275,"author":{"gitId":"andychong23"},"content":" return dateTime.isAfter(LocalDateTime.now());","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":276,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":277,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":278,"author":{"gitId":"andychong23"},"content":" return true;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":279,"author":{"gitId":"andychong23"},"content":" } catch (DateTimeParseException e) {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":280,"author":{"gitId":"andychong23"},"content":" System.out.println(e.getMessage());","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":281,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":282,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":283,"author":{"gitId":"andychong23"},"content":" try {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":284,"author":{"gitId":"andychong23"},"content":" String removedItem \u003d stringDateList.removeFirst();","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":285,"author":{"gitId":"andychong23"},"content":" stringDateList.addFirst(removedItem + \"/\" + Year.now());","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":286,"author":{"gitId":"andychong23"},"content":" LocalDateTime dateTime \u003d LocalDateTime.parse(String.join(\" \", stringDateList),","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":287,"author":{"gitId":"andychong23"},"content":" DAY_MONTH_YEAR_TIME_FORMATTER);","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":288,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":289,"author":{"gitId":"andychong23"},"content":" if (requiresFuture) {","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":290,"author":{"gitId":"andychong23"},"content":" return dateTime.isAfter(LocalDateTime.now());","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":291,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":292,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":293,"author":{"gitId":"andychong23"},"content":" return true;","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":294,"author":{"gitId":"andychong23"},"content":" } catch (DateTimeParseException e) {","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":295,"author":{"gitId":"andychong23"},"content":" System.out.println(e.getMessage());","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":296,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":297,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":298,"author":{"gitId":"andychong23"},"content":" return false;","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":299,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":300,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":301,"author":{"gitId":"andychong23"},"content":"}","lastModifiedDate":"2025-02-04","isFullCredit":false}],"authorContributionMap":{"andychong23":301}},{"path":"src/main/java/io/Output.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"andychong23"},"content":"package io;","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"andychong23"},"content":"import java.io.BufferedWriter;","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"andychong23"},"content":"import java.io.IOException;","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"andychong23"},"content":"import java.io.OutputStreamWriter;","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"andychong23"},"content":"import java.util.List;","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"andychong23"},"content":"/**","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"andychong23"},"content":" * Class that handles all outputs to the console","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"andychong23"},"content":"class Output {","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"andychong23"},"content":" private final BufferedWriter BUFFERED_WRITER \u003d new BufferedWriter(new OutputStreamWriter(System.out));","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"andychong23"},"content":" * Constructor","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"andychong23"},"content":" public Output() {","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"andychong23"},"content":" * Writes outputStrings to console separated by sep","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"andychong23"},"content":" *","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"andychong23"},"content":" * @param outputStrings List of Strings to output to the console","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"andychong23"},"content":" * @param sep Separator used between each String in the List","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"andychong23"},"content":" * @param end End character used after the last string is written","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"andychong23"},"content":" * @throws IOException IO fails","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"andychong23"},"content":" public void printOutput(List\u003cString\u003e outputStrings, String sep, String end) throws IOException {","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"andychong23"},"content":" for (int i \u003d 0; i \u003c outputStrings.size(); i++) {","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"andychong23"},"content":" this.BUFFERED_WRITER.write(outputStrings.get(i));","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"andychong23"},"content":" if (i !\u003d outputStrings.size() - 1) {","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"andychong23"},"content":" this.BUFFERED_WRITER.write(sep);","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"andychong23"},"content":" this.BUFFERED_WRITER.write(end);","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"andychong23"},"content":" this.BUFFERED_WRITER.flush();","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"andychong23"},"content":"}","lastModifiedDate":"2025-01-27","isFullCredit":false}],"authorContributionMap":{"andychong23":38}},{"path":"src/main/java/io/UI.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"andychong23"},"content":"package io;","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"andychong23"},"content":"import user.User;","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"andychong23"},"content":"import java.io.IOException;","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"andychong23"},"content":"import java.util.ArrayList;","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"andychong23"},"content":"import java.util.List;","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"andychong23"},"content":"/**","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"andychong23"},"content":" * UI class to handle tasks related to the User Interface","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"andychong23"},"content":"public class UI {","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"andychong23"},"content":" private Input INPUT;","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"andychong23"},"content":" private Output OUTPUT;","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"andychong23"},"content":" private final String DIVIDER \u003d \"_______________\";","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"andychong23"},"content":" private final String CHATBOT_NAME;","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"andychong23"},"content":" * Constructor","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"andychong23"},"content":" public UI(String botName, Input input, Output output) {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"andychong23"},"content":" this.CHATBOT_NAME \u003d botName;","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"andychong23"},"content":" this.INPUT \u003d input;","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"andychong23"},"content":" this.OUTPUT \u003d output;","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"andychong23"},"content":" public UI(String botName) {","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"andychong23"},"content":" this.CHATBOT_NAME \u003d botName;","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"andychong23"},"content":" * Get valid user input from console","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"andychong23"},"content":" *","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"andychong23"},"content":" * @return User input String","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"andychong23"},"content":" public String getValidUserInput(User user) throws IOException {","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"andychong23"},"content":" boolean isUserInputValid \u003d false;","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"andychong23"},"content":" String userInput;","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"andychong23"},"content":" do {","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"andychong23"},"content":" userInput \u003d INPUT.getUserInput();","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"andychong23"},"content":" ValidationToken validationToken \u003d InputValidator.isInputValid(userInput, user);","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"andychong23"},"content":" if (validationToken.isValid()) {","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"andychong23"},"content":" isUserInputValid \u003d true;","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"andychong23"},"content":" } else {","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"andychong23"},"content":" List\u003cString\u003e outputMessage \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"andychong23"},"content":" outputMessage.add(validationToken.getErrorMessage());","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"andychong23"},"content":" displayMessageWithDivider(outputMessage);","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"andychong23"},"content":" while (!isUserInputValid);","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"andychong23"},"content":" return userInput;","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"andychong23"},"content":" * Displays custom message to the console with dividers","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"andychong23"},"content":" *","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"andychong23"},"content":" * @param messages list of messages to output to console","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"andychong23"},"content":" * @throws IOException When IO fails","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"andychong23"},"content":" public void displayMessageWithDivider(List\u003cString\u003e messages) throws IOException {","lastModifiedDate":"2025-01-29","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"andychong23"},"content":" messages.addFirst(this.DIVIDER);","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"andychong23"},"content":" messages.add(this.DIVIDER);","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"andychong23"},"content":" OUTPUT.printOutput(messages, \"\\n\", \"\\n\");","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"andychong23"},"content":" * Display custom message to the console without dividers","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"andychong23"},"content":" *","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"andychong23"},"content":" * @param messages list of messages to output to console","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"andychong23"},"content":" * @throws IOException When IO fails","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"andychong23"},"content":" public void displayMessage(List\u003cString\u003e messages) throws IOException {","lastModifiedDate":"2025-01-29","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"andychong23"},"content":" OUTPUT.printOutput(messages, \"\\n\", \"\\n\");","lastModifiedDate":"2025-01-29","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-29","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-29","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"andychong23"},"content":" * Display welcome message to the console","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"andychong23"},"content":" *","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"andychong23"},"content":" * @throws IOException When IO fails","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"andychong23"},"content":" public void displayWelcomeMessage() throws IOException {","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"andychong23"},"content":" List\u003cString\u003e welcomeMessages \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"andychong23"},"content":" welcomeMessages.add(this.DIVIDER);","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"andychong23"},"content":" welcomeMessages.add(String.format(\"Hello! I\u0027m %s\", this.CHATBOT_NAME));","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"andychong23"},"content":" welcomeMessages.add(\"What can I do for you?\");","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"andychong23"},"content":" welcomeMessages.add(this.DIVIDER);","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"andychong23"},"content":" OUTPUT.printOutput(welcomeMessages, \"\\n\", \"\\n\");","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"andychong23"},"content":" * Display exit message to the console","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"andychong23"},"content":" *","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"andychong23"},"content":" * @throws IOException When IO fails","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"andychong23"},"content":" public void displayExitMessage() throws IOException {","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"andychong23"},"content":" List\u003cString\u003e exitMessages \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"andychong23"},"content":" exitMessages.add(this.DIVIDER);","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"andychong23"},"content":" exitMessages.add(\"Bye. Hope to see you again soon!\");","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"andychong23"},"content":" exitMessages.add(this.DIVIDER);","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"andychong23"},"content":" OUTPUT.printOutput(exitMessages, \"\\n\", \"\\n\");","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"andychong23"},"content":" public List\u003cString\u003e getWelcomeMessage() {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"andychong23"},"content":" List\u003cString\u003e welcomeMessages \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"andychong23"},"content":" welcomeMessages.add(String.format(\"Hello! I\u0027m %s\", this.CHATBOT_NAME));","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"andychong23"},"content":" welcomeMessages.add(\"What can I do for you?\");","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"andychong23"},"content":" return welcomeMessages;","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"andychong23"},"content":" public List\u003cString\u003e getExitMessage() {","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"andychong23"},"content":" List\u003cString\u003e exitMessages \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"andychong23"},"content":" exitMessages.add(\"Bye. Hope to see you again soon!\");","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"andychong23"},"content":" return exitMessages;","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-16","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"andychong23"},"content":"}","lastModifiedDate":"2025-01-27","isFullCredit":false}],"authorContributionMap":{"andychong23":118}},{"path":"src/main/java/io/ValidationToken.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"andychong23"},"content":"package io;","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"andychong23"},"content":"/**","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"andychong23"},"content":" * ValidationToken class that indicates validity of inputs","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"andychong23"},"content":"public class ValidationToken {","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"andychong23"},"content":" private boolean isValid;","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"andychong23"},"content":" private InputError errorMessage;","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"andychong23"},"content":" * Constructor for inputs with no errors","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"andychong23"},"content":" *","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"andychong23"},"content":" * @param isValid boolean that indicates that it is valid","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"andychong23"},"content":" public ValidationToken(boolean isValid) {","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"andychong23"},"content":" this.isValid \u003d isValid;","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"andychong23"},"content":" * Constructor for inputs with errors","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"andychong23"},"content":" *","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"andychong23"},"content":" * @param isValid boolean that indicates that it is not valid","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"andychong23"},"content":" * @param errorMessage InputError enum that encapsulates information about the error","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"andychong23"},"content":" public ValidationToken(boolean isValid, InputError errorMessage) {","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"andychong23"},"content":" this.isValid \u003d isValid;","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"andychong23"},"content":" this.errorMessage \u003d errorMessage;","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"andychong23"},"content":" public boolean isValid() {","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"andychong23"},"content":" return isValid;","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"andychong23"},"content":" public String getErrorMessage() {","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"andychong23"},"content":" return errorMessage.getErrorMessage();","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"andychong23"},"content":" * Enum class that indicates all the types of InputErrors","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"andychong23"},"content":" * enum field follows the format \u003caction_name\u003e_\u003cproblem_information\u003e","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"andychong23"},"content":" public enum InputError {","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"andychong23"},"content":" LIST_TOO_MANY_ARGUMENTS() {","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"andychong23"},"content":" @Override","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"andychong23"},"content":" public String getErrorMessage() {","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"andychong23"},"content":" return \"list expects 0 argument but received more than 0 arguments\";","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"andychong23"},"content":" },","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"andychong23"},"content":" BYE_TOO_MANY_ARGUMENTS() {","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"andychong23"},"content":" @Override","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"andychong23"},"content":" public String getErrorMessage() {","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"andychong23"},"content":" return \"bye expects 0 argument but received more than 0 arguments\";","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"andychong23"},"content":" },","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"andychong23"},"content":" MARK_TOO_MANY_ARGUMENTS() {","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"andychong23"},"content":" @Override","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"andychong23"},"content":" public String getErrorMessage() {","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"andychong23"},"content":" return \"mark expects 1 argument but received more than 1 argument\";","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"andychong23"},"content":" },","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"andychong23"},"content":" MARK_INCORRECT_ARGUMENT_TYPE() {","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"andychong23"},"content":" @Override","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"andychong23"},"content":" public String getErrorMessage() {","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"andychong23"},"content":" return \"mark expects 1 argument that is an integer but received an non-integer argument\";","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"andychong23"},"content":" },","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"andychong23"},"content":" MARK_TOO_LITTLE_ARGUMENTS() {","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"andychong23"},"content":" @Override","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"andychong23"},"content":" public String getErrorMessage() {","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"andychong23"},"content":" return \"mark expects 1 argument but received 0 arguments\";","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"andychong23"},"content":" },","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"andychong23"},"content":" UNMARK_TOO_MANY_ARGUMENTS() {","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"andychong23"},"content":" @Override","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"andychong23"},"content":" public String getErrorMessage() {","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"andychong23"},"content":" return \"unmark expects 1 argument but received more than 1 argument\";","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"andychong23"},"content":" },","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"andychong23"},"content":" UNMARK_INCORRECT_ARGUMENT_TYPE() {","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"andychong23"},"content":" @Override","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"andychong23"},"content":" public String getErrorMessage() {","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"andychong23"},"content":" return \"unmark expects 1 argument that is an integer but received an non-integer argument\";","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"andychong23"},"content":" },","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"andychong23"},"content":" UNMARK_TOO_LITTLE_ARGUMENTS() {","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"andychong23"},"content":" @Override","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"andychong23"},"content":" public String getErrorMessage() {","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"andychong23"},"content":" return \"unmark expects 1 argument but received 0 arguments\";","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"andychong23"},"content":" },","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"andychong23"},"content":" TODO_TOO_LITTLE_ARGUMENTS() {","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"andychong23"},"content":" @Override","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"andychong23"},"content":" public String getErrorMessage() {","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"andychong23"},"content":" return \"todo expects at least 1 argument but received 0 arguments\";","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"andychong23"},"content":" },","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"andychong23"},"content":" DEADLINE_TOO_LITTLE_ARGUMENTS() {","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"andychong23"},"content":" @Override","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"andychong23"},"content":" public String getErrorMessage() {","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"andychong23"},"content":" return \"deadline expects at least 2 arguments\";","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"andychong23"},"content":" },","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"andychong23"},"content":" DEADLINE_MISSING_BY {","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"andychong23"},"content":" @Override","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"andychong23"},"content":" public String getErrorMessage() {","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"andychong23"},"content":" return \"deadline expects \u0027/by\u0027 as one of its arguments\";","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"andychong23"},"content":" },","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"andychong23"},"content":" DEADLINE_MISSING_DEADLINE {","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"andychong23"},"content":" @Override","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"andychong23"},"content":" public String getErrorMessage() {","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"andychong23"},"content":" return \"deadline expects at least 1 argument after \u0027/by\u0027 but received none\";","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"andychong23"},"content":" },","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"andychong23"},"content":" DEADLINE_INVALID_DATETIME {","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"andychong23"},"content":" @Override","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"andychong23"},"content":" public String getErrorMessage() {","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"andychong23"},"content":" return \"deadline expects a datetime argument in the format dd/mm or dd/MM HH:mm or Mon \" +","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"andychong23"},"content":" \"but received something different\";","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"andychong23"},"content":" },","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"andychong23"},"content":" EVENT_MISSING_FROM_TO_ARGUMENTS {","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"andychong23"},"content":" public String getErrorMessage() {","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"andychong23"},"content":" return \"event expects both /from and /to as arguments but did not receive it\";","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"andychong23"},"content":" },","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"andychong23"},"content":" EVENT_INVALID_DATETIME {","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"andychong23"},"content":" @Override","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"andychong23"},"content":" public String getErrorMessage() {","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"andychong23"},"content":" return \"event expects a datetime argument in the format dd/mm or dd/MM HH:mm or Mon \" +","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"andychong23"},"content":" \"after /from and /to but received something different\";","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"andychong23"},"content":" },","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"andychong23"},"content":" EVENT_MISSING_EVENT_INFO {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"andychong23"},"content":" @Override","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"andychong23"},"content":" public String getErrorMessage() {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"andychong23"},"content":" return \"event expects an argument before /from to indicate what is the event name\";","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"andychong23"},"content":" },","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"andychong23"},"content":" DELETE_TOO_MANY_ARGUMENTS() {","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"andychong23"},"content":" @Override","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"andychong23"},"content":" public String getErrorMessage() {","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"andychong23"},"content":" return \"delete expects 1 argument but received more than 1 argument\";","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"andychong23"},"content":" },","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"andychong23"},"content":" DELETE_INCORRECT_ARGUMENT_TYPE {","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"andychong23"},"content":" @Override","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"andychong23"},"content":" public String getErrorMessage() {","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"andychong23"},"content":" return \"delete expects an integer argument but received a non-integer argument\";","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"andychong23"},"content":" },","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"andychong23"},"content":" DELETE_ARGUMENT_DOES_NOT_EXISTS {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"andychong23"},"content":" @Override","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"andychong23"},"content":" public String getErrorMessage() {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"andychong23"},"content":" return \"task number does not exists\";","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"andychong23"},"content":" },","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"andychong23"},"content":" INVALID_TASK_NUMBER() {","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"andychong23"},"content":" @Override","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"andychong23"},"content":" public String getErrorMessage() {","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"andychong23"},"content":" return \"task number provided does not exist\";","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"andychong23"},"content":" },","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"andychong23"},"content":" INVALID_COMMAND {","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"andychong23"},"content":" @Override","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"andychong23"},"content":" public String getErrorMessage() {","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"andychong23"},"content":" return \"command listed does not exists. use todo, mark, unmark, deadline, event, delete and find instead\";","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"andychong23"},"content":" },","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"andychong23"},"content":" FIND_TOO_LITTLE_ARGUMENTS() {","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"andychong23"},"content":" @Override","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"andychong23"},"content":" public String getErrorMessage() {","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"andychong23"},"content":" return \"find expects at least 1 argument but received 0 arguments\";","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"andychong23"},"content":" },","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"andychong23"},"content":" CHEER_TOO_MANY_ARGUMENTS() {","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"andychong23"},"content":" @Override","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"andychong23"},"content":" public String getErrorMessage() {","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"andychong23"},"content":" return \"cheer expects 0 argument but received at least 1 argument\";","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"andychong23"},"content":" },","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"andychong23"},"content":" HELP_TOO_MANY_ARGUMENTS() {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"andychong23"},"content":" @Override","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"andychong23"},"content":" public String getErrorMessage() {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"andychong23"},"content":" return \"help expects 1 argument but received more than 1 argument\";","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"andychong23"},"content":" },","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":189,"author":{"gitId":"andychong23"},"content":" HELP_UNKNOWN_COMMAND() {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":190,"author":{"gitId":"andychong23"},"content":" @Override","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":191,"author":{"gitId":"andychong23"},"content":" public String getErrorMessage() {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":192,"author":{"gitId":"andychong23"},"content":" return \"Unknown command provided into help\";","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":193,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":194,"author":{"gitId":"andychong23"},"content":" };","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":195,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":196,"author":{"gitId":"andychong23"},"content":" public abstract String getErrorMessage();","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":197,"author":{"gitId":"andychong23"},"content":" };","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":198,"author":{"gitId":"andychong23"},"content":"}","lastModifiedDate":"2025-01-31","isFullCredit":false}],"authorContributionMap":{"andychong23":198}},{"path":"src/main/java/launcher/Launcher.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"andychong23"},"content":"package launcher;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"andychong23"},"content":"import javafx.application.Application;","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"andychong23"},"content":"public class Launcher {","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"andychong23"},"content":" public static void main(String[] args) {","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"andychong23"},"content":" Application.launch(gui.Main.class, args);","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-15","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"andychong23"},"content":"}","lastModifiedDate":"2025-02-15","isFullCredit":false}],"authorContributionMap":{"andychong23":9}},{"path":"src/main/java/task/DeadLineTask.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"andychong23"},"content":"package task;","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"andychong23"},"content":"import action.ActionHandler;","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"andychong23"},"content":"import data.DataHandler;","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"andychong23"},"content":"import io.InputValidator;","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"andychong23"},"content":"import java.time.LocalDate;","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"andychong23"},"content":"import java.time.LocalDateTime;","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"andychong23"},"content":"import java.util.ArrayList;","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"andychong23"},"content":"import java.util.List;","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"andychong23"},"content":"/**","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"andychong23"},"content":" * DeadLineTask class","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"andychong23"},"content":"public class DeadLineTask extends Task implements HasDeadline {","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"andychong23"},"content":" private LocalDateTime deadLineDateTime;","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"andychong23"},"content":" private LocalDate deadLineDate;","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"andychong23"},"content":" * Constructor for DeadLineTask","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"andychong23"},"content":" *","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"andychong23"},"content":" * @param taskDetail String that indicates the task details","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"andychong23"},"content":" * @param deadLine String that is a valid datetime/day format","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"andychong23"},"content":" public DeadLineTask(String taskDetail, String deadLine) {","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"andychong23"},"content":" super(taskDetail, ActionHandler.Action.DEADLINE);","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"andychong23"},"content":" if (InputValidator.isValidDate(deadLine, true)) {","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"andychong23"},"content":" this.deadLineDate \u003d super.parseDate(deadLine);","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"andychong23"},"content":" } else {","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"andychong23"},"content":" this.deadLineDateTime \u003d super.parseDateTime(deadLine);","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"andychong23"},"content":" @Override","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"andychong23"},"content":" public String getDeadLine() {","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"andychong23"},"content":" if (this.deadLineDate \u003d\u003d null) {","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"andychong23"},"content":" return HasDeadline.DATE_TIME_FORMATTER.format(this.deadLineDateTime);","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"andychong23"},"content":" return HasDeadline.DATE_FORMATTER.format(this.deadLineDate);","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"andychong23"},"content":" private String getSaveDeadLine() {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"andychong23"},"content":" if (this.deadLineDate \u003d\u003d null) {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"andychong23"},"content":" return DataHandler.dateTimeSaveFormat.format(this.deadLineDateTime);","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"andychong23"},"content":" return DataHandler.dateSaveFormat.format(this.deadLineDate);","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"andychong23"},"content":" * Method to create the save data for a DeadLineTask","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"andychong23"},"content":" * @return String that represents the save data for a DeadLineTask","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"andychong23"},"content":" @Override","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"andychong23"},"content":" public String createSaveData() {","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"andychong23"},"content":" List\u003cString\u003e saveInformation \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"andychong23"},"content":" saveInformation.add(super.createSaveData());","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"andychong23"},"content":" saveInformation.add(\"/by %s\".formatted(this.getSaveDeadLine()));","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"andychong23"},"content":" return String.join(DataHandler.saveDelimiter, saveInformation);","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"andychong23"},"content":" * Method to get the task information for a DeadLineTask","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"andychong23"},"content":" * @return String that represents the task information for a DeadLineTask","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"andychong23"},"content":" @Override","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"andychong23"},"content":" public String getTaskInformation() {","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"andychong23"},"content":" List\u003cString\u003e taskInformationList \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"andychong23"},"content":" taskInformationList.add(super.getTaskInformation());","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"andychong23"},"content":" taskInformationList.add(\"(by: %s)\".formatted(this.getDeadLine()));","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"andychong23"},"content":" return String.join(\" \", taskInformationList);","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"andychong23"},"content":"}","lastModifiedDate":"2025-01-30","isFullCredit":false}],"authorContributionMap":{"andychong23":72}},{"path":"src/main/java/task/EventTask.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"andychong23"},"content":"package task;","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"andychong23"},"content":"import action.ActionHandler.Action;","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"andychong23"},"content":"import data.DataHandler;","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"andychong23"},"content":"import io.InputValidator;","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"andychong23"},"content":"import java.time.LocalDate;","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"andychong23"},"content":"import java.time.LocalDateTime;","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"andychong23"},"content":"import java.util.ArrayList;","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"andychong23"},"content":"import java.util.List;","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"andychong23"},"content":"/**","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"andychong23"},"content":" * EventTask class","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"andychong23"},"content":"public class EventTask extends Task implements HasStart, HasDeadline {","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"andychong23"},"content":" private LocalDate fromDate;","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"andychong23"},"content":" private LocalDateTime fromDateTime;","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"andychong23"},"content":" private LocalDate toDate;","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"andychong23"},"content":" private LocalDateTime toDateTime;","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"andychong23"},"content":" * EventTask constructor","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"andychong23"},"content":" *","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"andychong23"},"content":" * @param taskDetail String that indicates the task detail","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"andychong23"},"content":" * @param fromDateTime String that is a valid datetime/day format that indicates when the event starts","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"andychong23"},"content":" * @param toDateTime String that is a valid datetime/day format that indicates when the event ends","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"andychong23"},"content":" public EventTask(String taskDetail, String fromDateTime, String toDateTime) {","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"andychong23"},"content":" super(taskDetail, Action.EVENT);","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"andychong23"},"content":" if (InputValidator.isValidDate(fromDateTime, false)) {","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"andychong23"},"content":" this.fromDate \u003d super.parseDate(fromDateTime);","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"andychong23"},"content":" } else {","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"andychong23"},"content":" this.fromDateTime \u003d super.parseDateTime(fromDateTime);","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"andychong23"},"content":" if (InputValidator.isValidDate(toDateTime, true)) {","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"andychong23"},"content":" this.toDate \u003d super.parseDate(toDateTime);","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"andychong23"},"content":" } else {","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"andychong23"},"content":" this.toDateTime \u003d super.parseDateTime(toDateTime);","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"andychong23"},"content":" @Override","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"andychong23"},"content":" public String getDeadLine() {","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"andychong23"},"content":" return this.getToDateTime();","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"andychong23"},"content":" @Override","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"andychong23"},"content":" public String getStartDateTime() {","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"andychong23"},"content":" return this.getFromDateTime();","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"andychong23"},"content":" private String getFromDateTime() {","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"andychong23"},"content":" if (this.fromDate \u003d\u003d null) {","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"andychong23"},"content":" return HasStart.DATE_TIME_FORMATTER.format(this.fromDateTime);","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"andychong23"},"content":" return HasStart.DATE_FORMATTER.format(this.fromDate);","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"andychong23"},"content":" private String getToDateTime() {","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"andychong23"},"content":" if (this.toDate \u003d\u003d null) {","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"andychong23"},"content":" return HasStart.DATE_TIME_FORMATTER.format(this.toDateTime);","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"andychong23"},"content":" return HasStart.DATE_FORMATTER.format(this.toDate);","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"andychong23"},"content":" private String getSaveFromTime() {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"andychong23"},"content":" if (this.fromDate \u003d\u003d null) {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"andychong23"},"content":" return DataHandler.dateTimeSaveFormat.format(this.fromDateTime);","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"andychong23"},"content":" return DataHandler.dateSaveFormat.format(this.fromDate);","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"andychong23"},"content":" private String getSaveToTime() {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"andychong23"},"content":" if (this.toDate \u003d\u003d null) {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"andychong23"},"content":" return DataHandler.dateTimeSaveFormat.format(this.toDateTime);","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"andychong23"},"content":" return DataHandler.dateSaveFormat.format(this.toDate);","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"andychong23"},"content":" * Method to create the save data for an EventTask","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"andychong23"},"content":" * @return String that represents the save data for a EventTask","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"andychong23"},"content":" @Override","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"andychong23"},"content":" public String createSaveData() {","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"andychong23"},"content":" List\u003cString\u003e saveInformation \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"andychong23"},"content":" saveInformation.add(super.createSaveData());","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"andychong23"},"content":" saveInformation.add(\"/from %s /to %s\".formatted(this.getSaveFromTime(), this.getSaveToTime()));","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"andychong23"},"content":" return String.join(DataHandler.saveDelimiter, saveInformation);","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"andychong23"},"content":" * Method to get the task information for an EventTask to be shown to the user","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"andychong23"},"content":" * @return String that represents the task information for an EventTask","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"andychong23"},"content":" @Override","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"andychong23"},"content":" public String getTaskInformation() {","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"andychong23"},"content":" List\u003cString\u003e taskInformationList \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"andychong23"},"content":" taskInformationList.add(super.getTaskInformation());","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"andychong23"},"content":" taskInformationList.add(\"(from: %s to: %s)\".formatted(","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"andychong23"},"content":" this.getStartDateTime(),","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"andychong23"},"content":" this.getDeadLine()));","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"andychong23"},"content":" return String.join(\" \", taskInformationList);","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"andychong23"},"content":"}","lastModifiedDate":"2025-01-30","isFullCredit":false}],"authorContributionMap":{"andychong23":106}},{"path":"src/main/java/task/HasDeadline.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"andychong23"},"content":"package task;","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"andychong23"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"andychong23"},"content":"/**","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"andychong23"},"content":" * HasDeadline Interface","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"andychong23"},"content":"public interface HasDeadline {","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"andychong23"},"content":" static final DateTimeFormatter DATE_FORMATTER \u003d DateTimeFormatter.ofPattern(\"dd MMM yyyy\");","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"andychong23"},"content":" static final DateTimeFormatter DATE_TIME_FORMATTER \u003d DateTimeFormatter.ofPattern(\"dd MMM yyyy hh:mma\");","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"andychong23"},"content":" public String getDeadLine();","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"andychong23"},"content":"}","lastModifiedDate":"2025-01-30","isFullCredit":false}],"authorContributionMap":{"andychong23":13}},{"path":"src/main/java/task/HasStart.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"andychong23"},"content":"package task;","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"andychong23"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"andychong23"},"content":"/**","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"andychong23"},"content":" * HasStart interface","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"andychong23"},"content":"public interface HasStart {","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"andychong23"},"content":" static final DateTimeFormatter DATE_FORMATTER \u003d DateTimeFormatter.ofPattern(\"dd MMM yyyy\");","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"andychong23"},"content":" static final DateTimeFormatter DATE_TIME_FORMATTER \u003d DateTimeFormatter.ofPattern(\"dd MMM yyyy hh:mma\");","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"andychong23"},"content":" public String getStartDateTime();","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"andychong23"},"content":"}","lastModifiedDate":"2025-01-30","isFullCredit":false}],"authorContributionMap":{"andychong23":13}},{"path":"src/main/java/task/Task.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"andychong23"},"content":"package task;","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"andychong23"},"content":"import action.ActionHandler.Action;","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"andychong23"},"content":"import data.DataHandler;","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"andychong23"},"content":"import io.InputValidator;","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"andychong23"},"content":"import java.time.LocalDate;","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"andychong23"},"content":"import java.time.LocalDateTime;","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"andychong23"},"content":"import java.time.Year;","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"andychong23"},"content":"import java.time.format.DateTimeParseException;","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"andychong23"},"content":"import java.util.ArrayList;","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"andychong23"},"content":"import java.util.List;","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"andychong23"},"content":"/**","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"andychong23"},"content":" * Task class","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"andychong23"},"content":"public class Task {","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"andychong23"},"content":" private String taskDetail;","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"andychong23"},"content":" private boolean isTaskDone;","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"andychong23"},"content":" private Action taskType;","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"andychong23"},"content":" * Constructor that creates a task without a type","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"andychong23"},"content":" *","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"andychong23"},"content":" * @param taskDetail String that indicates the task information","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"andychong23"},"content":" @Deprecated","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"andychong23"},"content":" public Task(String taskDetail) {","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"andychong23"},"content":" this.taskDetail \u003d taskDetail;","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"andychong23"},"content":" this.isTaskDone \u003d false;","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"andychong23"},"content":" this.taskType \u003d null;","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"andychong23"},"content":" * Constructor that creates a task with a taskType","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"andychong23"},"content":" *","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"andychong23"},"content":" * @param taskDetail String that indicates the task information","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"andychong23"},"content":" * @param taskType Action enum that indicates the task type","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"andychong23"},"content":" public Task(String taskDetail, Action taskType) {","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"andychong23"},"content":" this.taskDetail \u003d taskDetail;","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"andychong23"},"content":" this.isTaskDone \u003d false;","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"andychong23"},"content":" this.taskType \u003d taskType;","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"andychong23"},"content":" public String getTaskDetail() {","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"andychong23"},"content":" return this.taskDetail;","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"andychong23"},"content":" public boolean isTaskDone() {","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"andychong23"},"content":" return this.isTaskDone;","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"andychong23"},"content":" public void setTaskDone(boolean taskDone) {","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"andychong23"},"content":" this.isTaskDone \u003d taskDone;","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"andychong23"},"content":" * Maps the task type to a String","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"andychong23"},"content":" *","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"andychong23"},"content":" * @return String of mapped task type","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"andychong23"},"content":" public String getTaskType() {","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"andychong23"},"content":" return switch (this.taskType) {","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"andychong23"},"content":" case Action.TODO -\u003e \"T\";","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"andychong23"},"content":" case Action.DEADLINE -\u003e \"D\";","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"andychong23"},"content":" case Action.EVENT -\u003e \"E\";","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"andychong23"},"content":" default -\u003e \"\";","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"andychong23"},"content":" };","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"andychong23"},"content":" * Maps actionString to an action enum","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"andychong23"},"content":" * @param actionString String that indicates the task type","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"andychong23"},"content":" * @return Action enum that indicates the enum for that string","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"andychong23"},"content":" public static Action mapTaskType(String actionString) {","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"andychong23"},"content":" return switch (actionString) {","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"andychong23"},"content":" case \"T\" -\u003e Action.TODO;","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"andychong23"},"content":" case \"D\" -\u003e Action.DEADLINE;","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"andychong23"},"content":" case \"E\" -\u003e Action.EVENT;","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"andychong23"},"content":" default -\u003e Action.DEFAULT;","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"andychong23"},"content":" };","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"andychong23"},"content":" * Method to create save data for the task","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"andychong23"},"content":" * @return String of data to be written to storage","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"andychong23"},"content":" public String createSaveData() {","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"andychong23"},"content":" List\u003cString\u003e saveInformation \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"andychong23"},"content":" saveInformation.add(this.getTaskType());","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"andychong23"},"content":" saveInformation.add(String.valueOf(this.isTaskDone() ? 1 : 0));","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"andychong23"},"content":" saveInformation.add(this.taskDetail);","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"andychong23"},"content":" return String.join(DataHandler.saveDelimiter, saveInformation);","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"andychong23"},"content":" * Method to get task information to be displayed to the user","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"andychong23"},"content":" * @return String of data that indicates the task information","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"andychong23"},"content":" public String getTaskInformation() {","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"andychong23"},"content":" return \"[%s] [%s] %s\".formatted(this.getTaskType(),","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"andychong23"},"content":" (this.isTaskDone()) ? \"X\" : \" \",","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"andychong23"},"content":" this.getTaskDetail());","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"andychong23"},"content":" ;","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"andychong23"},"content":" * Method to parse stringDateTime to a LocalDateTime object","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"andychong23"},"content":" * Precondition: stringDateTime must be a valid representation of a LocalDateTime","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"andychong23"},"content":" * @param stringDateTime String that indicates the datetime","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"andychong23"},"content":" * @return LocalDateTime object of the string representation","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"andychong23"},"content":" protected LocalDateTime parseDateTime(String stringDateTime) {","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"andychong23"},"content":" List\u003cString\u003e stringDateList \u003d new ArrayList\u003c\u003e(List.of(stringDateTime.split(\" \")));","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"andychong23"},"content":" try {","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"andychong23"},"content":" return LocalDateTime.parse(String.join(\" \", stringDateList), InputValidator.DAY_MONTH_YEAR_TIME_FORMATTER);","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"andychong23"},"content":" } catch (DateTimeParseException e) {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"andychong23"},"content":" e.getMessage();","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"andychong23"},"content":" try {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"andychong23"},"content":" String removedItem \u003d stringDateList.removeFirst();","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"andychong23"},"content":" stringDateList.addFirst(removedItem + \"/\" + Year.now());","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"andychong23"},"content":" return LocalDateTime.parse(String.join(\" \", stringDateList), InputValidator.DAY_MONTH_YEAR_TIME_FORMATTER);","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"andychong23"},"content":" } catch (DateTimeParseException e) {","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"andychong23"},"content":" e.getMessage();","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"andychong23"},"content":" throw new IllegalArgumentException(\"Input is not correct\");","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"andychong23"},"content":" * Method to parse stringDate to a LocalDate object","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"andychong23"},"content":" * Precondition: stringDate must be a valid representation of a LocalDate","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"andychong23"},"content":" * @param stringDate String that indicates the date","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"andychong23"},"content":" * @return LocalDate object of the string representation","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"andychong23"},"content":" protected LocalDate parseDate(String stringDate) {","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"andychong23"},"content":" // parse information without a year","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"andychong23"},"content":" try {","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"andychong23"},"content":" return LocalDate.parse(stringDate + \"/\" + Year.now(), InputValidator.DAY_MONTH_YEAR_FORMATTER);","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"andychong23"},"content":" } catch (DateTimeParseException e) {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"andychong23"},"content":" e.getMessage();","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"andychong23"},"content":" try {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"andychong23"},"content":" return LocalDate.parse(stringDate, InputValidator.DAY_MONTH_YEAR_FORMATTER);","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"andychong23"},"content":" } catch (DateTimeParseException e) {","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"andychong23"},"content":" e.getMessage();","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"andychong23"},"content":" throw new IllegalArgumentException(\"Input is not correct\");","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"andychong23"},"content":"}","lastModifiedDate":"2025-01-30","isFullCredit":false}],"authorContributionMap":{"andychong23":158}},{"path":"src/main/java/task/ToDoTask.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"andychong23"},"content":"package task;","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"andychong23"},"content":"import action.ActionHandler;","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"andychong23"},"content":"/**","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"andychong23"},"content":" * ToDoTask class","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"andychong23"},"content":"public class ToDoTask extends Task {","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"andychong23"},"content":" * Constructor for Todo Task","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"andychong23"},"content":" *","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"andychong23"},"content":" * @param taskDetail String that indicates the task details","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"andychong23"},"content":" public ToDoTask(String taskDetail) {","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"andychong23"},"content":" super(taskDetail, ActionHandler.Action.TODO);","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"andychong23"},"content":" @Override","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"andychong23"},"content":" public String createSaveData() {","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"andychong23"},"content":" return super.createSaveData();","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"andychong23"},"content":"}","lastModifiedDate":"2025-01-30","isFullCredit":false}],"authorContributionMap":{"andychong23":22}},{"path":"src/main/java/user/User.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"andychong23"},"content":"package user;","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"andychong23"},"content":"import action.ActionHandler;","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"andychong23"},"content":"import data.DataHandler;","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"andychong23"},"content":"import task.Task;","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"andychong23"},"content":"import java.io.IOException;","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"andychong23"},"content":"import java.nio.file.Path;","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"andychong23"},"content":"import java.util.ArrayList;","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"andychong23"},"content":"import java.util.List;","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"andychong23"},"content":"/**","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"andychong23"},"content":" * User class","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"andychong23"},"content":"public class User {","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"andychong23"},"content":" private List\u003cTask\u003e taskList;","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"andychong23"},"content":" private Path dataFilePath;","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"andychong23"},"content":" * Default Constructor for User","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"andychong23"},"content":" public User() {","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"andychong23"},"content":" this.taskList \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"andychong23"},"content":" * Constructor that saves the user data based on the name provided","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"andychong23"},"content":" * @param userName String that indicates the name of the user","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"andychong23"},"content":" * @throws IOException Thrown when the file does not exist","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"andychong23"},"content":" public User(String userName) throws IOException {","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"andychong23"},"content":" this.taskList \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"andychong23"},"content":" this.dataFilePath \u003d DataHandler.programRoot.resolve(\"data\").resolve(\"%s.txt\".formatted(userName));","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"andychong23"},"content":" buildSavedTaskList(DataHandler.readFile(dataFilePath));","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"andychong23"},"content":" * Method to build the taskList from the input data","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"andychong23"},"content":" * @param inputDataList List of String where each entry is the save information for a task","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"andychong23"},"content":" private void buildSavedTaskList(List\u003cString\u003e inputDataList) {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"andychong23"},"content":" for (String inputData : inputDataList) {","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"andychong23"},"content":" // Added escape character for | as \"|\" is considered as an or operator in regex","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"andychong23"},"content":" List\u003cString\u003e data \u003d List.of(inputData.split(\"\\\\%s\".formatted(DataHandler.saveDelimiter)));","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"andychong23"},"content":" // Recreate the task details from the saved file","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"andychong23"},"content":" // Format of todo save: taskType|isTaskDone|taskDetails","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"andychong23"},"content":" // Format of deadline save: taskType|isTaskDone|taskDetails|/by dateTime","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"andychong23"},"content":" // Format of event save: taskType|isTaskDone|taskDetails|/from dateTime /to toDateTime","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"andychong23"},"content":" List\u003cString\u003e taskDetails \u003d List.of(String.join(\" \", data.subList(2, data.size())).split(\" \"));","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"andychong23"},"content":" Task taskCreated \u003d ActionHandler.createTask(","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"andychong23"},"content":" Task.mapTaskType(data.getFirst()),","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"andychong23"},"content":" taskDetails);","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"andychong23"},"content":" if (taskCreated !\u003d null) {","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"andychong23"},"content":" taskCreated.setTaskDone(Boolean.parseBoolean(data.get(1)));","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"andychong23"},"content":" addTask(taskCreated);","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"andychong23"},"content":" public void addTask(Task task) {","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"andychong23"},"content":" this.taskList.addLast(task);","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"andychong23"},"content":" * getTaskList method that returns a string representation of the task list currently","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"andychong23"},"content":" *","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"andychong23"},"content":" * @return String that represents the task list currently","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"andychong23"},"content":" public String getTaskList() {","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"andychong23"},"content":" return buildTaskList(taskList);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"andychong23"},"content":" public String getTaskList(List\u003cTask\u003e taskList) {","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"andychong23"},"content":" return buildTaskList(taskList);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"andychong23"},"content":" private String buildTaskList(List\u003cTask\u003e inputDataList) {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"andychong23"},"content":" StringBuilder stringBuilder \u003d new StringBuilder();","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"andychong23"},"content":" for (int i \u003d 0; i \u003c inputDataList.size(); i++) {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"andychong23"},"content":" Task task \u003d inputDataList.get(i);","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"andychong23"},"content":" stringBuilder.append(\"%s. %s\".formatted(","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"andychong23"},"content":" i + 1,","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"andychong23"},"content":" task.getTaskInformation())","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"andychong23"},"content":" );","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"andychong23"},"content":" if (i !\u003d inputDataList.size() - 1) {","lastModifiedDate":"2025-02-23","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"andychong23"},"content":" stringBuilder.append(\"\\n\");","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"andychong23"},"content":" return stringBuilder.toString();","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"andychong23"},"content":" * Sets task to be done","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"andychong23"},"content":" *","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"andychong23"},"content":" * @param taskNumber int that indicates the task to set","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"andychong23"},"content":" * @return String representation of updated task information","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"andychong23"},"content":" public String markTaskAsDone(int taskNumber) {","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"andychong23"},"content":" Task requiredTask \u003d this.taskList.get(taskNumber);","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"andychong23"},"content":" requiredTask.setTaskDone(true);","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"andychong23"},"content":" return requiredTask.getTaskInformation();","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"andychong23"},"content":" * Sets task to be not done","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"andychong23"},"content":" *","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"andychong23"},"content":" * @param taskNumber int that indicates the task to set","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"andychong23"},"content":" * @return String representation of updated task information","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"andychong23"},"content":" public String markTaskAsNotDone(int taskNumber) {","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"andychong23"},"content":" Task requiredTask \u003d this.taskList.get(taskNumber);","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"andychong23"},"content":" requiredTask.setTaskDone(false);","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"andychong23"},"content":" return requiredTask.getTaskInformation();","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"andychong23"},"content":" public int getNumberOfTasks() {","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"andychong23"},"content":" return this.taskList.size();","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"andychong23"},"content":" * Deletes task from the task list","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"andychong23"},"content":" *","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"andychong23"},"content":" * @param taskNumber int that indicates the task to delete, taskNumber is 0-indexed","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"andychong23"},"content":" * @return String representation of deleted task information","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"andychong23"},"content":" public String deleteTask(int taskNumber) {","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"andychong23"},"content":" Task requiredTask \u003d this.taskList.get(taskNumber);","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"andychong23"},"content":" String removedTaskInformation \u003d requiredTask.getTaskInformation();","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"andychong23"},"content":" this.taskList.remove(taskNumber);","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"andychong23"},"content":" return removedTaskInformation;","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"andychong23"},"content":" * Method to create save data for a user","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"andychong23"},"content":" * @return List of String that holds the save data for all tasks","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"andychong23"},"content":" public List\u003cString\u003e createSaveData() {","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"andychong23"},"content":" List\u003cString\u003e saveInformationList \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"andychong23"},"content":" for (Task task : taskList) {","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"andychong23"},"content":" saveInformationList.add(task.createSaveData());","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"andychong23"},"content":" return saveInformationList;","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"andychong23"},"content":" public Path getDataFilePath() {","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"andychong23"},"content":" return dataFilePath;","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-03","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"andychong23"},"content":" public List\u003cTask\u003e findTaskWithKeyWord(String keyWord) {","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"andychong23"},"content":" List\u003cTask\u003e foundTasks \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"andychong23"},"content":" for (Task task : this.taskList) {","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"andychong23"},"content":" // case-insensitive search","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"andychong23"},"content":" for (int i \u003d 0; i \u003c task.getTaskDetail().length(); i++) {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"andychong23"},"content":" if (task.getTaskDetail().regionMatches(true, i, keyWord, 0, keyWord.length())) {","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"andychong23"},"content":" foundTasks.add(task);","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"andychong23"},"content":" break;","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"andychong23"},"content":" return foundTasks;","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"andychong23"},"content":"}","lastModifiedDate":"2025-01-30","isFullCredit":false}],"authorContributionMap":{"andychong23":167}},{"path":"src/main/resources/cheer.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"andychong23"},"content":"The grass is greener on the side you water on.","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"andychong23"},"content":"It is not a bug; it is an undocumented feature.","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"andychong23"},"content":"There is always one more bug to fix.","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"andychong23"},"content":"The road to success and the road to failure are almost exactly the same.","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"andychong23"},"content":"Experience is a hard teacher because she gives the test first, the lesson afterward.","lastModifiedDate":"2025-02-06","isFullCredit":false}],"authorContributionMap":{"andychong23":5}},{"path":"src/test/java/io/InputValidatorTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"andychong23"},"content":"package io;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"andychong23"},"content":"import org.junit.jupiter.api.BeforeEach;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"andychong23"},"content":"import org.junit.jupiter.params.ParameterizedTest;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"andychong23"},"content":"import org.junit.jupiter.params.provider.CsvSource;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"andychong23"},"content":"import user.User;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"andychong23"},"content":"import java.io.IOException;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"andychong23"},"content":"import static org.junit.jupiter.api.Assertions.assertEquals;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"andychong23"},"content":"public class InputValidatorTest {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"andychong23"},"content":" User user;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"andychong23"},"content":" * Set up a User that can be used to do testing","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"andychong23"},"content":" * @throws IOException If data file does not exists","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"andychong23"},"content":" @BeforeEach","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"andychong23"},"content":" public void setUp() throws IOException {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"andychong23"},"content":" user \u003d new User(\"test\");","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"andychong23"},"content":" * This test takes in multiple date inputs and tests whether isValidDate evaluates the dates correctly","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"andychong23"},"content":" * @param input String of a potential date","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"andychong23"},"content":" * @param requiresFuture boolean that indicates if the input has to be in the future","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"andychong23"},"content":" * @param expected Expected result of each test case","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"andychong23"},"content":" @ParameterizedTest","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"andychong23"},"content":" @CsvSource({","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"andychong23"},"content":" \"04/02, true, false\",","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"andychong23"},"content":" \"12/12, true, true\",","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"andychong23"},"content":" \"04/02, false, true\",","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"andychong23"},"content":" \"04/02/2025, true, false\",","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"andychong23"},"content":" \"12/12/2025, true, true\",","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"andychong23"},"content":" \"04/02/2025, false, true\",","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"andychong23"},"content":" \"abcd, true, false\",","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"andychong23"},"content":" \"12/12/2025 14:00, false, false\"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"andychong23"},"content":" })","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"andychong23"},"content":" public void test_IsValidDate(String input, boolean requiresFuture, boolean expected) {","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"andychong23"},"content":" assertEquals(expected, InputValidator.isValidDate(input, requiresFuture));","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"andychong23"},"content":" * This test takes in multiple datetime inputs and tests whether isValidDateTime evaluates the datetime correctly","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"andychong23"},"content":" * @param input String of a potential datetime","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"andychong23"},"content":" * @param requiresFuture boolean that indicates if the input has to be in the future","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"andychong23"},"content":" * @param expected Expected result of each test case","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"andychong23"},"content":" @ParameterizedTest","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"andychong23"},"content":" @CsvSource({","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"andychong23"},"content":" \"04/02, true, false\",","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"andychong23"},"content":" \"12/12, true, false\",","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"andychong23"},"content":" \"04/02 12:00, true, false\",","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"andychong23"},"content":" \"04/02 12:00, false, true\",","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"andychong23"},"content":" \"12/12/2025 12:00, true, true\",","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"andychong23"},"content":" \"12/12/2025 80:00, true, false\"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"andychong23"},"content":" })","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"andychong23"},"content":" public void test_IsValidDateTime(String input, boolean requiresFuture, boolean expected) {","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"andychong23"},"content":" assertEquals(expected, InputValidator.isValidDateTime(input, requiresFuture));","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"andychong23"},"content":" * This test takes in multiple mark/unmark inputs and tests whether the provided format is correct","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"andychong23"},"content":" * @param userInput String of a potential mark/unmark input","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"andychong23"},"content":" * @param expected Expected result of each test case","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"andychong23"},"content":" @ParameterizedTest","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"andychong23"},"content":" @CsvSource({","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"andychong23"},"content":" \"mark 2, false\",","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"andychong23"},"content":" \"mark 1, true\",","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"andychong23"},"content":" \"unmark 2, false\",","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"andychong23"},"content":" \"unmark 1, true\",","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"andychong23"},"content":" \" mark 2, false\",","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"andychong23"},"content":" \" mark 1, true\",","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"andychong23"},"content":" \"mark 1, false\"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"andychong23"},"content":" })","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"andychong23"},"content":" public void test_IsMarkInputValid(String userInput, boolean expected) {","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"andychong23"},"content":" assertEquals(expected, InputValidator.isInputValid(userInput, user).isValid());","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"andychong23"},"content":" * This test takes in multiple deadline inputs and tests whether the provided format is correct","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"andychong23"},"content":" * @param userInput String of a potential deadline input","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"andychong23"},"content":" * @param expected Expected result of each test case","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"andychong23"},"content":" @ParameterizedTest","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"andychong23"},"content":" @CsvSource({","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"andychong23"},"content":" \"deadline return book /by 12/12, true\",","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"andychong23"},"content":" \"deadline /by 04/02, false\",","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"andychong23"},"content":" \"deadline return book 04/02, false\",","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"andychong23"},"content":" \"DEADLINE return book /by 12/12, true\",","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"andychong23"},"content":" \"DEADline return book /by 12/12, true\"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"andychong23"},"content":" })","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"andychong23"},"content":" public void test_IsDeadLineInputValid(String userInput, boolean expected) {","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"andychong23"},"content":" assertEquals(expected, InputValidator.isInputValid(userInput, user).isValid());","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"andychong23"},"content":" * This test takes in multiple event inputs and tests whether the provided format is correct","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"andychong23"},"content":" * @param userInput String of a potential event input","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"andychong23"},"content":" * @param expected Expected result of each test case","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"andychong23"},"content":" @ParameterizedTest","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"andychong23"},"content":" @CsvSource({","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"andychong23"},"content":" \"event networking /from 12/12 /to 13/12, true\",","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"andychong23"},"content":" \"event networking /from 11/11 11:00 /to 12/12 12:00, true\",","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"andychong23"},"content":" \"event sleep /from 04/02 /to 04/02, false\",","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"andychong23"},"content":" \"event sleep /from 04/02 /to 03/02, false\",","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"andychong23"},"content":" \"event sleep /from 11/11 /to 12/12 12:00, true\",","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"andychong23"},"content":" \"event /from 11/11 /to 12/12, false\"","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"andychong23"},"content":" })","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"andychong23"},"content":" public void test_IsEventInputValid(String userInput, boolean expected) {","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"andychong23"},"content":" assertEquals(expected, InputValidator.isInputValid(userInput, user).isValid());","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"andychong23"},"content":" * This test takes in multiple todo event inputs and tests whether the provided format is correct","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"andychong23"},"content":" * @param userInput String of a potential todo input","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"andychong23"},"content":" * @param expected Expected result of each test case","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"andychong23"},"content":" @ParameterizedTest","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"andychong23"},"content":" @CsvSource({","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"andychong23"},"content":" \"todo return book, true\",","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"andychong23"},"content":" \"TOdo return book, true\",","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"andychong23"},"content":" \" todo return book, true\"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"andychong23"},"content":" })","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"andychong23"},"content":" public void test_IsToDoInputValid(String userInput, boolean expected) {","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"andychong23"},"content":" assertEquals(expected, InputValidator.isInputValid(userInput, user).isValid());","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"andychong23"},"content":" * This test takes in multiple bye inputs and tests whether the provided format is correct","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"andychong23"},"content":" * @param userInput String of a potential bye input","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"andychong23"},"content":" * @param expected Expected result of each test case","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"andychong23"},"content":" @ParameterizedTest","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"andychong23"},"content":" @CsvSource({","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"andychong23"},"content":" \"bye, true\",","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"andychong23"},"content":" \" bye, true\",","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"andychong23"},"content":" \"bye , true\",","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"andychong23"},"content":" \" bye , true\",","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"andychong23"},"content":" \"bye a, false\"","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"andychong23"},"content":" })","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"andychong23"},"content":" public void test_IsByeInputValid(String userInput, boolean expected) {","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"andychong23"},"content":" assertEquals(expected, InputValidator.isInputValid(userInput, user).isValid());","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"andychong23"},"content":" * This test takes in multiple delete inputs and tests whether the provided format is correct","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"andychong23"},"content":" * @param userInput String of a potential delete input","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"andychong23"},"content":" * @param expected Expected result of each test case","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"andychong23"},"content":" @ParameterizedTest","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"andychong23"},"content":" @CsvSource({","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"andychong23"},"content":" \"delete 2, false\",","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"andychong23"},"content":" \"delete 1, true\",","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"andychong23"},"content":" \"delete 0, false\",","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"andychong23"},"content":" \"delete 1 , true\",","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"andychong23"},"content":" \" delete 1, true\",","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"andychong23"},"content":" \"delete 1, true\"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"andychong23"},"content":" })","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"andychong23"},"content":" public void test_IsDeleteInputValid(String userInput, boolean expected) {","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"andychong23"},"content":" assertEquals(expected, InputValidator.isInputValid(userInput, user).isValid());","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"andychong23"},"content":"}","lastModifiedDate":"2025-02-05","isFullCredit":false}],"authorContributionMap":{"andychong23":167}},{"path":"src/test/java/task/DeadLineTaskTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"andychong23"},"content":"package task;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"andychong23"},"content":"import org.junit.jupiter.api.BeforeAll;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"andychong23"},"content":"import org.junit.jupiter.api.Test;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"andychong23"},"content":"import static org.junit.jupiter.api.Assertions.assertEquals;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"andychong23"},"content":"public class DeadLineTaskTest {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"andychong23"},"content":" static DeadLineTask dateDeadLineTaskOne;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"andychong23"},"content":" static DeadLineTask dateDeadLineTaskTwo;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"andychong23"},"content":" static DeadLineTask dateTimeDeadLineTaskOne;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"andychong23"},"content":" static DeadLineTask dateTimeDeadLineTaskTwo;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"andychong23"},"content":" * Initial set up of test conditions","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"andychong23"},"content":" @BeforeAll","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"andychong23"},"content":" public static void setUp() {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"andychong23"},"content":" dateDeadLineTaskOne \u003d new DeadLineTask(\"test\", \"12/12\");","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"andychong23"},"content":" dateDeadLineTaskTwo \u003d new DeadLineTask(\"test\", \"12/12/2026\");","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"andychong23"},"content":" dateTimeDeadLineTaskOne \u003d new DeadLineTask(\"test\", \"12/12 12:00\");","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"andychong23"},"content":" dateTimeDeadLineTaskTwo \u003d new DeadLineTask(\"test\", \"12/12 09:00\");","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"andychong23"},"content":" dateDeadLineTaskOne.setTaskDone(true);","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"andychong23"},"content":" * Tests for formatting of getDeadLine","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"andychong23"},"content":" @Test","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"andychong23"},"content":" public void test_GetDeadline() {","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"andychong23"},"content":" assertEquals(\"12 Dec 2025\", dateDeadLineTaskOne.getDeadLine());","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"andychong23"},"content":" assertEquals(\"12 Dec 2026\", dateDeadLineTaskTwo.getDeadLine());","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"andychong23"},"content":" assertEquals(\"12 Dec 2025 12:00pm\", dateTimeDeadLineTaskOne.getDeadLine());","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"andychong23"},"content":" assertEquals(\"12 Dec 2025 09:00am\", dateTimeDeadLineTaskTwo.getDeadLine());","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"andychong23"},"content":" * Tests for formatting of createSaveData","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"andychong23"},"content":" @Test","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"andychong23"},"content":" public void test_CreateSaveData() {","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"andychong23"},"content":" assertEquals(\"D|1|test|/by 12/12/2025\", dateDeadLineTaskOne.createSaveData());","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"andychong23"},"content":" assertEquals(\"D|0|test|/by 12/12/2026\", dateDeadLineTaskTwo.createSaveData());","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"andychong23"},"content":" assertEquals(\"D|0|test|/by 12/12/2025 12:00\", dateTimeDeadLineTaskOne.createSaveData());","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"andychong23"},"content":" assertEquals(\"D|0|test|/by 12/12/2025 09:00\", dateTimeDeadLineTaskTwo.createSaveData());","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"andychong23"},"content":" * Tests for formatting of getTaskInformation","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"andychong23"},"content":" @Test","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"andychong23"},"content":" public void test_GetTaskInformation() {","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"andychong23"},"content":" assertEquals(\"[D] [X] test (by: 12 Dec 2025)\", dateDeadLineTaskOne.getTaskInformation());","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"andychong23"},"content":" assertEquals(\"[D] [ ] test (by: 12 Dec 2026)\", dateDeadLineTaskTwo.getTaskInformation());","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"andychong23"},"content":" assertEquals(\"[D] [ ] test (by: 12 Dec 2025 12:00pm)\", dateTimeDeadLineTaskOne.getTaskInformation());","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"andychong23"},"content":" assertEquals(\"[D] [ ] test (by: 12 Dec 2025 09:00am)\", dateTimeDeadLineTaskTwo.getTaskInformation());","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"andychong23"},"content":"}","lastModifiedDate":"2025-02-05","isFullCredit":false}],"authorContributionMap":{"andychong23":59}},{"path":"src/test/java/task/EventTaskTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"andychong23"},"content":"package task;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"andychong23"},"content":"import org.junit.jupiter.api.BeforeAll;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"andychong23"},"content":"import org.junit.jupiter.api.Test;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"andychong23"},"content":"import static org.junit.jupiter.api.Assertions.assertEquals;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"andychong23"},"content":"public class EventTaskTest {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"andychong23"},"content":" static EventTask dateEventTaskOne;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"andychong23"},"content":" static EventTask dateEventTaskTwo;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"andychong23"},"content":" static EventTask dateTimeEventTaskOne;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"andychong23"},"content":" static EventTask dateTimeEventTaskTwo;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"andychong23"},"content":" * Initial set up of test conditions","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"andychong23"},"content":" @BeforeAll","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"andychong23"},"content":" public static void setUp() {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"andychong23"},"content":" dateEventTaskOne \u003d new EventTask(\"test\", \"12/12\", \"14/12\");","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"andychong23"},"content":" dateEventTaskTwo \u003d new EventTask(\"test\", \"12/12/2026\", \"14/12/2026 14:00\");","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"andychong23"},"content":" dateTimeEventTaskOne \u003d new EventTask(\"test\", \"12/12 12:00\", \"14/12 09:00\");","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"andychong23"},"content":" dateTimeEventTaskTwo \u003d new EventTask(\"test\", \"12/12 09:00\", \"14/12/2026\");","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"andychong23"},"content":" dateEventTaskOne.setTaskDone(true);","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"andychong23"},"content":" * Tests for formatting of getDeadLine","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"andychong23"},"content":" @Test","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"andychong23"},"content":" public void test_GetDeadline() {","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"andychong23"},"content":" assertEquals(\"14 Dec 2025\", dateEventTaskOne.getDeadLine());","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"andychong23"},"content":" assertEquals(\"14 Dec 2026 02:00pm\", dateEventTaskTwo.getDeadLine());","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"andychong23"},"content":" assertEquals(\"14 Dec 2025 09:00am\", dateTimeEventTaskOne.getDeadLine());","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"andychong23"},"content":" assertEquals(\"14 Dec 2026\", dateTimeEventTaskTwo.getDeadLine());","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"andychong23"},"content":" * Tests for formatting of getStartDateTime","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"andychong23"},"content":" @Test","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"andychong23"},"content":" public void test_GetStartDateTime() {","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"andychong23"},"content":" assertEquals(\"12 Dec 2025\", dateEventTaskOne.getStartDateTime());","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"andychong23"},"content":" assertEquals(\"12 Dec 2026\", dateEventTaskTwo.getStartDateTime());","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"andychong23"},"content":" assertEquals(\"12 Dec 2025 12:00pm\", dateTimeEventTaskOne.getStartDateTime());","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"andychong23"},"content":" assertEquals(\"12 Dec 2025 09:00am\", dateTimeEventTaskTwo.getStartDateTime());","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"andychong23"},"content":" * Tests for formatting of createSaveData","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"andychong23"},"content":" @Test","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"andychong23"},"content":" public void test_CreateSaveData() {","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"andychong23"},"content":" assertEquals(\"E|1|test|/from 12/12/2025 /to 14/12/2025\", dateEventTaskOne.createSaveData());","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"andychong23"},"content":" assertEquals(\"E|0|test|/from 12/12/2026 /to 14/12/2026 14:00\", dateEventTaskTwo.createSaveData());","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"andychong23"},"content":" assertEquals(\"E|0|test|/from 12/12/2025 12:00 /to 14/12/2025 09:00\", dateTimeEventTaskOne.createSaveData());","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"andychong23"},"content":" assertEquals(\"E|0|test|/from 12/12/2025 09:00 /to 14/12/2026\", dateTimeEventTaskTwo.createSaveData());","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"andychong23"},"content":" * Tests for formatting of getTaskInformation","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"andychong23"},"content":" @Test","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"andychong23"},"content":" public void test_GetTaskInformation() {","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"andychong23"},"content":" assertEquals(\"[E] [X] test (from: 12 Dec 2025 to: 14 Dec 2025)\", dateEventTaskOne.getTaskInformation());","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"andychong23"},"content":" assertEquals(\"[E] [ ] test (from: 12 Dec 2026 to: 14 Dec 2026 02:00pm)\", dateEventTaskTwo.getTaskInformation());","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"andychong23"},"content":" assertEquals(\"[E] [ ] test (from: 12 Dec 2025 12:00pm to: 14 Dec 2025 09:00am)\", dateTimeEventTaskOne.getTaskInformation());","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"andychong23"},"content":" assertEquals(\"[E] [ ] test (from: 12 Dec 2025 09:00am to: 14 Dec 2026)\", dateTimeEventTaskTwo.getTaskInformation());","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"andychong23"},"content":"}","lastModifiedDate":"2025-02-05","isFullCredit":false}],"authorContributionMap":{"andychong23":70}},{"path":"src/test/java/task/ToDoTaskTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"andychong23"},"content":"package task;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"andychong23"},"content":"import org.junit.jupiter.api.BeforeAll;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"andychong23"},"content":"import org.junit.jupiter.api.Test;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"andychong23"},"content":"import static org.junit.jupiter.api.Assertions.assertEquals;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"andychong23"},"content":"public class ToDoTaskTest {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"andychong23"},"content":" static ToDoTask toDoTaskOne;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"andychong23"},"content":" static ToDoTask toDoTaskTwo;","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"andychong23"},"content":" * Initial set up of test conditions","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"andychong23"},"content":" @BeforeAll","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"andychong23"},"content":" public static void setUp() {","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"andychong23"},"content":" toDoTaskOne \u003d new ToDoTask(\"test\");","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"andychong23"},"content":" toDoTaskTwo \u003d new ToDoTask(\"get apples\");","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"andychong23"},"content":" toDoTaskOne.setTaskDone(true);","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"andychong23"},"content":" * Test for formatting of createSaveData","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"andychong23"},"content":" @Test","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"andychong23"},"content":" public void test_CreateSaveData() {","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"andychong23"},"content":" assertEquals(\"T|1|test\", toDoTaskOne.createSaveData());","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"andychong23"},"content":" assertEquals(\"T|0|get apples\", toDoTaskTwo.createSaveData());","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"andychong23"},"content":"","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"andychong23"},"content":" /**","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"andychong23"},"content":" * Test for formatting of getTaskInformation","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"andychong23"},"content":" */","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"andychong23"},"content":" @Test","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"andychong23"},"content":" public void test_GetTaskInformation() {","lastModifiedDate":"2025-02-06","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"andychong23"},"content":" assertEquals(\"[T] [X] test\", toDoTaskOne.getTaskInformation());","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"andychong23"},"content":" assertEquals(\"[T] [ ] get apples\", toDoTaskTwo.getTaskInformation());","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"andychong23"},"content":" }","lastModifiedDate":"2025-02-05","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"andychong23"},"content":"}","lastModifiedDate":"2025-02-05","isFullCredit":false}],"authorContributionMap":{"andychong23":40}},{"path":"text-ui-test/corefunctionality/input.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"andychong23"},"content":"todo return book","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"andychong23"},"content":"deadline return newspaper /by tuesday","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"andychong23"},"content":"event networking /from 10/12 /to 11/12 12:00","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"andychong23"},"content":"mark 1","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"andychong23"},"content":"mark 2","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"andychong23"},"content":"event new networking /from 11/12 14:00 /to 20/12 09:00","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"andychong23"},"content":"unmark 1","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"andychong23"},"content":"bye","lastModifiedDate":"2025-01-30","isFullCredit":false}],"authorContributionMap":{"andychong23":8}},{"path":"text-ui-test/error/input.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"andychong23"},"content":"list 1","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"andychong23"},"content":"bye 1","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"andychong23"},"content":"mark 1 2","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"andychong23"},"content":"mark test","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"andychong23"},"content":"mark","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"andychong23"},"content":"unmark 1 2","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"andychong23"},"content":"unmark test","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"andychong23"},"content":"unmark","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"andychong23"},"content":"todo","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"andychong23"},"content":"deadline task","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"andychong23"},"content":"deadline task task","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"andychong23"},"content":"deadline task /by","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"andychong23"},"content":"deadline task /by test","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"andychong23"},"content":"event task","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"andychong23"},"content":"event /from monday /to test","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"andychong23"},"content":"event /from test /to monday","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"andychong23"},"content":"blah","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"andychong23"},"content":"bye","lastModifiedDate":"2025-01-31","isFullCredit":false}],"authorContributionMap":{"andychong23":18}},{"path":"text-ui-test/runtest.sh","fileType":"sh","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"#!/usr/bin/env bash","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"# Colors and formatting","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"RED\u003d\u0027\\033[0;31m\u0027","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"GREEN\u003d\u0027\\033[0;32m\u0027","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"BLUE\u003d\u0027\\033[0;34m\u0027","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"YELLOW\u003d\u0027\\033[1;33m\u0027","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"NC\u003d\u0027\\033[0m\u0027 # No Color","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"BOLD\u003d\u0027\\033[1m\u0027","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"# Print header","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"echo -e \"${BOLD}\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"echo -e \"${BLUE} Duke Test Runner ${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"echo -e \"${BOLD}\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d${NC}\\n\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"# Print Java version for debugging","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"echo -e \"${BOLD}[1/4] Checking Java version...${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"java -version","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"# check if using Java 21","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"java_ver\u003d$(java -version 2\u003e\u00261 | grep -i version | head -n 1)","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"echo -e \"${BLUE}Detected Java version: ${NC}$java_ver\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"version\u003d$(echo $java_ver | sed -n \u0027s/.*version \"\\([0-9]*\\).*/\\1/p\u0027)","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"echo -e \"${BLUE}Parsed major version: ${NC}$version\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":"if [ \"$version\" !\u003d \"21\" ]; then","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" echo -e \"\\n${RED}╔════ ERROR ══════════════════════════════════╗${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" echo -e \"${RED}║ Please use Java 21 (current version: $version)${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" echo -e \"${RED}╚═════════════════════════════════════════════╝${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" exit 1","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":"fi","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":"echo -e \"${GREEN}✓ Java version check passed${NC}\\n\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":"# create bin directory if it doesn\u0027t exist","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":"echo -e \"${BOLD}[2/4] Setting up test environment...${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":"if [ ! -d \"../bin\" ]","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":"then","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" mkdir ../bin","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" echo -e \"${BLUE}Created bin directory${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":"fi","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":"# delete output from previous run","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":"if [ -e \"./ACTUAL.TXT\" ]","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":"then","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" rm ACTUAL.TXT","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" echo -e \"${BLUE}Cleaned up previous test outputs${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":"fi","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":"# compile the code into the bin folder, terminates if error occurred","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":"echo -e \"\\n${BOLD}[3/4] Compiling source files...${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"andychong23"},"content":"if ! javac -cp ../src/main/java -Xlint:none -d ../bin ../src/main/java/*/*.java","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":"then","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" echo -e \"\\n${RED}╔════ ERROR ══════════════════════════════════╗${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" echo -e \"${RED}║ BUILD FAILURE ║${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" echo -e \"${RED}╚═════════════════════════════════════════════╝${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" exit 1","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":"fi","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":"echo -e \"${GREEN}✓ Compilation successful${NC}\\n\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":"# run the program, feed commands from input.txt file and redirect the output to the ACTUAL.TXT","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":"echo -e \"${BOLD}[4/4] Running tests...${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"andychong23"},"content":"ls -r |","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"andychong23"},"content":"for directory_path in $(grep -v \"runtest\");","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"andychong23"},"content":"do echo \"Running test to test for\" $directory_path;","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"andychong23"},"content":"cd ../bin;","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"andychong23"},"content":"java bob.Bob \u003c ../text-ui-test/$directory_path/input.txt \u003e ../text-ui-test/$directory_path/ACTUAL.TXT;","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"andychong23"},"content":"cd ../text-ui-test/$directory_path;","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":"cp EXPECTED.TXT EXPECTED-UNIX.TXT","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":"dos2unix ACTUAL.TXT EXPECTED-UNIX.TXT 2\u003e/dev/null","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"andychong23"},"content":"# convert to UNIX format","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":"# compare the output to the expected output","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":"diff ACTUAL.TXT EXPECTED-UNIX.TXT","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":"if [ $? -eq 0 ]","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":"then","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":" echo -e \"\\n${GREEN}╔════ SUCCESS ════════════════════════════════╗${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"andychong23"},"content":" echo -e \"${GREEN}║ test passed ║${NC}\"","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" echo -e \"${GREEN}╚═════════════════════════════════════════════╝${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"andychong23"},"content":"# exit 0","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":"else","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":" echo -e \"\\n${RED}╔════ ERROR ══════════════════════════════════╗${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"andychong23"},"content":" echo -e \"${RED}║ test FAILED ║${NC}\"","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"-"},"content":" echo -e \"${RED}╚═════════════════════════════════════════════╝${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"andychong23"},"content":"# exit 1","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"-"},"content":"fi","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"andychong23"},"content":"cd ..;","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"andychong23"},"content":"done","lastModifiedDate":"2025-01-31","isFullCredit":false}],"authorContributionMap":{"andychong23":14,"-":75}}] diff --git a/andychong23_ip_master/commits.json b/andychong23_ip_master/commits.json new file mode 100644 index 000000000..6ddf0efd0 --- /dev/null +++ b/andychong23_ip_master/commits.json @@ -0,0 +1 @@ +{"authorDailyContributionsMap":{"andychong23":[{"date":"2025-01-27","commitResults":[{"hash":"ba9c30e9269a8daf3c400cb5c97aa118284ba298","isMergeCommit":false,"messageTitle":"Move Duke.java into its own package","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":0,"deletions":0}}},{"hash":"c86bcd79ddfddea059bef1fb0cf94b8364843454","isMergeCommit":false,"messageTitle":"Include package into Duke.java","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":2,"deletions":0}}},{"hash":"523d88e8580c71d80d102201c16681fe0d908ac1","isMergeCommit":false,"messageTitle":"Add io package and the classes that are associated with it","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":71,"deletions":0}}},{"hash":"9323a6ddaef7276c1dba2cf5204a0dbcae2a1cdb","isMergeCommit":false,"messageTitle":"Change BufferedReader attribute to private","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1}}},{"hash":"dcbde572c0aa76419b0b814d5510f506a9e221df","isMergeCommit":false,"messageTitle":"Write first iteration of Output Class","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":30,"deletions":0}}},{"hash":"76325976b3c0a1e1207b066d16d14f5c9f22317e","isMergeCommit":false,"messageTitle":"Change scope of bufferedWriter to final","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":4,"deletions":5}}},{"hash":"ded25f62be9331e1a2bc538ba8deb3a1982a2a53","isMergeCommit":false,"messageTitle":"Change scope of bufferedReader to final","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":2,"deletions":3}}},{"hash":"5c73da43d9ee37cbe25784125b4bca4697630278","isMergeCommit":false,"messageTitle":"Revert \"Change scope of bufferedWriter to final\"","messageBody":"This reverts commit 76325976b3c0a1e1207b066d16d14f5c9f22317e.\n","fileTypesAndContributionMap":{"java":{"insertions":5,"deletions":4}}},{"hash":"f19bccb50dc06c68868163153e107235d9dc3060","isMergeCommit":false,"messageTitle":"Change scope of bufferedReader to final","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1}}},{"hash":"01d9617de3d0d0d6673ab024fbcd5547d272f957","isMergeCommit":false,"messageTitle":"Modify Output.java","messageBody":"Modify internal Implementation of initialization of BufferedWriter and added end arguement to printOutputMethod\n","fileTypesAndContributionMap":{"java":{"insertions":6,"deletions":6}}},{"hash":"6b74b5d5f48faf80ee75a424ce138e3235cbd62c","isMergeCommit":false,"messageTitle":"Modify elements access in for loop to include index","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":5,"deletions":3}}},{"hash":"7e27536d2a3203164f24515c3976d6f1d97db16e","isMergeCommit":false,"messageTitle":"Implement methods to display welcome and exit messages","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":34,"deletions":0}}},{"hash":"5df03275a6c74a9304a4ea65e1ca58e5fc467b2c","isMergeCommit":false,"messageTitle":"Rename name of chatbot to Bob","messageBody":"","tags":["Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":20,"deletions":10}}},{"hash":"102d95630bacdac63149528fd08cb433be8f9e82","isMergeCommit":false,"messageTitle":"Add cleanUserInput method","messageBody":"Wrap cleanUserInput method around getUserInput\n","fileTypesAndContributionMap":{"java":{"insertions":10,"deletions":1}}},{"hash":"1f2b45d12b5f8d8c933b2f1f4281c1302230174a","isMergeCommit":false,"messageTitle":"Add new methods","messageBody":"New methods added are: getUserInput, displayMessage. Methods modified: displayWelcomeMessage\n","fileTypesAndContributionMap":{"java":{"insertions":20,"deletions":0}}},{"hash":"60ff8d9a9b2f666799e5d0a20af2b7c7a358ff61","isMergeCommit":false,"messageTitle":"Add header comment to methods","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":8,"deletions":0}}},{"hash":"e2ef1fbf496508b5e026ee54da364b344f7fb6a3","isMergeCommit":false,"messageTitle":"Change file name from Duke to Bob","messageBody":"","fileTypesAndContributionMap":{"sh":{"insertions":1,"deletions":1}}},{"hash":"84b06972900dff4d8687e22a0c9f2543beb5532d","isMergeCommit":false,"messageTitle":"Add ability for user to enter user input","messageBody":"","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":17,"deletions":0}}}]},{"date":"2025-01-29","commitResults":[{"hash":"6ee1390c560eda751687b7bde3edaf32a0840f07","isMergeCommit":false,"messageTitle":"Add tasks to be done in Bob for Level-2","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":5,"deletions":1}}},{"hash":"1bccd9708cc33dd817c7ed74ed5eeee0f7b612be","isMergeCommit":false,"messageTitle":"Add displayMessage as a new method to UI","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":5,"deletions":1}}}]},{"date":"2025-01-30","commitResults":[{"hash":"b9ed2d90dacf467b61bd0bceafe01566674811e4","isMergeCommit":false,"messageTitle":"Created abstract base class of Task","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":25,"deletions":0}}},{"hash":"d417546317185e2037b4982801f2d0fdb289bddc","isMergeCommit":false,"messageTitle":"Add subclasses of Task","messageBody":"ReadTask and ReturnTask is created\n","fileTypesAndContributionMap":{"java":{"insertions":32,"deletions":0}}},{"hash":"d3e271723d59b647527b7fc12949c27b9cfa2445","isMergeCommit":false,"messageTitle":"Add first draft of EventHandler","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":29,"deletions":0}}},{"hash":"a17168d37e65cc4a12d67b0e3dccf6b7615ce831","isMergeCommit":false,"messageTitle":"Add First draft of User","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":27,"deletions":0}}},{"hash":"466685243f0ccebe739cc62d1b5c0af758237082","isMergeCommit":false,"messageTitle":"Change access modifiers for getTaskName and getTaskDetail","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":2,"deletions":2}}},{"hash":"6ed6ac1c620f1761e272f3474c0edddd360c73a5","isMergeCommit":false,"messageTitle":"Format string in getTaskList method of User class","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1}}},{"hash":"930cd91b036e60c6654858fd2502d53f62962e0f","isMergeCommit":false,"messageTitle":"Change input validation from Input class to UI class","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":21,"deletions":39}}},{"hash":"c8da4d04f7d6780877a86c04e32898fd22239414","isMergeCommit":false,"messageTitle":"Implemented processEvent method code","messageBody":"Add header comments to class\n","fileTypesAndContributionMap":{"java":{"insertions":54,"deletions":4}}},{"hash":"7bd20fa8e992005d46ae11567cbb560a030dbe65","isMergeCommit":false,"messageTitle":"Remove declaration of taskName","messageBody":"taskName attrtibute is already defined in the Task abstract class\n","fileTypesAndContributionMap":{"java":{"insertions":0,"deletions":2}}},{"hash":"d5e8f67cc27ce7c461d3326ac5c58e61721a94dc","isMergeCommit":false,"messageTitle":"Implemented code to get the String representation fo the taskList","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":4,"deletions":1}}},{"hash":"ed74c4bc9a29839e5e5206551af7fc19b25d1789","isMergeCommit":false,"messageTitle":"Introduced User and EventHandler objects","messageBody":"Move event processing to the EventHandler class\n","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":17,"deletions":10}}},{"hash":"ba692dfb47fb6a6bcc8eed7132fa6199234bd62d","isMergeCommit":false,"messageTitle":"Move Task class and subclasses to their own package","messageBody":"Renamed the packages in the other java files\n","tags":["A-Packages"],"fileTypesAndContributionMap":{"java":{"insertions":8,"deletions":5}}},{"hash":"428e7d37b1993ff6992693e4a1162e5c7b682024","isMergeCommit":false,"messageTitle":"Remove ReadTask.java and ReturnTask.java","messageBody":"These should all be considered as a task and should not have a specific class to handle each scenario\n","fileTypesAndContributionMap":{"java":{"insertions":0,"deletions":30}}},{"hash":"750c295a431cb664e68d4b5cb18f506c0293f516","isMergeCommit":false,"messageTitle":"Modified EventHandler class","messageBody":"Removed how tasks are defined. Instead of defining each task type, encapsulate under a Task class\n","fileTypesAndContributionMap":{"java":{"insertions":6,"deletions":24}}},{"hash":"36529f73bcd9ce5f6e7dc014e973507d176239b6","isMergeCommit":false,"messageTitle":"Refactor Task class to not be an abstract class to generalise it","messageBody":"Implemented the required methods for its functionality\n","fileTypesAndContributionMap":{"java":{"insertions":7,"deletions":19}}},{"hash":"376b78ba7f10626a08113abb851c1135b8ecf851","isMergeCommit":false,"messageTitle":"Change the formatted string to match what is required","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1}}},{"hash":"bdf4e5486ba74d1062efee086bb226e4a643cd15","isMergeCommit":false,"messageTitle":"Implemented attribute to check if Task is done","messageBody":"Implemented getters and setters to access the attribute\n","fileTypesAndContributionMap":{"java":{"insertions":10,"deletions":0}}},{"hash":"13dd3c43e934618f2fe53ca1246f6d0520347335","isMergeCommit":false,"messageTitle":"Refined header comment for getUserInput method","messageBody":"List that the returned String input has not trailing or leading whitespaces\n","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1}}},{"hash":"29bb249054b6126659e05d8ae193669832bcd626","isMergeCommit":false,"messageTitle":"Implemented isInputValid method","messageBody":"Covers list,bye,mark,unmark for input validation\n","fileTypesAndContributionMap":{"java":{"insertions":30,"deletions":0}}},{"hash":"bce9703b13e573c6d3d1ee25e325fb7ee960e4ff","isMergeCommit":false,"messageTitle":"Add markTaskAsDone, markTaskAsNotDone, getMarkTaskConsoleOutput and modified getTaskList","messageBody":"markTaskAsDone and markTaskAsNotDone changes the status of the Task number indicated.\n\ngetMarkTaskConsoleOutput returns the output message required to be displayed to the user\n\ngetTaskList is changed to include the task status\n","fileTypesAndContributionMap":{"java":{"insertions":27,"deletions":1}}},{"hash":"96af1001913ef9fe807e641a24bb7184d88a750a","isMergeCommit":false,"messageTitle":"Add enum for event types and implemented processEvent method","messageBody":"processEvent method checks the user input to the event type specified and carries out the appropriate actions\n","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":20,"deletions":2}}},{"hash":"78cff4836848a7e0d5bd66fa35dd29ab321cb7b4","isMergeCommit":false,"messageTitle":"Change EventHandler to ActionHandler","messageBody":"This is to reduce confusion between the Event task and the actual event to carry out processing for\n","fileTypesAndContributionMap":{"java":{"insertions":29,"deletions":9}}},{"hash":"9e931acb18d7bd5b115fa60cb9aa7d155011e74e","isMergeCommit":false,"messageTitle":"Change enum class from Event to Action in ActionHandler","messageBody":"Updated UI.java and Task.java to reflect changes accordingly\n","fileTypesAndContributionMap":{"java":{"insertions":16,"deletions":16}}},{"hash":"c6186cc440a7c27d544a56c71c8f72de06cfb414","isMergeCommit":false,"messageTitle":"Add new types of tasks that extends Task","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":27,"deletions":0}}},{"hash":"59426600ef5a73092130c6e093ea81b4ab2c9fa7","isMergeCommit":false,"messageTitle":"Add first draft of providing input validation for TODO, DEADLINE and EVENT actions","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":59,"deletions":6}}},{"hash":"7902902cffd1d97a18097cc0513c76b1bea7d30c","isMergeCommit":false,"messageTitle":"Input validation for TODO, DEADLINE and EVENT is completed","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":48,"deletions":4}}},{"hash":"a0756845b9b4b5262a640588e7482eb481e7a179","isMergeCommit":false,"messageTitle":"Implement HasDeadline Interface","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":5,"deletions":0}}},{"hash":"55b8f1a8a612c2d097ca95be70f67270f16c09ed","isMergeCommit":false,"messageTitle":"Implement HasStart Interface","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":5,"deletions":0}}},{"hash":"4a48d431eded5242953cc19976f9923bb6bf593b","isMergeCommit":false,"messageTitle":"Implement the code for DeadLineTask class","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":10,"deletions":2}}},{"hash":"0d546007e2fd5dfec508b2a435081ef02ecbefa2","isMergeCommit":false,"messageTitle":"Implement the code for EventTask class","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":25,"deletions":2}}},{"hash":"ddc94eaf9d637fd6683911cca9a43de60d2b2d03","isMergeCommit":false,"messageTitle":"Overloaded addTask method, implemented getTaskInformation method and implemented getNumberOfTasks","messageBody":"New addTask method returns the index of the task added in this list\n\ngetTaskInformation method returns the formatting of what is to be displayed to the user on the console\n\ngetNumberOfTasks returns the size of the current task list\n","fileTypesAndContributionMap":{"java":{"insertions":41,"deletions":11}}},{"hash":"ae20844a072e4b2fea59cbdbe3160a9ccb54c454","isMergeCommit":false,"messageTitle":"Implemented handling of TODO, DEADLINE and EVENT actions","messageBody":"Converted eventStringTokens to be implemented as a List data structure instead of an array\n\nOverloaded the createTask method to handle TODO, DEADLINE and EVENT actions\n","fileTypesAndContributionMap":{"java":{"insertions":92,"deletions":23}}},{"hash":"79a8428b5b79c0e2436a20e73c23026f1deb02cf","isMergeCommit":false,"messageTitle":"Implemented input validation","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":27,"deletions":27}}},{"hash":"695fd7d54f7a5e7565929d46598a5e78fceac993","isMergeCommit":false,"messageTitle":"Remove comments to complete Level-4","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":0,"deletions":7}}},{"hash":"aa7c17500fd21da1e5ac88493360bdd5eedea307","isMergeCommit":false,"messageTitle":"Modify getStartDateTime to get the correct attribute","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1}}},{"hash":"5306318611754a3a26231ac68bfedf170b8d9e7e","isMergeCommit":false,"messageTitle":"Set up automated testing","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":8,"deletions":0},"sh":{"insertions":2,"deletions":2}}}]},{"date":"2025-01-31","commitResults":[{"hash":"5398fe92976727488afb4d49dfe3a15c3af90bee","isMergeCommit":false,"messageTitle":"Shift unit test to corefunctionality folder","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":0,"deletions":0}}},{"hash":"6ae4b7ca77a2ccf3ac2f8c7b0c6d73d87423b08a","isMergeCommit":false,"messageTitle":"Create test to test for error messages returned to the user","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":18,"deletions":0}}},{"hash":"8a5375a9b1f29d505fb41d3e522a8219b4c239cd","isMergeCommit":false,"messageTitle":"Added ValidationToken class to encapsulate error message into the validation token","messageBody":"This helps to maintain the functionality of the isInputValid method in UI class\n\nThis also standardizes the input validation through the use of the ValidationToken\n","fileTypesAndContributionMap":{"java":{"insertions":125,"deletions":0}}},{"hash":"39d3c72b1882c18811088752cb67806e80a13510","isMergeCommit":false,"messageTitle":"Convert the return objects for isInputValid method from boolean to ValidationToken","messageBody":"","tags":["Level-5"],"fileTypesAndContributionMap":{"java":{"insertions":57,"deletions":17}}},{"hash":"6a77ba43ccbbbd5c9520855f24dbe3dbe462a60e","isMergeCommit":false,"messageTitle":"Change runtest.sh to loop through the test directories","messageBody":"","fileTypesAndContributionMap":{"sh":{"insertions":13,"deletions":8}}},{"hash":"3f93bd0dacda3be3202907b09d284c028745f82d","isMergeCommit":false,"messageTitle":"Add delete as a new action","messageBody":"DELETE is added to the Action enum class and processEvent handles delete input command now\nRemove default handling of input that does not match any action in the Action enum class\n","fileTypesAndContributionMap":{"java":{"insertions":6,"deletions":19}}},{"hash":"d803fd4fb21d37c3fb14b0bd6186df8d4777edc2","isMergeCommit":false,"messageTitle":"Add inputErrors for delete command and provide better name for incorrect argument types","messageBody":"Incorrect argument type is changed for mark command from mark_incorrect_argument to mark_incorrect_argument_type\n\nIncorrect argument type is changed for unmark command from unmark_incorrect_argument to unmark_incorrect_argument_type\n","fileTypesAndContributionMap":{"java":{"insertions":14,"deletions":2}}},{"hash":"fc937693d1678e523bb11ef90df6f433cd320588","isMergeCommit":false,"messageTitle":"Added new method deleteTask for User class","messageBody":"Modified ActionHandler to change method name from removeTask to deleteTask for consistency with action name\n","fileTypesAndContributionMap":{"java":{"insertions":7,"deletions":1}}},{"hash":"94e6589b91362c084a70c4d55e8e8ce895d5d061","isMergeCommit":false,"messageTitle":"Implement input validation for delete command and modify InputError enum for mark and unmark commands","messageBody":"InputError enum for mark is changed from MARK_INCORRECT_ARGUMENT to MARK_INCORRECT_ARGUMENT_TYPE\nInputError enum for unmark is changed from UNMARK_INCORRECT_ARGUMENT to UNMARK_INCORRECT_ARGUMENT_TYPE\n","tags":["Level-6"],"fileTypesAndContributionMap":{"java":{"insertions":18,"deletions":2}}},{"hash":"6bf8394ca718eb4ed9b97b0dffd16997ba7a418c","isMergeCommit":false,"messageTitle":"Rearrange imports","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":41,"deletions":32}}},{"hash":"7554a95179e1df032632baaae319d2a83d779bb3","isMergeCommit":false,"messageTitle":"Added header comments to all classes and methods","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":133,"deletions":9}}},{"hash":"e2183efa1a7419f264d55e66b24c0cc37ff9b274","isMergeCommit":false,"messageTitle":"Refactor string building to use String.join instead of StringBuilder","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":5,"deletions":26}}},{"hash":"8c083b7d06e40a83580547960da32c0d3bb7adc6","isMergeCommit":false,"messageTitle":"Include INVALID_TASK_NUMBER as a new input error","messageBody":"This covers cases where user has to pass in a task number that does not exist in the list\n","fileTypesAndContributionMap":{"java":{"insertions":6,"deletions":0}}},{"hash":"8d9d977ebf33d75b34319cd68016f5990f17b9d5","isMergeCommit":false,"messageTitle":"Modify isInputValid method to receive User as a new parameter","messageBody":"This allows task number input validation to be done to ensure that the task number exists\n","fileTypesAndContributionMap":{"java":{"insertions":12,"deletions":4}}},{"hash":"1b75a4dbcdd4cf8cadea782de3f71d22f316adae","isMergeCommit":false,"messageTitle":"Pass in User to ui.getValidUserInput","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1}}}]},{"date":"2025-02-03","commitResults":[{"hash":"5cc0dd6e02b14a442992b7e998280d130f17b3a6","isMergeCommit":false,"messageTitle":"Change UI variable to uI to follow code standards","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":5,"deletions":5}}},{"hash":"26dca6bc8e4528196c544b1524abc3d7e52576d7","isMergeCommit":false,"messageTitle":"Add code to handle data storage capabilities","messageBody":"Add a Path object to User class\n\nAdd DataHandler class to handle all tasks relating reading and writing data\n","fileTypesAndContributionMap":{"java":{"insertions":16,"deletions":0}}},{"hash":"a8165dd6deb0bb6e961a57582c7b3a53654ff7ea","isMergeCommit":false,"messageTitle":"Add initial implementation of DataHandler","messageBody":"Methods such as writeFile and readFile is implemented\n","fileTypesAndContributionMap":{"java":{"insertions":22,"deletions":3}}},{"hash":"e0ec67573ac21a11f5db0f6e535d9fa282eb02f1","isMergeCommit":false,"messageTitle":"Modified User class to be able to save user data","messageBody":"Implemented getter for dataFilePath\n\nImplemented getSaveData which returns the save information for the tasks\n\nImplmented a new constructor that takes in the userName to look for the correct saved file\n","fileTypesAndContributionMap":{"java":{"insertions":20,"deletions":2}}},{"hash":"d79deb95d35bea6c0b3e5ef5226171872f60a16c","isMergeCommit":false,"messageTitle":"Implemented getSaveInformation method to return task to be saved","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":12,"deletions":0}}},{"hash":"ae9243445dffb4b8bfbe64bf8225ce89f1ccd089","isMergeCommit":false,"messageTitle":"Override superclass getSaveInformation method","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":30,"deletions":0}}},{"hash":"208d69b85b3825eb040aaa3b295bbec3ea10d64a","isMergeCommit":false,"messageTitle":"Modified writeFile and saveFile implementation to handle missing files","messageBody":"Include saveDelimeter as a global variable to be accessed\n","fileTypesAndContributionMap":{"java":{"insertions":5,"deletions":2}}},{"hash":"432fb36f1bee3bc4a2c2a448b23a652c9ea3b465","isMergeCommit":false,"messageTitle":"Implemented functionality to save user data in ActionHandler","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":8,"deletions":0}}},{"hash":"8417c50f75ee689c8fdaa034559a8fce07fa4144","isMergeCommit":false,"messageTitle":"Add default user name to the implementation","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1}}},{"hash":"7d434b2b8eeea194e57c8092dd8096e662527a57","isMergeCommit":false,"messageTitle":"Rename delemiter to delimiter","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":4,"deletions":5}}},{"hash":"c7c5f4be5a5f111199f017516441aac563cabd45","isMergeCommit":false,"messageTitle":"Change createTask method to become a static method","messageBody":"This change ensures that users can recreate the task list from their save file\n\nAdded a DEFAULT action to handle all switch cases\n","fileTypesAndContributionMap":{"java":{"insertions":3,"deletions":2}}},{"hash":"e0f65f9b6e31d3f298b0628dac10317b7cfa7bad","isMergeCommit":false,"messageTitle":"Add programRoot static variable","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":3,"deletions":0}}},{"hash":"9cb5ec75641221c0a75aff4d663e8a91d930266a","isMergeCommit":false,"messageTitle":"Implemented the construction of the full file path to get the save file","messageBody":"Created the first draft to build the task list from the save file\n","fileTypesAndContributionMap":{"java":{"insertions":14,"deletions":1}}},{"hash":"189bd0ec73f826c1ba6269d4da092c15b6fc89fe","isMergeCommit":false,"messageTitle":"Implemented mapTaskType method that returns the taskType","messageBody":"This is done to allow the User class to recreate the task list from the save file\n","fileTypesAndContributionMap":{"java":{"insertions":9,"deletions":0}}}]},{"date":"2025-02-04","commitResults":[{"hash":"aea58af21a25f66e2353fc360b90c7de3380f6de","isMergeCommit":false,"messageTitle":"Change default username to bob","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1}}},{"hash":"320b92f406ecc89f639b17083a06ab175182a68b","isMergeCommit":false,"messageTitle":"Change how writeFile and readFile is implemented","messageBody":"writeFile method: There is no need to check if file exists as the start up of the programme always tries to read the file\n\nIf the file does not exist, the file will be created at the start\n\nreadFile method: Change the way file creation is done if the file does not exists\n","fileTypesAndContributionMap":{"java":{"insertions":9,"deletions":8}}},{"hash":"00198a2bd76c12876c65438ee2e1996bf2f8ad83","isMergeCommit":false,"messageTitle":"Modify implementation of constructor, buildTaskList and changed getSaveData to createSaveData","messageBody":"Constructor now builds the task list when the user gets initialised with a user name\n\nbuildTaskList splits the saveData correctly. Fixed the issue where the saveData was not split on saveDelimiter due to regex evaluation\n\nbuildTaskList builds the taskDetails format accordingly so that ActionHandler.createTask can be called\n\nbuildTaskList handles scenarios where ActionHandler.createTask returns null\n\nChanged method from getSaveData to createSaveData to make the method clearer on what it is actually doing\n","fileTypesAndContributionMap":{"java":{"insertions":20,"deletions":7}}},{"hash":"483dc017c35ada64561389217ebfa4c2519d0e41","isMergeCommit":false,"messageTitle":"Changed method from getSaveInformation to createSaveData","messageBody":"This change better reflects what the method is supposed to do\n\nChanged saveInformation payload for EventTask and DeadLineTask\n","fileTypesAndContributionMap":{"java":{"insertions":9,"deletions":10}}},{"hash":"2e9ffdf4a8a40495901a536a764d877e79213fdb","isMergeCommit":false,"messageTitle":"Change the method call for Task objects to create their save data","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1}}},{"hash":"fa07b63b8b38a83a57bf35958358a22d13313f18","isMergeCommit":false,"messageTitle":"Reflect method name changes from User class","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1}}},{"hash":"09568c4a8dbbcb8cc6e4bf824b1d837aca3e420a","isMergeCommit":false,"messageTitle":"Refactor getTaskInformation method from User class to Task class","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":25,"deletions":30}}},{"hash":"bfe54ec63d9ea6eecd45b755fe613b6858eee73b","isMergeCommit":false,"messageTitle":"Modify runtest.sh for correct program functionality with files","messageBody":"","fileTypesAndContributionMap":{"sh":{"insertions":3,"deletions":2}}},{"hash":"fc8748fecf03192291e64d7481d4aaaf0c582cc7","isMergeCommit":false,"messageTitle":"Modify getTaskInformation implementation after refactoring from User to Task class","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":15,"deletions":21}}},{"hash":"bfef16ab688bbafa4d37f881432da5e8dfd21bb8","isMergeCommit":false,"messageTitle":"Remove todo comment","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":0,"deletions":1}}},{"hash":"62df4b6f47c31624267dcd643e2bbe8b4e521243","isMergeCommit":false,"messageTitle":"Modify dataFilePath such that it reflects the correct file paths to find the storage file","messageBody":"Modified methods to getTaskInformation from the task instead of calling the getTaskInformation method from the User class\n","fileTypesAndContributionMap":{"java":{"insertions":6,"deletions":20}}},{"hash":"7a79d79a33dc0c10898c72ddf631216efcd3f0e0","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-7\u0027 into master","messageBody":"Implemented Level-7 of the ip\n\nMain implementations:\n1. Implemented save feature such that users can save their event logs\n2. Refactored getTaskInformation from User to Task class\n3. Modified runtest.sh such that user logs are found in the correct location\n","tags":["Level-7"],"fileTypesAndContributionMap":{}},{"hash":"2e04b75636ab8da9f24c720f4b4e7be252f4941a","isMergeCommit":false,"messageTitle":"Refactor date and datetime validation to InputValidation class from UI class","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":92,"deletions":41}}},{"hash":"4b6eda0fd4be0d07016398399a796a463a8ad110","isMergeCommit":false,"messageTitle":"Implement parsing of date/datetime string to date/datetime objects","messageBody":"Implemented superclass method to parse dates and datetimes\n\nModified constructors and getters in both EventTask and DeadLineTask to accomodate date/datetime objects\n","fileTypesAndContributionMap":{"java":{"insertions":109,"deletions":9}}},{"hash":"159daf31d4cb626beb82c8337c2986454acf4ed9","isMergeCommit":false,"messageTitle":"Change DateTimeFormatter format for isValidDate","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":2,"deletions":2}}},{"hash":"38353cc12439a8d0e7c00c73e1b8e106fd4563f9","isMergeCommit":false,"messageTitle":"Change date separator in parseDateTime method","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":2,"deletions":1}}}]},{"date":"2025-02-05","commitResults":[{"hash":"ebb11d9341d823472ff7f6860a0af5783b8636d0","isMergeCommit":false,"messageTitle":"Refactor input validation code to InputValidator class from UI class","messageBody":"This was done to abstract away implementation from the UI class\n\nThis also ensures that all input validation is handled by the InputValidator class\n","tags":["A-MoreOOP"],"fileTypesAndContributionMap":{"java":{"insertions":182,"deletions":176}}},{"hash":"55dbdc89889a414c7b2e86665515d32783456e3b","isMergeCommit":false,"messageTitle":"Add save format for date and datetime objects used in tasks","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":3,"deletions":1}}},{"hash":"5293ec7541ae4a4c0266337a803f4618d2cc6018","isMergeCommit":false,"messageTitle":"Add parseDate and parseDateTime methods","messageBody":"These methods ensures that string representations of accepted date and datetime formats can be parsed into their objects\n","fileTypesAndContributionMap":{"java":{"insertions":25,"deletions":47}}},{"hash":"efcbf2cb4435db49122cc93bc53f8477923c86a3","isMergeCommit":false,"messageTitle":"Modify implementation of EventTask and DeadLineTask to fit requirements for Level-8","messageBody":"For EventTask:\n1. Constructor was modified to parse date and datetime inputs\n2. Getters and Setters were modified to use DateTimeFormatters to get proper output for users\n3. Implemented getSaveFromTime and getSaveToTime to get output for saving\n\nFor DeadLineTask:\n1. Implemented getSaveDeadLine to get output for saving\n","fileTypesAndContributionMap":{"java":{"insertions":30,"deletions":10}}},{"hash":"e40288413968ff3368e8896ab8c9321b25d1a55a","isMergeCommit":false,"messageTitle":"Add DateTimeFormatters that can be used by objects implementing the interfaces","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":8,"deletions":0}}},{"hash":"5ec84ba458e5a17dfd1147576acdad294cb93c07","isMergeCommit":false,"messageTitle":"Modify dateFilePath attribute to reflect the correct path","messageBody":"Add format of different saves to buildTaskList method\n","fileTypesAndContributionMap":{"java":{"insertions":3,"deletions":3}}},{"hash":"ae28c4d9589f018f86119b628b0c571c1a86256c","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-8\u0027","messageBody":"Main Impelmentation:\n1. Keep date and datetime information as date and datetime objects instead of strings\n2. Add input validation to ensure that the date information can be parsed\n3. Add DateTimeFormatter objects to ensure that save and read formats are consistent\n4. Modify getters for dates to ensure that they retrieve dates in the correct format\n5. Move input validation from UI to InputValidator\n","tags":["Level-8"],"fileTypesAndContributionMap":{}},{"hash":"dde3583e6ba4ab7351206bf75ef24b4f2a41ce59","isMergeCommit":true,"messageTitle":"Merge branch \u0027add-gradle-support\u0027 to master for A-Gradle","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"4888215995cdb9c3dbfcee5a4659da46278657f4","isMergeCommit":false,"messageTitle":"Add gradle support","messageBody":"Modified the properties file to use the latest version compatible with JDK 21\n","fileTypesAndContributionMap":{"gradle":{"insertions":7,"deletions":1}}},{"hash":"5b91dfc50166d823d83e7e2cf16056122c68d014","isMergeCommit":false,"messageTitle":"Change dataFilePath to reflect data folder in project directoy","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1}}},{"hash":"4f0e641ac7c5b2d0e81609f57229166c7be0ed34","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-Gradle\u0027","messageBody":"Add gradle support to the project\n","tags":["A-Gradle"],"fileTypesAndContributionMap":{}},{"hash":"89ffd36b5fb044614e887c5bc5cbc6f57aed3a6c","isMergeCommit":false,"messageTitle":"Add parameterized tests package for functioning of JUnit tests","messageBody":"","fileTypesAndContributionMap":{"gradle":{"insertions":3,"deletions":0}}},{"hash":"30fdd3bc0ac44212a5db3397b9b4bc36b375af00","isMergeCommit":false,"messageTitle":"Add UnitTesting for 4 classes","messageBody":"1. InputValidator\n2. DeadLineTask\n3. EventTask\n4. ToDoTask\n\nIn InputValidator, the methods isInputValid, isValidDate, isValidDateTime is tested\nIn DeadLineTask, the methods getDeadline, createSaveData, getTaskInformation is tested\nIn EventTask, the methods getDeadline, getStartDateTime, createSaveData, getTaskInformation is tested\nIn ToDoTask, the methods createSaveData and getTaskInformation is tested\n","fileTypesAndContributionMap":{"java":{"insertions":253,"deletions":0}}},{"hash":"fd36e7c4367eba39bc5c045e7e78b96225ad8c95","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-JUnit\u0027","messageBody":"","tags":["A-JUnit"],"fileTypesAndContributionMap":{}}]},{"date":"2025-02-06","commitResults":[{"hash":"1cb7e8ef1e21ff125f7219f77a29cb5431843b1a","isMergeCommit":false,"messageTitle":"Modify shadowJar to compile project into bob.jar","messageBody":"","fileTypesAndContributionMap":{"gradle":{"insertions":1,"deletions":1}}},{"hash":"0a77412ca312c95e596ed38d72c06c0a535ec6c3","isMergeCommit":false,"messageTitle":"Handle situations where the data folder does not exists and creates the directory","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":4,"deletions":0}}},{"hash":"642e0ea5c7d56956e1df5efa72475333d9056b38","isMergeCommit":false,"messageTitle":"Modify the way dataFilePath is created","messageBody":"Path resolve method is used instead of string concatenation\n","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":2}}},{"hash":"c68db85e3baf3d9acad1a76a1014c511658b17a8","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-Jar\u0027 to master","messageBody":"Implementation:\n1. Modified .gitignore to ignore jar file in project\n2. Modified build.gradle to package the app as a jar as bob.jar\n3.Changed how paths are created in DataHandler and User\n","tags":["A-Jar"],"fileTypesAndContributionMap":{}},{"hash":"1578ba87029b7ef9c662957e1c0be87d3f614554","isMergeCommit":false,"messageTitle":"Add documentation to non trivial methods","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":80,"deletions":2}}},{"hash":"e4b26db222152fdeaf3890f310a8ecb0eb4ee6a7","isMergeCommit":false,"messageTitle":"Add underscore to separate different parts for test methods","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":17,"deletions":17}}},{"hash":"7d8e2956989697d49ddc8f078b493379b3179c80","isMergeCommit":false,"messageTitle":"Modify code according to coding standards","messageBody":"Changed if-else indentations, try-catch indentations and do-while indentations\n","fileTypesAndContributionMap":{"java":{"insertions":49,"deletions":66}}},{"hash":"9ef43864aa407f6b4773b3366bac6536d7f2f6f3","isMergeCommit":false,"messageTitle":"Add new action to be handled","messageBody":"The new action\u0027s keyword is \u0027FIND\u0027\n","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":0}}},{"hash":"1d224179f162539e659ec6bb1b79e3b787b6eeff","isMergeCommit":false,"messageTitle":"Add input validation of FIND action","messageBody":"Input validation for FIND checks if there are at least one argument following the FIND keyword\n","fileTypesAndContributionMap":{"java":{"insertions":6,"deletions":0}}},{"hash":"360fc5c112b2fe73142edfda86e1b47ab13a15a9","isMergeCommit":false,"messageTitle":"Add new InputError: FIND_TOO_LITTLE_ARGUMENTS","messageBody":"This new enum type will return the error message that the user has provided too little arguments\n","fileTypesAndContributionMap":{"java":{"insertions":8,"deletions":1}}},{"hash":"f387f908972e2d99c9115d8570c3aabf1fbfbae1","isMergeCommit":false,"messageTitle":"Add action processing for FIND action","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":12,"deletions":0}}},{"hash":"2a6a64f0c5299e2027febae470275ec8d0ce26fe","isMergeCommit":false,"messageTitle":"Add support for FIND action in User class","messageBody":"Main Implementations:\n1. Add findTaskWithKeyWord method. This method takes in a keyword and searches each Task\u0027s details for a case-insensitive match\n2. Overloaded getTaskList to take in a list of Tasks and output them as a String to be displayed to the user\n\tgetTaskList has a very similar structure to the original getTaskList\n","fileTypesAndContributionMap":{"java":{"insertions":29,"deletions":0}}},{"hash":"fb66ebfba12a5f7f63e71685051fd47de53e2a54","isMergeCommit":false,"messageTitle":"Improve error message returned for INVALID_COMMAND","messageBody":"Add more commands that are supported by not listed yet\n","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1}}},{"hash":"3d4cbaec656315f4eb49a6ebcf8b44d65586d3cb","isMergeCommit":false,"messageTitle":"Add cheer.txt to implement CHEER action","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":5,"deletions":0}}},{"hash":"be56841fb278e6bbcca277333ea5100d2c3324ea","isMergeCommit":false,"messageTitle":"Modify quote such that the characters are all printable","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":1,"deletions":1}}},{"hash":"12a451737b06ab5c61138ea6eacaa8d6d342c4ea","isMergeCommit":false,"messageTitle":"Implement action handling for CHEER action","messageBody":"Implemented a private method to get a cheer message\nAdded a RandomGenerator object to ActionHandler\n","fileTypesAndContributionMap":{"java":{"insertions":14,"deletions":1}}},{"hash":"d1213cee9c6e4d1166b9c1b01388634a8d63fa32","isMergeCommit":false,"messageTitle":"Implemented input validation for CHEER action","messageBody":"InputValidator:\n1. Checked for number of arguments for CHEER action\n\nValidationToken:\n1. Added CHEER_TOO_MANY_ARGUMENTS for InputError enum\n","fileTypesAndContributionMap":{"java":{"insertions":13,"deletions":0}}},{"hash":"35d24e5ab933b2aab6a44d81168344539a847cbb","isMergeCommit":false,"messageTitle":"Implemented getting cheer.txt file from resource","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":12,"deletions":0}}}]},{"date":"2025-02-07","commitResults":[{"hash":"45e501a4ef9913ab81d3dc28beb26eb1e4c2612c","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-JavaDoc\u0027 with master","messageBody":"Add documentation to methods and classes\n","tags":["A-JavaDoc"],"fileTypesAndContributionMap":{}},{"hash":"af9293de2c6eebde7c6db06a62e6c77d87275acf","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-CodingStandard\u0027 to master","messageBody":"Edit code structure such that it follows the coding standard provided\n","tags":["A-CodingStandard"],"fileTypesAndContributionMap":{}},{"hash":"536cd4b1dcfbf8e2eca8f0396484c106881417e2","isMergeCommit":false,"messageTitle":"Change implementation of findTaskwithKeyWord in User Class","messageBody":"Previous implementation only loops through the first n - keyWordLength\ncharacters of taskDetail. However, it created some bugs where the keyword\ncould not be found. To resolve this, we loop through all the characters instead\n","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1}}},{"hash":"9a6b8e7c1aac8f45ca1111bae27305ca2297dd56","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-9\u0027 to master","messageBody":"Implemented Level 9\n\nMain Implementation:\n1. ActionHandler class implments FIND command\n2. InputValidator implements input validation for FIND command\n3. ValidationToken implements InputError for FIND command\n4. User implements findTaskWithKeyWord method for FIND command\n","tags":["Level-9"],"fileTypesAndContributionMap":{}},{"hash":"3ea481ef476d54dd75de7005b39b6b717b6e5f32","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-Cheer\u0027 to master","messageBody":"Fix ActionHandler and InputValidator conflict\n- Include both CHEER and FIND actions\n\nImplemention CHEER action\n1. Implemented CHEER input validation in InputValidator\n2. Implemented CHEER action handler in ActionHandler\n3. Implemented resources package to store cheer.txt\n4. Implemented cheerPath as a static variable in DataHandler\n5. Implemented getCheerMessage method in ActionHandler\n6. Implemented new InputError enum for CHEER\n","tags":["A-Cheer"],"fileTypesAndContributionMap":{}}]},{"date":"2025-02-14","commitResults":[{"hash":"63a13e7c4fc7c30b0b0fd1cda9f807a9ce22e7ad","isMergeCommit":false,"messageTitle":"Added comments for each unit test for each class","messageBody":"InputValidatorTest:\n1. Added header comments to all unit tests to illustrate their purpose\n2. Added a new test case for test_IsByeInputValid\n\nDeadLineTaskTest, EventTaskTest, ToDoTaskTest:\n1. Added header comments to all unit tests to illustrate their purpose\n","fileTypesAndContributionMap":{"java":{"insertions":85,"deletions":2}}},{"hash":"61f09ca3a9f66a4843b237b692282f3f060c511f","isMergeCommit":false,"messageTitle":"Implmented DELETE input validation that was missed","messageBody":"Input validation of DELETE did not check if provided task number existed\nPrevious implementation only checked if a number was provided\n\nNew implementation checks if the task number exists and if the provided argument can be parsed as an integer\n","fileTypesAndContributionMap":{"java":{"insertions":10,"deletions":1}}},{"hash":"7a71d3a4f59eafeedcb070076e770492af848798","isMergeCommit":false,"messageTitle":"Changed expected outcome for one test case in test_IsEventInputValid","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1}}},{"hash":"5d88f37d36d2729412b82f1c91d6ec38570b5cc6","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-UnitTesting\u0027 into master","messageBody":"Main Implementations:\n1. Included header comments for all unit tests\n2. Handled further input validation for DELETE that was missed\n","tags":["branch-A-UnitTesting"],"fileTypesAndContributionMap":{}},{"hash":"8908d2cc4bb1776ef8876d8e00507f688ef550a7","isMergeCommit":false,"messageTitle":"Refactor InputValidator class to split logic processing into more methods","messageBody":"InputValidator:\n1. Move validation logic into individual methods to abstract isInputValid method\n2. Carry out more checks for Event to ensure that there is at least information about the event\n\nValidationToken:\n1. Include new InputErro to handle missing event information\n","fileTypesAndContributionMap":{"java":{"insertions":155,"deletions":103}}},{"hash":"7295d86ad7219c6641db1d42d1f567e21856e71c","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Refactor-InputValidator\u0027 to master","messageBody":"Refactor InputValidator to move validation for different commands into different methods\n","fileTypesAndContributionMap":{}}]},{"date":"2025-02-15","commitResults":[{"hash":"d7851415179cf337439501dd5501b5dd769fc5cc","isMergeCommit":false,"messageTitle":"Add javafx support in build.gradle and comment out checkStyle","messageBody":"","fileTypesAndContributionMap":{"gradle":{"insertions":14,"deletions":4}}},{"hash":"182eb0db8bb5f4570851d68e2929b2e180853d02","isMergeCommit":false,"messageTitle":"Add first draft for creating the GUI","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":94,"deletions":0}}},{"hash":"8fa9c37776421103c9ebed9e6e7f1a99650e5845","isMergeCommit":false,"messageTitle":"Add the entry point to the GUI","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":9,"deletions":0}}}]},{"date":"2025-02-16","commitResults":[{"hash":"742c6a11f701c5da74613d4453add60de9e0a137","isMergeCommit":false,"messageTitle":"Change launcher location","messageBody":"","fileTypesAndContributionMap":{"gradle":{"insertions":1,"deletions":1}}},{"hash":"fc246f2c7262cd02f80a7d0a6054bb6e33515c24","isMergeCommit":false,"messageTitle":"Set default size for images and enable text wrapping","messageBody":"Implement static methods createUserDialogBox and createBobDialogBox\nThis allows different dialog box of different formats to be created\nbobDialogBox will have its contents reversed from userDialogBox\n","fileTypesAndContributionMap":{"java":{"insertions":26,"deletions":6}}},{"hash":"487496b44f66f51aba00450d5c849b407f0305af","isMergeCommit":false,"messageTitle":"Move resource retrieval to BobWindow","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":0,"deletions":2}}},{"hash":"3769852ff484890c96286e93265332eff96bdd9b","isMergeCommit":false,"messageTitle":"Implemented button clicking and enter keystroke events to trigger certain actions","messageBody":"Implemented setDefaultWindow to handle set up of the window for Bob GUI\nAdded setDefaultVBox, setDefaultScrollPane, setDefaultTextField to handle set up of\ndifferent GUI objects for BobWindow\n\nImplemented handleEnter and handleButtonClick methods to trigger actions based on user inputs\n","fileTypesAndContributionMap":{"java":{"insertions":57,"deletions":11}}},{"hash":"13896cdfa7030ebd323b1eb82c44f0a8d424d8dc","isMergeCommit":false,"messageTitle":"Implemented methods in Bob to complement the gui package","messageBody":"Methods impelmented:\n1. New constructor that takes in a userName\n2. getWelcomeMessage and getExitMessage to return text to the gui component\n3. parseInput to take in the input from the gui component and evaluate whether the command is valid\n","fileTypesAndContributionMap":{"java":{"insertions":27,"deletions":24}}},{"hash":"d2e197b1a37f4b4f98e69c96c92d033bda26ddcb","isMergeCommit":false,"messageTitle":"Modified UI class to fit the gui package added","messageBody":"Main changes:\n1. Implemented new UI constructor that only takes in the botName as an input\n2. Add getWelcomeMessage and getExitMessage to return welcome and exit messages to bob\n","fileTypesAndContributionMap":{"java":{"insertions":21,"deletions":2}}},{"hash":"41ff4766fefc732bae1dbb04fc212fccc0df8c98","isMergeCommit":false,"messageTitle":"Change title of the stage","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":4,"deletions":4}}},{"hash":"07f050549354a86b6d0533e32b25f1e38847df3c","isMergeCommit":false,"messageTitle":"Remove redundant import","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":0,"deletions":1}}},{"hash":"e39a0676fd345e626bc31452cf49e86ea1947cf2","isMergeCommit":false,"messageTitle":"Implment event handling for user inputs","messageBody":"When user presses enter or clicks the send button, it will send the command to Bob\n\nOther implementations:\n1. Implement handleExit and handleUserLogIn to handle the entry and exit of Bob\n","fileTypesAndContributionMap":{"java":{"insertions":53,"deletions":9}}},{"hash":"f4b593d8b5ee5d88e5f65510633f465bef695c3d","isMergeCommit":false,"messageTitle":"Remove throwing IOException","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":2,"deletions":2}}},{"hash":"f66b2e471be25ed4fa20b02f9817ee8d6dc235ab","isMergeCommit":false,"messageTitle":"Refactor event handling by abstracting event checking logic into their own methods","messageBody":"Implemented isExit and isEnter to check if the user is just sending a new command or user wants to end the chatbot\nModified handleButtonClick to handle unchecked IOException to reduce code complexity in methods that uses handleButtonClick\n","fileTypesAndContributionMap":{"java":{"insertions":42,"deletions":23}}},{"hash":"bff62ac886a2275e37944c41b08e37e95b858e1f","isMergeCommit":false,"messageTitle":"Remove IOException method signatures from getWelcomeMessage and getExitMessage","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":2,"deletions":2}}},{"hash":"6794676cdf16c0914187a54f315ad4f572247822","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-10\u0027 to master","messageBody":"Main Implementation:\n1. Implemented a GUI for the chatbot\n2. Refactor methods to redirect input from the GUI to the correct checkers\n3. Implemented new methods to redirect output to the GUI\n","tags":["Level-10","A-FullCommitMessage"],"fileTypesAndContributionMap":{}},{"hash":"a1406ee6643fad3cf72fb86fa7f60117d0bb87fb","isMergeCommit":false,"messageTitle":"Refactor ActionHandler methods","messageBody":"Main Implementation:\n1. Refactor out action processing into their own methods to increase abstraction\n","fileTypesAndContributionMap":{"java":{"insertions":166,"deletions":67}}},{"hash":"bb0642e9675364624987afb03a594d0ad799bb35","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Refactor-ActionHandler\u0027 to master","messageBody":"","fileTypesAndContributionMap":{}}]},{"date":"2025-02-21","commitResults":[{"hash":"a1d3c29e0c718fef517d0aa92a5dad3b7c4945b8","isMergeCommit":false,"messageTitle":"Fix bug in Bob.java","messageBody":"When refactoring ActionHandler, method name was changed from processEvent -\u003e processAction\nHowever, the change was not reflected in the method call of Bob.java\nThus, this commit rectifies this issue\n","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1}}}]},{"date":"2025-02-23","commitResults":[{"hash":"9f5bee67c7a23fd5f8553b4ccf4010b930cf722b","isMergeCommit":false,"messageTitle":"Add assertions to ensure that createdTask is not null","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":3,"deletions":0}}},{"hash":"8c8080b827f6e0b820e4a6d75da90437469a95ee","isMergeCommit":false,"messageTitle":"Refactor getTaskList","messageBody":"Main Implementation:\nThere were 2 getTaskList method that had the same implementation with different inputs\nOne built the list from taskList, the other built the task list from a list provided\nThis commit refactors the common code into buildTaskList\n\nRename the original buildTaskList to buildSavedDataTaskList to be more explicit\n","fileTypesAndContributionMap":{"java":{"insertions":10,"deletions":17}}},{"hash":"f9ceab4be54cd393e32980bf4f740c1fe2d9649a","isMergeCommit":true,"messageTitle":"Merge pull request #1 from andychong23/branch-A-Assertions","messageBody":"Merge branch-A-Assertions to master","tags":["A-Assertions"],"fileTypesAndContributionMap":{}},{"hash":"ee902887c712daf61bc1ed3f877918c18d4b779f","isMergeCommit":true,"messageTitle":"Merge branch \u0027master\u0027 into branch-A-CodeQuality","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"33d902f0ecb625f3d16727559177f46a7b8e5cba","isMergeCommit":true,"messageTitle":"Merge pull request #2 from andychong23/branch-A-CodeQuality","messageBody":"Improve Code Quality","tags":["A-CodeQuality"],"fileTypesAndContributionMap":{}},{"hash":"21157cd8558f1d16e9145ba12e17d53cfea0b11b","isMergeCommit":false,"messageTitle":"Add processing for new Action: help","messageBody":"Main Implementation:\n1. Check if the command is HELP from the user\u0027s input\n2. Implemented processHelpAction as a method\n3. Implemented getHelpMessage with each Action enum as the help message is associated with the action\n4. Implemented static mapAction to be able to get the help message for the action command provided by the user easily\n","fileTypesAndContributionMap":{"java":{"insertions":132,"deletions":11}}},{"hash":"14c6261eb022dcf6a9421cbe0dccf82b32be407e","isMergeCommit":false,"messageTitle":"Implemented InputValidation for help action","messageBody":"Main Implementations:\n1. Modified isInputValid to check for help action\n2. Implemented isHelpInputValid to abstract away the validation from isInputValid\n","fileTypesAndContributionMap":{"java":{"insertions":17,"deletions":1}}},{"hash":"05ad568571bb0509497c9fec8093922da3456bc8","isMergeCommit":false,"messageTitle":"Implemented InputError enums for help action","messageBody":"Main Implementations:\n1. HELP_TOO_MANY_ARGUMENTS and HELP_UNKNOWN_COMMANDS are potential input errors for the help action\n","fileTypesAndContributionMap":{"java":{"insertions":12,"deletions":0}}},{"hash":"39c8c32d3de3b2b4e8d57dfe7f972f6a5fad692e","isMergeCommit":true,"messageTitle":"Merge pull request #3 from andychong23/branch-BCD-Extension","messageBody":"Implement help action for the user","fileTypesAndContributionMap":{}}]}]},"authorFileTypeContributionMap":{"andychong23":{"java":2319,"md":0,"fxml":0,"sh":14,"bat":0,"gradle":21,"txt":31}},"authorContributionVariance":{"andychong23":62493.586},"authorDisplayNameMap":{"andychong23":"ANDY CHONG"}} diff --git a/archive.zip b/archive.zip new file mode 100644 index 0000000000000000000000000000000000000000..8d6a6131a9bc09c805208dedffbb23f7f1fd2d45 GIT binary patch literal 1886337 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
t7;8m6SBcVrfsi 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

X`&rh<}|D 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%0AIe-r1hDEjkr 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%0DJO75JeblD?U?cy|hOq-_BjH0U|~*8P+d@ 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�nb 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
    F)>Comvz@9p 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%0D(2!~AdaSy_Mm2ykXA9*5|Kc*--L)%q}SIVBJ(dd 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

    sgp)k{YmWWc=FKOrO<|4XblK47LLNKFx`} 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

    =TU};O9V_V#*!x!+V{ZJ`YyuuG9`?-VrA? zl=5u#<7xM$w*L+#Wh}o);~;F_u%IrS8?A-_S%U~=8^vsNO6r)A84Dc~wJ6`^c#|Uf zmZ*YmtdwQvo?O_aJaPrTGxd`3CvIR!zo@BFP)Q?#n#{ynWHl2q3;{WAWglh8o+wRMLJ%3CVeQStg^%P5bLP%_NfZqmO z=qZ{*W1^^^(pyM5yFjyLeiNOSnjUYq6@Uozv(}J7X8Ay?zD8`tEx=O}LZN?06otU5 za)i1GV2csKgP{j449%t;|8GpI>#7 zV`4$b0&$80Y24teco|1qA4i~Um%RjdIKzJdEyDbrt$A2KgVGdCb2oZ{3m@B5fAADH6(bkII0nw_@J1bV8hH|<`SGfStM2_8#h!>NVy3VCOi?! z&=B()P>mK+GN|c6WX+?RwV+gTmC@f`T0a*B48S!!*-K zj-z6CmV*)kkSd2*wgku@lEDryF?*731q9NLZRFSB@X_-N18gZ10$%t@hnb?M0h426eQ`{8h z=&U$caRy0IbJBtUHlwODr8iO{;KW(t)%$@+AC(BUrL!v`EfQ8#!{;S5R$^>2j9?jA zQ>T=*nRP$^_Vs9e{;M@KXnUR>W5E6BdtSl0Ex>!pnl1E6l_hX8agZ=T2Lq^m46~6r-84;9@t7B zjo4pzJm)<--oO*|)TjG?525`1m*0JReqQM>^uXQ9f%}!8xZ{#J%D?_HvGVHlo@h8#l58qY-;stB)*>E{xPHhw z&VfborA8Tm>+3jec=yHm~ zCS(NliXY;{Pe!2xx=+;lclwM{VS;L(^7FtE2blnI=FOj*;lr6g^o389(Oo$<_m#XUyZ%dsb^6{=EC!I@v_jnTPTzZT<#|t{wS$K27QyM|B?- zNm-Iifql_@RPrf+5X6o@vqJHtw!C7mKZIRi*3UW(+Cj1#9Ch*D}7R_ zPdbN`XPkODLaIl@g%8lp4NGVC&ZE)9$Sj`g_lH2Nz{<OAt5|5Di6PP^9rY!0c6I99?s4FE&TteiA zQoiNbbYwI_3jrql2r)c6J8en)czOm(zC z9%VWCA#GFnSMrwrgaJ~qRZyJ0K{H~t3s7gFL(-_EkHWI#(pv>r*$0(9yyp1NAs}du z?8+B3-ep@C^j1m%cV)if%GS5WUnyqXjk}Z` z_E`#ebEU5CPEu_=W1;}lZH0r3HG@}-?v_b_b{@!eLe#jp>d=r0n@pnSLqxgSNg@gd zT5$=}3LnzdP78B`Rn;sKjJAO3x@9|~D`u0&9KS_GVqLqMsdEWYK|ucP^ZnyG=~?C^ z*!=YynUeEUe`2eOV5a|6#j9-1#T!*qm46`%tT?in(B4r+ID3siSw77fh@4#`t-SOx zwqP-_w)6{W22Iit>Hhd0rbF>BSsO#Y!vYb38oavgXp>^q$YaDq%8zXY*Hl?tH7#a@ z5YXfqHPz zxS=|O;S0-6od^R>IljfiO8t(2A*`GEI9KJ!Z%;q1)eq*T%bt{n-Geq6^UqjKtBK(V z^&1~1$9qHJS=7g&-jC5htL%1TyV- z7&IpYr@$qXs10Rj@XsyINfL4(s;-bZc%af=y`nWukBPQkbI=bXEoheSSe0?DQbfExBy6(@VO4r-x`%*$|$=dICROkFsn;GbJt=Zn{}h^*e(pa>;NL$K#Q^ zM$80FyN38Q!c^TxPCo#lNP?BjNGv?H9P6=U>kGD%C}t~a4?0SiR-r3_`SI^!fl3gQ zBdE|c1T#2Ur|DDiA`{#%T;GdJ$Mf>q@%(q+ep;7Se@Yv^E|=*)PrVLlnL!$)XQK=R z*Di=63tuI zQ5MM-VKY|Ntm?M3d1&N!1JvdLY-J^Pkdsl@!wFbujrt)LyTy-m@ikQ2W!D!ilQc6_ z8zzm0CQ|6BK)t(=h&QB)Ko9Oq8hf?!UndDfI95SU8X*T$rX0zwGm^70oHLl?5Kdv! zuY(qI(6F)eW^^;q_W)KdX#Zz|X-4$>ey{wum{gy{tlSvRP_M(Z>#)RU|4y@p-^y(%fc&+tnqttQc6Yjxs@?b_@tMhsBrjJ2zY3%5Bz86+FQ!981(@&d6DBboqlDzTaDcvyFBZj4*vsMxT_ zr*A{e**Fa&me`4+!gVrQ{8U>DBYlms;xrv`k~V0C5rMA^vCfzl$UGyi(aqR`{Q2A0 z{eHDF-V?UI*2OzP+eTMcn6bI#7*d*0=Xo4i)F#{7pCNtVR0&Mq(C%KgS}=uJmnAA4^uxD-q;aE$5B+snGCSEwv$W*jh^t(6*<064>7TM z={^h1<1+lT23?pBBkJWrxUfe22%u|JY;#@EtboIm)c6)WST5>f`Ccv67ljuxOc}bcRd?aWO)vh=g``q8o@VUWyZ%4SPuF&VsU( zy>A&b5X#UABS<~`hO3rSU9uHJfh%DYfU2fJU77;BGHZf(iO>P??{V8K`7zMROhI7@ zrxnVm*O3`vt;rNr(K#k<12i zYirK?V3`86L3Lh&W%&$p&4#di%~0l=i^e&MX~{HOofVA!?}yz_E4_+PFuKR)O9dl% z-+DKejlzGLvQeIM*7z4a7^YL5KAw@P&5Io*PI|>|o%HkDLgM^f^zf_=T!Eu}jrro% zBFk(9U_hBBC}lE?nOWBWuNosmu6wqSw1Vk9roqmVnH7snyXL%u7XyO`tJn}7mMAYo zO8^hXcmo!aBYCMADM60ifUC-(a1sCW+kSYyUkQQ8P?dkp`z$-en2M~$al;Ffm@2ft z8sH*j31F2wnOWcDiihJvNv2SGbpUOoW0X{>R!E?rs)mjNu6BZxcy@S^RUp{gT6ir` zw*gbMA&CuuCt8p2=e$@{TC^&%r?)UWM!rId#?N0cn3m6E1r~# zAv6x2E9aZ>59hRn-|xTfo}l*p4(h_^ai3R!A&qZF>C7?xbHHP1=|a%P~S`j z3#vW@R_tz?ZEQK?-}p_M^BV^ilLf*epsHL0&6<)l;O)u(-@<(vb+U$iFl5FE#2fY+ znJkemfguTmU*w`t-H@<2l}04ZThc(j>51|HxT32^uoXdg1oP5a3m__bT9Olx<;FP` z-grooQ9KC_jVx1Bq$^T6S}j)=eT?1IjO?3~7+BRfQlLW4K)em!W_>L5_gavU`Oj+RLXu&cmPDbrM^ z5YCFe=J1Si08c=$zdI$JPE1@r!j`#_#wgGP9#tw(`T7CG1U!>8qpJ1U(Y*s`D+#uP=^4CtFg*dqfRn1 zIIXjeh2mK2IeRgZL+bB0)-e#U3?pl){vb=}<%x-??Zl_aGj2yiT16^qv%+ZPfTBcC zJZmI#w3Wzli?EzuJ>Vh7<7rq7t94&lJCIxm>PJ1?uu)Z)pWo^Jwf0BN0kK&uvy=a3q=Ihus~O8!n%qdB(;a4?CKooK)R&mHq4uqKt#8{)?Z)O3>^l z`8m>Bnjbs`xW)gi$8<(H*9y%+*$EpPkdn$iY z3a_$Y-02%&#XiJ}NFM=O4Cap-xiYH8?j<(z?T8A&Jn@=L&4}4Eurr!V8eSl>vw+h0H`!9ASg;5?7e8J&r8_krCUkj`k>z^Mn|faJ@deNt2B0jKp_^5y$%SLi>Z=cB zE|HX@(F!Y;IGwUK=uGf*sOF4>cf%9Km#y+w#Zfl-EAgLfuW76`Rg+2aiVnyW!X`_AY;<0gC5zL-?$nJ zvnNcGOm;`DHax~&779d%8kk#yt=`fmwcWt@B?4zd_RNF`uoUt`YravK-jbr!vTnRF zY*@iO6!CY46)_np|m0 zvl!PVH<+3gBr!iJ?EyHM^_laIjbdg?p(6;I%G8jfJVq;Jg&J)gR>HERe_jCPH_P$_ z-gAV^(zqQL9K=?}nDr)DmS@|@3bk};blp5#x|NfqeOhWk2mwREZb(mZqO6i}7O9Rw z>+h_OZ465G>ZXXD#e2p}t0 zPw5az$W`0osi7(esf7>|Fj1H>KDx9Zsfo*k`brt0M{zTnJL7q632wU~ozwS-94Lc; zgo0DQW#3dS1O%q+1k!%0sRUnh^jY;K`H3(aq1Pp1Zk5sNhL62S*i=hO=}C^~(_wp0 ziTAl%Gm=H7`*gx8|JMEd$EU|H>u{aV*u4A^+rKVbY(F(qC^)+U-g->^Gp=xVlOvbf ze3&z{S?bF|!-Iwy3;OVIzOix1<7e59&||vb$4ke$fHwuntaZG@k}dP^H1FE2ksji$ zuc}`CUU*V&Ttit=2Rj-zL*V5eOwL9OOUw=ZCU4|d&e4qenpJYKf-&@<50TCowZ5bJUg^1c z!H>IRN#pgdmV^2t%Y^A3A40tk#Q4Now z2NVPb{^}~()8g%(t*Z`I9mF+!?4w?Rk^RC7lUN|gT3aU$aU^sok|a%!*_0{2pgCTV zOGB#?c0^GMK>EP8eZ77Rt4;6deEOQ8lFp8#ZoTBBLrA7+()OwYk5V&&}M(R-; zyy^MCvXLYLHIg_KwzYDy+*ucbOh{{7y?VfnSkwY$ZtKajJJi1SSvZ4qRl_mKVl7svTan)*rt;uax@4map@W{O2)Ll{P7^EmHA7cobnvkr=`d zu&`pq(sWTvKQZO#98hbfxODW(ta3OLx`QHGO%zo-$|y3?PC*CC^j$4tY?c6}B4SJY z;d;|Joa*KDI-Dew2b2NOT|oR3kl3Vkn}r6v%8S5KN{eC%5zDbv!GH@qr;8}iGjU}w zX+@0$FfSr1)T$*YCdE1U<0haQ;Tzd&T4Jm?0l)I;Sb?gN>sZ~$sidWsj-aVtNJ!v} zWM~4VoE|eZlwuT~+f_V$L^X&S-XC_4Os@B}{3rg`Y}fyiIkfkC_rD(njE%Z9@w9(W z)BzptISz(wjI{HKC15158LDcD=I~;lgg$tf=&DJNdNOFaq)Y=SP%4ZYb}+Rm3tUC+8&g|9hP;X#-ILtKAlMq7Dk7oy;8x220B_k&tCO zn9*Z~rL(rT8GxMd|U!FhgKi_vN?HD@kQa)&( z*F%uz$8dthA`5xcfeUph^^AbA7C*YS(K8`_+Q%w8X;;*hVu?{ zv2a$3Zm-#yb}r?it=6I^^JOkXt6#32*MITzT+#F-s%bg*w=BSLai%^ZLcdC>_WS3< zYR}qdY`wy?wzi|m7Mmm+pF1dxj8e0V^h~5ccbMf!;k=M=i_kF(j?G$wGUpKz=+wgT z)>hTRlDwo2jdr(`DX;%Ftou+$6|;p8)iiA9*_1Dn{>H^2n+5aBY?(dxHRw&W>U%7G zs1Hl=4BX;BFlno9xuz;>nQ|4?Lgwvg7uxT9UKqP)Z$+elRk_3`y>q;OlT^uM0E)+P z&fHVq^4gb=@P^;;c*7O%wc&mEU;A6kC>p3@`QiS{w{^@&!qju6@&S9j(VX3XKBw2n z)^tRv7c3m!E$Z*0-hiIm#z{ZV$Ug!-KsjyIg*r)LWMPxE=;Uu_yp!L6Ekx8Pm~uDi z$Fk%Tj7L%YKvEOxyGpjTRNX-rrjBQoI3ZrD;{3f*280h(?4N^o;iPAPYQwbfU@h@& zJuOMcRpx3z*sbKWKJP9$t(Or>Wluz+>A|th!E{YDEF!+(6!k)YmeFPlWn~~gA|vls zz}sAmC0|#?SkMD0c!S_16UMflrYVjT66XZ%AeyrU!qMkAvY}xq`*1pZuJ>Bif=BjQ zF8)lfuF8u2w<48aJR@9Cqpn0LflKWh88Y^a*ahAQuHWOGcMb9Ur>=td8! zVziPfjviFjUwKd!qYqOtdQe^OM^V5F52{zC&si;;dbv{(ayT!NjviFhR;H0u=8Un( zLno>7XhLOuHlbp)nD?cs?OVH6+VMnLYW9oI8Bpc>NfgD&y*=5c+ke;}e%J55tb^75 zn083X;i3G5U0wmg1PN|Vn~rxp?EJKRf?{>b)X5USKb*hE?b6CqvA4QPkn}-Ng!k7u zPp-xJ#kn*(+&%q#|K+E5IUH)2B@}F$tz2k{9nyx=1@qOf*Bb-!YBrf!uu3E&&Pasx zuu@elZT^A~1F!+l-xg3Sa|B2`ghKZ55US<)ho|xD7X}na@6d{#H@Az-6wYId>083lldr$ zPsH$;NPrcp3Fj`~ClNBZ&+NuJhB9gCj#}a@l0=p=eZ^Kk&|h+(BZ&kJ7$ay@1?Cy6D#pG{ zCiCa+?aKq!P;%_rR{oZ@@t(b{7tJzA-f<4Hqlj_dP5%9-0A-@3Q@Bb^(#0BKiKlnu zWJUef?Vo@Dv=UVMBR4NUKfQ`7tz*nHO*OJ4l!(o8Nj!0!W>w#wgy)#zL1)B2go+O& zekl7w^b9yLwBu}vE{|qhV6J^^O}a<(9tp}^{OsQjZQZlAMV@M1vj1ZQZLvbX@b-gE z59_>=k1N^T2c$J!)bJxLEboMLZ98K6P$8YfuFfzp@5E(ZHKh%e0?2u^6g`Ctv~>GW zt7z02;2RiFO8^HHOo8cQ>07piWO0)UNZn^6&w4))X|GB&G#7l&#u*CA9c>UqNtFrb z4Mi%Vhm$W%hbQ$ScRoE0d3G>pBSt$$~n?nL1cdN=*2p~U`vkO6ol1)YMy z)%AojoXsMgTrv#JrwD<*^`ZKWkGPf|iyHFW8XVJAvl-7!3s})}h^*)HUZJc%KYfPu zw9HPQBpA)jo^`GQgA7t;j-+FVgXeo-ldQ;YufDvATZpTJ1OwAcR=;YAUC??^S_e)| zYF|Kg3?R|SV1_=Z=5F+gm|GVv2k!4N#Ev8PY$Ts7x?es%JgyG)KkdGhgSLNlHV+uZ zdBZa8bd2@K+F~nxmg~=y0tGn1(Lc@;Ga#9{EPs!m8xx2z=JQa~e2ECG z>|X#a393gsikTSp)t!8)V(iBW4%N!^1Mic)iP^ELW{P-s?BiY61yP=GTYeLGgM^J~ z$Wdp6OBhl%xg!gD*0RML$*rWlTIu-*If8BhP^YfY_xGzoNPlv!W;r|l=i6*&<;~&r zddxo)3&HVl?(g`4wKROMKDU_=CC%AHjv;t)R%TTx?qa;>ahyhU4qnEQebR_~dbnSk z9X;obU+=;hJ0`CTl;Mv?ZhYegR0W}Bj|OXAROMC0yG3c4*Ij|+ee!Jc z#tgvP%m>W3wVlgv^Wt@t;HJah!EDweds%h`!wf?XRSR2C>>66^cQ8`#I%iy8)I}62 z3Ofb-6|J{`5v-s|NBvEzNYLCQ1!^w1bvIxNW^(5>%T^<@cyFA2rHx(T&{&WgFIG*UdS=`6N&emnEs; z^ht#wGM3z#8r84=1Qn70O@}x?$;Lt?7vjiY1w;~)OEZlvu0w)o_M zZ(5Hk?DaG{NPtZXT%{Gx(=?tq>K65@2ss2Vw_(Z<$uF4lOdhs|QqX2*P17s&;$fsq zf_6nwKM)5gKn9?03j<@etUcY}K;^c2W+PIZYT#Lru~G0WaCS8$!J=3Ra5OJ@v=)-d z(4urKP~{B07BScpZ|;?=HDGzC93A(3+-u|6e6LB?t4HSoUJ)S(P@`WDN=fgO6P)i{ zmA|79eI?mMBgt(?l?sV?N<$ISoOMZUaNs(Ln~+>5-7R&o(lw`YV!$$3qXt18c&+0Q zfgcF;vCZ_UW$G^Hk4P;YA*tD))BP|K4tol?-KrEG;dNziar;T?$lAK!_`Vmlm%@6svmcNx$l*;O}L39zmg8YJ7-8$g%Hvcgv4FwLG;Al~L ztJ=BPg&AHi<4q&~^g%dsm|<7+`~A>8-G5zAUdB%4=i^?l$5gi6|M~{~BHH-12EEP7 zIi2c@B5qnf|Xx)f#4k+ipbTJ@_!1ZYj)LSf1v zSt>Orw90IxMs>&1Wy{JsWUndUPN}MG{dU zhPlj{OMJ345M?|8Ngqt%$9VQ4z+|<93j&C6H`E|6sboq4s}wmAT+0#cG`4JJpQIVH zt<*AuZoiyJB!V9K6HFR~wsX&4n=KhCuGBY~Y6qVeS#7{NSX^UdGi$sr9~9}n20x#< z0!yBM%V&x9v}D0?!e|GnB*~+KpV#w*1X}TcH_`{K z9rdlV6hBVArd5jXDE%kVG)Uw|9ttbgz;3h2R5`kXwakkI?Wkt`MTe8QB>ksv%H)Ml zk5_a_ww#Wbt>CPjHSxg_SCxh_Obd0nr6VeLlsRzw$HQvv0pi++!fefJ z_gGPgl!bf_4b~87$VEbASG=MSMW{u}17j)*+Jt8onio_IHk!6b`9zDm{uRjf2lfvE z`RpieqdJz+3*7vwHy}}_D6@gFGgqfZ<}y~VIDgfn9RN|kk&3#~Y_?h`tt<%YB6C;+ zQhuXKozI$)D4wyarh}3)sBpL-T^5XBoDTR5AA%)O&RE#Yz&jE)e=uw9YRdJb#m!Lo zj#*s^bJi<4Iv6gm7d(dH@(QivAH#$_`S;U0-a1wdZHnPBr&DjxHLRhS*yL(Ty5X!- zQ6&g!i<%VC|A4BxF#QaSgA!YE5ABI2FcjOFGeZlr0qh%wx&*&Ceheu^Ru;RI5OTT9 ze*7neavlV3Qd2Q}N$vy%F$Fa>2-V@*TJTRRS#MW#w{y|C*6S9fZ!q2>qVw@6ZJkgN zcyQrh<_HsSdM`LFdBLY}|B7h;t>=X&Yq8`8a32!!bR{Rw;NWZfH75g-$6f*{px=8mT#^2Swrt zR;>>zQ_ZBw|Md9F{^@^wN`w7ny^hf{b}Ao_d%Y2w#R;Cp&I{6G;dsEPmcS&jgMG&R zb2XN1D8Cv_yKZQF*>1eUTE@1%oQynmeDU*T0nu{+TB3Jsh>`%eQaczokIg0(qfjzI zJrU)L%eU8wv>af10<0Dr0CrKZ1wa+nT~c@e&A~vYFK*mP!i@GUTuM|HL5B4ta%j6U6aMpWDP8?>-%Y)bBMu%B z)Dk*%tx)1pTOCV%JFlC#`ryYt#O2XZ*F?Cx_DD;h*5T~LGN~fYlfvF{P3HBj#CbL+ z%Dk^1hvlfZPkMG#1yL;c`r=Q2(r}pD;CCy@xSy8kw?NK?%;&RJbJ9ntHr`5Th1L`y z%jL4m*5g{wUiGDm)h{E17yD~(D7h|kVwTs&S6XwujC$Xvfp(w>as>=1g*0y@{>}nA z+bAE@@2)0c%F9I0Hhgey&p-RDS%+#J;44e2UMFXF*#@pWit=jz{KgGGmSf^PJh57{ z9@le_mMc8de)se&^7;R}+NR=woksTgU$49>u5$HIjnEUwgr+p5A}^Ar$u+dg5c^O+ zgn@XQJum?qqENfbZ?SCE%Z}7}LuW4*V z6ay?JW6?uv(N)8-vYK_f!LbX{rqC#o=8=gh&wJqs6vDq!+6_@1uOryIL8_|nQl<=a zUyM+@_JN{DDF}499QdcJ+0@hjnKw$qYY>FFR?j7!Cv$ydt|>@8?p@|xFSj1b=}l7S z;1M@am$}XH6~RHQtaFSA`-0-U>8Ls?r*@t$#F6nW z=Fbbonhq5N=ph7l9$6v8(6@Fosb&8{2G$Czq!`_d<9&hK#%{|s8pWfLw|N6AhGQTo=3ZKmDOfCScm*UV1 ztp-T?f@sxeC#5Y)X3#bSlIMgIa7i2(CXzrV8*EvtZ&gGFz%^9hBVMo$PIefsNCo20 z5E`Rc3R3mm@#8Od7|Mz9P@bMdRihOi>EM+9*;vIw6-iNK&5ykWm@?vLV87F4VMJu# zB6T&SI^MEZLg@FLy4P@_*))SxT~|v;8!mJDhUdqpGf$M@f1Ik-D$L*372qzcgZ=+ydo1yS#AS;CZP+s3G_Bfm&Ey;6EaS{1&9T7JQh(*5g9FVmo1|j zbSt`2`p9}C$3XZ1fR37=UV2~;VLWG<1w%_U=CbSzc@7o5dG4`9simeK;Z+kcqHigv z0B+vhl2_*SV*oJ8)xE<-AK{I-k;g~BfBgFOZ@<4ERtkS`^YU}rep$jInl{~Vtb|rY zqutBVxVLNm4muV_CTNK57`w6$h1F5dV|o$;jUk|#stmOg|a+F(|x|)jJ;nzU|X(LIY%zX5E4X zbWfFQTCb##3LO#;mJ3jsj6Yyh4Un>(*8soR6*q0Z1sV@Ee?$y%S%A3s?PW(_3}+;vmPnrx8y3O zz9Irx8%cUY{9fz3h+Dy=yJJ6<-$it8v@gut z^o`Iv!^uV3dczK!_N9(CD>cu!9wT|9aK&i^czD{uhoe0LS4OQ^H*^2bDPuUV+JACRT7-VbS+dXiTMsIPz?|R zghg;I5$)kBkhcYJgRXf6k_^-oLP=O9a7qn@vMt38YIeL!fpD6V9_`rE2_uqzk~B{1 z_L6{-bawy^aUCHrfr8p~ehAa?1{@|3GQqoyrwxrer;aPW07o9S?bv0f!W za(wEX2tQ5-GqdBnoMe(@s3sD9<5c8G361|T%2#&1g4C@=sBbvP?+51~Y-8PMAe`qL} z*W_uLu0=7@L9VS2S!Fa z=;Waz59@rM5^)ki!pa1UEQUfv(XQeeg>=IM?H!GD6&pHY$wSq*J%Ax?=`m&;RoY`z zwW!8g5@`0x`ZoUhoz5EwP0&RitBs`t1gS0?fN3e%Z%Sc&$_%A7+u&q*NyiF2hcuC( zlXR59HC{mhpOZGV$_cWGTSvD8;DX2<0KO(tpArjBshH-*q_tH3eIOpSG&A!>K3f#} z<=1Io9YC2SvYwH2G{o-8&&{zW?BGnA=J_Uq^x#A{8@8=O6ZlZko z#6JoN4MY~hoBUT?(l`)a8@K{d zleFar%?6t38~iYIx?;RCmxA)Ye|%oo%^TI^Kc^jDshgQ5y{K)~upE?kI+4KhyU!;z zq5smE|2yi;lOc0abegXuksiB-_WwWu_Fv)Ev6%*f^jVIB?^vTsPxA9$?)!CWrC+gi z`AgdT4H(yMchX%pY`Qx((-7I9ESc_7J+KCe*$QvG7)K@)C<-W}I4{NuJcCgaXtcXS zE`ynr3MO?YdKnhbmZGNy(YqT+9p{Zg1m-%rm$Twfr+ZC!TwUr2ED6_2dTXxqvBZa_ z$fnwOAdERGO|Ge+gGDh?zD?GxtzN*1+Q{0~Kv*^sfy{nzo{Tv6BQd4yaKjha^Odhn z?r8qjzQVAs>#Q&Qcl_Fx%1LkDF1H*`Tvk>aKa3xR|If7s{_*Ml%g2BHcE8e-m;HgC(mv(DonGT2nuzOhvhfrG$M9>r1?Uq1 zKW1;ZY&x2LSwdyAg&8%oH`x}ZrRXv}W4x9ZjB19M6x76mlr9=4`l@1{B%Er4Kq$x) zjS^$DTn62xh(d-IMsspIv|~!gchX#*CS=J}Bf;z=BOy40F`o`9tu%~;3f3KCUmiCi zFV~B$5s0DGi;9*{EW&VEvjj!dy@O8zqB;Gfa#@*kG3Il5LjVGbRskHB5FImJQshUW z(S(Qdr|qjH#Fd@xg1qDWla(B;oJ{qKydgLsEJ~Q15C-;b^vy~?8KWT>%=tRMf64EE z+=z0rB7B4*_xyFJ%h7u_axVw-v9-AS^7;0$|D4t%XoscuRyDZOUgbf%m7lravfjwq z#@~jc@?AIf6CJp%{tnY@Cofyf)1%lQr2uazmlP$1NI*7&MWWO_p$BrGDk&6V8eYv- z-bF^KJgFBY+Se%enS7(=as)41uaJl0wyNQ=Ad!{=b!oY^Emi7E_mfKxtKX?%=Kzvp^0EIJu*z!G42u486wS| zjQ&ymv8A9dnP6v0y&d$cT7{fa&=5f!nO4d|40T+xfNx!^Way{{-Ujmld0` z1J-jWDru-6iD%i0^ovX68K|~gdiksycpDRdiRTJ~q9mzb?5kR7HOfPPtW#uH0`W?!R80nmzc|&TAYsmhk z#d)3?I-Hq_q(mL$8A84}T8v0Qt&sMSg|HCl-r(p0DWB>bfYW%nmKjOpLDQ?-Ed8{A z`da{4-hxF0TfOuZ34CZ|d>8lxLKr0d3!vS>ND*(13K?3}&8$A$1&j@n4!xmM83Mdc zL(PeBtE3uNp&*43lo`-pd=CT^LV!+>G1k#J(DBLq_|JnR6|bhull;7U-ap-cdsr#h zl(&98Zm+@^w?jnL6v}t9yf)3ntt<{P^)=u{7krZoa*ZX1>jnFOs4`&Owk&XAo0gNA z{1@$5TMIdx2BaIN3Un-QNa+)$RqH-I*G=Y%5g`zBL_n9+^q1Z%?L#1f*&d$D2pE!M{|k?(r`<<`+DzrRZaXn} z$oyr27*D5mz_Dvp6;Yhy!J8h4C#$u3R*x)?g^(6 zw_tKv-~O8Gm?sf+pgcz{>OHteJp<$%?{Qr&W=@7Ayt`29o6M;vTejCaVn3T+ysQw_Wlip#b-am6;pg(uREd=x z)qC-?CkzG>i=64I0~Rc~yyDs6s)DbR-U^%*FdA!C`qN*kvT3)}c2Vn87+QRP8mUH9 zTjZ~f6*8?^efp>I@ZZUIf6~i)MSf=z-a8YXJQLZ4?jBS;ApSR}X}RtQGiO4xMaFQy z%{gAyjh?(ro(7MlQhjPe!ye>x*>fO1-n4y#0DDoxLn2mBmM8IhXN5J67 zfBIOl#6jP35H>bcNY`d3I$c3@kxoMSqschsKCDisFv)WH;(FPr zz!k)>v|f5#=u_QffK8AJmX|(_!BY`>T3(rs#wMiu1T~QZ+VPeEtIjhuLEILCuwMD( zzJEZ2Q_ZNf{zo~YK<|M)n6jqs5#f0w3EJ>YMlW4<^u+=$Bur5&scHsK+;+=1u*Rda z+=7jaM3Cpne1-v8S@SW6k8+wFDyALu57Udf8rZ(USr@#dOio+jFDSU#G-^Qba-_@F z3DfGb@eyo`U-rLa`b!U7!e6tAH^(-GA)vhvD&QUB8L*{gC%~-5Jn^5#yAmBeH-5 zLof3juStJ61Go2JdeE4@A^10FzCWG$QTYlQGXWDh3HM_)t{L}n7c==RXs{PJ4gy|{ z5OR1%PiJ!Qz_JOuuQW%Iqyy-1ny=HA8&BbN3K4r2InbfW79LwTvC_xXu(t171>0>Y zXKwgDG(Pk3JDQB$$WekdX%hVzaSWnxQ&XOilp!mLvq=jv75IrjrUO`3_R1+I%jSPm zsc->9f`Oyu#3Dw$<4<)TpcHU zg&@EdKxXMtFPJIiE=al|Ts&DLRl^R%hmI>an;S%Qu_jC@iFz9(Xa_MAGR;gD)$q~_ z;49qKmj*fulDgrH=*03u_|P}4B4xj+nMJt}iNkUYMlD~(thvh~se%@#c@rwr)Tj~M zhP1H&9SDcafHo(gmZ)P(Er1DZ+11oUs>uV+KP%)evDKk1w@8plgEl~83m=&NX z#k-|i;)WF|3RM_FsfdOua{j@h7cRGIY&t=#3f~_}y4F{u%z32)K8vVHCW9C%qrb5i z?+Xbu7^ah?5#W(x859A%+gjD4+EzBLY4IvY5#=(^3sEu0TUTP$HNA6Qsw4q$<}?;) zBab8)sc8w(8epM1UJdf#!GfCFXZna?4{F@=l(KBDC_6M~_Lm@CE z`vz!mUn4*AT)=r@DngAj#8DXV>FM#8KR-V2p7(#g|LL%Q3eS~%UVW*N8(q_+!i%NNXV zThDTQOBvIMstNyry@bWZ6QYgq%#&@2&29Sv&fr|totQ`2O%Njql>1L10>d}}BaUQVhQH92AwY@XcgwOpA~ao1ppClR{^1H4M50vp zsYRJ71uS@kYnDk-PKeZ!oGt^RbIJelW|zF#J|H~C$neNpAnmMI1j%>;GJ?dOz36ut z)XZLCY1Kzor6CfkZcBMtv>WL-MZx3=KcFI8#Lth0gCeSq*s|b`)w$7%&j6q$+OVZI z3xdVQuBt{EhQpp>&9!`{B0+{$*kjVl@hw_O`Z=#=zn8*K?g>nNEkeXn3|>)EFs;0$ zlvYtlX1ff-u|ozNc#BD!ugElzcwx&mHuAEtxT!KKk>i$XWicvjSH&ZY1D|wuRQEbd zuo%foDQqby&Q+_h>P1Qz`y>2^Ju$}z$8t!hFUCh|;HTh$#XCiAp!qVp4?A&oaio$* z@=WO)1zUv3ga1fa1>L5&5>VnYQkubAf*K8zDuu5l$AM=(NxDly#;Y~MbFqq3A^DX4 z#*tBwX07iR$xQCNmNU#?7-tZ0<3%oYk;}H6Mz~YVOQ*F?A&_oY5TLK(wYywIwvQcE z!8T8i!*JN$uS`?>yj$5#`z`x(jvG%oNM%kSFAE|&HCP!?R)_8dlPZO^Y#DQXwL-YB z>M(MTjgFy%>R-LXx)QcnEn}nO<+I^2c#=A3&EXlB%@WT^%D4Qg++PROzft9i>u8!F}g<3T^uvey33R<$K#@6o>#HHUDLm#=Zdb zA^eSkbX%|`7EkUy3?qm~yQ6uxJX!@t!7S<|!B6yaEOM8R8m#Gn8bl|aQ3 zF}DOzIi)%b5<{${ywqr?L%oEZDvUO!hl*q-C=-`bhp2r7==~!vJRMoH3EgQK2L}Yp+`V|K~@hz=u~!cdHY5sES7P(x_VWx?7*nR(K`q=bM!hbb#QFe zu%gOaQ=@8$(s$V+wfD_{fYVAgp(XCU*|Po_iM^OUQqCe?GC2IyfxqR(7-A%H+8Tti zaT`+L2oB1IcpVoxc@gAOu@6S0y4!eFLxf)L@Vou5yq`lBRklYHo^4+a;5on5f_`xw@%mAVu@^@1a#+8|R`nw5FDVQJKqX^afQ%3=QNb zbn30M7W7uBrNip~u3Pm9*i2##jb#6@@60c-SU^}R0@yb+1{^ZCP3pCY3Y3;(-6e|@8Z;OyREO(UbD4?=|*p>t7WX zef#p$aCiT-QXsI$=H&~vfBk8z>M7K*OU{pXCM8cq&asDIPMw@G_wWb#s8CysK-*V! zDOCg@c96PR{D(b3X2o^I+{&bN6Y;OK%8_{n>PxfNnC=O)A98mhodP9WjWn!de#1VM zGAjHER|X(Fy0KuRaX|C zRA}W96->lZk0(ihMV1L#qTGt26)BoU~)BHp!M{1gFs@gWd7O$bF{+aLp1n` zbY&g6BvrX);31Xs42*X}sZw~}uoEDS+xcQV+2yZ?d?_zp$1SmbNL zYA1X(@^UCTi6aJ61;>JqXQ#mopkH=Lb4xTp#lPl!LDI9hJpR4jWJADH}P7e)M zr=2>CxsD;u<;gpEV~Nl8Py5})%~ zw8`yCBJ~?48|d{S)r4A0D>j26@}d=Vi2wMGTrS!w-Kc$nPeDO(6LHI11q|k>nDa3N zdS>7cf$bYBDSSRTM3YBKiHJBsB2LY4juSj&EpZk>SS8JV#Rof?7)CbEV&x& z!)~+{FxC~St`cyS6|eH;X$w(IEW=#kXW_N*!Bh?VHUwdtZ2Xl~MMyjkV7vK_c!-mA zngFUz4P=q1{OLtdg#*4I`tIX1L~#II_DCs}hG2{i4IoGESvC}j1lyLN z8c`O7)o5JnqD}E`5afxS{aCVp60#VJL%#xxyv1^lotu)Uu}xI4w?sJ~Hlv8}@Vr)x>MHe^7%}nQ;2$Eu(PiW1$bo4i z0W8$-)To1x;RBpI&|_*kQ4>p16U!qtv7ESxW#%T96F0FO$%*AiPR#KAEZ{)iWI6FB zJImnH6iOQ_o_yexj@QGHHCddnCehsB%7&$-Kc&ZyM8Ry@q{`S$9I{&sGa+#kiQb~_ z1YxUuP!K$m(t$DIB;8~2Z9QKN*~7BRZ<0H(F|?8a%9j>&EMgkHqOuX|BwWPNwC% zDYNE~mvnw=ur@_zJzCKnw2bM*GwhBwB^Zt#TnAR`(xlbjkf&F%=$#(Ws{aqX6|nyt zZv`mqx)pr&f7Gqu?U-S&j_dTr%6$aI93H={YbSigmalNJt+iD6b4{B;D(y(YHg%?4 z5ZBve!!w47!oBha(<%)GEUOxc72-Wxk2xcyO9_C>--+rztaLdQz**|8F;GHpVW!(< zkQiBtoWwM$@S#1tXMM$#+;RRQFN37UTIl0?3+pGSZl`e8Y2^{MnOw_eG~b~>!WNx( zKuTl>oXasZ!m0%9#bJ9ifZHpc{ASnhzkJ?3trv*z@*Xqd@MkvU({|7I5Bn*kvW+{T zH7qp?Jvf9*g^l5I zG=@J(+3zU9=>QR_!eriZ>6cQDhAG*0CEcDBk%L{D{yW;NTx>N=MleNoa~bz4@?OQM zTTI?)xM276;~v;)H3MkeDgC=Ni2ez8TGA+|!|J@X@#p=nJFLaVs=M)&cX`zqXdl{B zQJ#wihZHU6IvgetO6^F|yYtC`gn z)fMpDtZdPCgk2DG!D<>1DFs}&DV4TX|08{KD73FtBSx*)X7-zf?v4ioIt9#@6>zW^ zBSptcgFak2RP@&5CEeMR<=_9%z6%S=`Fnxb3#V-Eys8f=3Q{#9u$ zV3QSc_3dcgKnw`uN{Ta6`ke`kLCl$rJQ@4Dy7zFIB$9_hh=uB(eCn75{Vk+ttr?s{G zX~S4#9E*AYCL6kK3fu20S7f{Jw~)~+X%}8{Kx%DK@-}A{*`Z?Qam9jlFA>B0X}7{T*o3tt0g(hdlUaz z50ZDw4Ku9M=)PpSFts6>fCr&8nio0{lYpVBUy!Y13I%VmIBnQd4TO!r^O7AN0MZci z(mK0A3xL55?>@ziGvW<+}SlEXvW<5!^xX0Kj*U4!63AU2u7rX3jv7lhKJ^OOH7D{+UiJ-f9nJ<^hfllPR zI-mP^k*8ZAyHF<}svGe-l|Dv6v6HA~mSrIO+z9E&Ti>ZlqY9iW8*wT%Vp4$JWEuUI z!V6^dh=dV!@^L(QOD>;HX>#4`x-{xjNjI7d^4t*QAS5l0Fj$dn8i9rhth7TeVOAn} z1lk+gtl()R!P98L!R zoPPQCuz$Mm(#Dfr@Q}looN*`7l)zF$ME?^-p9A`~^2mX^} zSPFZhLF}jkflyk0FKIOLrhCE1B#zvRMy>)orzMGmu-%m=5~)O|2v80id<>~<%qN)+ z_JFmpT+1oiP=KXmB_0siJaZfM2ke$c)Tk9?2i3Q6v)p>y5*i<+>7tLrqi-kbW}0GY za>HoTmTE|(^Go9@g?)4~5qgvHfxZ>s3#{j%hV#RzgPu29j+!&0JuAm_(&#+J=+b^0 zS2L)t#xk8F&4RBG*p)s*wo$Vw(h0>l&~pXTG~VdAxKlQ25@4ksiQPiRI4yy7lP5!p z2eVwxc_t&$nnBYJ{=j({@Aowo7p}cA(m?+28pl-sJ$YP?O#R2lr%nGjtd#ZsoHj2z zZvUE%Wwg2DWk;?)5rMN{DVjRX!ICg+mK?g~o+FBOtix2d_1$Qj2)BweL&aH##Vf~{ z`+fg;eF`~n`*r!_1gorD^CUPW8 zV7^C)KxVSxU68gSWw03GlQ|I!ig(9?D64AY*|GB!=kYD;UTo!hWK+KCCRPZ>GnnA~ zJa#O%(|3^HF`%y3sDj@B#lS!rMb-4g2g788_cop0Z;xWQayQ&KPE+|T(2~YEG@9A} zJrFFY)z#)+e`E9P&1XTdMq z8tJNezlqfNY&BFI%bXP}MyRKGljZ${3?`)_!qFCDH!^0ybV0=|*JVQzTQ)jXraX~ZW>G_pfT$F*+`*Wx z?J6mgnVe)eL_DC&+|@|ksGm}(EY3sX=MZxbF~67MTs5EQf+YDiDxXqT+q_`j={;-8 zfWK2&~?=s@@DIkfnlzvUb}vCRT5|@+K|bPOPSgL9qos7uN|v2CB+< z59giV`#=z^t#Ett)_&YHzsGNRE#ddOr~A)8?ft>9PTWcd?C$54uA#zH-Mqe-(ij@DPDdOK8N&kJkTN6C|#%3 zjdTyMnx4y2U(o1Dr@CQ>hiX8q0MPb|l<8`d#V}>VDoPQ6UNyq34{%EiWK^Xj-?p@K z@Wku|cn2|?Kmcb2x(PvkxKZwCkmc^l!JrtAm;pS|jCzH!pdZC|9G3F zWe*LbvV2R4ID+?ywP}^kad9b0aS2NQiM|Y2-GM{gcrRtHR-AuP4{`P}J!Iq}S3oFB zPasy}?$iGzvSZ3iOt^_8zJb8bwOOhi3Wmt)Vy6|PrI;p4hdN-P12V0ugT(V4;MRd- zr&G!rg+dSox0JhSVDg?W1xi<5b>=8oO*`;6pDzL5@1*{AL$6Y+)_1F6cs| zim1s%4QbkL42|e#nAAj0E4Ub=b z_xSjHScgjD_T?w+@VfkA6Y3LK!h|?^RqO^Bl0!-;z#~&Qnq8@Myr7!ja;hmwtO}Fh1Ok^*-MNjyQE}e^}|uBgDZbL)s`iNw!(U2 z>vV#5D5SVvI?GMh7I~f!ZPjHBwp%oK*Vx2S3%jS_6v#`O1@S1|wC_NgAg_RQ>e^kv9U{P>l3^58TIeom<;jO+Ds6K40RGedug`zE z|Ge_?drn)IzhLv%Rdg#iVgbpuj%n?{(C%65p#Ag;=_;~ASKOuaeD_o@MNQ#l-MC|m zeL|N_q%Vw&G_*GAt|6KZj`JI%nH2~A{(;X$J(;`BdyePl%=&#Yc^e3Vv1*FbD6W?v=d$EhuQCdK=JPl#pE*Hy}|6msN^c+!K+=18T?->p|Y=UTuq4aC(#Sce@3;;L9bJyH_HMtv>W-kX#d3tKdGpivG20zh6qWX=56DtanlMY)cmQ~+= zV~DGB&>uvLK^A+Sn3~~Aq;lGA3p6c*3RrM|04N3pb0+5|H_km{Epc-La{OA%D_QWO z5J9n+N{wbzgPYvZ*N#O#0P)}#`0#$*qZp6TjTSQ*#9ri28OE!ePoqbu#l88-HT}$7 zX)^Tv1Oh*lQc()yx9H1pmvTG^nev_p*L7+<>v}lX5!aVL?!I(?TN!SBDSyP)uK>Ya z8~z(Wd)3&>+Km-L*HFT>femSlgk7{WpktW=ac@VBo|K`r1qXEc*|d@piDb)oKZ<36 zptuzT+Zie2yUZiR>;*J-kulrT#{xJ+XbD`Jd&<=EAHh+l-zobBehTfGS+2_B`HsGG ztfmFZR-)NSmzx%u4gQfQ4+4HqqGHsjTeEUq1d^OLT0s7T)Y@>YEhVrRPKfzuDv8S0 zLLoRglDMEWA@IF-Yo_VT1hSPQyK(nP}f?)Fi@qunishQ4ln2GP0ULBn6N#%0YmL~1i*IDY% zviNPHxO39}Ghl;7E<$Nd=@BG?{)$TMC`z0o5YI6Gh<$!T*Q-L_p!6AbBMnS0JGxOz zzHan=E+^mTk9_icP;gqne6SZ_>EBguCmjicLmb^RNs(jdIp2733J3Kz@pZ8DY?q&b9`)NN(;@S2H zDo5k=#P87vbos;id)!XRKE`&I#K(i>*=ep&RdaWfn9jMn7U(1=@;Z06B@^EYV#o#r zao*`C4zofx|CQ_dVK1%Oledl|e7Yn*=!z_E`Mbx*pVN`Ey9KS5~+S54QlQW&dy-Vq4Etn)y!X{8Fz^Whcz51R*6_?l&Ro#}t}i0!7oEE&BqN&cAhhtPa8s28Odx>(AxCgC=3L}} zSZK0#$P5v|!&g{%g!Hq)8Sxl|+BNyVTkoq*heigO|5mcS;({t^EvmdYNZBAfq$frJ zt0jG88PN5mc1J!l{denHKPt1*Ucs_Y9aRH|yl#ezoj@X>t%a-KF~_T9znaCSBpyW@ zES7^K22ez+HifeYnOmVwju?Y~yP@|3!|li^kb*j>&&hj|saniq=)sva8+^Z_<{0-%-VP$FHZXJlAorEX(r=Ti`wz+&R{^z&H_h`ZY zD>k1Ifj^laqqPQ4#>uATuAjV%O*K9_$nz~@tePHdEc@GP^w>U>aTNeIc5XC$F0<2h z8S0l35kR$op^<^lj6_>K57T+kO>QiBDb$}`IO#>9w$&%Si2M2V=luU?@87l~N3v@{ z^j9$Syuksx0fxscPf1j_hpM`wiaKWxy?B5gNp^z45S_tP#n&I3a~j}qcYp*lvvjt) z_s9&=3CA4v@3!+eD_6cFsc7vP{sL@Q>V4@r)Arh;DtQt@zfO!v`+v7&&FCilp@wR%4x39Vb zS5R;acDWK)tmXQX=ApIagviQsfjz2HDGSC4xd+PRi5s z73P~kYNBm}j5i0)82}guw)vKT4SQ+hcuMh@5oOJ(U7HVu+6T^u`A&B26zqoYnv$34 zd=Gw1y;5$>!Wq+Xo&}zc38M5Ml}9rkB1LuoF0$)Gqsh(Z_{Cx2i_N!BD`h7;toeEk z%zPS~5saPaeb_fqv$;mbJe6#9&^w||&aWvU*ohtrSW|f=lX28!TwSCnH{94t5}gz& zD47I_%AU~J6HwVJzhO1k1{vVl#;|qSmKJbmiOTiZVlbcOOgx}DJIty91ye=1Cia|3 zIymTIuEX>9P!#Qr(vg&cUs$_GV3^(b94W%iNi5OmQ(*n5WfoRIA>&2DH5e!j)D$Hm zfGZP%iupiz`-m!&c7S`ca{JLuy(R@GN_3@~+`K^X7Z&E>&?H+X-G2y9qPSP#{gN}i z0U(SL!uZNq^AcNXi81qxhtN(Qep-`A*apfxks#;#jfek0fgn71f5UY4R;AU{4ZWn; zp&d@7Ml#c@AdjQY?QC);9<)oGNl)c^<~oY;OyDoaNvo9>8gUotp5`+MoO$yMD(25e zGahoZn#=M1$NQK2+jXqcyn$AJ-Jv04Tbw2Y$hv@uzimgwI$zP0)Wj^&*^T1Vo2UDUEMfa~R&5+h&|9 zQtd+m9OrYhm09r3kYA~o+Y=yGQWEpt+r*@<+uAaeE`ef4x!m^Lws3XEuxC1}#XL0nLsZ-c9?0xI3ASYyJ+)xjSv~D$e?I zniA*7gt$moU}eY5v=smU$QDl?TIF9DW!*SHKjc2h0L^e%lu-sW2brscW^tNQVwAu) zQtD!5nx9Z;oYhFZaYPSS*+3ZmI`LHWY-)&$wT#;oeOF?S@`oTHTfrg?Wo&gH>*eNpIQ7(=eVsP_?(5h0y-!`<ekjbgA3tnXx_p3 zcNs_vHN8lDwIO5&CNwS82dpZIC|+}FWJyVMlpwasU3ff3Y7KjWCnPh>wY+8?_P||G zACcZWy(7CuE1x2oW2 zF?bY_kV5khp9QK>Gl&xM@mp|7%~4wET#@PQoUDFx0`fV_h_Z1qZfv{vL&39t=)U1Dx=Z+BHs|ek6GH`3DD@xIbq0zIW$}JqP zg=CHZWgXfx2%6F)D2GPh>#fKygP{)^cU1SJSp91+ZPKx8L;pbvj7KLz>5Ya(Qs~P`HiL4rS5$6=a;f~^NdIW);DV$^owtGeUT;ILXJ?N( z@L?qsVyOJVGB)h`4z85GLnzZs(@O`}Y<(>``9SZr>=!`D3oWfNX4$MDApr@5255^c z<=3Uu0m(ke7$28Q;F2gcB;z_wv}ad3{CB^F&f4F63&Cb&GRnsPhcqnH#J^|5Vpmup z5q_tNJPRAh46kq{W})(Je`8J;FQ+Gm^BGW})ZvR*S+ja#IN-dX7|NFEp}#C{`O1cL zRhuc|Q}tlG|NI^k+&--XzrJ~QU3<7P8jpBHSW;74Uo!gto7 ztsoGVX2q+0`iP&~YD!$ew7Epql(I&0g{+{RCwc1hdRAO2z$upZ0U=?F$%VL7Ei=(2 z=lsyV;-@?29Z7XT21n6z!|#zFs(a56LRsfpMTS~17e{{)?5)nQQMv$7>cwS!BPgb1 zLj4I4|Me@!J8A;bnT~MS9p{PusK3S>`suQCPVxH#{iY0M|JDk^ZK-ktzHX1JA#1By zFXgudy@QsF+PoMyUn9k*gSW^6A2(j9q__3-`ofXN^S+4DzV$1aeot8QHRa)INVxh@ zakwFRsr9FB60}<2C(KXNHPWNhSB4d$qniAgA4?D2qB3M-Eg#q3hQ7=>uj~rz|2u9z zUi-wb#tVsgMR9pfr7*L>k8Zr##ksk~cJfdzMwEga$%US!CLRpLXXMzisGTCcSed#RbWJP|g*Q<)$ z)~`R=`gZiXtxOh8_mZ@ej3WgL*^5~@U&G!(>h#LZ$qCtbsKo*3LqP>BNP_}FH7-ik z&&m!l=mUrNt%PNrmw*HUfXEsm_W`kY7M+X^QevO^ETQ3oO`EER$!WWERyUrg4`N+J z-5^ZZ(S8*Zf6`3hqM6R6@Rq^98YFxn{D>1b{Y#B_+Y73ZU%?jLr=9aDlWmg(G5 z6hNJ%E=Z}-u!@_Hb7**yrWj5n1&&5-2dR%5sSlu3EC?AYP{;ZO(G z)-%Ak~^nh{L@^ZxMs^!WI&a)Pgw-`YX9A}mrVFBUcHS8{ zIWlZ%Gt){zB>T-cK}0=6nU*|aOPw>S8W|GAdjMjPb2S@=J|>_wMw<iMU$kY(rAf5)BcOj$dIE`|gY8fQAm7w-ysax8i=**CmdS8fStAU+5=Ph|dH_BoJ z(2g#Xhf{CK8+bU(m{z9Fi}LZSm;@flWfhpN(HqDIvK3=iR;T6B>XbTGU}3XFRnrBc zq``Z3?^}8}tbjn8dgDc%4}>jJ4FC@)u(}ct(Mdb7g=`}gYAm-cu+{`+MIn@9g!`-NM~6fL!>sSA;gNoOw9OW_4afotShD#715T#@KX1?KU`T>#WK z3USLBc8x(9dVXc&H>q8CzoLbiyrkM%me7_+T~ zWi9$sX0`+3n%vK>edNey*%NDr^4uA=8r&WN{1VZ2U&fK()dskv3qU*b(Uy2JN*qr1 z_MPtvs^QJNFZwxiV~J&djTdIk>&D=KIM@}Z2bH1)4TyE;o9-fR#f4kneZRlCzum6` z_J2-mmjF0DE`fJ4im;ndsH=^YXn9rS54E2lHcz=N#2b%D+zFZ!&|S`h=5v&ln83K5 zH<{N@s98li$5ID>q8Bjj>K8`0Ww!<-a6Y(-fp?3kEb%Bcp(IR0@!jsIwyjDn3x9N1 zUc{NF!B)!NwAakv9HHvR^u0{&w6}}l<|{$T|Mc|u@bN#s?Vi@**uH(usPoThyYj#d zmswZ)|9sv*ecAP}GXHrBRCi$rnBkI89hHu}G_bQ{SBqJTm8u9}8B#Uax(2TRMum!C z;X1sY1U{Une8oM3h()jThPisTgu`c@_&$=4)L9<;Ad3~4s7<4fY zOcTBEkF?$$^R}s*!8irHc@?QG3XN8la$Q~J)jnvP%qym?(;sO?ob0frz9#i$*deyZ ziXRBR4K{C^KFu8(ZSwTkdBt-m;hk`VF&CR~&BvnNo4Z_%6Jpq^5^c-Lno^i)w?5ju>=B(M?HnKS{3mCkt%Y1voB zf;k$&7PB3P1ag*66klCZ4}0A38G_+>!fl;TIQ4k*9aGQ8_m*g*PWwn4Tfe~y=W||# z_-f}0gpZFu|Ka}AO2#sYu%EE{viBap9?8gl068NsvGJOUWkzi7$4=*;7bMx`o*Xmx zB^9xS5soBT0?yN@4TNoRUdCI$G@QgOq#>^-5*yqjK`(+U^3*|f1a2gwe>EiEyl?drK3-mmDE2Y z9Wc~CP=;sX`9x~_$ug{YacLjF-9LA`!~Q*V??c{ZmhycvY^N1|z8^!w>hmyk8)_(~ z$RGGEoL{6kacVyl0c+|T3S81k2`({3EYr}3?iVY(NKX%~6_G#Q3$D&oD7xyBU3L2Z z8hP$geR`Subamq2Kj>{r;}ZuaCJK#JVj$h*En!L=16kYYiAQ?***AXvouIg2Q_p@kuL4Vb*yka#mDIqcHsJp zuM&J_T_&2FPm}k_&`k*)7|{Hz%|Ma`zCRmGG+GJsw0u(<&d*&%l0XW3Q;>>z9(wQpX6(e}Q z;4Xlce<0=j@h_Ew(0g4bu>bhHR)P8P z`CNMWgx1`8U+2PFRgHrIedb!AL3?BTdUziXC<}BjHwpl6Mp0oeWu4H z?s0DV@M5zJx*HEcp_}0cIn0&V$YwBj^PrMif`uf!>*+*59XsH`fx|}8*_4q#@n+rN zxz81?Xl*r940~}|=g+C^TCtAJx}fXHsUf{M^7epUPvutlzEY;ySA99&N?|*5s|{i~ zSNectGeG5yUP89-tNP_?e&}24AB1rk{0U_@RNTf5^Bm7Dvecfu1oXO@X^XY->jq=f zED>vV+$%T=zlq5N9o0$Df_6`_Y)vT`d`16lIklx`l69MHHZ~{+={I+fmK+OiQQxN5 zjPi4vklwRMTt5w4kmw*+CVE<4y!K@+bmPOApd$m12jBn|@=`+bT4r{5gRAha;w2rW4ObSsR~xN~__ zOTX~Yy~3h6cnPJ=X|wCEAw)6PesQ%GN7$@M4YVZyM7SH{dne^J499%CK{k^W4v@Gq z2cztCeHYg>JV{^7B-URd>MwW`B*sSeI)X#QLzoQpGj( z&HIPlaf)iHWz9pfWz7M4RT1P4#+RecLkVplRW6z>RW-&<>=1VnYM! zc|ia!{=UQO+U575q53V2G-xE^xQ~MS7>->qi<|u-TSOKuUA945u{>}ojZ?=;A%UZH zAQ|-a!n<9rHOv*>O?c1h7quQf$*Jlcp8Qcq;_=~O|K<6|$G%_b=i6zE@|K&tp{g6q zghY(gtMU1b4^-+g{E%X;k0_w{V&wFGL|;Wg2D*+_QfCm-7nKvwgrThlm0T+LQ#fSs z0rUkQ1WPEbutO#bHRdN#%LmwICtTK1C3?~!PRE*Z8s!`Bdw90wO8Ml!jxtp;UvDJ^ z!VtZoTvZAviQSU?B!l0!%X!cs`_mTaLWVM~lcX|(8>%|CY@D>QnMXmHq&9ti@a zZc6+8!6HDlFBHpY25n$cq9p)D(nhE5nF7N^Yta^wH;)dGG53tJON0^&nTEJmWuO{M zNuUxfkH}UtSDE)423TBV{~bue;LL`-d@QbHsjFH!Aj6JMNIB?kGQSwcnwaO%Z@_Z0 zW3xR1IJ|f>JBBs%1J5s)lejgd*RN>B*$SISJq^oOHgpUI*i2ZG&p@4`y>Xr+Q5t5@ z)7aGFD)urhyBd^egutq@h?K3USY`$6Lk2oG1O(%N2useHp0YMO1O>Uz)*7~B=AfW_ zWwMNnAtSexyiPiI_A_mfO?l{zOe-EfQ_t&X#F^rj4#ATULfM0q*xq!PS+BC5qT*YFVBxA+&O9M5{}qWcI!y(uEbCG!{Q8xQnX6MEuyJg#Qcl1wyiK(@*P~?xb2;_SovRnyJ<}R!-ZAgj`EKNhAr;6tf=_ zokf&7$#-zgaZ5PNUQ&Cm=@{Ur}+-!4Bn| zwq}Vqtg0PBK!8=-D$@86fFyKLt!xmj=(qf|MdqfkE}N`M?~U%IMc(obGydK-voK+4JRvoJ^^EyTTP2QBI6&!emle)H^TJQ{`K&T$qV?3iz zI%=6u?3()1IxdDC0jzWd!^x*m>*Q2VuI#v@2=({jRMY)0QFhI{8qV+zUxV^ZDBzaW zv&p?CBj$l}UU}V%J*0^v7BqI;3J`lgc|w5(5Rp5#vFcBcef|y&@5c01IZibp9(42A ze_J`mQf#Pv;Refnl)f+1H_uOxeaVf6x5@6R5%UX=Dd2a}%M&zRQK1kyZ5f@sg&L>p z4Q@5m$I@hU{5Q!MOjbXfLdzfGnQ!Z&+9}>1R!T0@EM2214Q1MBaRH5y5o`O_=}U}N zcIf(l{?uWKq&Yx}8I@(DA#}sw(NlHA(OUyl6WY!(J*|+EQ>B{os4WIoOL8LZ=o@go zTV_CL=x*4x^XJxixDG(%fvg$XjdIeT=VVNmp)0Jw22)6HW$q?fT~GT@#I|wcqoE`X zvukzD=ZrBc{iZ*%mQ)mk^Tj9+#^MV7_E5>7zm z_{*oqzkOUQ2nW}hj+>N+b7i;-en}j$GEn7f7}?3V!pmj6mL8t0R%Hl?FyGwai6f(d z8_+aD!6DABL=tGWfm&TaEytd*7g_I?W^kBe2FZT%Q<`X^jRDOKb2(%{8;+xh`)qY*C_+`8t%g`8<-fTb8hRlPgHNcp=qW zM9z$ZHpBg?idH8Nv!!1FwYBpC(J2y4&0~|T=Q&e%Dlzih5L%qrR4?_5^3x9W1PN}6 zb0E0M*l>a@y%eYiFs0NH($Aca7M5~?vz)7Q&qwhWPxJ1+U*{*)Va=tyY0j4J_D4WZ zx-}Qq`@?hz*MXcE=0R)od=_TcAll=FlW0<5C{jv06sd`(q35IAp)2`FLEWwC;Ytq+ zE4QJiB_^;&HH~`2mmJu~BYI=5B&}Usew*c>0UiZF~Q;Tdg+PrpmD2W zU@US+jA^~=V>T5vD5yvJ^3W13n_p2>9hZtU5Mkjkb;1{03m5>cs}>R7<)tQ94N1ys*yp6;N^jLHtx4|9eR-THceMni3icdgI+djXZ&J*P?K z{qwpg;4rNHibz2d?7%V|;a@HVTHT507e8bXF-;lu&QF!y3hME-J^4lWAv^Qi&EyrsO9~lM=C~G)fPDrAsAM10Ixi?q9Ja2(8%zzoV!YE+u{ccOM}@sJk+z;>FEPGC zim<|~?ux2$zoLBEr#+}_Y}$6zP5v}8A0lWREoF9% zY$G{~K5D}PodvWdAcLfe@;769(3qG(g|KH@q2xL=07r=(b+Qr?2r|i~X6>n5Ek9k) zo74(#;MSxw&Ld@2f8SFner5FYvHc%KZR)`ssA`6AjCmavej)4(n_1Sqsz?_RU}j5} z1L4pkf^W%cC|~YQlwRBkXH*ar1^}6Xdeg9s*03hZh&5IM5mj9&s2?eJEbvQG64Ois zLL7)FT1RAKb1eRi|D_Gn^WslTe6J+3$4m^%g0_$>onfFHa*a-yEF)!YVI%6!R3j}d zWVd>w&N;o?EQnf>2yGlI<(r{yKBtjA6x@p$yzXZA^M14Ya@()9l}PKCoi=#oy@-v+ z^Za!G^n7=_`&)_4^oaFoFv}YyHqfSl3$w)wCzsNUf7Qsxn`tI?yuK3VVdLh?#^mRBZE!byPf; zSt|bi<8Sa~ek&bW;BCFS2_kzq#&sV}9V(q`;rDbtF; zVHag<>6&2RH62tvJl|Tnlw8Fg1${HT+lRB?9W81Yd2FYMG~9OBTPbkB~x1hQf2 zIEEiQ|3|5_<4@N5jYj0c(d$gG%_y~CL-K(yuDIXV+A8z`@=l z*~{bNUy8wM5mkmIf2Y$$#(X$k@8bJTclK%i$eYhcdVIdew94-5{s{%5b!nAh?N?}U zHj8F`uDU_&(vg)A=>p9Xpz476x0LDolJx-8#39&6)joYPOakJ4Onu%#f9Z=rL6ScG zP64CsOh#X}irpkj*iuS#Tw2f@6%6qJrj+fnC!?V(8cvCUFSKiig_V}|L(QHgW%)q? z0h&K*)x&W)L0%0HmFL=$0;Uyu6S5^bCjbC_=B1Su^-vZ7r|5mxBtV+@hV_+9VRHYC zTYcbX7Sg=#T%N{{52eUY2C4z^G7C-pZAx$a<#BWW{I_?=a7*6h`LXQMcCRPp{LvIJ zQXqDYk^?QBS(hi%+B;C%7WgKIQ>s&A@2p?2i(1eyxTX%Vs~60iyc9JC0k@U*$^&=( z)F>I?#5tqn)EgD?J!a4I2VHP(PDlMt5E&Ae@7do-(_MQNXnyr?zKnIy-bo0E?J zuKfuTI=8>s%lKew=1KzKPbvo=`|Jzh_`wM5EERuYGgY1_$9v(_<60S9ZqQ3I(}vT* z^+GXz9KQ0na-nQ`|LN1?O5+l)`dU_|4cR{Ib{ri@M0N;NdOC7B<-aK5flJSt_ln}v z{H&3_coQX34yF%D4{3>H#;vCuZmfEkGb8!r3sR~O-=k3KbPox8_v}Wg)fa9c)d%-5 z)3W;GngKcw5x%Xnl=BT>{E`a5ITXswD9+j%(RX!Mva1igzk%jP%;53V;Uh~!wAgGK z*0w4~GFw^+PXr%4(&VQ0gXcG4Ot=nMzoH^;dK#%+NnwPHxt5?8WROVJsK6UDl{gzr z)iHMWl=kWaS)wd*HsTnGl!6MeV;v4;&K}h`3Wzq4*PsbUHuJ&g#} zPm-{6*?({;Nte%D+d?wTGzCHuT$K>4m+tmPiazObO(5zv@Uf&ZO8VWNFFEdX$QD$o zA(Db>l?--B!lx#Tcn76Ln=wgk5v1*i_mlZAc#k;b0$9JXoay77UO?KV5ISw%W4fEE zowcawI97Dvb)P9U7QI7bC7+JU6_A>Q#Di79=!*7-ZG=K_&$<8#QY83zMHPU`5w*004IHq4ii!Bj)U842Xb zpoZ_7^TMTuB9b-C|Cl!GO8GrSCIv}X_2PJ#&Xd;?#8GPXNSPDwTO`Uuy5u(dqtH|e zASB)^X0dhKkOw3i$&iO6^@WV@Er>$PYW?Xc;Axb68ZRZp4fxoYm;mL#qljFh3X0wV z^)S|KnUv>)CMbix(E(jjOVe1ahgM>k5&`BTXGDVFXK`aK+aV1qZKL04s4uB2VcP{L z841kDF^%{M>jxwS8u(GD=XHTu28Dn9+M0JngWtZE>2WXlhWz_K93G#Z%P-#^_D}a6 zR-S15#n??=<>vd)7TveMJ1e+D?^g zZ`t=kN1)EtAA|3ic0*E@l)rWTJEXZhbI)~F zB$duPT3h|n)^{s4_ZhJ+;rGvM?im2l`Hz4Gicmxezh_`kc?1>>xT0dj74;sRvaV&R z$qk6nI;WxNoE7N9XMQ+V{3;G2kOtpP7ZT|kNHP=v2b}het0m&d{JEDQtkoyR{GKm_ zu*wCo$_H?Q2~NR+thrFKE6bEkspW1#5W>5XnRDbKk^+gwU`x`}Q};ukM17&$AJVlo zJDZEQ<6~;c|Eh-k*RO+q;rPl-U}n$z?(zQ1JD_IT;8kzqY%F;@Vmhr{CuS0{A8Uc7 zm0-HDNN;T!e^^Px8v*QW=E|ipggV3Zfx#FTb7E@kmerFAI0ip2vA328!dx)oDlk84 z8IU7tVan{`K*8Ev!I>W?!(u>qfnPKV+}Hk+A}hAFPpas5V5<>NgyQG6ZSj ztXEP~ov4~-yTTIsd7CG1*)2A1k$)tl5k#A_;4a5+*Kl*q2y0TLlU`b_I`y{puHG7&6*vSS9pgsfNOBCFRWllq6lRRUr@7!0Gk9k5 znB>6pGDt;&O>OHVXKy%s*IwmGgr_Qo@tPR>jc4vCUr4BQalo{4M%rwEJtjy#W^~?y|K-c=S}fc>SAENu ztUDD=RvBZt7W}He*PMIVcLHpGvw7H}3;_ z59S*{?8usgYX^4ivvU>(7^Li}kT}c+9p+(Cx)w;8^co}@sGs0fR_-dlYZddH7ckVP zZ{5%TbieO!|GIAK@r(`1&)A~;_PRs$KEw$nDK!n!Hr1wvkJMCM!1#`=q|?T@xWO5j zgh|w83!Q7#*OymVt987DlDRASif2j!W=|6J0d^~OK%C51b`W?WaERVpQ3{wYUb}|M zoMZ!e@t)jp2kGri`FG|z?mU^bOjOl_KJ9nXix9i6aa~RQWqD>|wV<+PgNX3~E?~&0 z1-qbXd^pj--~(-#GORQ6*a&*+a8oJ6*@zm^lhu`C3d!=lp`x9S&V;lwi%ybAMp8G0 zCh??wW>}#2GADjrzHiM{EmR5*XQjavyE=b4uOGiX{nYPPO03-tYcC}PT3Z1NlYUyf zl;is4{^9HM-$wF#@Z)f>Ebd^dlhP!Zq=EL4XKE#=OHX}A0! zt>Gf;5f!w+qK6fJT;s>aibjait%P5_s)MYQXym1tR@&2+X|nVzJ1KiIC(J@4&nW%= z{!nu|uvJc;jJSqjKKSQ76QEXHPhraPnFi^QRWPn+64rDzt+>P$%SQIBn8Z8Z&iTLn z_}D!^uD5+#a>nN3jf`Dnk8(W+Q_g7s2DZ(`B61e1E{e6W~!8fLNnj z5ABa#@w*5~N5I}nRCU2viexC6G%ZMT(1rk6Q;`3BMTTo_UuH*|Yoa|a$=ru&H-6*o zd}j3=;%fcd8c=ken$dvLF$hyd0|HhQR^??)djjeW3`*9e#0k>mt-U6xN(wmuM?kp0 zqL>uI(x%_-3vG@Ne9#GrylK^ngPXn}S4R_)19ZEN5?<wbZkyxQ%-rPVV17WU5 z@Dg`&7t7C|Iy%z@P`H_CyB}_4`7<`-vkcF_eEGc2O)MvP?$i3qnlSh_d)tq#JM1Ps zPFnE?)*(YZv~GOboi3wLOp21A`ry*6k36+&Yw9(MFA&xelMJrRc17fA6F)gVf za1lllqSb)U`~VB~c$GL+%z|9wd={No%dBADw~E4V6<0er;6SOS_?Mtk0T%R88lt zA7&qGx<1V13S!rdL^(|d$~Mz8m?G7jAJJ-V8C-j~K+=wU59$sTB%G7^T}lSCBw2>+ zixrc`j_S;%jI*!kfA>%qOq$t-%!tWC3DL6$R$Q4iGvah_$U(;XW!@}n36WIqigEvoy!6AxqsKYw zLCA7=xJ*o{1*sU0CwtA4sqCUnDAIM+iWM(tix2y!-AcwHR$c1R>J&Lf@e;Ax6zfpA z(WiiTlG=lG?WEiJE9_&IX#2u-KiwT z@tBA5Oedoo&!MP~+w;?!0IJh{;A7y46qC&d8I`j`9?l+4H$DqJ2|W;9$Gp`%69gv} z?&`cGTIG5${mM_`ZdwAK1m1JbTp#w&`;`;M2d=u*xwVZOWM;yELP1d__2ccXz74Wgx%BmKVMJhhG)u7N=anjgPVWgrf zg)g-^l=!L3=(fN<0y~Dlu9lp;5k-z-EJos=t%j{_kf1xJR2V%p;{6r>Pg}MOW=u6FHe04^xV>WhJM})hW0jJ{%h`0hr}A+zW0MQzx3?1!O-+yAHjb{=*l+Vah}r-B+R+ke^fd<1%!$8; zM9dZ%(2nqV6xExaRyu&|cUi%qh&ro!1TZ5t(F84Rw~=PSK%8xA$vo1Rfy!yD!~%Zy z;)jIeEaa(Opi+8I`{1b_c_( z%1Fan0&Lg3n_Ve|Jyv)T>*5|D5nz-vPY0XyCb{=GSwPKM*v#6~HP5;oqmJnN2L}lF zvZfTHuq6$o!&%q5ZQQW4IRPt7cR?wD#aC<=k9jy(T9Q1{g3{9A;wa|;zm4X z16O@rv$N^CBe-m+wesa>%@$4Y<4}KPaSi%o7xUv6dh0-~Cbzx(*Tp22k>MJo9%WMF zqE?Tg8w2D~(BFu2Q5)dPP^&)R z2)d>ST%eYn*l+3AbqGwo!xV}2z7;9DI2(YVoVcdy7}9;rMcYUuq8AMHrMyUR5eWL@ z<1b%K`wsND?hWnUkg1$;ij8M?@1*$Bs-VSIXv01`9}v5*ADezzHmv zg=@M?0R&8L#DM?@enGb{e9-zpd_-R))C%L>4K>fpX>9}s%tdi4Vdlh@i z3AEWYDPx}rtLH0+8XN>h_!ptmo*aTEb&vRf!2@bxQKl~eat4h)0oyaHA$=$_FuNRp z*<=mLc7>{P2($nRdj(bf!=XE3s`V<(t%h$F*Sp?*xxIeuZ|}eS^yAax*M6lh=v~^Z zywi5&tu|bKCr{S?W%s;)8eTs?>M+|zrZn}&HgRCsM9#-xFL59|eaPw53~huAOrv`P zj~>npK}BMW%TFQF1F*Uf|346UmUECVh)~IV1IC?mcM?-TKOE2M`-eb)n1durN3|4c z?X;p~N9uH-a<=u31=LY)+2`FEVZ{M<#HFN9avNEw(rRiw2fj(?5qnQYLJjkxCToMR zSV3f>jlfW)_^DWF9f(^DF6j)(^DxB+T)UP?8$z`J(aStKr|Kza0FHM7#XAJ~PLG1@ zMo#%SP;-Eoix?)Y@!xjxzMN~Kv9o0}N7=jV%63;)QZk zxmxc)?+P4InSPMRCtc-eWJrrd8~CoITY)fN>N6Cc!bKnWm(RC=%Qxg6wiG{NZyE|l z^^K8$3Dikw9PEzFO>_o$R2v|V8$4u7`WT@@O4p%+8u*Yka{_dkkNEq8BUhQtL*kEW zADpe|-+!AH;$4$l$S~ic_T&GvS_oVbfXG5jqhQ4Grk1*?Y9jviCV~e&v=P2Ytte+p ztz@B30n@^G&$a^v%c1R9MekH*{O{6sEc0BR2$0w(~~!VkIA6%O^th06yq< zww;S)R=@vpyL;N)?N`bMcX^Al!zQm|rfuUVthxmbc`Z!V0+aS|zA`HRb6O;jMXPR% z0Tz!MRfA*|1+1>qG<}Jy`+;{8g`ZdSOyYu+392w3*o#+Tb^fC-+Y}0CvUoo(w*A!3W`aDx_SFdJp@8vpNbuIF^Dr~RROy8rro|M=w(kI&Ej z{=@$EKJ~@xxLK2}%TL_Ae9-nwDCmFxhq;X=b$1`@HvrHl1m@FDd|onqo)&X+WUiz= zPP}s_#bWjF6KUE>%{W8+Ybr2PJk!k1Ul;U`II_G$7%3npH~Y=tO?fJrM88HqD{VzV zv>7#}H`~U509b4_M^1g3GC%B|)(!oAUimc)a-9Vv>w0v|@C0zP^d9Lv1G9YswC{`CG(i@sN$R zqUu<#1{ELb)Bd477!=Ue)KH`wN)%2iZ@>nOPn?B>$9=~k~#;IHDkDolKx~VHc8unjR+Kw z6{rXhGDC0BId;=}TGO(6P^@c;iH1RL|JEE;L@SAi64q>T{3iC{3|;ZRl9nV0qm$=? zQBB0TsapS*mWGB^m{-*N0X`m-_-6D<$$6}+JCqN$0p5K$CcSU4DI_$>L_(znnxVJRfqI6~mf|@uwbTmaKl&sd4!}^;bk?d;xDYiA#9Madz(-BiO zI-0PFfx7A>(aTX@wgdQib1c@qHfwr;#X=X@WSJSK7lU?bNX5X<>$U1P*xLsAUBmfk zBTh0C>*Qk>yZ~9&tx*WV+8gaj`^Z1FL^p%(w(}Mw=gop!2u8O~JK}se-9H^3zif6Z zB~QL`b(k%@E_t#KBY`-Dpv4*PvOIgq<#T|DF*W1VOY}aMsW`Ex_Bw}8SxBJ-#=+`9 zz6+Oop$Z|!rFTOdCL~|1IxSKM8zw2zrxa~q@5*)HzFf6>cwm^Ia9;N%n_|lutI_bu zq=uJnTT6`Bfq!DT&&p-(mPSUY^|y;M+Na=MMp33-yEee+PIDpGTo}3^j;8NE#x=kh z?c~yg{c!5M{<3CgGX?Fxtfi$tU-+|}RU-DGxt&xZQW#8Atu*))whjF4D)bh0Po3ww z>e!5M%2|CY5PymgB=pXz*D2bPDjLXIMJnO*9cwZK$?0)7s3@n0tW=p*bmAym5vA3O z2e-uuG|cnSP6;k$@G3y=E|gMN57MZpO8Uu4qaLmh%jQB%by~HFJmB#C905)0LGiX$VZ-5qFF0-sXFEVM4nmtVEP>s>)L&Yb|Z zvM3-mJ*#1P{GtwelE)~OFD)L<_hP%XdmQ#!@tIj`~ z7VlU^ri&UltKJmr*xHtM9qH;eY5E1MsPx%_wA?Hmn-6pvCtjt=57&`t>qCk)X*M%t zLt?g`8M7gPPEb|_`wYmkH#BTuhae+f(`*|J{an#iZgIr}KS>_5sJ5twR-qrw5WBol zakAP$j>nwar(+pIq~g&Cup16@vfe>XQCyafWt;RQs*`Iehi%3c(@0WLo$VzSOPa{V zgk(19?GLB8&ASqSrZtexOV8VV_p@Z_S32LO^|Oh<>pA&QkIHKvv+6kL{jX)1Y$@Ci zNv0l}oSr}4$40u4fIg?*^rNRhOO)^XPtaFZz&VhZ-+zJ`S^U~5S`s`j?I8y2%n$$b zy>PW%`TY&J+OGe4w>tx?Y1s)>Eeufsq=aA=WKHZwM=Zl~BNiZv4ORUQFfr4U~u z2y29V6&dn1BEE_N@dfnjDdOwZVh-0$V>2oqAlMGzvJvi8WVqLe_9`;kt0de@x_nM5 z_A}ZuYGTxM@ys7Z&_YOWM;eGIszxeX9(WuHE}Qi;P-Hku9YVz$ig~qi#Z8^A;PFUO zD#%X9V6!BqG%QNqAWTSa@b8t!D=boS_wTlszzFVqZ7q9=^e#wsL2}Vd=SNd4$OL7 zg{}kmWu9Jx1lg6}G7sXI{~NxT!>;{+c71_d`{93Hu5^i8o2>QW@yq^if4J}af4kf7 z*2Ucq*rfcFwkdzXMz16IgB`ff%DG|Mj*Bt5%^=&lMr34Kg zMRi7N{=m54+N5}A62b_ojp4d_xGybzKtTQqQn&@J1y8Q099ZXUazjZIOr(6{(e_WcBU>5ma zbCIPvOge^Gt)@nyhfVP^8Oy*ot$MA}&YUV<+6(5kW@=zEIc=o{*`N4tF2k5!BjRBOnW*kTgp@S@n$IW<+`W{*VUxb&|=m9!8JP zyXXCO|9Rb@nJtXCQQ4=hmRe%09bIR&0oKf0sZE~j=hLqHd13J{yQduGe*1F!II_V< z-C4uHi>$3?r2_ntVfCtL_63=oZ40&yesmELb)>gFIk^1j$Ox$p$K^OFEJTQfKe<_6 z?Ol#ET}`|@=PNaBW@SA=#?ztZK57xyxbUDqOMa7A+m1JFwnd;Vs8t-Jtz#>hYdwG1 zv9P#$T|CrR*Z*sJ)~~K`o%ZnK)BVf3KJzZEUEX5#*L<*DO(D43qnOjKnjoMyndd&x z-uZ%^>Ih6Y?>ETMvd|*2Ro9-Gy^%td(PJJdEK8pSmo5!pZKJWQ zJy;a&QSqlYNhvp7Mi;E|dsrq>398`$;h6Gf#*;h4l9u`|G_8>|hz^3WHE4JyR@HH6 z4cTHBbv%?^q_$QA@7h3DnPw_9Ni8tMx1ASi7K0ms5ka|SoEBUpm~}(3h*cz@ZCe_k zdtIRG$jugv7Bjvez%4J^1I2e~;EFbO+E`YYd%5f5E5|oY?jE60f{_>xCCyVKw+J#lglr$;9p;2t2CB7?M4CT@H2L z>|Wkd8wRVS=SHQ4rch#&MLfd<7w-pD5!3&Do9*11jslGGigH4=XZj~5QebdW*52}* z9Bpmr=QjMKR0p+)BDIfX+zuaSc5klCZgJ?Vl={N{&wKjIzI?WiAJ_l!+ry_%`<23I zw|V8)k;~o>5EY7y&PH`hf~^2fy#U#@V0=V;!hHM)+0l9dTR~mqHR`L9ADT&Xwl#cP z9)O&y(g`k||I0dt-^&s>GYnF|GvA$(+Rv_zC8&4a?9uw;1?&JIB(3Js=eCRc?wS6{ z+xx@1Y0A^EMcJoKmecL{_C#jN+BZW!h^Wkld`I!4wLuvoJtPE9JxvzFFWht+*Mwh^ zs5tRyS=?)zdJP{Z`M60+?{I>7U^u#>Aa+ePJlw(mCVM^iSxl{B0N0+hy(73|_w@BW z{OISj{#(500qZg1hX{15PMS{5lugM_!jclgVcNhNF@+^4$kvi65V@b;o-|h8ILYd^ z#Gj^NujVgPA^l0eJ+)ajk~(u4Y`ivYL$6AVbq%ZjYVR~cto>nNoHbkm<*vo|1N9Jp zGX0)(6FpO7K1XAn6~Q)*1t|Sb(@zk3%E`q>QdbKFaW8g>baghb%$*S z?0ptdonca4dIT6VN}5!KP_sbDutJ&|%ma?RZ-m`&D#F~*^{R$ooo=F|jG z12rD*kF(m_EBY_>u9yOvbHNKr&5e@mkf4?_N+>```)uH97G zM3E1vWvIW|>IPOTbHMm{nmH1?G-vrcA^6EPsCL;WJSWMhEKr;-E4lFdgJo3ZT~-g~ zKSaO$Kv$Fs;#sNF4G695kp5d-`%tPxE6rxm=n2T^YSsbsH?=@p(7bL^;09$U?yMMg z$UM)bQ>@U9AAi2T|MJtnK0c*(_#Twwf!mc|xZx|c>gj632-ecB1>aFl02NV8L`f0A%p|=Kp^vyJ!BI-h5XqQ&_6kPI9tCZP z)R&wf5wXt-u2;FV$>TvKD4W|FiC}|kLco@1c^An(pGD4EO_IS+O*`soSAidJ&mpP} zG7p5T6!J|DR6kH^poK##42e7dN~2V%-PVoH+OHbk=rWXXPSkS27T2&$N=w5~Y{2)| zp-K~ymajm=F2ELSOe;YvOBz5v%^&L?YPjjXQLwHWtcoZCQD;pIy#{mAFxSYmG_$pJ z88P*mbA(PQco$T;FlBAT?hQb;8YuB#-=WL!1w3aw9cJDM|;r38S`M+1$olU<=?>F93e6`7bA8C>hjQ))6h!RRCRA`9Q43gNUwOa~WUGGHSZ#y#E@m|sG zLEUI!3Fu2l=;09MsB^Xjn;@V!bl>zKL!Fk=2kp4gA2<~v!)fcH%tJcj9BM&5S3!2+RDVx z#v#E4ZA}`HBSF|m#uerPTgH3nYv=-Af-vr+YS`wC5}hL#Dz9DP70!i`iFC`0?ZUnmtoBc z{sk0vhD*uT&|@2Lau$h&s1we;;cr6%qC_5szx$S1$*Q66x}}N*U1=JDz5%zU2Dnpm z#ha|(_|XsV&l2UTuZmGN^Ypp*BAsXlSi`cpa<}DpfQcoB;n+2t(rk$^O^#2V;q;MC z_=datFCV{s`epaGm8`=ZN;BMG*>FYQkN!-qJq|zB#yeiAmvp0QUeqK-R1!%-qb4pZ z{T`6Xjhud3PK(_@$fQ#4H3Eb#YW%91JN5E=MhHMmB_=5`_Qap!M^_iM+ydIXE<@M z24+;|@_G^~Xu!&T_f9#nTiWXaCk}l_u{jv}XM9EPcVGVe?dyKO+KK+2+muh(XvU4+R>y8^x~dw+ z{g*)nac@4oZ9-Pmuz!S7mC`c#!hh*L{#UESEa9f5_zu+);W%9$8c7wLh^ zLL9k(wh`XTW~Hf01v4Ji(a9JXu0!dDFN8>I(6dq}&G?P`;n2C ze9!O;y;Gj5)kYq^uxsG7VjY(k94eQ>NkGkrj)AHtHQp$IaxK%&8R3do8V-AzvxYQT z@9EX=H&2gWKi)rlT}ur~tEV=H^_M-JxYDHD5$Z5eZd#g7VW`1%vv<8=I&b3XM|DoT zkQa`l;w{g*K?Ie{(ot^+9fz9SIu>Xeb61l7G285^7C-AS!4aHD8nPy-2oo-4;L{x& zoi@fNatS*(?}eP3<-FQtt;w@;qsjvB;byp_6$A|%AxoF<_(@X!#P7t;8@9rLnN7C=dwfs4d`nY@3I8w(Bwvy=IR_8r&zPV7BmbVH?vQQTKj>L<%e zF8uz`)Fsoxt@s(afw5?hd2@YNQh^wA?6eYo*y;eMC;fjXn-7u;EfVJzD}s2+59$B3 zgPhwoX0kZPKc_psFqasb&(Oq-`P}Q0{dtrv0Cs*+?@PC2nAeOmn&G}5 zkqTedc^ut-*)2_9jBSI-_MLvroY8h^_9|8WiFuT)a5G6_h6gJ^>!=(P+KJS60QAIB z0o$EWEbi9EH*~Ci~=oB~*I)gW#^q(Jc+h zDR^L6q-AY~DR!gGI^ohNAN3+`rjDT-d?ie_Q>;i`!^%)$wLwW08p^WZ$P32Yb>kI4 zG|b8%Zzq*?X7E<2e_Ss#nX}a};X=CH36X?1p{8vn@47`oo3LACb%{kw6Jm~J%G;9vi*4L(Ds))DMu#yp_z~tzE%iYxQ zOC@ceIYL>c)8LG15|kuiY8Q;|O1`$L_d2L7M` zN9sodQJNMa0C-yrEe27fpvNeF1Cq1OcLGYT9bJyo>)d!bA38vf>k@kVy>N*3T{PRC zc*Y1UER$1)&y!k%E`RXpHCUUu$GV+-A$fKM&r@yyEmONx)eo-`dAsaCSo7fsItSxP zw;diGI1%C;HXTWsVmQJ~-KaPRu-hCR3FijS47emW1G*A*s8%i=U;|Y^ou;K*LlCVs zRYyc<9KfB1;9vYcO|2~ZI~cqRdUCuYL__k96nt{SLwJ|d;`qE7k}<4mO#V>++d;A|(q^~71NnGE)5)$=3rOgf3@qUa5mG9~w~G^>Y{$Q!a-eoS-{o>0#~ zDGnzniJP3)dqcq=`a3XCtnh-jQZzdiFM*xut<_sDn@_(+yG>^Fzf7 z;fo7f+%2L*CuBmbij#!la#WJqL?d_5hFEeZna_8GANf=l=WOGI?c}acO5WdodM|wM zYuaWRwRZ{G4BfN{l@nqoLHrBz)k{Ir_Ya!r&O3&^v8fYsYDJVG;9Ns(Fif;zwT1ni|Axq@Z- z2O@Looy#JOE#8ndYz(~7vp?1Pn(p(Q!TNbV%u z!N<8Xa_w`KC_nfX8Njf0^fLm_9zFJ4rvu`^d=}Hv9@BA$E!2q(S}tYF*sfX`J^&WN zo{M0NhJTmD(h)US1Wi|3d4WZkG7!O0ksIWQDkMi8TSg`qH+(NzP4_+5geNNjNCX0M zqRa_NOK}}kN-&|U2};8qrIsjlk3A(zVd^B>9wwO?!+_rhFnTe%VKbU&Kr@x3shX~4 zGG&U~A5EwbAT%W{%339dYJKuSNTN{IVyp&1hY^MdQQl_ouh)HxI#{}I^rpc4Gl*Fi z>2OG9L1}ZIp{VoS=6yfZL&ku1U0B}fI+fCDXo(1ba4XaA1DRtfj7f8I_B{<1HCt*~2ib{| z+2sX-?#PBB-}6dQCB*g8%_l6{kJQSBmbjraQr2t4@nZ|DnFYIWboi&I-Is24?eR0# zezoYBYm0FJXho)m28GFmYT_! z&aGX)Ju8U5vU$IqW%z1^QHTc32e9ecN0c~Y6(0QHs5 z&xSJl)l#~1Yn-~w>Xbe-?Ro3@V$WTj-b%vyF=Ig(-^$?zgAKuQ@XFO;K9cVLhQcW9)39V|MKN||CDaa^Zm-O7Dj)Ea(C#<`^lzDiMW6NhaC+HcVF0!%YOIe zr*FHT_9q)>ortqtYH2>)nw<UB@0SD{YloX{#KRw#q?ii|u?XX;t9# zHq@Z2)csg12WE@JcD9{uvh0Z){j5j+#oie{RF{&wt<@cJ?9kB+mHQgcP!-vVu&Px!bI2bH1vkd)#EF$EhArbT z0kmvI)c}jc!49^P)V?pqlj^c-xmDyxvr9=)Ly5)ok=b5UaY=Zm;+PoJoDj69T4Zj3 zJZ=reXbgbjJ!HSjnls&jMN7u2Sljd`H6JZ<8chFLRy~9-z&OzYRcF(KMVQO-L+E5@n;fTu<680357@bB9D3i^>8 zNT{!ew>#)vjX;S5l7{n&IxkRn86mX1-FyxQ{z(l$M_t*pKI(4;hb>E?RWKYRphMYD z!?6<|sS4QY@q>R-stGU|U&eCSw2XQ!7+|r+6Uy;u2ma00QI2QTaqO06k5jVINa37q zpp?_RMi@g)&!Z+C`ORzxY8H*`vP69DO;u^_P*MWE7JG4EK9j61NdSr#n!_NW?FR{M z)5Gq*MLG$3!s*#x%;9q{f&qA&`;fE#Z@yzZ?%|@td}9NB`J0dX&->jv56qv^ic8al zHb#Svv3ndl%gPL$rEeu-jB*&28PXGHKgc-5lLCUcnzEVv5RV3#N#qGPdV0(XMOAQES1WbL<6uB$;by*S7_gF~e_ z9y97P5<<@5B;*V!duao`P0u+2Zyl!dl-9!cUdP4#?I1k|fsmTnc$yJ9?}emHA+9H9Eb z3D$UBoviUV^=zmQGTe@y4iJ3WlwgqNGH*PkO>}4b}>x%Zy5deDt0C7lWq4G2;^0UixE;Vq>OHXr;Cf#WS_LWAluhSVWa(aoV{FcacTP zm?zp&0?jSIAKndevp6a8*_UQ`e`Kiu=`kw(jl?~mrB0U2=|^oI)jy#NI^rfodtP6& z%{=MXtG56C56_VB;W{Int!pO1HXu*IF&;x_&sG6R(pq8{HPkgQ(@T-T#z1B~uw4RF z(b^oQQFRs~B}J6mYyS8BL#P5N(G`Vlyy$Kyt`kLGOEw0yH?-`Mv-c7R8RWYNCa)qU zqIg|squ`t}1dc$9iY1SZjkPK@N4>J@rZB*6EGrQXkG&GC9b6ekt*+kw*Ojohllzc8 z?cAU&Ig!{bW(6Y;XPTR}{6N!G4mZ#6gXm(fX5ufL7gEC*TH9&!n*gs4|M6`du=0Vc zzQTQS&So>LW~@U}Ym_(-cEmpCF`x`X0dtDrM6tQkz~LnBk~)R~lGE|7YWzuID=)Mn z`b4P{E6Jt6U<;ojD%w>cM+UTpK&>GhA4&IXYuTVUMjOsKqwHGwiFx@-lTWHdfw{#U zm)xqReI zVkd%r2mcZX!~XuEVRnz>Rzqk5XA=B?2M^iwbPqR%oLr0B|TDU z`%&dr9F0Q$^N@8mGDU@UV!B>94AjhYaa=IG6?F2jG#Jizi^Hef8kC5$3@d7?DFGu@ za3X8i0li{G0VLIazMUzL@WfRL}Hn#gLsnYK9zkz1c{Fx zT@f@5ST@DPKdP>gJ%`N}&kb1?*H;0$3izX=uB)LrB~zXl5sZ(7Is@7N(_=U`RR|E*Qr{gZI+<;#8e)h%@P1 zOnc?f!^{L6TH>LMgI$m4Y&M6;OrUyU6ET3myxPGg5YA~RbXPrTR}^^lw6v}{95QvE zlkSLKQ?DYC3T2{gt|ivIUYraq0Ek}E`-I!VJ13zv-FMEmLzat^eyz+`TBr%glZ10& zM-b)4Aw!>edyUQA3?Fh4ebxy@sjD#LiPa6R41!5Dx=&Cj@P5QvB45yxbEQV)9>Nr%p3*=t=v#;3=@h79FoaJD==h{6ZFgF}Ej@ z(`TELwdm|qAJ=e}2PRaC)-HtgB=GRzzQ0fH`)_}~|GbhIlr>!*@`mLTwtU0uU=+|p zJmFf#K~xKJ%ILN9+uAxOLCn;a(wSc=qKO(N8b%B=()wUp<&GcZ9AUQ7ZyUZp7<84P zxyFvuJfsM@;Kv}CALdo-4;MQ9c-n$GMj}P&`Ay>zr0wY;2T11-0;Vn(JyB}A47=l2 z1PF`7YDe;Kqvy+AwlrMeC)j*?$p%2;`AU+JP!dHKoEj9`U)?CN+;Bi-Mu~OgpmKA2 z;9p8U$TYX@X@(NzpBX#61VaW8`m68Jab5IhJfRYpUz>L$-I+=%zJa3f9iML{*Ryk?eXbw zcmH**mQx4BO8JX6dR;`hZibdiPg!7pZymZct*TyfqHKY(pr_PYK8y=&=KBXE z*-@F8RU6|D)wC)1FYpAlG%@q1K|OcLn|q02`sb(nuQ&UrXULAOD*>ks%9p&w>qw>$ z_v17fAwDMZ^N51J5|K*YIa6=}^Gyptl)fTSTi>04Qqn8hBJKHKcfb!y)V+7RUw?+F zsW}#w{);b?!^7NmThOOBBI@ZRfDy!9`K=fETlVnoYn&ry{N>xzm%py-GDWm_P8*cp zPW#K$y-!FP`78Q?AM_>u=1W9QCs7k3PBwA&O;N-{U-$U8x2b9rk zY|4>g@h)zm>|x0Wp%RvvC*4VW?1H<2`^86a@<@*MKdT8C>q9oJ#MB_ic?Vk33etdks**)Fw*7^h= zxLNs>wku!qhOg-OPS&0Xj@0eYifzP*iF##6k~Rv$&?z%;;`aP>%2Iw!j>-Ep@wq(Y{^cI*dPNfhCyF5#{_iv z_IQ~vGj$`8>hz76x^YqQ8B#|LWQILrl-E{2oWEAvV0j|8;`YV3eR1}d=eMvNU&C^8 z0x;M`)oR?sIl1b>1o?#5<(b99Ih4nXc*T=!xs47gCYP=Dm_g|uSCX(gtoe#xmvb!v zYFMrO{P^wZh*KL-Aj~44=s9LZ#~)6Y@lzgxp;S)1ZVKT9p;6+Z>SZQk4ArZwghDC7 z4`-C-;Kgu2a-!j!CbcJIBvL?oW9+J0@T}wbM{T(Cqb?9z|GMi8axs(WZ8p#;a77J4x>jZGa zR|kR9GP2pIEXgjjuC}y9GdH71-I+4gM1AV!I0U^qO|^{yD=7$8sKZ=Voc3Q&eCnn* z`#1&L^=s`PzH-$!Tx+784p*zD?bnh|T1nGT*0V@G^@(=gYmyQTC$eh=w}Pi$RMuV2 z@_(tX#yMtnD!Nrdlib*sqY&5y^=0?1TX}0gbJaJ*7pqa`tc94{i?Q3xXj>JS0ZQ!z zBR8lMn1XmZIdNh9TE~Rts!MJ8OellN8ygnRaEWenZD{Zy&>yQ5Fn~wB5Wf!%NpCIx z&WhXfWA-VLZ=tbZ@{L!xQGKNv{#|n@Va48(Hdd$qhKY4K2&jVCb7NwK!hPBuC}xEW zfKbfH3F%6mNY-_4S9?GL->KkQaIN`1=Pq%QBd#D}+J7>1V= z=|x$0dP&z?)0VofnvB)Ok^%G~4$hT=M;c z0rtP`n1~@VCIi0Ld6{zd1%F2Y_K zLDP-aPr|grqs{^cFXW)(P|M~<^-e>9 zCc=qHUWp<{7+_8?SqIgyASk&l2-!-%V#lV2Nn2x89t4$wSR-nmv#iw0BuLGUP#ak0 zMbTQR_XN~gffp0tC$(7t*%4y0lWBneicMyE>+-Ssk^tR`b9+y#%i0R! zY+$A+)D>+6j#g5+h2SVF(lrrR?SX*?rGR`TygOVW+o7nOA(jGT zq&po5e62;h<;`t;Mv`}~&Sg?YKnSp7B#N9OR)&ZiSIGf1vMmw|-w{2Jz(#3O81eD3 zmO?=~F=}o0R3u`bC_KJh9?lj{5Pfo0r150RE4lBGdYXPk@{}8j!#6gYnc&fue6%Dw zWJ|_2cL_jn)nrLAN6oHD*?EtAXIsy2M@Oh#Ei2+blf(H2xk!_%hY zEleD94#z0m12)a1Mha-CXZTgu>Qy+tAo2@DoT(l2Njgy@`FA55U4AWLyYx5ij}ZW^ zCS({G_qNRRpO!qJ4j33z)zkfMuh z8apXFn=C&yT>xMDhcp;MIIg3T3hD5kU_d5{8x>5(;+RTd>Hm-Pyt-oknX=rP{ZaZ7 zl6us{^RwoX)X<}g69nk$Um!1Cm>5GFTl!m-c4`aKS6 zSz)MC>-atPM*73$B|Jm~{c~Tv>!8@h!j1bi*RZs^`J4S+aIo16q=U|HJ}w2Q;5Ptj z^m{Jk#6@mJgJS;Yx3{RJ!=g!jaCLn5bu3hj7q5d5^xu9RONZrkcv(%nYlkN?UMsG{ zv%~z&*RgciU-^nJ?QY>6zXXfzpMQM(Wu1OUhqcSwwE7!@61PKk(`2YC=#k4sp?)X< zwd7S=@n$ImL1j!&;hQ=;I@3~~pSG$;o|v;0*_=(5*9W39EJI>MS};{v5bL6s=H~AH z;miJS*;4ZzKAN329Q-tw3mIJs#_qdez0r~I^Dt)*jbMg>8l(m!SllmBUDEG6q-n@e zt^hk>P(x`0n3*BX>-qb?%z2a0PH^3qDo=|p)+UBN5Qz#}K?H#e^jE;_fstbuyP%o( zcQ)RHlKd2CGxEZ;UjecrmSrwUO zm4Z+R+^elqg<33N$vAMvzM(^zgSry}cjqZ%J2=m-i0h4}zzn+c1QyEOXgyXW97#q5 zk?pCY5*950sk)iI+<4+w(;O&XjcK6+DFhU_meBuraaYX8rb_}ytnTy5xgYv*F zmH`}jwcVH7r^ox-6W5LI^Z1@&I%R6jn5g`$%;h!Ud-I0y>=$PY;bXNhdJtIaec|VO z)byUeEnr*EtC~{SmB$t~vGOxYPrAWB=sp}xDUNsj)Jk$Cj7Bb!X9${$Dvh`z#Jx)HhO+u{w@xn&JhPXG|Tok>*eZ7F4-v9K|-~O=svQkGCYnPwW>aU`t zKl@uZA( zKauQhnvvtZNFjVCu8>A}HMw76Zq{sxud5jePlb5k#|SvWI*PB}wSpD8VnwH1SE5@N6rT%I6t6 zbTkY((wo_GncKsCQi{wX9tcq)0uCc3RUED{$Ao<=Iz3vNc>J#8A%86R*HjVw75)e% zpB7zv;M`4{10yF7DLK-~!$_saX0UoISI0U#SNm*Xea%ueCcdsdp$U~|c|fN6E^0`B z*gdCl>u=Y)ew~`&C#_%Jr45#+H^W*0bU=&0ZVUqbSdGM~)^iycO;*=u;AV4FmQb#alWA1Ay9L2%C@CUs}55P#_innT`l7 z5{5l_6&$A^nY%uZaR(Y)-w6C>g)sBE{AX3Tk$6$ff*pFjSgJ@y2~(S}xEA+B4UNTgcbE~fCBda$nit%nG9Azjzl zUz6rq+MVV+Gs#mtyfp1;x1ej#RpZ)PCozd!Ung5*Trs_#D7fR*-B?fk7-}3_S4(io zGR1h1R4+w_+Fa<~vcMZSsjLN~K&;h>Z9>lRmHTK(svrTI98?d<6lKL|f=~~$H7IQz z(0LGa2J`|TkXF=mKjSyFdA$F!(!~R7z78J=X6OQNw&GRA-1iaY8s(W(QWBbi7<9X$ z)S;nSGfcApn{6maLXChclBiu7Hm(v*g9t@0m_ZcEP0!c~Qsaw3Op0c1n5Kf|Cx0IX zIcc+2NNBz-?7<_9!HH;&)kofLGKYC3tPL=AW&klkJ(j3Ro+r}|C|H}01Gzy>{ z`KO|uZom(Qj1>#F5p{RNC^lDr3SUauq8wBuI?9I{Mi@*ahLhHIu+#G{A?tNkk%7>QhunI z!YF>Iq_z|(ijY$eHa$hgb2_8D?xNd*bX2Jf~F}fQ<`kiT2d2TstWvs=@vyCW5MYT zvmMAVJRojV@H*ShDRC?ixb7H$DybP0K}4-{8;IsG0&6nLtc683lBuCtc_4f=+mb?z ztQJj+h@sSz;l0R7ajjQ{Rd?7aW0cfA5lyVmWjx5G``W!hWM^b|NBiQTA{do0k zJjWgeZxJIDA-<^}Ny{4T(?cPEB2+6LlqWJt4+_Pje0~>2c1S|6vu*sDt1jxHHqD^& zRu5?k>m@|rbdp(Of}!RI%Hfg^<{{-K5d}^^oCGE`F`RT#Ic}t*`O+5|kSWnxE5%P!5DaJA zj#V@M2wC&H)+a;Li3-Dl!R2`tfC6N|E%8@1D{?hsBl2TpQ_0B3wHgwe!e{Vi7G&nz zg!leRH${09OSvga5MIleUt{6)F&?P>iQycBbx+KkVMCOVvJ(Q9DqvA+Ej>mt`Xdl+ zXmc%+W4uGNDrwcwluSS2*P0oBC+RM-{9KtmD=-sblk)Jic!BZ`Z+cMDUP(Xdi#IEc zKl$ux;f)z0W7`{KehmCy)FmM?*|4}qA=*fyV#C=3eox%cCexn7alQjDF2zBf2`6g3 zrpMqZX=_Bcp>b;9y-d9w?l;~?2PGam$^#=^XPEx$%JJEpeiCe}KXx(v-yuVmk%M?5 z3Rx)k$M(?*pJ-X$X~dsqug-QfLTOn`R_j9;(rnmd9p7j$qZ+9>$$JdFiAB-5b-B5h zYVHcBtUCB8s5c8rw%xSAs)DYO-mVH(GA+9U4x^ZRaE?lCU0gwL*c;;NCXHClSo0tX z{0%R8MS7=}w=tDCV*>xPW`++@ns4w;!*!^1Tk~ww zp2+Yr6c^rF5NRQ_b;GWZf`iOyNSd1X>PC)fwv_ks*iUvMVKvU^IKEX&m@6}gw9NZEq!FF4%rYMk02JU9 zXK||EALvZA)9DLjNs!}o0g7!Ip$X6U73-$ByJT%nGmM!tvUcH&&PYSU1+TuJ;{#Z8 zJM+5BcT)j-x<@BhP5+pa1yJ&N;5LAY28j1^$fgL_z>k}KG^mAU4VwuI@9Zwbcisdx zD*6(>eHXSCwAbRYhM8ZcYf(}4$B|j~*r&h$^0Z%v@czuzOW3QuUc!o%J;H8btCS^v zd^=QgFxBCrN(G%|5H6TeDA59TTUY!O7OfEaksJ`JFthZpC9CKoe&`HV?STWBa;?gN zYlZPW#mSjuvqa)r|@~`{nUml-+{@mhPqToyWLF z;%Q#Dre4V0r&d6izt`z8PJP!QL;c=ELQgy$GF{^;VgVSa=_~NXVT2$JDHPi8L;z;dCA5!oDN1#A1F@C{CnWb4{rMsk~_ONWkYcOI=3=keS{y=wpE zd9`U|w}*wwg=gdu8mG#&`y3`(aMe8I7R)xA;P@f7=gp_$O{4(ni9pRwl26HkNK8Oxw^qxMhg*RJI&kzNQUlqw}YuAGz} zPJ@dyno^%pwGU<(T`pUI6TjsiJZ9J%I@XbZ4xYFoWseFBw2@*Z`lexpu|{h^W!E7i z(YY+7*~;qqaRd7pWYvpIfmFc%^tAu! z%kIlc@ev7tf6d#x@v4s%YHIGSkj6~|IqVvoG`)4-Wrrj;2pWsDeW}`Eo#ARh*?x#r zmn`idu?QPM3D*;tiRFEW%sq7`PzMn+NNPa_B-R>0pm% zdFXBB{#VFwvtghiw?&cS(UL;XOg)I!-V+8`Lm3rbs^~xPDRtIv5hKU49ThEC^$O5e zfj!3h^)GF0jGE{F6>+Mqn-Enbgynu&V~yxt6Ce>e%V7~x>sfYfy? zV%HX}1Q}R3gyLmiMh=fb`DDrv(3P>4pA^&mx$Jxiq=~BMu;dB1?1;%PWavycU7p^N$8v`7@w7{9nTc-7T$SN{*yejH^;$$QjumXy&xkli zB$19y!~pFyjK%|=L}94mPI-176^5LspE0`Og1#KLD962^nn;ZSZCK{R9F&NqRugy7 za}(}CKX_ott};j?_CPy0SgNcx!w&m#gJRrCr{Z|ts>nzA{vqN7>h|}#&@K08Q7Kt_ zrQ0CBM@`iOV0d|(-g%|l1_>`*$o!Qa&Yr6nAt;$rT${EjA;Zi~PdU6sl_y7sKS!be zqRyQeemCOdg+dmJT+o-p7Ui&y4mALJ1#7!9ALKymMG3=TZPS;GlknQ`N3925m)d

    lwek$xKQ1+$pvcV;42 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 b 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

    x_B+m!?W@X<^kd@TkOM3&4l_c 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�fCN8e=eo=I~b&6fVh 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 z zRyac0&-Dj3@BSB-7cC707V#=6R=Xi1?8p{LYb8>ujP zKBJR}UrX)Od&-2g?TDMmvtHZt-rz19@6`9jGEbA07ITHCImE|JIB))=5pOV07N(2B)Cg63e%OwI!`E|Gjs;85#)KH6ooYsrDR{! zIz_M#($-Z5Zw@QsCWAJgu|S6kMN*X+6Q6_ky|2P16Wd`&*hi3|niHDPf%}m{0bGf} zztoo>o!W`UoS1*e^B)wLltLnNyvSF-ibZY6KM{ zEtQJ;4W8c-s9E}t_(&4n;kR|obb9Im^m^dBAvE@sRED{nIcK)8aJrTCRBj|d*YU`u^j$hv!Kz#7})_6CqRG$XeT}>ZStd%W1~T z!T<-AD4#$N=QFK!PUs62Y;weIn+cpanXVDTk40K!g%$qK zlaJCW6bX{w+?@jPIZ4yTTr3?B5I{f(~A>wTW#IK=z+m;CDIa3$q@#LCI8$Z7z{3L>y^)_ zAz97SyBBIsu;b!FzDey6K4!eewuwo@W}vTaO-RO8T~3C@qJ)(vl*BNl2+$J0GF(~2 zjjxOfpTd$&LS(eER2FTr1c|8lD@aL2RvYnYsbU!uz76iMbabe{ZL{ZE;wcg;|Fm5v zjnuL>S7iyaXkpy|^%CE2)dTexEyNpP+0eC<^gi4Lh_p~GI3G+Q4r&na%2j$X5IB86 zBi(Vml#DU+YJn{0kuW_Rj|ExT)@Z!%Jj$5g^19f8Ri+Snu~HyFf5y4T*N`YKNqp94 z;e#a{M}dE@8CEe(tqoB}5G#nOOSj4=h;VEWrmg<}8Nv+s8fG2|@Y_UVtsk zRW0(`QnTGA-rYcPjRQnF(MtpzWS#MRe<2ZL&((Aer|_)!pCcV*|c(PtQm~51z37$_7U|xZieev!ybPcf^g=UK2VThokiGqqW?+j z@YMNkO@AFEOI66a6`}(pQbq2NSP85Zkok)|AN;0`NpRHAJrBW28nG_Z{u<@GewL_F zQ?s=cISV)g=RXcRbwLC>OZ&i0bI7i@*^*lFSMAWo0dV@`mvCsMo72Bp(m8Lyt(0LM z0-AuA=3jZ4M|Av>S7g$A+v0@~u1_Yr08=Hd4Ml#*M_6W$F5Y`u{BYP41qCL*M(45%#4DPAvSP z=z9FyicchhdZR{vkEn42idqFS3PQIns)pL~(xrBxaOdEX{l2~q%9tvpJ|*>UKTyaQ}7hso308#!`lbl z8Se@-oy(3C`UDCX5P78n?bT0_1x|F|mrOgFNJNSlwzg3^MR0A}*X?VrI%cYY@tG)K zm3~)elitOZT5!~Knr91z&==uRT2AAL^_S;`NNOym&+=&ftuDkN@w^`)hjF6NFm>ay zA*rB(OgG24#T{RAINjVAs}3@mMk<1!#-$dDj_{YiLGSjm?lvi6=h#qT_)2&bn8SNT zoslX{+seC83x0HJh9cbLeX`3LLQFc(T`Q)mY7ckTU%233{s~C9s7)(oA9B^e@}w}c zlbe~*L%u5xm@VI!!{`GSB`$AVW>DMtBrgtn)Au5h`0nOgH1nA;O6>g{}>Q%Btt5a%HfKKKP-FS zO!Md*p&~X4A!aAHjjvQ+DNxriRYP?BcAL6kpn-yB|M_s|MTzT=d*+>~HyTH48Kxm~ z_%(O8ap2UjAVPW<>ps?)GNX!O@$dccO98jhTFBM7;oAlA?W(RKB9717$@?=tTunw3 zE!o3`{g|6!iZIB7HU75tThr}pJ(x?)>1-)0@u4h2obLykC0o$S(%`|8II~aOc%-;d znC-)RZ)zY)JX&9O1RM*UGb`bI6cP|G?}0#E;j{!#+@GOx5!K#Cm}sFo%%315UWhtq z57VJO0xw@?WV%GWo*^(@TxY7FrV8VOX;G%e2^Uo5RNqg_%F6fBK#4|X{bj*Z zCHQu0&A`r`{2Ff3kR;9+Ge_j!u0a7=E=iiOLk@E@ZRQFRu7W)HSN?m@Rd7Xp+n#q` zMjoS-OwoHwlO{^mY8;fghJ*pz;hYJpYB2m7ZMyJ)U`+A(Z?d~)$}n93=h^M5`kw3% zNzvvq ztkxN15qqbFI1xrN2zIxa1zqjKt^Z42(nA`bi~LdBP}iawbczKlD%_ardj)6f{JxbS z6qTn68p{jOHC1>3FzLPKw(l4Qwt=5=1dP=rr8Md4Q8}Vhi4J=q|H0JWSzPYV=#Q}6J zlSI|N4lwZEg}pI`t8y0RND3j&pefa6vo8T1`w~POY{4T0>y5q$fZcNIyq}@vBAP%i z2w{UU_?_oZTWLe^dpG!3VG0qDNs=kmv3&0ef7QyGkZC22bpeL)dfpC^3WO%%-_#eS0`2 zMMLWGkX59AV&G+ zhN6W|)1O8D-5ilK>OE`3D6ahLX0o2>ee=wqSb<^DB0-I_H-ARvDVu)$bE8Q671#8Y zD4;7NXgf7_f>4EFnVku?j2NTG?{Jn@dX-M&Z^#nL)@^)+?%j1qQF*Wq;~B^joYwW< z6v_O}!2hm{tXyrlk=n=6ZO51fMgcBD#Q!$p`&KpeD4n3S2DFZX$|k)hf#S#H??S4^ zF?P%tvV{VxKboDybI@>+-!T6z9@^FObP(}hrd`hI5CszMeYA_NDjHN+1=Aq(xYdGc z5mZ5`xcxqgS65oCTHw^4CG_b$d<3XW4j4rmlJXF z2A0uxdh-M*aTo=Hl+n@f5)T#EbONuok+q~pYS2l^G}v4;XHScGOVZlbFX>WBTNC~I zmeJ{QOXBmCSq?PPA<3fD4bJ1nV^C>&mOM2W{jJ&~bFXolAuOBC6dzg;hqo2+!NT^( z{c?wY${o@6a!rp>)Fe8FJcimYbP_!HfWqelCXa^$KHD7-mF=J*44~qb-x`YlX7jF4vns4m0?w35O&On4w1H z8B?bpRZN))_B$>{F6kbI#WIjG?KUow@rgMHXzRp{UJ@J4Bj4)tzqrIjV^F+R_9gD5 zad!oeAmYNVK%%TE2TT6$?k*x#k#k}~61cw4cGdFpT5Rf$4FgwkiDcw45Ly;in$GXg>e4%uAkew>z>+B&}8o%w>*en<_eAG z={H948Hy~_X)d}-6Dz}2Gms)<#8cr20E1*HXf4DK{PUNz(9l#Men?KhrfV>R(t4IS zPf{vs{+AwyJy~v}kjT;dZ8>J0e6?+Z${+GyagKsR*yC9;M&>riv5~Uj-46ybq>>#d z)zK2qyrz7SjTbU$soEtaA15u;(zni?-AOKld*whSZi$gHn0tCKo6R~nM(tE2=>eTp8;{4!bDICTmP(T6{5PoCYeSEU~1DB;lIH)UUKU&Fwg^(=v^Ly zj6)A-VBw!)(`|qdhZeliO#!!w~XQL=E``h>yGAL9`mwE>R@`PUr?(A74h8(Uu=|XAb^zrIayUGyB1QNN&hJ~yp#*?mDM+h_V#;m*A^%`>e1SXvC4SWi`=>{W57LwMWn}BwCgDFrJNIWFm;*q^o%1 zRlkD>?3}f7;%|@!7@fG^y;H(LDaHn@xzGwV!vsikaG!x9GPWWNHAVF`j-z{rEcEX% zj1%B#ralu`t5>&J;f4R6WHoVC7xI1&WrOE}KsBM5TF=^nF!Q#R$HmRwq$bE{Q18s; zJNHGcdU`Jlvz?Ob9N90F`K=&RXWl{tJW#ep6hcUOr1k{3S^y_)G=p5*m)P=!HLzwj7h@D;6X63NV zj8aUjapbWSf7lA= zH!+jgafNXU`I5kAwT8B@J6f8lYb`+zTN*&3;N{Gea#rOQ?Fq`DV7=R^SnA#FfX1<^LcQ`uvFUqW^kReu}KTY{8G1ml=GN)j955eL=W7C`B^|lXaRdVyiVKf$Gr<_zk$_rxd2#{HgHhEaN@gJ*JcV zuyLf{;h$dr_i4$;bNv4Ohvz|^^GHZwM!wh@nGSirl!#iVUQhntaN#;S^o4L>5@d2L z|MKj0CTLJukMB-A!I<`UYb5UaWK6Pf1echI;(@B))12eDpkG}Y@StCI4vQakUP4MarrG*S=H{lKaT7xuI=OHK&GBC zXYswt?V_ABVnV5C|8RvLaY3|AMfYoqkvd?W;4}kc4kAwc8(91nlQ6 z8OluvN@2_58^Jlwpi_~mwDS12pe>FweSAIdpe!_szwT4z$k-TWG{)IVj@YM z?+kdzg3e6|0vK)19wd@3s;gftF0_6+~NCb8XYMrMPb|+sy zx}2XJ`10U088PSu(j#FN*u@b<16mzk2g}}9z!O%Jgat-bShkU5(Gf!$T7@*9!N8iq z&uq=JB8`9{&6j$-SaeS9pG=`=b8FDzi$=I-%aWROLB%)CWeJK@Jyk-{c@m~7wtZa z{oJE@lEZdsV*Z>(KXbf39|s8%(sY4g{`a8sZ=R%1@?M@K>NtK7IMu(~G-|9rXG!A5 z%pK2M*7$hummwtFsC}$I+XVtTt|gauHxTC{*t)qCJcabAtAdz^SkxT}sCMRG&D@Mcs)+s+@r;-CJXD-3b_?aExCv5t~WT z*;Zm7$UMnR%Sq56XXc%$^l`{fn0>638v0>|lifqu!IY2e!MRpZ<)oj+UV7T~1;WyT z>N^X>Gp~rpi<{t(i!5orwi4*jCnFveZu@Eqe9LbhwpQ^qi7~! z=*vwApmoO`VMPP-fd2yH^b`U=nWP0uYjG0_k>=T_g^o(PV?R&y(m@nwSFV{ur3!!C zruS=eUyWsk{GO{95mr5am)x-B%&)$#qZItR&>!xw^n4Typ}t3rh_7kPBfZSCP_lmQ zyPk0rlTjc&%%@E@jQ@Z+Plti+&ohR736%<5vxFWstTpaJzzr1(CrI~B`3Y$UnOKjh zu?!MYQ#3D!iFj0PkYjdFkR2|!bb@P5M~p62{?b$!a+3RW-J`6fx&gGDVguPOON>vk z7YAQivj8n-fQsMfrhCt#qisn?VwV(yQ<5p-GwUP`V}|98vq>N=G1EIuThR0J)V#aN6@u^sI$oA}xm#$~{@h$M=FP zL@RNn%1qZ2cMKXBl4@aY@z(%r@FDjmaZ0}*>|>1>=!-dHwpv1p8|)NzCl>ODGBInJ zSv>JMp2&S~Xqyh@K9=*yvPXDU2@hpPU3X2yvRn4DR^=pa3MrVVdhNO>alfa7HnD&@ z;y#gD#|-lxp!dGOFuN!ic({R2ESknvhN4DO1d1%sn+|X;UnN1EL z!W1?SYXPZ%v^jDLd@-z0UHK=cx;8A>TDYr>CU2o{snENc<+i$mUHlNwLIEnw(E%^~ zv>0E{sGIrh6>CE!m*}ujeU!aJx(a1?%>2hY#_w=I{xyLSL}GfpWeO;^^;B< z!#x(|ZcYl2%)B<=cB!h_&l#)vHQ14q^#nqgkKQl7I(!7-U6flVHu?pgOsN@|WRY|a zLX6AL=XjGA9Y{>#IGRH=?L`Q<$FUfIY03Jdeh#IBfV0NfDk*5}kBW7kVFBW#GEp(H z_?Tq15TYT!az31L3a-l2)d2&PykoXOM$mZ#N#}nm+(U3_XO2JWRX_6`N@tH`e<5i- zAlx6t;>ztkXWzCqfpr-PY|Xej7sa~y>tYybeyd@1{oT;ueTguty4pfe@>GPOh}u*; z)L5YW07KSS62vox@ONj8Pj(@}c*|b}cJCb++zo2yqM&AGsB*jWA3RKU7#UlCv)u<&WS|1vBD|6eC_y%^ z6+$z17|uDH6Apt7$%4{LM?>#wlvn-NN(%= z>gM6#+A+L==l%Xb|9I5>^7`I89Yp8iLAHmv)l(&hBLcfir4^!>JbHIAeJ9xk7^)z9x0@Vu#*lMS5>Jb2bK+300yONt#4 zkW^0fZc|$Nd%B>Fqh&bU4r5s2$#q!(iMa1(jel5Iup@5^6?T23vN|i}kVWYQkpK<(}aI zZfxxyE9ocF2Mj_;2*q6U{My3M#N}yWRMcto>*?R9RVeHS`-$VbKQadz%!kx5yPd*= zE{&@%$9^?-NRLh3X$IK}3yN+`1uAzDFIp$JOIevj;%=uIq219&? zH(l+V{PAou`IE|+gC+106VLv0LM7|a^fh!%ZRh^o z(L9*39P1#lZd0!N=&@P zpMfc>uwAjVYe<7bB=s>GgYLw06|b)Ftud?VZcE!xLIvgzD9;vMxUu*GZ9MziD;$3a zk)iEpXb+}>w`)V3l}@OW^_O8usL0b4SJOY-e{%pStoPtTYUFtZ9Sj?F40Q$9$_g1B#?3g?tSU$W&xa5~T zRRoiP)Q-a^kHwGY#pRK$Rju5L%PBQB;~qJGSq+0s*E`GYN)>=C=k1&Tu`vTE!2 z2qE*%Injb#(fGnONRv-7;QPXb2$ObkJ{J2dhov<&&2rvKR@vn3s1HvAIw{M3Hx5@i z@;*0op;!>h?kbnlr)Oz433N7IBTgA(jH>W~T^k8yj%&2=Xkb2p#B^{aM*9$s*QshZn2U)!% zk1=Q%aUrLjAxB^K#}`JDJ0)}}Gj(%L1zNg^NssrdH5Gu|>X;9pK!iwhJu}OWie?*0 z&;(s<9fEiN)-Dn33Mnz_VN;tgX>nal=^lf2AgBTnb_uu zKOt0a=LdBi?oE8JUvBwh0Vpz=L|u$8z!*#pzq{%I+zwDGTTqe86`ueW4NrFG1Vd& zr$uSEBS|}vHV{E_+`tQ7F?-(>S3*Q%h$WQ+WVC{8@S(@l9}Dv z>}tW^>HT1dS@VfhoMfawmMEEjER9~$9k>y-pZbnbiT$rhDIjdQOoNcywM5ng2Z^+r zeha1?9?Pa^!d0b0JXv_KCqoI3+8C3PPdzY$+Xh=uT5JT*e^nz14A6OOJ>W6YB}Es0 zI)hjuXE6P{!6ey;p)moY(%{1LXftlD-(IOk>Z;_0IjpF2)`T**nuo;R6@xA*R+d6FlNS;t z{34XbNcI-L?n?O3RoWGFPUU8Y_~k(8A-*f`~cgM=v4SsvM)k@ zWVoriv)_1F~R=mJhW(KpBx!!zwDC=60k)nMxrMGf5yr|`A*^}%ZszaKbz7) zI`I6+Uh$x%g9o25l)2I5S$73~Ru-*bL#BBy?Gc5}l546JlkFpi@SyQ^KsQY?|kz7o6gtXzMTP-sl^r2Lb*h*mJw zT$E|9B5lY8RYS1G0395|#DL9CsLzrOZ5J-S(6;RTgwyr49XywQh0M+;~ zu!;53x|cU9iC7+adSBw{{K?*(2;JJP4?;}r|6NwtoAMMYIRRu&k9K*$8}B@rWSc0# zF5U04&7+zFP{Ork7YENDMpvHH&=qkox=kd~yju|MZ@QXq0$XUQB)p$APC!t(`b-n( zOlvaFJ#@o@O*Wo8^(v5zG&Z20>lPiiB(%*3b;wV5EA#57oCz2o{bB?uZwp4Zfo)?}QHP=~Kt;esK$_q&zqKb#Gafy(Kh#qMwgS3ERN!sI$Q;p|K z$V#dQ1W_33N*-0bY5yG%lL?O77fH#j@LZe|%zR~#bD|IMMlUGkCoPPCgR$ZIzBHXCJJs(@`&LH42|*b7=#v^%Df?jEp3AB&}n(uUqke?K4j)NIdKh6 zwA2zlnlj(>ZT`WBkrKO4yF60A_iVs8(<5fN$h%g!N9+b!Mes8%+e59Rz3rA2xsNXS zt3(hsVoXPH2~CNid`_8r7zwg=Yk!X4wSpL?EdM+VS7+jaSe^#A+HEysvTSWhSeK;a zRn03|&4J)SK-(kUZRxA^M9;4$#uL@3Bfp;*shW5?Hob^T4ndIC9|Yi zgdkd^+Z%mUh(wh(72*6!0k-yJC>1Vn$Vxn0>pDOle+(D+i>6-4zg%SI1z!{R@N05a zYLXXgxrl{YUq0($o}i*O=kkw7M*TwcIxWn{2ivcNvEvDD~(oB5YYcm%$} zG%Y+Vtz##IgNmc9YAu{@WKdH7&oyd=C#U3O$~?a_4Hm1j6`2Z2+c3v%)JHoQ(+$AX zs34<49|l}MSe{(bDoaagXQEAYW0(QOjXA@_1l9uS2Xu33ncQF_53c1!{ii?IRCgZ) z(<0?Q)f&-rPOZ7xvoZqG8u6WO2pPse=y}#plCx9b9Xh;499kV^gPTHsMj*8^#Xz{9 zO**uQGh=nGA1=_X3W77Y4a`7zTh8xN%UHGY}Mo5!E(v5GjD zk``>O08ZFuRB*8qD&4*2`2_r^u49}_j&+Jk(!~9D!8d?QSNtwF)^xm!Kw6F7bEhF7 zi=}Y|8FU~86UJn2$C&TVx*3X$2Y|^)zMM}n-mi+VVMdvp34YUszBtHok@nGIG6S-7 z=1faoqKRG(Ka_G~D|oAW?oX2f9W5$?tcc(bkQYDDWXozMs}gu#UWbKrwh~z4%G1%x z+p+pPTc%_5GnTfNeZ3b=pIoMjJQpIqIM^lP?ifd~DPLt25eJzkTE`O5LQFN}6(Ed7eFewLT4}9SDVmmGyL8U`{IfdMq(_>{$6;#NKDaOqua1< zbELi4k8c7!Z3*ISvg>8Fu-@_2m=Zti;5P^vZaE~kp;>zfe!-z=U$`K^j?u8yOd!Gj zNTV3L#S+}eii&=Siq2RTSx#bK8Q5-NQif&cjpSNPVKa4g43H5EwzkB}jJIYqd48-C z%s9?a84a$o)Q`f@AesDk_7>b!`ClK5&M3VXDbK39H@=FgRM``~OOtTGNRJgR&0Iqn z(1>d}2jZm7naX9K;T}@qUh5^kcD5m?H&a&ueOqaJfJ zVAYDE=dl`nn5E`tt3>dPtJGnCy6PJK8b_^8aB&UV8lW3p*VZ4KLKK;{?2+kz+9WP+ zuEYO93Fg#&Kj_*uwiK7Jlt&X@<@Wv(Yvi7<;aHO?HHaIBV#UBn_>O{$x(wx+6Mw)J z1W(Y-_G4Zf)fuR^`}@{t!V*LImn4a3wSMr81})VP<8#7(6OOemVA%hc?`!16Iit^OD>@}9-s`%SllG5kv@;Nm+jDxb|`PMu5jV09LY`sC9a%Cj;Ra28fvmm>q zu-;seYN=5K^4CzQkk{1pCSlm69`HgJ$;2Z2sc^N4^g$KSv|D~jwz98TVG>XJS|F;c z<8!rPnZ4LnpZ?Th5M_z~lRoU5D5?D(D&=FXLff^x=1?Asi=vGjh#Xdf!wfN2$rBA1 zCNUtT(^7Ntkqz8zTmhp*qU{|oF#_%x^e2?X3SuQt@8{#|K(=wb*)*HD%DC4JfID8* zWlKq03H{Q43E9a{!iIIjO%u`d@d1JNDtrW$pJzre=1=i+C%<>3iunaFtH zzGr9(Jf0tGYNIuGnoH0-um5XKU`x1ubDE5IjaVtTC-q3EH@pM5J>@OV1=Nw|kwWH`Q4~2_sU?Le%6@W^s7LkX zy(r^x=@*V|NnCk=TKRiwB<*~|YfH&I5Zftf++M~79<3a~$7t-}>d710d$tb5nmdC& z07G0kaa>-l$k|L47%T*K{ecR1TgYImgy88a7rOz&RW;#JUB+EvZ|To z4ZF(ole;0#fuIpsX9HxM(Ju`>03rxRxRRaL}_vO1@F2kJRBQ{l#a z#w5K(*Q0t9b14=Uo0#rGO-~vm6X|G}^obuPGi0*E?#IYfSa=NMG0SDb-x4vn?81Fm zTby#y62SlkWb%CAw#EII`t#l_rkF^Lw(+^)nz;%T_ldRO((=b(QF;kLHeA?#bbOwE zjghE_bi^2kU~*%e%=*xfm?XPgf084TXU|46^l*yMDlpow->7nWCQQcz5Sw${Ut}qA ze~VC5YLMjy;`BWC1ROas!)MV{3axKcyqEJafFK?FRHpV6d?*s18k-jSCOkce-S<^N zngl)m?T;xI1ILfGZ8|ntIxao$a?s$(zGBZ(@JdaXLaF47K|pX%1^Ip!uVn-X$!HL!IYvwN9q##uFv0>8DdZ_?-~j{Yx?$c zP}=72i-a1cf6&jP9(xLu2vLg4-(;A=Gox6DE4xe@ZrXO)#|CKEh_y9~T(;uq4#+GJ zHHgrwFtl377t6A@!XdGDzp-gZo5tpao>n)ANp~&)zeU;#(8s@zq8~IF{n3xI$BSeL zET0E3iY_bV1(nYNm_+59*CWiX&PLVb4o3C7qp^Z1F{vEq$IWSR>N zF=`eh4Ya%8r4%`yTG2{@(`e05%j(a;^?QFMj)xlW?@PH^DhafMT0s5}U*{AgI=HRd zwr$(CZQHhOcdxc>o2zZxwpQD=b$jo}Tj!jYR4SE+q*9gqGxM8cyw$2wP5r^~6y%UD z=W@y~JyfJrn!@R7AX3eu5cdSzcvSJvmeDmj*%Ztybs%CLYAG{I;8p%Hoy5nmTGmSZ zRDl4y2x{YdOkb!skl*qm=zqx4ZJ0?$hEL2Gj>EEUf= z!M5=bAE|g!_4eatzB{#&QxLw+za@Fg%p%sC2)#3*s#V%t34g%gmU0GRpMtZF>(d~+ zJ0Nl&PhS(-*yD>v{uj*CAVfUH(%Ik%=lr>GT-7?M>lE?WMAa&kC&rKmB90r-*X zk_4b?E3f)cCsEpx+VJ=WaZQR8E{PEdGfbE}!%1`=vfyQdfXh817I{-~N z>CW%Pp3%_!i&j(S<{)~-f++p7)r7@2lI$u&c1Q3kwttzU5%kY4#0Ch7qfyrh4aWeTmi!E_6yvw#j z>6i902N;VI8mW~a>b(W*xicmMXmsjq8H`yTdY2FRSHB9{>PAoY_3AiSmfC9yh>*&} z^DJ9*ufu?QF0FrgGiK~jJ0q(+oG5ZpuX0hk~wkKRs&&~pr zE?|T>P*Pl3El-?*t<}ly!w*(8$qR&J%<3x|lvg}z@m87(yGm8eU#EXbbWk7P!Jzi2 z$|}(8!IYcRr-8d^hC0y*?7a&U0E@#I3c*?m~0Zufb4^|J(^CYzRWu33A7y2PYXirU5ASM|~F#2iYUhM`(81Jt-Z^O@4T+#3ds1hwrBm@-&jc%EuD+K)Nf3~&Rc+#G`i z^m>lX6PcGL@Y|W;={ZQ&E z1d7LQIsH(-Z#bd4LX-Q`5gb7%*!1?D5d`#P6ml(WO~3Z|_;a_MlWw+ru$PU+e}(%B z#+-f_vxPEBmJaikF%v?S)&_)zqTp~c609G=5`QP{7IV5DfJyEeLB+?5x!k-Yx>aiJ z)2efWZJb8mgS)AVc#%VWsw>Y-&%SbvuAM|k>4Z3 z^+|@X7ovT)QIe<(l7$ENUi<#*c@>{Vtw;Ky-eg~t@}06ltn`$%PIym`AaEf@+DLrA z{&LaI`IRTv95em2w5k6s+@Im{el{xgRgsilesLkB880TbA_`A&`D?K(#l~Xh>)WIw z9*9ugF++CMmVkqXgfd$IQ>6x4HN;ezta0wcvjY%A z)+C@QjX+mi2X3oCcX0wB98n+pBRq^QMHrB6W=IOc(*B49z`SClOH5myDk@<;pa|O* zJ|=$sR$-U#2wa^)#A&LjRz=4I8l3L7Bm&)W2QwzQ5h5n7L_qcJ;WQ?SBttfkC1VO^ z*DXv_4nkCFQUA{mZX);0l(14Iffj4JVxfx;=cyIYW%g#^dY*NDRE0UwRm(lO?PYGo zxK(|9g?P`BM>>>es~zg~X-083cOaJ=StTGg4i4bSnXfe$Jyu8^KYHcPd$Y`-Az_q)I`T2a91(sZ|p)W6Y4S0XtK>4 zp_E%vEaRvGk@8p~jOV!S#1%1kt!>{Ytb~R8G=j?lhJ5Pk3H0-&iQ}(Cg_|;hs{&OE zKr_m|ua&4IfmK=$_s@8Zslzj4s9xdT&;e6+NIqJJdTz|`Q2MSmmj(J#pTDN_9Z(~=CYV8|AGEbUd&B|j0rBHblG+t!S_cu zSL9!AJ40|3Qz1w!C$%j(rWV5!BuHPZlF$jqR9XG&OADj0I}!i(#T{~D6z*~fq<1Hm z#!R(3Hn(?l>|`ML14jx#798+`yxZ_(ER$_jMUrJIO5lO}to)k99_qpr`tOj>SOFd^)Kvy4y;4FG-{ zNvXviy^lWUwuR)@9M?cR%?7Ve!jDwBqJAAs%*uvY4~LQd!6OPsdGpusLMIj7>y`&v z1{=K;PNlhdA22FI1gPnJoeO;CK^&9&<3efU&Y1U#EsttS4fspmnmn|0>dcO^Mc~)6d9cI&gUa;# z@Jl6Z!GRTb{}~;v%Q+9Sp!mk(Z~FnXr8?URVB!x_AZT7G7D_S&5T zibgLC-KQbeA@-=SZJomM*t9=>c--`*HRE<|$iECQpQ_t(j#pw>uDn7p_w)YMp1Ia9 zFq*W#c+6~56n7eBy2R?a50i8s)G|-`_kgOEr(aYy>C$pO2NB(zmc+R|0|I19(d#@isynz)pi=Hp8M;6l9s%*m|>y zaOVf4IYB<)H-{=*+^xd^=lo(~U}m+tXfTFfuq>Gt9-?x5xKDe@d*zpwNXJiQe*W2i z=cjPR8zp)9mNRvVZ(zY`pMilMbsY;mX8 zuHV9n;I-fBT%$g3AX=H9jUge;f;hgd7Fl+lA>(t^kC1V2@o~C&J^j1RDW@zXQ)j@E z2$11PhCkq#i?s4r^Jjh&~-Yro`B_;+RWqzJY-3onc+{isPxTfM(nb#Yq6Usmy_%7NO7V2iHR#PIAn;#nl zxvItd=2ISO%GjDw7b~kZv)e5}wT}8;jwoCQn1oD9wJ_wtC5bL0GXtEnl)3g?Q->ib zIwg5Nt$OG{=pVIr-5{U8Du*Q8k|2#OWQ}=X_dNfRFzcg?&2ZPC<3&Xq{5IRj_JJgi zFO1S9x<%FbJ5tHm)*dl+!U$7>1;{3+1kb(1q<(+PJKGOzS9toOV{5}GOmTN_;pRs? zyhG1%3w=Wlh!;U9>Dl=3ecxyJ8j9`_d}w!>)V>8gdBdD; z7@WoN-sYP8R<=`C63==jErxgZl|N zP$mq7z{vQc`N$esOZ*k;x0K{WHpufUI4u4l+Iy&}HSD>NSbz5Zx$Lf+M8N2OV{iu9 znYX?Wt}TG@gM~((kD4TIoA>6E+qb3y^B0ciD6^UDMZ&o5*-dEj3~dpxQiY_SgHVxi zK$%jNq`yj6Pz+AmAdQTkC?>L`EjL<437i;3tp;V9!!v78ffTcHVmQ-nPrshIvVq}{ zyH}jD4?GfnR7r=+Eh%e|UMY5q$h;YAWQ#Y?y~!IDuLo+wyK_kgQLdvqq*OMh!w1^` z3$^J*z}?Oe*AF~KEG9z6G^Q*=0w}pZ(vvy8Zi)oo{(983Eo*};v7+WxP78wdyKoKU zUqDqbuI&``;>j>`j`}`sDOMD*OH~pxX;K{0{SB|@O$LuI&{`ya)%gLvOGG{`6c>S4 z`+EKc;8g_D5&R_q9ouwCK}o(g4zdW-b`~oLZ4mrHZ`aEU!pFrmEQpb5qW5J=IR+Ve zjztVCR(E?mL$hZU>Z~}xMy?3RBK5c6o1kKD9yJqkyRTY(UGYvXm{>kdH>6(x`0BBOFptIR};oBG6MV49=MIJn<5B z;DF+TFQqWpc0p!Qcp$@K#tJDU5cc5T1p^b`Ll~Q`=fb=mE#O6#BJ-bK^cYmO^)XdujP$KY_ z7qx|?th?n|IEp7wqu;!EiBzdetzA`;M!2mj23Begh`?V^kS=coPt~BrZ7xSG)NQhA z(Ok6{j`6b2Dz-IS;xf&pB1MBz>a9u=JiglB(L{8`hog+v1(1-+(REY2a+|L@-lLZK zE8Gn$Ued}$D%dQfus;?zf}(}sOt2&7;UFg*Q=q4$VtFPJWHa*zoLOp#=Rn#v^Q&@I z?i490EEDdmpd?#ksBa(W7K)2T$TlqFf|lug3`e1hRB>yi+;`}WG`z)*)^x{9_^OQR zZaVWZ0x{cX2|bR*CMwx|G8Z=Ef)?@JfBc?3!Pm{T+{ld;;sOY;icsuhWzRsOg?phN zcff!!)1(qvp%Q9z)_wJT{R>zmT8O7>xh1gYY)fp}ez@|Jw;KA?CUU&Oib_rtUh|P0 z`j!>8fE3bzm`t)T74Nr%L!3X4B~s2sE-cBBl?+cntiGb4U*52Zvv3vn)GRB(RU?yK z*QnK^Bu|q`=>MGQ?jA&{muKpu-P!hN?`2w!pCWo~&5E6D2Yc%lt~5Mb|Gu>_PbK3H zBG}lQN5%Fyv&t)L-SVzn0#FS6V^%WpyZlMNWPm#$F;z$)x?GP)TL!iM*z87!O@xsK z@!{cH*lIIfoQR6r-rhdhhWGx8@Cph=!sfp&iyIxip|)HnEg2>wcs{=>JCIV!jZZXk z9{=(Be7*|n{YO^%Gq{aM$(V9Hi^O;XPu*5nVc>6YW9*u33DE#q+Wmgpvj4e&w|!0$ zR6XXPJt4(XDMxHW^UM1fvaV7IU~n~VnO+|r!T$k_{_*X9yZNF0d5Qb+@PGZ-I*7z! z8x>1RW)lyu-O+q=W%-yu?fN{B0lS`{*9x>{nSEJ2^vI+mYWS+39~F^aFV`lX@8e_@ zCNXuHJqcPrBFzv~$;qnZPRsk?mhY(>{0+r{x)>yk*|kc0JK7{Os7%(|$^y=Juyv%G zRh$PeR|7MGxHTFKnOV*}Ze?a?utKtFp|yQpq+s4XkIF?{*r*edsm2BIeUNv`ye8X% zzny)Rsm$7N8-2+VRpzL&So|U03x;RDPK&*gCcXYi=O1X z2}jWeih*xJv37RmUAy3CZFR1-wVnE0+xEWRzwR3~et4Yh7xpr%<`r$oVPpDObIYr` zheo_)#m7o_TIQxk4zeX?{W1pIX-xXf4Me`vFB3w!^=&Q(P{!%`1*Ebhh}6u7QYC-} zE$c;v1b^=E2lBqZ_(q1r? zNm0-H3o(c>LnWI^Z2R}{GUTuanru0y4TR(X7qx*NsSPG#%|C2Lih8W=FIzc5gAelH z_MIoa*^9cZ=S@c5tJ7jo0~zvUHg|0z)}2`k$31{@s{hyt{U3}8Ki2I6=#KA%y4@`+vJ$G~o>ze&7psC}Di^Eg&yRk_eDON(!4ilEK(m@FlXn z9XKm7I;{+0E*;4e+ewC8Zy5Pai@)4PRpgXpEp2{R+kebRR@gxB!Y#bnfowr|9?10J zZYnxw=y$7)X^2gMXdAkg+|Q#k6yZbellZY+kUa0k>x4H(2QvXf*KV^d{TVUgrAZR< zw#B#pfZ!j${cVjS19ZJwzML*zqgr^mZNGPqsY<sUz zEs|K?CFAYL6})M#)bcFtG|+HZtsZGt#2B$9rX6H(bQwnW%;xLne-j0s4VQ2b@d)Bn z*^WQZmy3g+jf*n?Pk%GRh9Lcij4gOIdUj0%Wd}vR&&ErJ+IH|zg_{m3>vE56YLeq- zv%^FTJvum29mwVai49 zttSRv!7$mHwAUmx&zFmbhmX4xd@y^3WXIiI7LDdLu3_F6AykU>9K(N8?2T_EhoR}G zD)Z=LB^N6Fs4A*|>pC$ea&Hg!Xw`1Ao!sh&^y}>8b?9bcnKx|}jpzKJ$lI|z&lm~$ zX9MoZ8GBm#N`b#svBM&4qvzR7K6RVt=Ii?-?dRDa@IPqdc_iE0Fbx2J^gn#25Nb=NiO)1*reakXlbH5G#$RqB(^ zu>YoVe;B=Eq;I}1-+n$BrRVl8-((mH=rMZZZJtfg)T2bVx`*9(Z#MjvS({dys4`AD zR{vmLU`UU_dX;tU&Qn&2L{Bg+Q7&39U18hQ{7RLS8c#5fY56i}>umR+c9yrgx-RJ1 zkFKiJSLeEQT$hp1G>*)g%js5c>d)1dNqzd(w-)tk7R0^Kc;hcPdpk!)JGMlP>Llh013zvv<@0j?*~Y_-Wv?u7Y+!(4 zBBu?Q4hxCovY3oC1JsPzA$&cCZbMbw+yc+gul01F?pA_Wx^*7rCAEygDP#arq0WPY zbNzAr2W|$8QSG{v&yk736WBl$8d3i0sNzFJRRY&1lz=kQ=LsgW;)tDO8o7IPsa#jy z$54kuHh?s07!gqyjNPXMtkG{at1~fg8LMM@lwGLd2*>w;VS)mMnZ$vZ$^$1Y7i>E9 zXW^a-N>Z{sDVa$u6`*-6bF+^Hi8uozxY^1D$xmB>)?wY&v4ToKd(^oeHcgnu4*-lw zqY!d8R~psGrC)P`Lw-FiBmz+tVya?Zqyw4Ql}F6VC^~#LRHX8Y~Brggf+UrD_eA z#ZD_KZAqSAfM-tSLf6^Hvj@~^1m&(9*V$Lj-f6r1_8JBcBp_Y3)B@&_X3Mr`#$Q88 z3wB3yndM&Q3XovCt=+}*UVIy5I=hazuMw5WCnAGI{*Hj-uOzGPe?GL>Y(6E3AEsp2 zX)5qaXL+WRU<=YZ46YJh74accfzB#igRhSdAZzzSz;VWwJ(N z%er`T?}PAc1Gtj{{_H`lCs~mQ<;Uffl**x}-=6YhO+;PmSaL35dW{*VK~qOJ3Xvf~ zhOLYh6ZO1gujwk=$0l-I$rLyk3-65t8`0OE3U>uEGS`Zz=}acaXXB`(*rE)jDoAj!g`Du8VN#IX; z+hRmW%V)L+3sGK+Occ-bm7usXF_F(1v+p`Bs$t1om;xoHp}>_xbv)#oac6tsL#NF`y+~L4`&-idq#ThdDU@E5bsBkp}ZyFBQL*B4N8_VOE^nm zSL)ukbvOLgov2lC^bd=eiIZeRBJ>>s4k?NUy0(jPAHa*!NG;DYv;=5C1JGx|#Qx3;pwc2(m`&3#q1QIBr?NoD5|f&B2^%sy7S zu6yl@@N!8mTM4QwoF;zyXyi3rB$bk37&zEQxnU;vFT9@qXTx8~VLO-|Om7(cWn-32 zOGe>8m1Drp)kLjo9~PM$q&s;oLGfwt72%m2&v)k`V+WKyOE76Bdj?EjJU8L&$O< zb8wFfFsL>yK;qe91B@+km5Y za=9ZYkMKMV+91Mk<+ls~BNcdDgg8Zf7t*NRF?Ss0{cE6HP`qr=^up@pDC2a_l&J-~ zNw`dPNKI~k2=xdnVnPfU+QrQ8I`QmcD27?5ux(&L>PnGA&H)=4 z^L1oOLLurNHM|5B^L1tYQP6PAIB_M(yu>_efnX3g}9(RDq5rpQbfgremxL~~1EZ}7O z@?mo2!KXo}Wh~Qto{0@6mnc1qsveM_s`z$*3OVvfW0Ln%+?-1a1vps=tM6Cb`BsNE zE9=y(d7K+ffS*W}L#s0hZ#3Nj*ZE)Cq_sF(7SAn#PQhv&!Z(kMAalBGKfi^W0G?U6 zXioIUYsA>S{ax6kOA{C+5_mH2W99pVp#b8HOc*fCc?D|Ty=3=wLeOZofIg(WM7B=e z`>_kte`C!ZA0Bwui13G2-@c6ePE)*Y4wRQOoc0@5LVx8et0W<29hb^W!4N^JC`i+K)?1Mxjb4rMRq-LNl zG2(o!`F!6x``q5RITx}VfrEz^cS`uSj}da2v4ES=nzj+B7Zk%`xys}Yo)T_EC08;b zm6@!0y)gZyXn2IBvDAGiHj&cqNmY5vXb8jORo|QgKh)aAYd-)2<`f{9y>5P?gQP{$ z6uj@+AfX@CZ(N%(X0z~Ocu{z61@S5h{*o|WyO>=j_u5j?@s>JTLjWp(R)j_>n}WbAE|e3MoOy|vD@}jh zl!$S;b^nv2k+z@jg2*H_P)Z}_a+o|%agqL_7|-aYafygk^~`ZNdV%DB_H@2~ zf~soKeMw$;1f($UboF%JDow(xMPE;P;ZbEN1zOh8oiR9iKkJ%z^Wf=ex20nF5q)(< z=r!%J^*6QZ?YuH}2}4bmNdF5I1<^lve>xuY-&~XAaEfy_HW6=*3D80Hz~vaJ2V%5o zXcFJ|r|@)IEggLi754VRC`YbR&{3IcLxmcfHQfqE11H-@Sc^ z!|B|T1x&ssiw^T_$b^t4lOAAu@{&TxlvdrZk?AJ|zzuhpc!&fZF$shcl$zW+(Wn^l z?}8jCVtAGdiiNKcTjPAeIjC^PqrDv=nxTUowPISx_K(KY57J zO1#u@aS)R6`n>`0naO!cJi#>}dnzv4oLlR|*g*TLuKOaN|MO+#bwCv^YgATg9?>_a5Un89 zfSvR50lk7Fr;;e9;CPxW2w5?UjHR~S6(T8=&`FGh&11rMj`5_afg)Y?Bd@==qU-tD za~pIfJg3ErgEqgIP}og|;u3FjgbB$LlpSijjx8)^qr|q3)6nkNSqz^K4at%i4NzjeR0S50=?vNHYY@__%e|a1ho+TV+|AcgG!XR4uc7 z;<%T2-26CsywTNM1VMqSQX#vd6PU^dO2(KtO7BwF(NK`EL%U*w^sa9g9kDmmr{p2L z&$arWD$Q+LB>v?)Bv6G;eQmOYT-g1T#LY@G;S?0rlF$WkMY`*g%RWIT ztFD;Wi1|PWsaN*FmPG-jP1#}PBU`OV;5XW$X0*!VP7A(l4=6E&hIX)nH073>aymGJ zJ$D2B|9U#}l=IoMl)IjsbZg#o?4t7+41^*pnok+j-LvNRhM;7r}9dM7QEllS4-1#x-CEKOze&)kyq!jYs+Df zFi9+V=S2yBNaeyFHA;Lz@0gE{OP+cG%Xfsi0Ug-b+updfv~X{3o;%a~@!fp|Np$4C zfBd-`y+4`0-`!m6?|n%u2tO1MV{#~#5K4e4`Tp5E3___bx)nboAxgzPlk2GQiVN$* zrTOzUzOoXF^0hL5O4RU2~I0SaS50|tmi=&43VV+JrLxPF@`RbNkh{I@zVjxzQo$;l@u9H{Lt<@wXnfNxp#?XRgJu zUwPzum!wR7R6V?(-D}s3wAS|4w#rwkLRbG3c%{3rCfB_pTiEBacGSWMAdoez1;VY* zs*H(5FGZBVvIg#WPl7ytbPT_}69VTyfcc}H9em)!M&@t&(8sXpS3b$%o@@byOJGfpdq9ymLK5h9y_2Nm*fc~|uY32HIFRNnhy ziL7<#m41TfU6j}UWYNA>?KCQ?N35hQ;lc+nH4_>tZ}h9ckRf&fHpPxe{-toi;beR4 zbTW|tBsnHR1|F*OGi11>6LdkzD0f>G!3_Y1hY9ELAlPsy7n1Ep!mLl^x&yP}@nn8Z zd5ovaZfpGoONCZRb(Bl|aAg1s{miM_BVxo64pn_Oa-d3{_ysS9I))RM&A?x#2+5qxqed z3vR&#?TjWY;#QD%@NcNQt*S;wcxhkQZ57sh>IG2ceyL)3rs0)yCg6lg6;~kh_V%Kv z4vvRxYlPO-uy5CaB+ckj-l>h=+IEH9wR`YE;;iYk+>qursCiHbWMRVNeLm^`NK$TC zZ2@z@D9=d`UI@HOY4CaUiNI}?D=?5f>#AEf-8s`s_!|)wDPgH5)Z0b~lg1&9bMb6& ztkn-e5BnK@@KFP%1QtgIgrypo`;mIo-Xat#vhf4$tS68sRX~7`6iSsEV>adhvOrZa zJD|D23CsN^GYJ*!eK$k+*+9arZ$%`Uv2|EmEIQB1WFjBnuxOSmI69R0(Z(Z@xuu%i z(h$m zWPrqk=Hka$@UTcz&K>e);8~SjiQr6)y!p`8@)I7MpODM}QpCK&bD1n{xGm}~!|j*O zUQGXn97$9Z6<||~F0NWxS55`dB^7X`sXimblyjz~gNXr~(b^YZ!K5T!d#UGg*T>ZK z596@}SUq>O6lr{6&dyoTT%|i2*ToY%48)@J8XY83+F6_ajE{lQ@~+r)Cd`l|XkF?| z0Prb^&5&TqBhg(K2x>UrsAQ-_%9Ym7uW@hcZ~Rjev2btNkHp`g`^14mo5{lv*^}5z z>0v`^=LiL}ny!B^E;XF@&^22jh!$(PGo$X&S*t&RSdAL(;Z+4^ja{}nuXZC0F-oqD zy%=ulBK*4(%$Fms4x-bdQs@-m2 zNE8NeBLJr{`L!ZY;K82ib_nzF3&1xaf`~bcB)F5q0Tt$UFfezp{1DxBNNmKXbFUKDm|fs2zS$@I><*I& zHljneRy&4tqF|}1OnIA0S_PB1|21iIW{|~*>5MSmV0jA~uxJITMz4J5vTTc7(bGpv z&;I$vKF!H_b>F?sS-{6cjL zoXA}=!lcefU)18ZC4OOsOB-|0ljYuMr6nNQF)RvUn1ACDCOg~l8T&h(QC8p6^H5=# z1wlRC>lhj!*iB5!^MDWldzpc(9n{}&ZukyMg8$mJ!Xb;Ksc|NENBd(yvoZgrKQZQ+ z0aBg~YOBp|R2HmLaPSs8Ngw4P8K_}p-5PVi5Mk;_>92pQ{k2KE?MOW56@7ApUFOcI z9*ta=I19>uH_sIv*5KwLHUy%3@IW-xcF56>CJCcuP(pKZ$oGr0>FxfkNn&B6dQ7w= zRjf~w5&oSHPdQ)eWOBe*MZ*3^frLpunjaZBC`U|)QJr+R2t@V80of(;<^KDjVzRf7 z?86(sB>WN}_suts>%J^_d^MlF((10(S|b7kV2f6oeV8VZ=t}TGeO=_1SL)9pGWLBK z+GSpSYfFj{#fGvq!i?~kyd#k0_Q@x_%qc|J96#J?LF!YBQwBLGLS%&sy9T+IQ7YV? zQK2f~?<-O~9bNyX@#Sd4d`rQnNO9tM%zmuhzMHD#8ggLeZsqE7ApPCOI@py5`i+;G z6xlKpS9b3L*!BO_AiMIb!br91t|R}$tYWZQ38^7O&k7dZo{9w={(INAa~9n@8;F}i zMFogxST(I()NfOLWlhDFx#( zm5q|Xx)%0c=VKYxV%cO@!vmKcgQz*NUJV2g7;BMiY$mE^#X=Mi-(_(Bc6BZce0uQGYY}x4+<2QMEd%_ zC^*(O`dl^OLQt@6K2nQaGp91wltK;5?H!~IT>YNA9@3RRhQQI7Y(ag}2^KvpZg|%s zb*y9Ko`YEPhVD0=P0f0quRwqb>>O+7$_0qYR`;1e{qsi$%Y){FWnpXKDytO!><_`| za682X-I0vP-k!0@9gf`tkr^@cjF(P;9-jl*@U(TTQS0fpxhc&AH6~^i`-B;8w;9t$ z3g0Dpd<=3w?JUIn=y`4aD0{8;F0NZuP8w>=X{U4Lk42XHfGMLf9I-Ei&P7Er{B1wD zr0s+#lBaXozuvHl3U`JO`1aawcV+kG_Gwj_6g%ft%qnk;=@Jt)wzKTf`@8bc53D|d zpXfl7U67*_3`w#Vnh;S9qD#=bt|lMHqdrdkH8V_-8>xZ$w2Qs*SDJITX9lYnGK*`4 zlMO|8+@i9P?BNx;4ipd-`A%@69!@sO<^&idYCzSAgF==rJ#bQO^szFpmXN)LE*BkJ z(e1?u-o3p<3#s@m46^wC;&#aWYW4@F*VP3_U-uVOT~nVrmk5SB8X3>R#9~$$m=8hC zWhN+Nrp$wSLzsWsU3ekoyYwfH>%B-0oX>zLaaU78U{@57 zVXQHiu;(f$TQ4jDx=HvivI5*ssffM|_Ze^wT-UTHV}A)yC+9SlUTL;;wM00)V`e8!l-sVYWzCu!q=d#=F%6)h64LkXz5m5+m8{MPFfpVfbz(TUc zI>Ptv>8(DzJK=;naxp?rLSGVq6pX9~8suCmy075R0*`S;PhZUR-^q4XgPaVhpj9_D ze}~d?zY!MRP@)+34pm*PgM~Y>G@@9XgO&5v8D8tZ$m2HrKY7nFyL9b|Ee_PX(m3g(Q)M9Ag4_GZ&mSbz>K{_h|B-T(MGnJ8wO z<3Z?E`Q^VByC&K|-YD9)%Bnzz5+&_N^$&VxCCd*}XGB=?J{7yU$jNgCh4sXcDu*An z-)Vr*&4-Jf>WbBp2HsQW)4%nUTcZ;~`5yN6zSk9BE)Exmz(G@^eNci+DgeQPyH&fUxOHFK>;b?3vH2a2OSX$gWH6cZH&DOIU z-DWo^&_WD}pkU9<6s;PCZd{1FrLJq`NlTYZ-*o<6SDJN<3k99>B~Q~>bDkA|IHl%F zI`Ss}Db2pPhOH%Ih7BK?rb+YOg-t$WHg{g#5Ky}tObil}%c<&~WI69(tnVP1l#(Ou zS&O7|3h9V7EQE;(nUpUhv}i^`);A1^VzeMoHD{tW<$NS!=S|^0Rw<0sGO|CPm&mLc zgIjF77#TbtpsI@SBk+W=>oqeegop_$>#$3IUJn}ArKq(wZ(_{h^PxqhBg+S5t}110 z1Q(QKtslJ~!7HiQrsPjA7Y-_=YX&r7fbFtF>2d}{6}p5kVW_h3@|_W(#zLH&*_L#H zvPIUZfj$0a+|h zQEv$O7C%3c1W-?Kst4IE#Sl5SPgZ-??41>1@4?#zIzhQ}OMLMK0{_FbGS&R^3)MG1 z)IHxQGXg?YdWfv35EtzBWbC}yUBGx*L9eJ6k67~P`2jCgoX0v30{8cL-~ICn7VAzC zOIXYr4sInVCT7jRE^oEC{zp?oUC%T2Gtt_fS4{XL2>e6ftR50Aqc>p|dl4mk$!^C- zND4Kwctbn3{VPnt9U1zrhiUhRSJ`9GxQR!C6@`2J0Bz!K+0tf;Ln#TG+>vX%R2&GI z4}L-hd|)-w@Nvvf@VBv1g<_J|<2=gnQGew#C!vV(=HAK-sQovvLKwu2qsezKX2dW# zxk#nqVh8xa9u_>+OpygPqn5~WU-Lu{m(ZQ^BA8SJy&HVhS4%T1f~*PSZy_Zc=vH-8 z9XGP1g>_NnFXwyCK11kB283}LYZNXl)%olbFpvh+wWk?h^qIvhla)`$_Yd4D)UYTh zmT<<%;76&o_BugQK1BTvywviWpb@04$RC#&vOjXqlATm~V$TxP(DlYy@GdV9@Jjd@ zrz7G4{HIK?5utN;he8#KmSKH~GyST~5HZ>Do?NkA)C{&t#VCw$j5kY;4Y8?#4D(iu zN_BOuaWo4q*AbG{ZKn1VntFs=cqFQ#0+Yr>VO8D4UOYlrahW}w^utLDa+-h}*VZNE zt7&=$_8$}rt3#7f%VXBfk{j4MQ9_k^MoweXkaTlNc;{|26mRRJXu;Re_j{goT?9U^r7o1or z=H|Ax-UQ?7j@X3A-Qtop>L#m+K#)h2C@@NV=5N{i0_V{3U9?)gfTq$QajjlLH@SA0 z!HkF#pg)U3b*3?S5+68X3~?e^AH~!H!C{69*0R@ohvu`C-Y_L{HPF`jTU;Vc#_qvy zl+;i_<0`vkp^*J8ST5|a6*D~5lQ~*|teAy)Itz+c-mP37*dAaq)@&WQ6pWKm%HMN! zIUpr_m&{@!<0^7Uh}R1m@G`Jstbgg4I{nM)J|~=1u!$Y+*5c{9r%0;4-!cMA4XGcz z%EVQNnr~xMXX*U<>%Q?oeZ0{09jb*rs`#kg*>?g!Lb@@pl^{!!uw|VMj2cL0VH-x) z2cRwrlVlwLr)7>2A2Fc|=oiN|Cl(Hkwshi8vXp6xH%x^UxiuUmMHoNsB}3^4r(7+P zkmBNwj-PLXAx>C1)~S|w*n`0I&2Rw0Kbc~|!(?dx-K)ut@nJ}AD3xaLa$xdl00id~ zYKOo9BR$L`Kc|kP4`N8fqI#zVPcK9}5YWpRFKry$2V9iw{WaUkQ@oXzue;bx3=#clsAYu09cek!9*P!s#^s4_fO zv_QXYbG1loRd?ENRPB%9Fbg!31$u0NaS86!`ZIq|kZI3Ph%xz$LQ~u?SHKzoS_E>R z`>8_2sceTUvXH^6(hor&0#e%Bh|B4rK8gk)eHRGdf12|&(|6>x+$#Mr(EirIZE4eo zJ2853UDLFet_p5guihU6KY7bVKqh=+8;yyL)*9=cak!-5>*pfoB7dZ$MAswoDdE|i zpZU&U+O_>oa$cu^)&utS&lsDtmNvT7&=kguFdUv^JCNF(hgPKexMsi0qA+x@#>Ev$ z2}PwRYHY!gwOF$}if^jfR%wCVRlhj~Z!j-V^;rN0=F+Cv1i|!&{Jpv8J^03;=Bz)5 z=N(a#Zp#{tmB^!3Fd-`!7b%sS2|=~;>kV&+NE*c573GlZCA9`r(JC9Z;!^%;botPb z`GctW4^m)3_Z*jBiuR?>Ua+-YLJ&IN)A#5>97C`S<2aH9DEkylz2LO5Nz8GXe z&EmhhE`cBuN!LZ41om@ccDhO`n|GvfRwZ}PKr^uMlpHUV2N~|9R4~!d(MS}C?Q&_p z;Y85~^G4ekv4ZIm0v82~NW{#NwoO0RPP`rhVjmNhq#9AB`(7_s(xUQ~Q5dgVGDeS$ z%X!z!4J{8ST8TF!rtw&dkq-o~DdsLSsd9i4maqD{5Oa8xOU6kN#`BsuD}DC@(Qr1* zo);kYF1D*UZR{6x#%kIL9Zls#>Z}EuL@t#~`u(o?>XH@v5H&{Wgp*sbO}s|L)zgUu zii~=hnXaKQQ@XT_8e%(ESr7DZ=B@=AlPE(w6vRYjmwnJ3i5sW%rqukbfm!{c#J7 z!?bW$f1yQo8C<1{z-`b|-7xf4jn|~SzO8mN+~TzACNb=lEWdmk(^$@6rTVz>XNWfU zIypt&YX;>PVGhF@5X&v2v2alBga{~urH6r4#HZsCb- zPCT*s#kOtRwv&l%+qP{d6Wg}!+=&oN zMu@sEE=g&pj=oG>Y>#P_yhmKG+RpfLxudE8(nXi=0Lzo4O1&;LM> zrUYFQCY`Jt?1Rphr73@mf|kkTas}@g(~87ODa!mTvyn(5_sDhq&_BGzYu`=;)4jQj z&?ZlWv|-D@NDXHu2t9!6s9?{mOt20Y1|X-c_IZDvIQ|JzYgGd&vI8Xx^;gu>OXo_| zRmwjrJ$Ch@!!wT%!+)K%9B5n2Z8kkbOytaz@3}RZoxPHYg?C@s45b-YEScu8ON&XD zvIpnnI1}V)<=T#Us8vsyfTrNJC~nU)A7~DG5@4?l63q5?9qQJ!ePLcE-9sP^=Z3u^ z^D{I$nBU!#Qr)1GI!%u5h-N{*Tb~ZocN0`t{3c;ZRYc^9YvZ+`lz`jd6`6Il0$CZi zP-pl>C&Rv(6!U&wjGG$W6jF}Mm~DsTp1J` z>@VRUx@+>8OXxY14zXgTl{g%X!B6EM|7@u@r__(9T?$T+>oC zJYh0)r*hN;Nq+h^ApWF~#ea0=ff>b09)!*NDsXD}p=i+i8PRI5s&WSm>_^=tB+cEQ zRrd9DctQGuv#&)MQ%6H8%hJ}e+d0~8ImM&rvJVXO@k!sbNufnXB- zW5p;Yo6nE_U93^tM8n~Agz5bCuhRSVn(qrv2`@&{JqJeoaZIWCclfIq#DKQh)in-d z{dDU5s>23a(6Vc1YW(>dny$TU=(UZmW7(_Bo9;Dl`oc{mUx3w*>Z#$nWy&eUg?!vC z^_gIM0otp_*(lxo9`RFhj4-S3?+i1q$XOa&jb(pfI7@q+y8WSjya=P}Gv{uF9^V9B zR>4409g2J9t0Xavfgeth_*+vI$%<|JvQHBCy~$*>tml}|CbdoaWO$Mx(~Frp@6FuQ zSGdCt6`PHb;lhjxeKs2c?&`zB0xCL9%gKu@K^Js#o^(#vhkz)YBONYst3|^%@*4p? z&etUSMd!#9)Hw)`N={rdmZ^t!}m>T&u+cwHer>D9*~skQHT4QNnY+TSw2@?g}JCysJmXLaQ28#e~nUwOyx zhl#5XdL~{C=nq1ZItzi=yC1|g5l(jNqcp6rM^E8% zbR84%N zLSrr=A_`=nV&(vtzgD$!+#q@3-lXa&)*S1XDPv|;c=BrZ(UQ>|&yS=%f^){#k9Vv3 z=0Wwgq1rcuPAELRk*tJ`4PP4`g{Mn-a>eJ5bMyASObMz0(3kSZjr1j5dgfR~F0Nu) zVbSF+o#qc`Ja^sw^Ebt3bYHnej+I;$o@j}$*W9|IT5!!k6JnmzH}WW~>4<;u-k?cs zqNtJR_y^8|7EetiO`ZIQ2w}uP8)xgP$`@rAyd`~!xW>hJO0T{sR@mtFsy$|%?WG75 z&j7W4%P?QysXrn?c5Q_$=6c&JGXx{X+Y_3;0^82R&%@Q|EtWK|dbZI;^tKD!7Zv`i zWF{u5oJczU5~iZz-}6`riPzxRJwQ8JGQQ@wgt-M)OaEG7c;YVOB|pg>_=8=3UgpCIGS*$M-sg( z(Gu69hzbp(w~#!P=!f17mNJshpj3@l?yfY+k6hDji?8>Oi4UW82sxB!FISSH1?F8# zo`5}KNB`F*pcgp z|A{BeB;FVA2Y~p;_>I|&R5X(eY@R4MzcG6>0K|tQP?{KJt_Ww+m$aPZ+G{f=tX@2& zcFvca(>w<+zb8d_p!dWi@0yR9uCF zaPm7iIBzzuuL(v=$uzM6@Z=oheBr7fiC&MxB2m;6B!fu9a9EW)W`B+;RITnHvs2Bn z1_5t#`x69_2Y$E{Eg^&jC;p0P)Mu$XI6Bl3|?1NsK zUl!vs5;jC-9_b@6>P4e&Gcso&n}pVumk{mQ<_OTST#Z~I_)Be+T8LeB&s^doX62J5 z(5ruHkr{@}_*GvPG>ASgggUwp$rkr_DZ4!q)OP!@4z6Xt4~03Q?wZ5`Ip32Zh^S>U z2(FQ3c@;)Yr*QMm*e(rro}v(C^=O|_ohz2_0+CH4b85ZHl>&IWYkOj=rzd(9>+0X| z@tzIQE&YggW;#1(fW~5=Grb4tg(ZV>&D5Cqi1Q*+R}0=+o*1)K0;fe5lmp4yFrcw5NBM=rvH z_BF%!W31#|aF5wp!F&6n+n^6_6gRM^(O^($3jnP@ItUw_8EDW<;^jJPRxkl5)gPqz z8ife@V%8c43tI29=cJuIDpLszRn01^85C+^dRC}@Ryr9$%B@y(*qw!o0OYCd3Xxe5 z6f##&2&_GPDj1ro%Yr4UNzH!uR+~2CT9DJtE9KpUkk$-%1=6&KXqfi43k;E))R0XG za+*xmgP+}3Auvu;69u$`{9}3KBu~}D8wcZe7!WLA)pc=->K+zqSHw)94bAbP_adB~ z<1q>LXq%5&EbZ05o=uaK>T~SV{8%>K{8&ohQJl!wv&}YI^cS~zq5QLE*3`z+iPPKX zua7DzC+54uXH7eZgg}m^#FT6i_ynJ~jA-1gfD`2VdBs0c+xmu*`80f!O zTedyZS?^6vuC$ljnH`!_j*GZgUJF%@rcJV3h`xP#9j3a7+ zk+IdmC`RPoNW*o!_#r)d=YS<8DRnZLT(7Kk>an4kePAl9Y{pJhrF8me&B%AdwZO0( zb*9#8YM|RZHQ|bM<4pE3M$4u)Kr4zm@)D`Fz{B`aqgCqQ)C&K^s>cQ$>5!V1K|YvK z?OF-uLG)c!99jz2DIHJ^UL0#_WA!2!H6(=={A{&D=Yv{=$G+&Hgq{`y(oaI+NHzjG-MW1^&|+L#^7_ayl?EqE@wlP6ysbXUlQBT;4f~#hZJn zKA1i>Fov-osF&ySj-`Ggl>}Daq)OTzEw{(t@0z6O0cVa>59Qnu%cV}4`yTEQ;BKiW z6F3h>j`|6+qoO>FHoM@t*I#pACn8x}ZytZmB*eCes;S?YF);F#bHrSaluz0SRnDqt znS9WJ@7L)Rw)dkQS?*sfSW&m5i(J1Vi}SVRJO`Uz$tpw$YlL^_o5xJ1ABJ6g4lpM~ z0S+g8n}*sXOOVAS8(!9#UV1C$QGOvlxpb*jLf0Y39Nk?!xbV`34UxZ!`>u#A;>nyMzUY24h`4`Aq$=@!ksGf?1|Bw9m4*Cba7L1{qhvktJeqkJb5=H<>+MF{x z9L0HV4>vKp!`cKr$58!)?Ew{Wk(4|)zh0pvicq)*Gf8s)ClOESx&dv-Ql%eQ2a&gp zk4|?sM5LvS9lRgD!D@L>upYN>IEcKJasg0*(Fb7ThIMMvFmKp{Z!s%ME0DX+PAV_x z$(=(C+Ja?RzPKJZ_pgEK1K>fatwP(y>fQg^u=sTlFyoq(T>4JuhfLa(F^OzJeKRw~ zb5(AbpCjjs8W=Vt#0;mlYT-Pyu?RM@;?EmjMF8~M$Pc=K7!0?ka@i4AlX1&G{N{J8 z{#c@{*Vszbf_`mOE2LQ^oMkY1*`0=YFTX*gmgPg=BO%WSOIJC67>8)id&=FK+=#Fe z(WBdthEM=B6z<((q06Z1uB(_aOzcPA1+gn z2vPR#4CWv@e1Iyv=`1~wGeD44#U--_d@)RCPGxTaM(cXqk*xW48F3X@cg91H z;zpR$u`OT6Oj=+{OcanIia&bF5L)1J7Ro?FRt83oD$xm|i*jA^jo2{@D4v&KTiAqT zTnP6LN!S6@$l637BZY#)pa2s8co?9Q&^==gQ|*UAp4O3@7q*{LGd=zF@UfVY@Y&E% zz{-9x&1)7Eu>1x=&q^Vjpo)STlCe>7-vHjg$>08_s*4#+D7`DB2 z#(nzG%+a+87a_Z7jvg|C7Wg)CvOma7uDEXX;3l2;pk&>dxQ1BK(=?pSlsD34EKl;d zMwkwctiYsPIv`rc5GC3_OFhHkx=|Vw;`! zF)5O8+PEFEK-e>BNDet2|AmEs`(MS59XE~jfRmyR#amSiZ|8Z7Q}nRrZS@z6p)rGY zOS|Ms<{wv^zm96BPMOOWn-RfKuB=lFYm%fy7OMw1bky*?)-ke9wDl#Dufjup!O!3rT)I_ZGSK1bNC~-R@h{ztEPp4ONUa zAh1dWh3-OuPms%d?xPU0H6~kOifU_vZiu(t9Iu-tDfhT$+~zM=v&)0(QkUs_p^9sr z9BvJEqdxL4MwiJ%<&-F!8@%dNEJrojH#8>=s86;j?j2Y6ONzy-EP#<#%L^lOic=v? zR%46?`J1La2B9A1k8c9o5DAePLGp|SH=BDZ1-;IsQoCr|ox=F_g3driv)>a$v!6p| zQ|$f0b7;F4+@Xl{-RSM-Jia#kH+@w7e}%oRb`;jM&Tf2ZO6!8~FUtuvYo)`Sj@(Zy z=nq4bh;)n>UPw_x&ichuV`#K~Q)k973V_C)^705aV#^WAwCZ9_U9YPAM-Ej6W>f;q z>R?%|i6mvQ@S8Dvx+GPyLzx{M)kg*kNGG?ySzFw1n&a$LJ8@+%LgEAgVTHrxM7Z$j zAS0|A@dL-*z%7L#A4i`OoAk^66g^Rw)l|?9gGv3VeW?lQf2ZPYOfaGP)}M>i3U+(O z2er7i9>4}B!j+Y}V5@cU@=Ee*?_0=-RE{P(qIcsz0;q?uaVCNt_LvCSDhLQi)X^%p z^3$=zpm}^{HZ;Pzv%6wk-6ZMhYB;|1xLyIJYbHfN6xG_IF@#0SNx1@O1{ufEP`2%( zwPO>%b@GJT;NEL92kAsgMCWi>qSA3K9+_X zP|Om=UrU6lHhQ!lq<-Zh0 zRGlQc892;Tgtd_~y4`S@bIG$5!q0pn53P*MEqXocT0YtH%HUwZF6m7dzrzfFGzv4Q zoJcc2**C3niW6M3?iksx`FO#$)ViY%F^yu=-yAS_zi4v{nQ{NBN=UMa4<{HM^&PH* zMdhyd=3?MS4UZ+()$(#HHah9(1UFRsSN}Jz8F$q=k%mZ3D8u5nZny6qb)8~mjBo!$ z*V_1Pc7px<_0yl4k#rdK!K+0v6}7>3ddnY!W4?5y zCCLa`sa3}=AiJv7lvre{Q$5X>Phx6P6BL}vq@W5ja(6pm*2RN7M+?+jUFsCao8H-Ah)bNI7Ka?8-RRjymnrn}bVZl)u z64Ak2Hy9Ih$28^YRtikyAD27W=bOu?qFJgpN-aK`mMy`C$}qPJDjoE~Na)AmA3ShG zYO$b2#MY-@Mvdn_AqffnoZ-W7_YwQ!$!yYi8Df@U1OT>U1YH(rbuB|h!v*eqBI-|) z2!JxznsZFfi1hLnedVMCmGa$)8x0W%mw#=CSnfKE&S;RCr)8)1v?$}MA`LBzD}ss~ zGaLj}qc%Jy)q@BDxVSlB<2-liifJB=(HX1JG}plWXk6))A`(yeFf9LAtyJ8oGeK!{ z%I6B0*B3OwOrdhw7sXO^b{53JGSr;E@Mv;=N(sl`?MU*&l5IVxVkXxmX%8k8)n|vi zVv_5|qirro%x1iUGLm!k;UG_D+g<9VvnybsJ@}A4mKU!CmnCx#kM(F*qVebCZ)J2r1YZkYvs@X%^?w}LAuprwe?m|2eN;N zYCyUPj6riKF4y4k$R=9yG3L|7z%KRmlFvpmD&9EiK^qPthy~xQTj$@66|4xE#b+2> z(`r$qP%x7sEHlnIa#FPvxW6Z3p7k>`t!WI%`g3YS@;c0W{YmT!B-`iFuy|V9RBRBn zDoaZV4-;^26_ndk4;COpRn*X`}H8nwYUozEL-YddB+`Vw+s) zjyjkyI;ydg@URrrl+ zwRJE{HxU1o2RYK?1u&bGJiFx`NnOBw+a8i#WtC*QJLw^5wv3*8{%FT#>cFBG(xC`+ ziP8kU?dgZD-D) zw^(@4oNsBzbcdEBqhnWOw-EfA0Y+T30D7JM&y6|i+Y-#Xz!EbHzhdC<8fADV(x5bc%-KXt{waTe4IKBjdp$aI z9Y8*=O(?-uHgDmGRRZ2&b^ui>1g{3_L_^06x2Ip_LX=8ZN=N%)VfL>^xmdO(kHA*x z^rl+xU4!{9v1qUA-*YLD`TD7b@{?bx{fpH4Yv7Hc;3Dud2AGWS2Y(Y6h1@UM#|iiP zrK%Aj9^4w2?kG_1nBv?|_M`_e<#l(kySN_w*Sz34JPxhgCL3viG}PV<|EPIA@p%>> zXkwY}tnEZa4u~I&y7Vk|DQH&eIrlyDcVjH)S)val%Z`T|JLoB4;$Llr;AxsOcmRe7 z&29VXcS*|QdYbuAQFl!osb&L69BLH!Bbnaf(}(!P6dOJO^2y)oMx0(gtRAT#34&o% zr9j+xtAZ9rtT^#ZMbnM1;Uo#W?bN(}gfs$Y*D|xj_Q_0#HRh85odOodAB#-5-*pty z;!7+pp9cCBSH&rGie;R%Oa&nDyW!%bPQO6!B<$vh z@9Ytwx(yeE5DzYAFLkNbnP-3zvd!S~yOxZ$^eK{hV5JPVqIoa+w$-($+W~db5}G?M zO65X8qAp$Y4eW>Edh6*94-Z}1Xp1OD2Y8cUr?eYtkC`A^tIR1`nd%M=ug7=yRhEI3>#g)rIE3eiTEbZv)@}GoOYN*j8(vnrBr-2yg4vm_?*=!GG z4DS#1M#C25J*Q;pe{e$Ui7u2%OzZ8Aj8ZJM)gGQm)Ot#?g8iOYIoYEp&?Sj9O)L0+;qF1F;aC1bZK7%reK+JMspGW3O*qbT3Yaz>rJ2lb0 zNJ1z~VL`GADwd9Vc~B>9U?BPUS!Ff-(|4>BCUcG%1nYD)GXxC2o;Sn`aARa2* zxHQC|(KgrWFxhsdC)GrI*~G$NvV_3>19nrG_wVyy^I~nse92wd!5~~JKFI=sL9yXF zVA@UZD*;N){^uep+G39PuR-_)(>S?p5`x&Nz%xpo+J9hl;OBSjbwt%|`IH*n%oAe* ztlb9b%*`1S+79(jVSx>A8mlKJ;OAMM35CBU`;u+{+?C%Xl`V6cd+|t7?0j$Rm)poz zh-=WQppUuXfM2oBJqvaxmpwQX{y2qg51bUW5H1Ius6vN~K1g)AN8ZhT3R{Epv96<= z&J{$l_H76%E?;fjSdwzWZ2Rj_MBzps;;$1*^u_hJ0mY<#Y7k|>*RoBF=AVz zxvHSjvkL8Hz3@f4Ew^^oC0PN*SxUNbOfIZIrwopaA`zKJ%$1F1*&P`%cpwDJLB86mQ0*qRkjo* zWXmZU<5iU~5X>dsEutxSpiFP6QB%jgg-+Wz@Mn>Vik|6l<-LHXDbEisE>t|u@&W2h z)e?);9cOc{S1096Bkz)r+Q5twsCnj{?iHriWs50(1t$1fCfC_H+}B)JE!_aU-oOP* z85_bo6Y<-)eS&21f8&r3_N9fD`QVUL&L@tJFwTyTtZJu%=khHxs-;7H64)AX2JIXL zbq03#0O+JCOVc*RRr8RCGS(4YU&rEDJ)>5j>(?yoPG#e&TBK&J}Rr73Zy z8@91rS2xDSQ~^8-R(G3W)&{Lwiq70lZ;p|^UYJfJXiIY2yJy{0HEiSd_5FtacX2>m z=f-e{gRpycZBb<$uC_;~m2IH`R(vD?xf|yIc70xyg7R*obJ3V2z4|X!ct^z^AvgIH zB0xpNr})%vcJ3$D)R>Q_4OS0Sg0e)RS--Ui!pR$tKZ92t8 z=591CJpRy$IE@pIRsl_}1K(K~X(F3#hF9?{2~6YddBKja12*kMvCf$72OBu(_&Thj z(!XKaNhNX@QV7$4d^*QBUbSO2m!Y%iK{3)~q zP^fW|W!9UzwZ6#D=veHUmpDhZ{!UcaHGzKB5XRxxCu;dOheK}UtO<8CW(s;*4D|7> zjm-Pmuxa2KMARFB6Jd6opF3#V-V-|2z-@&_W*~gkpZX0X9DK7ACih|0I(Y|D&UFmm zza#e}B}T!QA4L@Sug{r)TAJ;z#?gn`SH|(Cv9tD#f5SB5UFvysepW^$tTMk@l9+G9 z6q5gor2tt=;`i|$tu0;|b{*;0)>IH1U;FYb%;p^j^=NH~BX}-io14Dped#sd(iFU= zv5o_G+#s6yABr{~;m?-qzovC5t63P;_^baS(wW$ZG2Tgkc6|D#pDrV*V1zy(hvhnM zssd!C$rOkm=`pI#C`^fhvQ%a5@FONljYBYPsljlA1?)V0%%&;R6Fj1HHxk-vA&0RIf23+MfR}$r#7J7JjHA1ytBi|j z0_O2pC@`a!Ch0|V`ek{|=@jxPWcr|eBqc|>wCSanCP(#amG^6dEYu`geOoKHrMYRO zF{*~g-B-wEmKYhqai-&tWtM>*165}%`41=4D9n@?RZ57(vu`-V2ZYX({E}|YO^NC$ zr^ZdM&KIxjxy+_XK@m`cP@FO-j&Akc925O5zk|#gd{`+&B2v*R%-Pxg8>*Db@(e4~ znnV_p9C$G+>ZJvfy<$4uUaFBEhkpGsgC52EYxRv$5qNM`#ZGfnxUh7_H!t=CT{x02 zX5e9vOPZ9mvL@2>6I<#gMN5}(kWL6wCBE6%H^gjf{lW7_0MPi_vZ~%qhBu{|foQ|c z&Do^F3SSm}7vGBAXlQ~QKshMI+iFn(ACDAEc8IS@8n&dC=CQk5O1kTXkN{n(_JS2N z+s12G`|%ia;_wrMAl#XEnLiZ&oup6adCq5><(=ja1YT_Lu|%N^2rghC9)K!RGtIj> z1KD);gP|N{(`*z#Ewi28>O#97L{@;AZ;YQYdRuI%;zyAcFd@wxU@g|iiYc6P*u|-8 zh#Y1|X(*|S4g+7~CdO#r^&Fuuz^)6E0@_49e~pXUqAJdPR-+KN1Y`1mNJCD2WN~!n zl4b{MXBHY6u-og9E1VFsrxWX^eow5DpYu-q-Z`TV=r$xMD|R+(PKRg2n#_$7bw%#w zg%s12KTqWl)0D=?1TCy8ew0L-`+Iww{^@3$kb^6)_Z*MVAm&Jlmb6f(vyq*d1k?JDO(U>T*cGow~T?n7JiDwG=H*^>7KLGN(V%n3ZmK! zC0J_)>lNm9cAyP8EvcgY@1W?&&UH?z2M$inQ9B@Npz22L7eR&_n+2D498wIFZviK| z;yq$mEl*09VIsVrN-B_XOtSXiTRwYYv2)~+J&p8zTWOazW1)Xz+nOFX1>(7e;j|ZR1-4rR zIG-}^0=nX+nBjKxt=<~kMsgO1`Z?Hhzc~zV&0H-j$mViK^!Dyyb=|8u-J%*odQgQU z3)M4BR=nS?`+eQff#Kvmn2&UdtbUyoy09cp?_d;E^`wFNVePxf`=$)D=CJ&GW0fLV zQl$}lRSzPXFi3ZCKAXc~j%6j~IGvH& zHweU=m&4S5J~|O%>ownn8zi23?bM_EAW8-x&^jW0dt)S3#{X{_+qcf6to)P(`|d{R*)xw|(we z59x>WP_Yn^B36Pcr zaIGN;_iQV9zDru2sES#cHMPM1U@^S1ZMaNLs#^(;l55y7OQ#=&o|r79Rw9F?`Ry2#p3mlSf3%o^2H!hK z3oCMb;c+R+nJfW0Aq5)IW67C7t}xAw)*$`ps&xzzaAv9YPq(>UCo5ZdXb77QX%nWe zP)(Ukt4icc)l{iU$h=A>sJs#R>rMCjPxHgpgZO22N zg=2n&m`g?1c;FCSN+*smi#XC|Qh^B3-w!})RyJkYZ}U<$wM6^&RLSvfX7895)#PjE z(*51f@xB{rX{$^|s9af7PXs-{1Q!idzj~xlE|$xZ!g0PYrsKX#%o4)$pXW=#@!q8+ zvuN?6;cTNY>1XvSTpWu$0~AUSY|lnF*#VxsaCZx+l3`k_!&d1#IpE6r8;(MwnU)Z- zL}hvqz?|Q`_xE49P*Ous64qjd4253v#;@c*nAz8y0`QRBS0_l0}dbMX=z0; zcQ4rH+G=DT1z`Bs)G)^e0jN6U=A2WIBxVLEp>BI@jL{IzEmtQ+LtEC2eHP9NOA?W- zXId2!EWDtr2&}^#or)BWUWE8LIL3n=)tzAa#BFA}KC@NRtweXD_0*&wB?Kr}Jq$Zj zjx6O3rANUYK5_v5XdgFkCp#CXQeSa)IqW2V?e4S465#>JvZtBhZU{OT=ev2brjW!Y z<&vk=zjta>Jfa~~a-QXi%{*n?LbO{6@9i8w);gC+3ZE3%3v!jXq@`t37@E_hXeGxG z5TYd|RIBe&7k|=dS1q@nqkt3I-&XUAIL;yc z!z>Dl49N@CA(NMSSYwjDJ{qowquV8NuEuvHv{r8K1hR;O9%WJ#0QlS{>Emh-1LRB2 zzrghY^^ZfS36ijAOs;I4H0z$9UrSRzCa&$v2azK<(gJAyv1QxnXdRWg`bh~GkwuTE zy^qrP#E{BDy@w=Tye_xfvv*+wkDm2aeG>43!A`Ey9SMn`7p+d%NtdHPkOg~Oo{#wk z-*+}TN^Ugsa^z;HHALj7^oh-$o`YPDUR6to910JbJ+CnIU&k^0-M*RMpOd;ecpn?b zYiKX1?R(G^u55nvbP32&)blqRh15{?RSiEs0q< z#FUHih_OSG441(0DV>#+mSe{oJkLlW9bt`;H^KwCKTA0^fHDv?cQ~!DdF7?%C)Ufh z3%Jkbt7-5yY~HX5v1s9u3D;{`4V4HP0uL?uNF#T+xg9yuIX}LNy=HHVoiEl`oVFzw zZ>aoIxhn4T$2;)~65!(qjXwqK!`kQk%^sgBJ=;DVi|%(<{5?JT+$T@(T~{ky zBTbnn*u#4c0^e#-i`KVNlmTWbt`M z0zyh&4p)Nnl7*lTwqN;?=Q-bR)87xvzF*g`-*cYvdzuv=+uue>Vx=pmjQEVCABM^j ze91_1E1jpZ*p*HNz;zX;Un$O2N|)bXtaOqyTNZX^jAI%~LNC3BSXSP55NK!G8=7m& zkN3LYkG|9~ug5C)^0PZqg1ZY|qN3g@0p0v#_qnj;ksw6+^E+;&DOOBb_;F0Vo@@+v zA`!jQ1jUWp_0%_s0V{@kDBvfyNi~gb^3*)0Y0#VN$Y^GQ2{xDEYpTX`z~?M{Ly6nK zDF6{KBmTpj5|ZgTdT+%SYJ{B_QmykCKVk2Mhc(Sjbpn)ad%>VICOlTFOd&vjU~v^K zpwny1;*QNN1`qsKTQnXedWJdq23SA=ks3*=+?lCrdN$DwcJ3y@gZ6K0$}3SKI=R3> zf@Wh>3MPP4qfF1oT9ydyCtZ~LM-p>_g^ zf=}f{+8_V$+#^9;CDg~7-cS)?J36L(m>Nw7hPjkC5S{VaTjw4uCM>juX!-(kGV`o{ zC^ShO>vff5emm^uQb;FK9lgQXZVumgvu0-R#?8!u7tbfNvC)2ma$8AX+ z)5Z9T?f**^>m3Cxx=D=Zsn_M;gWsg=3q#%}`Mh1T<`(6^H_gr3qC15J9Q z*eTC2h!*ZjIeM&gO^x`SQtYDod{ip0!-W1}s9x7iV&+Q{?&=(YKz!+2QSR!DA8%a# zeCOu1rY>+;TFz^P745V8#%j)_%F36w{;!4juIlVUrA6*l8GCY(TT8_XpxR=#%b0#! z28i+G{rz5nZ{|Cm#|Dk}%89OLA8=C9?A870@Z%aq)pGNEF zPc+CY4A;Qispo-hqp>S{QO`9)Np9@A%{u#g5)~LwHaEFBrud4P3d3S~ zplSKYQ)PTe&nM`-i?8o*?LCW&Em5QqZ+mCOwCE4r-IvKIK4<6dL;IpNK3?vM)j#`W zqr$T<*g4xS?*0DSOsgY3VJN=jza#nL%c{NLPPe_-vNxn$meBrs*|P29Y0v9MmKdw9 zzV1X~D=bxJk`o>$!pgs-zO8kC_(Kibg;<=;SPXf)%W)Dlg`Dxd%!PE&1jnUhCQ7%a zJtr^3C>Pp|K${|#XbK`E;o+1A>SE`j7>wU)K-2mx+FBe_i}Wp1Y%il5_Dx@I_hR_^ zLb>{mX)s#+`r922yC#ZK>YkLr$Psvy5gxCkGB=T^89#?lbKbG;P+sZq;oY5`MU}a+ zWV8|w58Omu1V4+-NI60&UPx{&orwE8oYEZsfk~odxJJUA;Y+fGP1TptCakoXxRHZM ztuZ}eJ{}RRF*Fo$!6@G%X__6|>rA$BF~cTKmzI}i+K%;WDH=2cmVWpm-?I2%FT8w= zG9*Xh467VbrTh$*!q=&hQ&8CB17(so(wxDEDPxJL>0qJxPrEgRV)QVUrWUim5+#&8 zPjIaAy|TvOKO^h7D9mI53*o|fZ4#a~+8 zonqxa8tr+xU28Mi=VM=2bfTSasVCG`ysMxVLp7|sRU*y$y;0L2897}Jysls@(kM$W zK|ba014af*5<$JWFn58@<;%922C4JMrx#Dg{YEENPgPFxb$d%{h0UAKhecE7=1y~w zukXjz$n9GKld~dh5DE+1wMw&B&1(SRE z-!syh(o8XXj8A&-FSfLK>?iXu(n8?nF2m;fRSErOc@1GSBox{5(>7ds?T!ulE6w{f zxBm8H{TfI*g4FG$a!pJ?1Z%^r;#h^eIPLxhTW(XR>W@48!5#qSS>HQKZ_{9HU6*Y12*#5kWo+-Qpea#&& zw>3_#kqsAdQr>ZxPo!SXkhZ8PHT;ykG>U=LOa8w_rln#iaxIzg%JF@y_*G-bTKwhQjfRJ@1zYXraOO=V?oFn+AFuF$!X(Vt+sns9>-0MdAdll@DRT6FU{<7H8TYKm8#X`v= zd{=2%`5sb2S8RBNG)1xzvLXpN2{Tnt=$ZS;OU12hgZt;XuJ6??a}VBrisQMNrh!ce z$K4->JnKoSq)28`;9%pt9fcdF@^Q@F`B@wTYbV%+)fkWOHlB@w*h@Nbl&g(s*#s(u+YgSAiloLU|ZNEsw z3JHY!#e$TKC?A{}xp*h9D8)Di)i4U_L=53~Km_DyA$76bMD8pofLlpYl;L?>~v(RY;w{V!8N%;ud(0O*R=^3IO?(p}+JnJ&8#H|TBe z!< zW_zs;!Kz(()6)b|O(8gvDuv~gH*{Df)XPY@WoJ_H3Z5u_0|Ig-B5u_|S^zd2M1BmK z43unxUt=OtDC(q9n8&U13zmO!ah7G!^r^DHWe>{>9i3L22jS$S2;_nsMmtWFAr~Ok zshK^?OFlHSHh4rwT_D8FqeppWv2TvS8!YP9;wzl!DWvm@NFxA;ZcUZK?%ZVnU-%qe zrN1%4B1BOTHXy9_wUibT<(S?xvns>}tupnZtPj=F)K%@`?yud)e{d4a8PmKkEN@vG zKJqlDredvI*D=gbV!zplb6~p_qU7f&4%YSxB1R>*ip7N0K_t1FJZ`LJUt_6RUQ07U z!(58v02B@t&hUgVmc4@l)(WxgN&Gj^G&Pf7^cmYT@z~Ybwx^=D7!`s)R`6Bz1VoI^ zxUF*~hh~|=xnKDHz>@hM`Ph$WQ33v3c1PK~_7K-^i|g6qS?g_12QjG_EK!MQItRV3nc{Utpv*$E4H93OaSsoOu!^*P7r4n)`mZ7Ibx3p1uFtrG7 zRpX~-HXUThI@BkZPCizK3YKNb1kPjr9b;PK!8nRS%8VqcND$s(rzgxE-o{w8CJ0w7 zRrsPs8OxC|yfHjF%M=w(<7!;G^Nf?pf>m+36YkqlH)tt^uWmO73{l@7XDPP`oAO1K zpTcP%PgYzlZYHAt!`C^*h!SjTcx>CYXZF~(ZQC~Y*tTukw)WVzZJjyEeY&~1NvEn) z>8^gL%1Zb8SAYKyE#nC0EUw%Pim<|=vlt~r@aJ787aG9}X$PvmnGl%s1TC|k&jZwQ zc^_tbopELmMalWWRbu#lE~AA>ir7lBWH!C0<8UNOm;SGuwKbQivHjV#@4CIx2-N)3 zF{ERzJHj``eioa$;_@}_{xH`L+s!3)ZP^J=@#khgn!6_cKBVEco_&t$v5~)^=+h>-H@;h*w$XId7a({N`_qt~-gJyT0=CVCk_OQ@UYF?I_OgG3&+^T7 zl!#z6T+k48w3;U45&R%|R87O!Z_25YE2u+{j%CMjOa-o}>3oJgjg0!dBg|`50Gd|2 zE0?yi%dS-PKGQ_pV&j9jal^_HV9w;NXqop^l~Lk*l@A1t%S&YxQXbxbC*gJVbU?L} zLtz+fkNM9AM$7MGa~C%Q`3LfCDDlR7U(svEN=i1OqvwQNuhz@@9`Y6Qqik9{*NyB6 z5|8hAKR_O4YzMiflh-w|)y$Ybqn57aTL@f=YVj3w<8iG5?plqI{-7enKa8~zYg9z- zr4YWdlO{M$uU#Ntf>d!O)!^BPu^zV`6*91y?9J|EpfE)Pq)VSnv2T2 z>=_@sl_1#*BTH0HE^`4Hsa1z_3UQ>~+BrLG7{lo<>f(l|I@SXF0F(*iDXM_UGQg5x z)~+l~=gb7XGpx&-P%LG4LkJEq?A{Pa+D5CFt{<}=;1LfWm2i5;fj(OJ@3!&et-J)` zX2cP#>*BeH!Xzu^j0RmUFhf8jOd$BOpd_7%PWBEzF~`h)Kd8%htxqE8Ym~JulM2QN zE^(aML0fDb46yFe4n{<`@noZRn`8ZNqp@V zCOc^J^sG?La%_q8no@2uXXUb?LRR812IU$09LQd08F0qbHv_2>NeNN2b4e|sDmS^q zdgoU`_dYkz2r|A{HSP2wk6hN4y>}^vlME}V`xac4SsPgk6$v&BbZy%Gs|AaY--VJ2 z`hNiD79+{#$3+Tr%QC;oyUd>JU()fy9;Gr@+)s?M`w}nAzm^dHv~6sRhfEi*UE*wZ zrPkPpDK|D+ky<1+yDo<wYh9k?;n?V?0&2#Kula>t*b%nzwcJX?4!2!Tl>-Z>&E)`bLtS(0SM*es|5?w z8fD!?R2Y8Fc^`Mjt~0nTAPn}=V#lDBNc3zbi?wPrMHoM4Td^lsq+4f3encW;*`^RL z!ZEkDFCAaHMT>;=6BKR@qp7JB7I zy#wFwGxbt&sL(!t_`JE^d;A6rAE6%YS%1VsV0t}%o&SvcevOK1o@1! z4aThmpt)r|V3a%^yyI@ZoV<06`%Ty^Blw5Q&F(24MS_Q0)Q9Ut{(?ZPJwh?x<3&D? z=K$2SHO@d!0A;D=;kQq3ctzZ+*jguNGZ_t4-Cx~h{Z>SDp56B{0a>OTR(h8>Qf<(z z2=4xIL~6~Z4BD))1ul2KDCq*6mfl^t=q!$w*z1tD5;#g-gXPk;+mJM|Jik=Mttv*e9zx(I_wc(L}^HhgZbhzbcK| z@tb&ZO|wbitvz;{f;4?bOKid6E}eyLGh{WuK5D<@3u-=rw+l!(XY+FpAXyiXu_ARV zHjH^2$B@@}0#D#acH8n^uJoF__@Hmp6%#_!KgG zQ^$L054MmC0e{(XUx60ReAyLuR^ppE#$QG>1T@m2yDJ8yW}y14!|eZZpJ|EN^1Y#T zO$?q!5@7AXVIk;g6d)A=Mc@lFZAjKFJ^09l*Bs>sc;0|8Ho(_~BO7?9MNPNi6;20( zmDaV_c-A#wt0XO!xH?IV9Xww#!?$hth6{ZmjH@oOwo-!AVrz8lRb^Hm&)n1au)U>F zac27x!lyC#cVVw{fex;b7)hD~rM+|H;$ZHy(k%Wm+dY)9FyksQd(}K_p4&tbZmGX> z0xSbC6Br_kilM`v(a&8yBNp@oty6;xH8g^=a@M!saaNc$c&5*YRpZ5&Q3V~6c5bVQ zt-Rn6*Imxm1vHzj8d!rj{q~N?o#fGNlF?ka{A9_Cgu<`x#sVJ}vFlmAHLjlmZ zZY}~uJRuMlIf36zeVn=;mPzTl*UvfQ6s)$aN1n`D{` z_Rjt}ljv_AxQ2&kZwCm>gnhS2hqpF=0LXn9uzk3uvvwHDiJt(&+gAC&taV8i_#O_8 zwv_<>40T%QH>S^-nc17wY^U4f{T7<~@8cz@_CqgZ7hr;|FR{A*@f4vjuYdWv5F7{T zbx$GtRCfS&lbxy!M@4O8wg5g`^xP>XpAr?29>%RpLPd&zSdv&x39xwR;{#xHuJdd0 zd&{?W1pf3>YS)(+nB7-LB&g4J;IWfc~9kt2NtP+dO}(IpBKc-&n|`!Uk?s9pZ$=JRqGT zR5 zUDRWQU&|LF7j=@H>hNR#a7V&x(mWL{P4DT1S9Ea2xcT9HAMO%hiles@S0*HzjlVFr z@-G@d$r9iwu-_gthd!548RWQ@<{5xYpAFYs8ytMU!(=Dbd(3e=>L>fg@wwr|medh@ z&BzyM-^MD;O!+SptTQcgzo(=?T^^1Tva6iHczr&If^AQd=ibjHEo#X+IqC1`HxiaZrXMmRQP1_Cq>gDVX zolnOTZ9Gm(W#en$lWn0BD-s6Zc@0XX>=_N=L=ht1v^^9R?%f;2Cs1)P6rZch?cryF4cf%wKKX<;|YJ}{z;~D9D(Bl}XsH5Dku|@z}y~O~W zt*6cM`G1IAY4e|hW~Lv|*G3zm9xcaDcflvPW*tVsVtD43t!jtu)|1&;F$p0GKxm@H zuo6n`;wQ@Y{SqSN&4_{b1k`ABdW)NON*as4Vo&$ssxeo8(%zA4KNf0d`KC0la)5fe zU5cA2oD*0msVf4`{6(S2lfp$-j|rV7o=?R$>|jr0Q%6J9j6w!y;px-8F+8ZS9iz2PKK_Y3_%wdm-040UvD=}(RpG`2r(a(K+VL0o z#e#x6$Og!^lC>T@;@#r?~a#=y|zHsMA zYGWg>>cyzWbG6vXRd3}$(SHC(W$%DRa8Z^BOc+ zPNibow1w-pdhlMME&!*@<2>}7Qy^7?(sCDeZcph`<6uw&c_l`Wt>SAJxcWEtAbH0$l_|XfgOJZ%Gf2iQOt%FS^yU%gM zbShWscmGq$Q?BcWfzK$9o7d}sZ6+5r?l8bE<|=$s-!P$Cgp1+utPC*%KK@)~3OvXb z_w8Nax9CF*`oET3)2uMTE|lwUF1wE5t03MVuB}D-5!a`X4}7uOS~cgV4ZEL!FSDS_?hn_Eu{rv8DxQgTD}@-4@OzP#lUU)FL-jXr zt`zRXONvQspbVlBf-At-b!~C8Jqzuv%&ZWGKfO7R_i5jJa7ej#Jl|q}#%g(`MN_#qJlA&C?#YK4 zQ1!meE~uzvh3?+uxIefdiTo~lxwHg+9cL+rI{jV;@mFWF{ETAP+H?IT_w3$1?s#Df z1%?KVdj0F+p5b$@ukkOh@gs7@-ZCX{dS~1*!h0ER53+vTN-6sSx&b<+KS>!S$Gll* z=Jnj=>nIFrLw)a3t%ie@6Mkx&#e4ll{5LIk$~XWfzP5t=a^U5QmWa~gnDHDzVI34M{tsCXTQk#iu! zHFRG!`u{LeGd4@{q2o&+lMRukZy`@z@;(H-F4ZN`E(*##&5MnrJ_s?Ur8VOZW)?aS z;>++J3oxfmc$j_aB~ly^->EsJz#V!yB8K6uDorKz^m+Ekjw)oK5tO}7Gb0#|;-v86 zIzswazj(>k2>@p?(95D}Yx1t|! zS|hQF|0yi`gmG26M4w|pC#Q_vZNCZ|C4--frjJ=NnZhoGWX;@cx|fbAAi)X`^60ttdHCMqgyW6q6vZCM+Yb$9+tRHcGL7Dy1Lh#d{w|{p22-*A{0Aj}*rNKnrsj zdy_f(19NJr6XF0qypp`PAjh+e`p>rp3kz;atH zXSmkTt(&Cz8qrAGCMj-4xBzw)$=X)0+EQN~>p%o0C0v2&+4W^e%0*b$`V^xP;x5+2 zN&4c(7Zn_1m$eHDBd)%?^Ai9eSQA`h4q3FW{ z-K~Z?VWm7I8e=Tv&ZW3uX3eQpUt!MiCs3XYxz%u8^E#?QO~)S-Vkm=4N-Mh6OWqaK zX1s}Cl}l7Nr@m8lB~D3%H9)1~kXvOzKY>m$Q2TuICc3;tT?#_*g`W$92rX)=l&ik1 zCW`U|2R$HJg zsx`qWMUPkj|4-Plb!Y+i2wrsDo#;C(OiMD@Y6|u9XmUJxRiIT{11ra5pC@09Oiitl zZM5HLGFY&UUr-`x4sB{rxpIvu1|)wt|1r6b?OWLr*h0v%Cj8#OJ3l5=Z~;W|_m8~$ zVk+ev@>y4K4HD*S$w>0M?XpH^;8DTq^9v~O>NY`$vo$Fgk|u9uIgAr>?$qAE`Oa=b@o@8y(uz}JICR}$ z#0FMFEj^e}TQp5x36s(A3vnk)W^oT|Dv(IGU=0C!N19E7ZR|P*q8U9i*cZzE_ECs*fx-Jv1RGH z_2vx{91zt<2RLr;^XUgA-Fd#$uJZO7nKigVm{yYoXb!LONvx}`vBx+}6 zWnxkt8ih?J`rj(h&5YB!r^G3+vut-OQ(aOa*9=Md7%p5+e3&GJ`G2R5tAmWCdwPYE zeurhkkHcS{!(YB1jCqUa`aZOm>iX?$lyd(>{;`ode)CA+w|_@;?7NUvH0L55IX(`z z4@~7=wyY>*ekD^LmHN^{tTOvNQnG6vt2XIk&87J(!ifwQeH+|g(A)l1Zd!(ijlIH$ zQt2q(L1ip!gk6qov8!etsBB)T2i6K58>T+qUkyWXEGuf1?4~?`Tauiv*AuS#_NV&D zt|RMt44$GiS^~?3!-nwTFvWR4j09nNXz#|vBFn93iP0m!rc}0j3lXy7x9>fQm+gN~ z#NUkBzi#Cks6TaFU(~`q+j3^HdAEtNPd6v?O@2EtK-mPI?s3?e_BmhN@HzO-{8$`s z{WQu%0af5Ute1)TYfh0_6*R<-P%MDAQ36iJ@pFNWxZ@Y`Wf*5lT+y^_l-WczC(qh0 zpNQ?AIsvWT;L;)y!}PVkf;8e;&jL23;$GiO+%wZFa!~(fx+})$Eklwe!<%eQv4KL> zb#LJ5Mg`j1GGY+PAJ3%S-)l=4TBx_ulue@n`UUTpwWzNd`DwY<}S% zqks*Zk5jl{b59t~Z`d1qoEVcU=-=Yyvh_C35#o&zG*EJ{A#QjPT)Uc(Dd}O0&-lc~ z$^h`XB%y4e#4c4R*o{DXb$x+6ZPNXaEq2vsN+wls23)>_H5ZgyHu;EECGv0D z*ij_gGrdv;3Pf{hKbYMLU;{yDBKxaGSkcv4R&)ctMu$I*5`xBAIcptp?a!uiq?+m< z4Q2~nyTtU8VL=uPy-h>?kXy~r2Ku;g=rmhaG52@#rpsSI8tfU{!i_ryrwh~(6L|K(rc|G-Qz#bVtJu~WQIXL!v|q{LZDD% z8AsfB?w6?W1kcDo4a|E{kpjkVDPp8V14F-)@?_Wb$*HF`l)VOYBXy$16@Qy>CrgR{ z@;JNntZ}i&^!jUpUi!%n@K;lXPiJwKPFbemuUnPq6?DZ$ek96x+CA0r;?Kg4Gz`hwS9v> ztECOLQotMm0_Pe~G^MA3CZ|ED3DDT?1ug*DUt4_x(-^B?!?14(23ZNNA$$j|7RJ@+ zr_LpFGAHZH`=-k^IFL!z6#yoQ2UE^Y=1Rf%a^`bsLDUN4zEYRfV)^Qe(L{;nUAd((l+E%`aACF}+^wZlHUwRZelMQH;zhx(TC}S`m;Yf`LX0p=m z0GEf*-k_;KY6%0nqAqJU#+hIxmTU|O;G$#d{T};i<&G3H)N<0}1?W}oXOkcGs<_cN zYX4;L;yhDGkvoSoSnQ+rqW`wUGFD(r9-f!1hcrQg*`w@dVabkD|D(16?hzj|DsS)v z>;*147|O(0A8b3M`YK9B2$oouohg6?VTCpkc$^xGR}rb?R!?Kp_SL>Cqj1%P+Lhg? zx7PEz!!Zl}&>IbIf^RA4Ee=iBo^uChnhjJuf z1>M^^8dKZ4q7W9mB7t!06>OD-;xOO2`c9>HNo}<6_ipt@pZKF~ zZSx~eOfj&hPH|eRmg-jccsF)jYbA;>UN)Ch6x!h`w* z#IkD#GBwBi86vw`JnfO46bU3h5$mrs(G3p*uZ{ze0D@-;W!UYP(~WdJB;xpA2&pC- zd){t}Ct1FfutpWhDaQ?>0{9F-MvaDUvDh%M;XDSs`dRO+JM96SfOH`$GLKqJpfzM1 z`0+*|k(i)tuv7ng)n3qZsuW8m`A=R9%=>gI3=~uu7oAn zHq=4OPKpuCr@FEjb|i!TFjY7$St`}***!(NgjfTN_-~`y5=P zy~w&1uUm0T7NC#AtC?Mv;U@rptc&i4O28Go_-~;ki`a}#Thxx}Y*JCrCZ#AFDU5)l)52y5Aw8nqHBpEq4hO^b6p!o`#7lj z5F~xyx8xC<1C&oLVvE4*NYcEXr`GMGmfOzP9f2x^qsV9R%6Ks7}?+S{;g7zxHVBD>#8awy48F>M$Mz1jvDUpKlbvn+Z zw(E24;C^cwShXnJ^6u!Mu@{j{tVsy&r&k-p!SsZhuNi0i=_Acka1rN^ZMEvSm$Q6wt zl_;FhFm>msPliYdSm@5DDj^PCD^-aui`d7%EMW@c9!#O#ux15u8DPk*l z^E0Ie7v>x*=DY+NSfXslc`3&|l1&F2oJ#*@`LxEN?s{1|!{&G~Ernt?@3=#nh-zXp zN_yDfx0%-Xio0t^;7J@(}y` z{r3Ujm~+VFJ9R7e+2lL_)EuSub@Ii>_Bk$XaF@Pd1*coFXK}gfV@`C1(p^3fbt(;} zd}4Oi;f=Hn;tma_M$Rto0JXi!c)8aVCK4bFcH2A>mIB4m#F~sKC&}~K%8Uh8?>cAz zfSzdJB(USxvv6{QYb3>#69}4)j|Uk${s9{Ws&whGiHwEu9lT*sG3Gz5@x!#g)m_Ek zg_|IfO&+Eg6gB|}7g(zN)IuhOpNTr&=eZyp#Sgzi9BqW%Vav4-Q{ZFPVxF4oj)}Sl zLgb{mR_4xr-k{5y)R~Kw3My+BqVbi<4@|0;P`>&PWg_*>0VX zbOf*KDr~KoW`HBFm zDg}8d_%vpwE9tgj$^yl5*6^Yg-u4!srh@iC9PYc(4^XZjDdixt_^zbbDnpwlR4~(} z0$>tVxe?}{D#x#q-qe^pg~$s?Rb`VL`4L<9p)K1EwdY@y>kisME0r*CHK#LBaTezT z_nyYxXk;a38p;NS31v_?2U@kp>^S;66SNYNuSG{8TM;U%+G+_q=_vnz4G>A#%z>&7 zli#BS7Kyv6M+eZlJ$N)QcqHid31w3UY25|4dgqv*92paRQi|XjO6L^~>gu4n;)3GN zGA<<HpZ$LhH~B2y+$s1sfX9d!CBkuVpUgZlI(H6% zFH?UdlZv<(6ms67EzJbPrbMcR`Hn0#Fo1!$a6Zafk`Y5k3sysg_{=HezEA&#yce!= z`C2^Z(5KU;H!J2G7e+{<^o|g;%yH{yvJ;JFR~=<;`QwJWc7}~1SY}XsIYUCVF}l*H zr((@NCqU0NQvGvlOjM)+FkZJBC>5S&L8#{Kx9&UZQhdk05Q*;o;9qci0+JYwpdBF) z3Y}9kJzmi2#ZMh|;`0)uv*>pt$DQ@oo85M}d`Ft$+QP)w-BQ4OApx_)Zn!8UvyhLy z3qgK3FpjdSWzq6wPV@X_`{+3ud2IJud!CBpAuHWdCLf1p9OOG%*t6;S+zuUmpa&tf z=d>u6#7${DJPRhXK><5so5U9cjk*srvkkB+4h*XPE zDn1*CRb@KTN5Jc+H8dg?N5ztWjhad+?VG6W6(*@`>USEh^{63UH#;{n!;#%STv$5R zE?|@e^Som;x`Q8iR&&;WlR1mzRr~jb})~RgK#W!Uvp6^6IP>R_sQ~k->5+ zR{5D^2^RUyK~U1Lc=e8SPev;h36iedh*vNWn_cJn_T88p=d7Wk-0=Yr^_wCSnOPjy zZcSNQyX?&?;WMCzO>eT!bQt86M^k(Af-U>W9Vo)B@clnsAsbWt>0Tn)$tQo$Fr7wWof*cNAm7Vgew0iw>*OE2_Q@iQ&QluYdej{6$#vor`L0s3 zKF?l6Wxp4TO{3wae-`6sAjTRq;DXQ}4l6L8TbdzPLb`h8j*EG80-MZ7K;MnV6UN`c zKR(d4_@K1f$Tt@P_`;!a&0vPgqe`jX!yL(yo|{)o3FnMEj@UfU)v4y%wy4#X+-;(B zJ(=cMI;Dns3%8$V3aVgL-jB+O73K#*GRX|nZ93YOWVfm36CJQ%X4_sH4Qe}VAA7QT zOA0T4CkbP8;-kB;lLf#Ze9$f4mKGLK9=mrwz^pS%vY}H6ojC~cs&A7jwRB$V%<5@6 zwX(26&Z%BoY1mAs5}5Dgf_?w~@&*@EbR^ z<)eTPDlD#m13`iG0t9rDWmk2uIq0z$RwG79AdG zbC}VfkxqxhkM8}+4frb_TL%U*{z^fsfcB^FpGRyw1oVENzq?;OfqRN@K^^7}-z*$7 z5x!S2m<0g;<&;Sz#K{LBU_Wtcd0oEvu$&A-I4SlG7SR4cnYhI1DFkTPV*s~|ps!Wb zQ~B#*vb@&)HU7JrMC<^v77x{LlE=RMHTIjYb&c-AZ7dz4cKF``=igS}{8ehR4p_S- zU!x#3xO5jO_CqWaY_Gi93f|s%#Pi-7U}WiA4Y? z%fIcg&1jo*+8WvkD@^owA0*y?`o>5Ie&B;L?VWIXmx){^@2qIact&eka$qq><@1>l zLrS)wk4t?HK_5aNzjc{5$m&?D6IXhTOE@jC+pk)9ysCFxHv|J&9X4zzC&|{Y)+YYe z;kjt&YjhRTJd_4y4#$g1O$bte9e1Rg3&XIzRw&m#<&~Mb*%$z5wj1gu!!+Wd7;cK-}0J!EKo+M3_|d8ax+Xi+p5TAwDBF;xgfx_`R{85Uys#&}f3 z;MWaVJ;3rpU*-F>5nvU$(3H6e&$VWhYPBI?Rq5`O-4fF8ZT8Idknu-Dx^!BGfa@JN zwy@Cuj!El4(ekdWw!Qv>+8gBlP4(TDfC9}CnL^J8=!>o_1c*@nLRCTEX*Pp&H2<7@_rSt9VT|I}LA^P6^FX zhv%ukMmfzVPbswiJ!Mt4=qVsiv5&5uq`B?B3QI=!Evf19K$>|TojAcZR&nw?jcNAi zfIGQXcd>i@ZW)2P(bA%6Yi0C&%4r%=BsH+$QZx_%xnjNaq!8~tSibgUxje7vWJhDY z-D15Q=tBt;6+U8nujK3_@L z)|r>P?7CU%`dSX-cR#+Z+PGN@KB-}fOTfggU0J`JexviLzZ z=c%Lhbd0-~ebjS0!{k=S14n*xtg*)(0NCAn^H(lzp7tNI=GZb30D9YB%Tv}$bQq+f z?6kgOA|K$Z`HsD@fj)#V(Mu{4htv3_zTpbtxdvSex1y0Utm3bfvHIKY2J;b-LXa%% z;w4sLY@PXktA9Dvt<`We%-aApGMj8U8tST>I8VkLEmB3+$flEtt@=D4WM{xMi#ZYu z`>g^xU4KnIITVxR5gpip<}|wHk%#9_DE37YUs~#zp)~6xsEpYH%CxS5{z74PBIWVj9B9~~R0yN`7)DDlyrRgXPJt(%b^;m7IRg-g&;}a!{S5V;; zHrk)C#L9d*Tn0xaMH8l3np9N?T4omwts6C}dY3u|qhZ0jjWrbG_1zD{&G^~25 zaATenQ(Do-e|jJ)q3NU6svaLwtY(Fx`E`(6>`}HOLgX6lgJm%=?}3}r)44Ofu?8flN~~Hp1+evMC#-Fl-CAl;>re@ z<}HiuTDJfSI`;+TSYQr#yx;CR!dw@BX<7wU^~IW$C)-G}UE_DcKY_Bq%&YBl3+R-W zrp*m!M=srv*`CL2qj(ur(wAydC*hbSJ>mXrDZU}rA$wuRX>Q`T)^far1Jq{iWYmmF zRWNiisRtx-sqMhWiVuWZ@n2eg558UDW01KpxDMPzsexw~1s`T~q=j8`gGFV*P#4bm`>#61UN$pQ?LR zkOp#eN0dJ%+MmTW)XHeQ-w!UiJSshN%`qaJWG4*(NZ%f7&Y!0Yo{R2`zMf=I* zTEb#nf}pQAa07>mX7jvAh+1-j%@`2Cb98m*YerW3OImob`2H%HV5(cdIR=j03&)jC zoc{lIF{o3Yjh4b&^Vz*=BvD*3c3U5tU)my_S5uK5`iJ^s4e|T9j+>~&j+i1}^K!0q zl8>wb|BASNgbEn2*#1~*HV$v_!RS^3d!rH`UhoqZ?Xoy!6UixFaTd!u<|93w>G$W5 zA>sLTs9VePbXzw8+0D4FVpZps zZTgme#%$KB=XubL68C5+bgH^op~s?OP#?2HD(LN<;Gx{oX3e6K@TO0z3qhg}N(t5cOB)Fx^Ih~PnVzZS zdwM6N!l>|bxL!Fu{4C!hV#wdN$7Kf&zZ_j1SmhS+>{AEoSMgb zLww7lCiWKs#G^lh8{MUkvuVObf_)sr=-m$NMttf}V1gJzQ~ zp{JwcUyO{TWpY?yp8W#uo-kDU8K-H0K|AbR&+l9%>L?O40$Ll;ipa1NOGXqU{#Yfu ze^i&pLzP4|SX`f8;NulOI?Hdh^3_XxYI%;LDmL+KiJTh*ErPpNOki{~`5Gi42PBZECiP2hdy{346H{5wTBgflKP9q?!!yYmzytwEWB8_{0Yinu^MctANvYN&2 zK^;ZX&CnE{3W->Vg90GIIBCRWiJUqL$hWH-#98%)WO(tL;1-eEpbSjWpuvK*w<>45k23 z9RMtuFx3|VOD>oCs$zi_eoW6x8r(bP_;tHDhii`@(gwP4*mWe0m8qct7VpVFbQb<4 zri@Op*=92cgCHCLArxV+{BJe@n7}QJ%i=g7l;)V2N@FMf z;C?KGDld>J$&6xg`q6WujHPJcwvrRrt@|^OUzGygRYPk^g4$;NpcvqtZy}LT1%#GXAN;{%S#9*Hx3+q?}&SjYCo4iz%o`-b}QLU-ZM|PW`YHT zu`L*fSfES3mL1;gTLL7qW^`heZEmo(&%}EW4Z7%Jp}j?g&G3=o3NsV2B)V8>WQy&N zlMCL-0+oZCvWiQXEpv0xNRA*^U_&{l93v)@DQ{JaI~WsI23XHSh4vs3V6AW@)0@#h zye=6|rTjZHQ@67z&rXU_WDtBeOcSsxP%`+a{d}e9%qV)WZme4x%GY2zC&YDXL2G6R+QFRHsL7awP7iZLx6Cyc?9wt_tEYO7O}l`&mWL}> z<_MJ2^=eeOUthv@6<~Qisf0XzYQHlg!^%J_HQ~7)tYKQ`0y34tZW!nj_JFt=z#0{} z-%<|={7JH+#SwhLb6>oqH?#~!d&JbJY!k!RpYr;`qT@uCv-ebqbZtRZFA+uuWZF^*{KR(nA90Jt^+aTUN z@48L&hu*TOc{mLlT%o9;Y8Ct%5yTj~m+A)f?3T1n`^S12tadayHUOL&0?|khi&;hn z7)>`8joJ%>=m5%A>&lb?`YxMYF<8BeP8lS*)c8n z52=(Rok)i#`60=d2n5&pvF0cLo7&K&Y!I7ZN^wCa(e;4aqDfmKofVuD}FAs}ZMKB#t8X3%!nejp~_<(+R zP?832a1^(MuS6+SAyk;|+KXvuc0*&}RR8O*cRX zW&)>b8%yjI+svB$OSYBOJj=5EyqEA0UT682t3gNjPKyiguz!zN1CH?U@^zcw z1Kgp2_z(}8)qp==2*(`g6)h5}Vv4}unMLE7DrxY{9wfj!gMznc8uyyiAU|94$JH7T zJskI4;LqF{7i}$Nx0;y5Xu7fmzfCW!o=ZbFzs=oblD_sy&>%E9i>A>;&din~g%!m8%{@3ToIMhB%-3p=Ywc7(M;Nn=C|IMY zWNIcG&WFWbXXQOgCkcxjjuNS=yqS0Vtjbf#P!$Kt!YV9H61*xv*UvIYTtMNoK993jj`BLn|R1|crE1gvl zWJfFmTEQmWRh<=xLf+0)r4s;ix0AR*SpC(}0+>YFm=DTq+Ae=RO2 zHKYpqZ<A%$uenLzVW=2Z|Hl$v~q-ZDAZe_i~U)6I?5r z@>3O@8lvMMmP<`5b@gOuwQ8v*Oi(+)Z^~qGoLk2E=o!Y8zXOwH3c%ZrI{`CPiHlg+ zfu`kJ3!+BoA~;5r=U>eNTRC39z8oykLgYeGfB10#IdM5KKGEq!x&xoG6n%+tiieQ( z>uQ5@LxQn)R6QDm;7!^!)Z7*Ug0jol>27cZ9Hs?e*+pD@fY6J}7~IP^*sJ^l7jVn0 z?^p74*JLURN#%t}L#B!K)!P(Hv92b3)22j9vBq>|B@;eg+$}_HnGl0uG=Y>kfwgFwaGZd-w zQP<{YL}c|k0S>wuSXNo^P!qq$p31IZDE6RS{l=N(;I1;N<$SIfqD$Ii@!AU#8Mnq{ zT?*A0xl`yltJBJ2PqAjp_X?-QKeHm_Zo8?;-89w|NPovi@diu-^!jO+ZjIzLjdK+@fjV`s7Q7&j@B0S(l(|}Z<-Cq(j9VY~A zI5drT{q;&qYD(mGMH_(c<{f@-egi`RV&{Go|4U$6zu(y31FUbM*C{Bbxt5J6+gJW( z{a0Up*EV2W`=m(CB4z3$>EBB6t-rt{C$pTLUPCCevbw-MBnBwTDr}DNp}sS}6}|dr zs*#$O*sYx&GhUEON2X3I^BG;_;=3pLCvP$9^Q_Qb0 zb~LsKU1LI@z+*+gzu+GJo^LJS_?K{|N`8?40nI=%zex-@B%fqlHt00?AfBX?t05so z#08jB-Zf)xnym$*hT`CEnmdHnSP$)BE86GHz#?m?76YOG+vUx8`q=uW`Aaf-V9t18 z&Uj$Xcwo+WV9r=_^)FvJWy%iGvy7P^gyQ30-46M2QrNZGK~i^jR!J~PRKO0yHSHv zsCSkVY8ba)n^NP4-wvmSF^L|7*6iXzU!`$4i1MLC)A>TX7X{D6Q5>b&l(Ino zJLT0->-E5_QG0#=%o<>h{?0hN^n-8GcmLM}8XrO0^MPmMfoJ1^ zXX88O+4w2qH=E(w*xO?+l5CcUqg6r>gjFPRi0>2qg)=san*IV|XlMpRn2`oDV&+7& zSXl2^J3avNEeVhS;I<7wq6L-?ngLNjsVW6A^N1RkZ)A}=3JhhudAK(ypUT}AT{f3m zZFRXOLLOrvPedc$mz-5=ZK>^I!q&P|-xZa>v4drVqxW)2SI~0vZ+k@w;;E<2#jU zt6tjyZml16BbI_S`#32+4ql}b;rz5wSAvFNt%|Iw+@q|))3?UvW*N4zeImsCohI0G)>76CefEGB}rZ z)TR0a?hchi>(zK@iC`agO)Jvcbv2xY~HhxEb8YS5AGpeX)8Cf}9Ud2GzHJcYpC&vS7aeG%RVL%+C83t9clhCCkU z5-go70Q{w&L(anNRwDT^;mRX+F5+FCHW}(-psS4YqF!FJ!-RnTRf##-(U3!U116=w zNc=XEzjZU@iEudoHQ~7hBE@!Am?-FxLZ1NGSugIc5I7LJ3FM2@E3xVkl%WUyIG@B4 zWFm}jnMmzyq`LYt1huDrNG81Zly-H4+0yy7-{D6BvkTj+!$a> zJjhU}4iy^p(kF@O)>a|`s}S&og+*UZcbec%>(Wr$NA{gnXUL!SRzuHhr|*z;n!%65 zlhnt%cd-@vg}uoglFm)P>lPutLN!#Z=-}Yl~&HPtPy~#i<{@$41sW|mRPxpWThMqC?~4w1=^ws+cQO2G+}A3$crYdr;0C{_;j~-+we5OROzV3 z;8Tt3No1!SiY62&c&t#sL{i{O9u(wV{E9H{CY_hd#go^Dd95f@uj~%Im6%JdoJCZ& z9$)srP74{u=J{jYr$hk$Rsj?m-tF0Bf7cp5O3Tmem;>t%_=OwW_ex@=n8e z6~K*_70R9W$KzPCps(yLV?7Ua;6XGlK4dUX4)|mAmWXAY`%ftuCgtu7t06|0-P&NGBsU8Pc&C3Y-JN1m*LR>@TH-ZA$>n879sMi!4u zkt=pZd`XFjU>RfxX4}*r9$FajEX6d*f^ry z0pt`7h$hqvy%O@%3WqKgZ!JRaHc%SnHsiPA$6>A>AQ5T*UGrb5j*vgZQ-vRE=zDK@7O+40f&$=CDK_a|T9eEj_W==}WTv&pE;eb`F}pX3)n zAs2>w@89oD#f!atI~vjP!(k9wM9&%-@zIgt;_rqUh>)hDo#cwYtKOGT-nvP3y9=t; z?jof{T&=_vQRGm3_dXz=$%S7}yulh+T2Cqmf&VW~nfHjf!0oZ5N2fbyn{k z*&{S=t7eZX1+my3Nvg3gNpws9c+ofhL>36!($>ZT%|;1yfI$b{k2geZ5%1n%i0DHq zEI`aP@w)~hjA%rpLMO8%4p6JlHGE(JsED*80Pc*HmS|iDwOhh}G&<>G>-b`eWhULG zOzUwAHUf{YqN2h@YFk?>T-&5PI?rMfKh>Qb+{3KCsk4^IL5b>ZBXd zN{ML1uCyf@OCd0|s}7W%FgCIdr63(a50% zy0xKIE7EyDBEw4U4zh?RVLa8VO0{BLDOxO)h?sL6%aYneMijD5xM36`!=JgUS|y6U zdhA_n{jZ$;%Kldf|ERAnwstDpu*0GpsHWMUSf9OQ`#a6(pdJ`dUG5UAZ`)xv-sKaE zKO$4#c#KgEI5w+-{CWM-i3n4Y`oTx)XXx&ES@R`1wvK~W^_4G|fNL$skF8rQwxY;kshIoe z9U}ERQKIM&p^e*xa38*~gK$Heo?`R(?Z&VV;Oz(S_5*nP0laO%+lg!*RxE~Y%X&4% z(Feh_K@~m#xLpC;`tPq5hX4_h#Ybxm0Sh5q85sNB|fW{J0}*pF4Eh0^3)q|IR?#Mp|h^_3ONRk{v{CTW($+`@696utCaiij)pG?~uE14><3TcaeC-hQDwZ zbY3lEci?#!&L5ay&HK1(dPUmhc@r(ljbOiP@UrIB&(y~|#J8@|S7RkPe(hM|4o!OUWpzAYc!kKy` zLxrFq*5@rC+KEQ&N}ppv?DpjvHBH|_twu*$9F0a_r&goN5$!bKCRA(Km0rgp#)-XW z403#tUZ<|xz~ai`)x_U|BF0p1%qZ^mFt85n%FUS-DP~?Z3)JSU9C+_-DpKI7KuwC6 zv}pUos_{8m!xN2*XZNkE#-&R~su>TlcX$C|*+Le~ax;de91rvh@Yf6`j zsECyYtp$rKbf>L|7^D1%o#-N$nL;Jm?sk%^Mv!TuEaEsz$2==c*WXJ%^sl2dTLpTv z<}DyB5waZaz9vELtQHPJ# zPPPoZRaqkRjBfFiqYCOQyhrPC-HRaPYJdx=zS3@ElCI33Tgyg*UR?rSrIeGJTf%x^ zH*N{o-@UqqDGM&@=tL?Fh;4fUFEm!tS{UcT1i8lz29Z!LV=L)ac(vBv9a%Mj^@!Bf z1l9wu%kI;be!~}_5skYZT@S2)S`(^u=t_TLi^68SGsp|TGOSJsSPSG%$U~`q!sl%DTOOX6E#Gz&#!mXo$b#9H)@R4Kj( zhJ`AXuBU5>h_&Qh=~rwy60v^8789*gB4RBQ9bvjE45|IIqB=xpYg~#-YuW3F-+YyN1;8{yoe-%Id>0C$ zalc1>i*GqWg)myTpPU$gTIpe{TJBbQ7fDU?wc>1Ii(!b=Af|Z5bx1q#=;3oa@F*bB zHs86SJ}LoJ_&3(L!Ir^>5Y5^`bA~xSe*aRaaz7{(`mq@L1%pqEt&tnh=rX)0jqoVA zD9eYw_+#vH%KSL4(%Cu7C&3VEJ z#4XKbzH4@ch@1!uIITpwOw*W)L!k04RN^2sG0})f50Z`!9`8an5Vz-L8;~aA*4}Tl zmK5zb5{>IjZEAsKC1iZVLQ3hHdmw#6t>9qiEZ_qr(arF1&6 zY&bvRZ&PubBb6{wVHgHoN;G0u%GRN8LF3}@ygP0|31+6q{Zv)NO!-PaZZmMV*|g@Emd-%$&J4Nwk$PkjK$Fl6nq|5I_%JA=5&@Ol=_ zMdVCjaIZuocGXb~O{xEgz4x7Q5{;pT!SpL3|t? zLVky6-}c6VING-zmM+@29kHuu-vP7QtQ2cEUx){$5{>H~(VrVdMW0>9bKg@jxvv$i zW6QQ$Bet*NbwsYTC9-=es`HJv?ZX01>8Q>f+V%~3Abf{tP|K+0(sV*}Me5MwVWmXl zy2sw&IM1#PtjLbC;VczD$Zn#XY>B#xz#UPf&1+l2CJ^o*Qo9@EmI&mjR2CUr)EZ1d z4HvZ@xHY)wc{_a>s6nEwak3-(GT>06ZSk6uDKsofl)3}MhEVy|^3b93YmEMQ{(dsP zd}76HyNn3M+%Eg+;R|~J>$@l~?iT~9C1#Y20o6JOZa-i&8mC#oU=cm>h+^+3%ls)U zHC3i{;~AC?0JAvEX@mYX7E3K{J#08>zM%9$Sh8`JUPmG5(GeGaI+WzABR_#XI`iQY ztm=pG3p*>eEj}<#$9C9~hNOMjws_+*UYSIEz#P2_D(1h{{T(AXC2qh$X+$JCR6LVEI;;NCyR0 zS~__;s0bD}uEw!wSUMOkKGjf%;UKSUy;P9WuCfY_^r&X~bom4q3RJ~9D(!{7 zw@LWT?2%E&Wi{NuR!tFmTm%h?fUsx@kB{sjQ@QA! zakCPQ`<>xlOQW&e<$?!E#}w;KWKCmI+Te8U(xhOSVBrPX-JU|z!#^)+pD>ytR==VF z>uG4ZQlUb3fNM=Bm;)fpyyR2$M7Z1QDVac0vS;YfH&nU@jKggj)$(9fe(fa>r(7P= zb;0Uzvo1u#JFpW_4NXflV4cT9C}*M(k!p5tPg<m0M#aYJ-qZyoDFISYBo_#o4q6ds z9@;|JQemn$t|YP0Svm|Sx|V<)Lt38KQPssvZG4o3{FaJd6c2;Y3PVaEHHP}ChA;*7 zA#WGDqm7-%d`e=I8@S?-l2Iu)7iQUFn58#4JB4-oI4M33UZs;H%uj9uuF$#~`K1;% z%2_&*iGWM_vHMCa+ZKSg7H8{cClzy)6l#I!K&uXl8DcK=m{eG*!`6NI?ZGqkFROhb z(7HU2{w-oyI@ui(&G0gKLn%|nN9i?J^P#daE=XXzu&gckZ)tPkl*$Ce(u3N&*g8$F z{aE-5I`9@Byx5{zJ1k=@p^e5uiK&L&_>~Z8uzUy zr8Ri4D>jGcZfp);FlSY87AH9RNZRmexlZf=!^KR%Io^Kr7{JbkVhv#_5xUNJR z;1jB|=->+1GzLZ_>s9K?$$jqT^`; zFC5UrG552)q~O*lzBb&97hQpfU$}vYH_OGeFsEh7tY8ht-gmf|tK|r(q(I-nQPmmjBQ@tNO;k&{s{XzM@aw)L ztNQy6_i&Z6tI||nofMC%P-5Rf3)3d8`uh%7YWE{+)!%oxizBiheQYTm*|;00EbDjI z4#J@y#1~m;YGt}C*#)f)heO$13+Ai4GC9XOIcdIBeQ;X_%%yPd-WV{KYPvfNSji+w zR<-M*g=uXVwpqkIvSHZLJW5-Ft4tme2m7I^40{3-CxET~HLhiLOJF2kL>!yD6yOp2HLewR_rR}dp<2&=>~1Pi`gHYr_KFc-um=UR z?G)_wH(#;WCokEvAKAHPPc=7Bt48O92$jBj(Vi6LyllQsS+v(DuiCR8dA+hdI4!cq zT&@Zkex~nIw^voYOIfH`aEJ@{?8n`_x+E{%vmSZP+C6zBTLtL%$&2@l8X+y->#te8 zr-W*!dawW8mhbh+>-X$OcGJ&NC9B6LRkVF{WiQ!gD)^LEw~Vgrgl zwHiKq5jIl9CsmDQTxBhK3srpfW7A^i?8hYo&)E-2jh?d~dA&-$4LAzqrF_OwAT8zV zuUX5tiG}=Li~0KG)qM6NyCI#WyKu#ewtR&R)$_IEE38@2r-ZUD=(88AwTeD_5jIlN z*NUUiLQS9j*tA7`_T!RO_1OQH}$3pVu4xD}v>H8V zIVQ%3pJ^-w4^}}tfW{xP0DdxMp^#&*h(?gwDEwf^L)ideWqGBgycqlSNW?}%o<&8i z+*7jdsNP4=p+NP(5?p9@_!m?Q!0b`dlcQyR<$u5%YKwaXS<(1D^{V5;hIRKu-R z_%_Q2hA?N%&QvgYek*X%eGgP@6%ZLB*cs1K zTLbA3*1tF1b!*V9(-_z|{>-|lsPBXS72wwSQ%(EV*+p4WF#IQiy zVd)5}ZAa{ipc-9=Gs8kDe9t;;pXgAcOKiGpel^$Y`eN(+VykKmF8gYdYb|_NE2<_* zNOeiv-Wpq)Bizw~2LPMZDzoewO{FiIY z-f`r|>D8 zuqjj$xhdXKqI~F&x%WECf_UYldqy84H%0Oj@z`Wap_5p*EA^4y6OeF4J2kK9uXuz#@S36ILE=1uWFRWwK=c zH=ap+)nU#Cey}2*u$~Jh?tUaQ+&+szPlNo0@GwFCg5MTZMqCTKBGR*!5EY=Wit?-n z#rV7RBy;ItmzieJjH_ZTYq5~w`Jci6AsQMPaF4U-T8zY`P1oC=$UvY&aKcqUhu>-y zs-qo7`B>P@Pf;L3U@F%F6N3|tNR1)0HN_4z7L6;2>VPh|f{=O)be!_Fh$Kd%$!NyK z6Ht_`Fku;Fa~SwS7^6#W_N~N|%T=o^8PPhSyFOPK{n3>|=)+UnoV@5<=_=!7JFufF zF1Nn9K7q%(qjVFj;mVYtt#WXop%9@l+3=1O6jic-LGnOwfNfz+l#n#@n(Dk)!8~nYCt?gCULe?{MBnYjh<>kD1t-|hDOb7bTlL_Zo z#@7_?bD9>kVmWfs)x?U$e^!D-t>tmzpbPvW7_we1!^l=w_*-Wg9XaW^Csa&QoE3iX zO@z3?Y9y_-MD$d1)W=7-T_1p$?{{7y=LcDun^_h3F`yNvF}(RM@!y)K^4U!rRf!KWh#8lKiZ+C+n%kbrHvY7z&*r1tXKo z!Ev9JYal+cJMc$QJbkH(`w!3fRm$0yQ}x~IWo)g@_A+t73lt0aWPD2~oP)lnvcVXx z4Wik)Y4@Y?IG(bBAM)Ku*j;nwO(c_pUiU#DxNtvBj*K*9)xB8W45EAlhVg=EMCv9g z)&t|~Ck!SVb-^Qxqu>LReD!s;<)KA$SPjH)K=|^7hlA3s5jcay+YG!h*u?Qcv(*=R99|FTAMtm-+$KkpVRs3SVoRn2eZvk2gBOYL70PO_*fp|9I*aV^)H=+j%ERw zk&X`rJSbkWFiXez&=1p_UNOu#7h>o6uCO0FEW5h&d;2@`|GdZBJM8HW+uvaa;{Uf- z25qgi1}6+O&!TZuujA{JZb))R-*#X+ zM_>NNW;}g#fAfx9eSA0cI}G%@lQ(4c8Q=a~2__!%>tPg!8BcoKhO%7-C-sX>Iw@W5 zSZAe#9wx%;Yf(xUybU&>vzNxv>tFi<%U;4YJ%5*w&R#f25agOMoxOaHXvob3bxv*4 z?_*Sl?zwIg*4Yp4U^cA7C+n(L+K#>Uus$Ip^KE=q}exL`mpLfI2J6*^T|qX>lWBp$nG><=||16 zr%GO|m2r_C2k0i9V)@5EnV((dgqan*L8_foPi-byWvA-vc9eV_P_a<@q;y={Yg;M{ zLnT-L!AP}Zq&nvb+oZu0IV_BAY zeDdb#%e(WhKc60-zcu-VXZx!PG_9jUN3MjWa=twQfI|y{ZakfrW zDL+b-nSKMvC6BL?!4HtS<#cKmq|5D=gm80;|cjZ&=lP!eTn4r zxP!@~M)yHX<$-4UHqlaP@|j;&v9`rkfu;r5FR`3l7-S*f4`$iLQ0yhU*s95&57S93 zTS@}F13s~m71}x&aD;tI7mrCFtG;36+dY4Em2FE*X6CiG$KWw5^oyT;gD*y$y*@jm z0UTgy&df_WrC0hYIv;Xg^d=Dle=irI&#Od;i^h7u>nXoi((rnaQecWtk z=6GqW{93qVms>zilx!EQPne@RrBzx=^-H^IaQtjbS{-ShrP<#8QEsFt`Gp6HjzZb= zC=ruQRuW9M#n(2w;O9{h!#+{My&n3-tF&0%bhb5iwpsZUJ4VBerMgll_Mz02f*!QfBACyyX@gmIoQ<=T9vK*{kC$bTo;y8dokZ(Plumm z4VbLHffFP)4H-ZIo28^&4P-LXtVZcSO5&2!WIQRT76X|VNYDmAFoqYa!`u^xIC-uu6#Z-M4vHwwiR%F~C!L5Z1 z1oAz}(lbu3EN%p?Qx+7E1vSynUtXUc5zSQYo&(#t+UAfQD`w{487F@`J^y-q^6u#G zW}^M4`}>l=_m~T(pIvg{+i+pfBiV6FvTs+J6r$NUT9Uchd_Fn*^zp;lNpnU|7EMSW zZJv));iwSJW8<(3Y|jWn9gpn`QHNYaiP%kk9R1s(pK_ahAu4ywyS|3nqEA^m=2_K z#8hPkF0?2!N@$+sgGjbD_{*!lVKaO<&1K%H`}f;4!G}vb3bM!9jZ(%mo*)_#uaw!T zglXjqa9U)F3DZqt))OwFWjY?AQ%Vl_F%3J-=253JE7v0O)TJFo15Hm>?Bt-;7g-r9 zQu}U7FEQ;Th(<(eQo6!zG%F!{D*}d?=Q4FGPRDp6&cl=i8TVzfq$1c8pMfi)+UJ1G zPX1xjn_Q(L@>Sh)ZO;+9JH#XQI_7?smn7Oo&_N--9%pGFcC?rkm3(M!Ln3XB=?+1h zGQqZqXn3$gx!1m!O9DFg)umB{2%XQf=;})BjO!?$_%SpE3%)T0KVgj=K279_?H(cR znZ%;;vr-hgUKSfqaA2EC)Pf9kj7;C^U>;{9?5y=$kPmgIc56na zeVp2Wu8QBQiIK_aU|A~t6o5NIrm->IDTqdNZ2zeah0kX2)8^tz5lAlf9f<^YFg0_+ zriHq0t6iVYd}faNu6cV$ma}$gVPV9F`<0K$n<$C$ArE`}T6~P{swy!mib2;l76!!b zWs~Hc7&_|-!$>XL8a?JJm6=tkxP>~io~kojxtXM++6sS{PZdj_Vcx$LshJlZF_YL-Bw47C1w+r5p6eX7@j|}mW(L6b%uVG6S~uq zmZl6oPIp_4?w>IyH0_agQ0A-BxGgofplZgmaRrWUO|de4Y(FyA-+!cieQ3v{vuHYh zCLt)Y0}2;$@TEegkVcrjx?WFe>G8gs`y3rksMSUX@H$*^M z1*(P!m@3znX{P&!HiRY$V)8p?GqJ7>=%APwbD$r|W{m~~s;X%~uZIxeWi#Zyai-aNM7GUF{R=dF#3|@6r~5G?{Y6I#zX{vRD9fd^M`2 zS~EJrWQUkrLx^fma1Oovq4qdigf6>u6N5_%Em{R{BD@2VFXQ4btqg2!C2(ZnoLQQSt&58UhQSww^;Hm0J)C2O8*JtEfUB~x8k)()+@#B+zBWVTLOx!Jl!JP)fY zP=zRg9v%5C`v}o-#?W?1qV*H{TMTNl(PtytWub{gGJ5}%5@dUKV$YEYT5B-9Lsg&`?PYT%& zn-$TB|A|OA$BQ6%L5^KK)3-bxUu;30$;H;6#1|rx191aCQL9<7L39P=B2mH8NdZ61 zavl#nwH-PlIW%tvm6gNtcFbD2`ub7bY@oF{8CL*S ze=jw0ClV@2Mi=0stxNm%1{m1l=@0DHlzZ$rEmdI5Rfn7~6?$?QNi7J~p^~Y_pMqla z$aEo^gM*3)WAlB@JIhyKDL7_zVV0%Y-O8~1R2qmNo~q+HmZO7A`{8*w%1a5k4E1Y? zJ6Dftq1M#a0OR(HLOjiev_#V3Njb!Ys5BOX{T++L}7Q>7qPriG1XWa024*(@lQcV1!_m+ic7GfhFPK0ZAHa+6pz?3 zFL*YBy)T`}0)p{$U}R*MelAQ8@Q;jnAfyV|H$J^dvv8FoVJj`hk62}UY{x{n5Die& z+)-X-U~B~jD7}K`syWaj^N_>F1KuGL8BgA2Uil;#G9Sus z{V=@P+7Vxb+z;WetM6o)fci3ya{blF&%TMTh@?kTdzI2(Y)uj^ixfN-+P;$YYv@nm zJDGExB;S(sCQ+H!BxNJnl{5nLHAz-QL)KG4v+)wCe8-0NI@-{RUuLR}CGXYQpy&$b z91unnh1u2~r(-K%tpI8Z>Am{<2~j}gf<4mcr)urQ(;W4-7cJqC$72Av@!V!5t%Y{H z&sngNZ%^KR`ugGH`NY5<8R#A(mK@ zJ&~@WW9|QfReb&KUDl0t-s zlFk%>3H^F}^mnSqM{W)VQDPN5SW8G}4Bni6po$*w05n|aI^^6cbhXAY(Zvz3-=3UM zg|04Lqwd~*)F#Tcca+UjCeNq2bd0*=NmHiNunnbfmel$Rdkya4B@0BgK8_}W$d2N% zY^x69b;NJT9Y&W9R7;-SPp2n8Q@V;SO{QqwM3?STOBUzLhyVHT@#hazU@aFdPXq)( zs&A@c5sKJ#NK2I1V-!m4lb_|SBE;ImV39FES*I!N2aHDJ6uRKaNgM2w_lRibWLWVQ zkYHq}862c*9(^_zI~(q*YmksADbfnmWiS`%rR?t51-5GziRO>TSvt<3QB4I2Ng2Q8 z!9=`O0@EaVq-+6K2agcV0%LZm;0g$Px(K1BG#QoSNJk3Q7D~+Ug=x6P0Lo`zhqI&O z0m}*|s{fVsycIzhJME=SMiZ>v?I}KED?Ue4YGriIEhNpv! zy0k2~i2%pls|iSlZF8hU3`Fe4Uj6;#B@r~iG51%?{{cbit0~t{bR}(;b(X~Oj$ba2 zh+U`_XbtKZz2!kcAM-rOBBfHaf2VWblS^eRd-L(uw!QmIspcGxI=jgtiSC zGcT#k<%V3Q&wCeJ=VBTxtUZswPc#Lq?9%M9FFAiHJO0Wi6~MgN#TNTxcL=maFF@Cn zlTe*DJa$@gD#4VpH2B7aHx@)Z3Ajhsy}}iv1}~yixeFj|f#y02L!-H7_V-R{gQzr` z<0X{TXePx$rPdtHPo>uW@lP=9MZQd(Ey>AjmpHL;92Md?vc1bGv)GxoIqfwJ8YnqA zCoks7RWa1(pB>Nvde#80Su40x?VHwpR;|1bXsp63bv-! zJL6fDPV#uV!-irphJF@GkG%L3oqk&fIY*@5Tmf=3`t4Xhaiiqq{{F}QKlL%(QHS^+ z{pt;3t>=QYE47|XloF{tS1?^e<;hxuPj~6PMY-JtN>An+2-V&i))3TQHLvz`pQHJs z(tWBY*}URYPeQ&efhgwvBBfM+YuMYS`csnfBs4nulRss^a+JUl{6MDzU7>%3I?x5? z*F3TfM_-@VYOf1DNTlUl;eHL}0;Hl1-BOcODCkOg$gN4Gpw|Ka$*|B!-J0fb#Q^>$ zG{-v7!xfsN87vk+bQ`22MfS-|4yvW1QT9MwPp#|^*HQM8UxR3k4r#RgYoH@Bi$r|-4%gB101TsA zsx`EH89o_y#bue91wgjB#LR_w<$t8h%N(u|xTr#;UQNrr5zpQzIkV|kt&;WbUI%L-%T|fh+;bYV#cQbYr8b+-*TGu=jFoDQ zC^BhKKX_-BegW=wL6RN^Rc~Gt{#>kBXR^jGBHBRQmoo zaZc@c9*A+CO#$Ngjq@>^j0si#^Y(IS)*{fvNgvWGxGcAJJ$qKYiO-%{&t;u}N*20P z={>si87ypWYaeXod$CSfRk3Umt=0>g*b3s$c2;Yhz^cYaM73NrSu~Xps-Ih2Qpj4| zbuwvXT@BURtzj%odwQ{Ar%A|fm$@U$YJqGKpte(4!*&=4M9u?&{j`>C4Wj}tE7t?I zu2_6{5{pC7l6^vZA@Z~IXs8!!Vj;{+I8&|1m@n2aOhgVxf1f6B`bj+9S+7IxXR5X8 z?>pM1kPrMxT&z%8_EpDg1W{H8>5D3GY1WLhqm0Y0dT?RRiVQlo5Q6gh`z{2iR4a-! zNo3<9tWUd)AVL%rC5R-1*?ZORQMLR^}BV8jHpJ-&HpCYf%h=xYG9Y@EwdfwVFx}Pz{dMYzA;aH9S(W!3{3e&{)j|*FaQb zBUKxi5~888EEAMg49hf8OM_8KfK+c~T83(Tq>j^cibR7Ww47_)ZWl=$SazV*TmYNz zJ3BKlMY(^gp~G*W+iZjB5J2`8G>7zI1I@G%MpaK6Hkucu-s#6O$wGzja+4(y!oYd+ z-iUuz?Y|b-02j*gNhk~=Q4kh*sVG#-f{8ck!hmYeN( z1R!*bWth<85qm4?pA;vVp@d2Yl3^qVxB;YMWmS^TQ|~}sR)JJpdU5FM^wb4*ru(T zrcm({>U&GrLxf5f6Za6gU0wC+c3{;LE^}T8|EI{sfiSy4Q>WcT#ZVo3#X1axb>i7D zaG|?n*%N47!gi8a44=D(@-ztvKzSk?awT>p+gD z$ov#CmbGJa46&|^Y1$p( zS>_4tl@u}HwNA1u&6EN&Zq-YPXJj0<*?Vx=h1W&4&s+%9IwDS^8g}DpW-Or@ng4+% z8+*jg{A=xfK%dk`&Z?!r2TeCdwK(`51Uf8)6@d(@3=7ZAH}GjcN(_uVmmXWWc$Zuz z)xs5v)*9zmjX}Mp1WyM-N_M*Uk#VVa(jb^*IlCEx$9a=QMU4QS@R6hG!l=ATEc=&^ zb){1YkMBH{_OyKFW+!a31&iBZ&rgs^;o?;ktIPA`HLP(!C8@5tlu#d5A0rDeUFg7O zBs#BHywp+B!kdK$n+Ts-9Tm4p<255RAlJ3fN)s#)S{5_W3GLwWLuU%PlcikjrCMM* zE;z?9K<-h`4;9U`SI84*axq;}aZ&M`IXL$6QOS}RS@ELEZ&yF6w)=`!j|${LKB^9T zi&_uu;Ml9!3rr{PEeP><)S{8G3?Xd;Rrk}4H>AW8Wzlt|M7MNd?@~X^wYe(06}8|v zqgk-1mIUpvm(7NbW}*tXUat3aqFfyZ_a5sZizr>SNTL-TO^ik59%G5Hw0peVXM^Ya zMm${UHMi*`yYORKx|;3#$u6W?HXgpRMX*Va;`kl>WRXcCn}vh7FC80wg9v|1xHif@ zQhA}Sd|8WIXTV>sSZ9EO>{mj5XIFA7)4d1^xU`^STGDJ+_NvP?jk!>tQGT2zGs5-% z>G6L}#AsqE`-F?=nB!m0LaxL;AY03gV{2T=tjgH1W8x~)-L0T(>$VPim1M8D*gC)1 zA}Rx4hi?jAs_|82uFlirv`%_WMm@GB>(r&NMP$2a4Ym*c0FUV&;F`RIaVm7r<@7un z@x1UyWAiZIiT6F(mJz)f@4I zY$LjoKQ%TYgkziDitF%1m4X+ko!C$4#9p&o*6azAZ3~*mr|~p)>T@KU#G2-Z@-(?J zO4Ux&hn1&k6O2-eo-U+tn-ACa7;S<$%Jxxif+&iXW@lX%Clu3;eCXh-YTSl&Td7Wm zqpcw$x!E{&)0wCV;AAT9B#Rl=V{3xjEa+`0)j~D<5w(cFH8oIfFv(>3Pg#-;Z_0>6UaS{sy+T`K4p!VsTg#0uqa+#^ zT^P9#r&}#j4XBHS=UU5*M~!Hi4NgSLY`z&vHi4|H%x^q&Dv|M6@kMxvXfa+QoXG1n zA-(tymBeTq$_ki-^}xs|Tr1GL@QXT__yqh{p3kF+cgm`AL)YFSaspd<4= z2~A`Xv32_ z&f0;Cf|>kD{55tB#zpr|2`{$#-u}fF<4KT)27)5q{c`?h_xZ)vpA;lz0jQSUl57rlJFk+w{LlLH7qJUb@<}&*^9^h$4{O=J9ylGdU*19|2dV2SQ=s@vY@j*kzC;R)L@Vkk>RL)pfHY3flqev#8OI}?V$s{)t4vS*^a&J!y8l)rr z89)0>BQ^M1vf&6w`hM4ZOt z9tWLgf%rH6X1B73XQ=D61He=GqB; zr#SPf6u&3p8ugu#(?;RgF5((BCo^KIz^y6i6GBm4BFl_@1#lx#lBLYlrZ(GcW@ct= zGc&dsWoG6!Gc!Y*nVGT8%*@Pqp1rueor%4hEvZ7Kkm}Wwer9Dw{mhr7c|sh^D{*vZbYamZrdcd#Ljgp;}S>1qGKkmp^(q(R{!IGyiIY;}~iGvk>cZ zVX{XfzobSc@_f`0p-Q3mr}=k?>^GV!P8RzgOwS9|6zNRlr&k$GmQvcGlaWU7!uC%Q z^3|+o;_q=U(iBKkI%lJP2vzMVgKwr(tr&WSyw z57se*<_~f2`aYk}@$5FMQ2xx zXxKf%e*wN}wV~&0R>Er|^K)i&5Yf5n&Ph=PII?^n)=;XlQx2egi)o3t-EC$U{ z(qURg2$7e6simE$Y}X@`AX#u_LU$*-eY4x^*a=|SCHJoWgOk&+K=}QebDxWfmbnzl zSFXCYM2Rz=i2oKGwdH+hRwd`Mr#|U~Z&ake0$Sxl6SNTv)&lWP8_21B!GP&K1x6HK zIkb+8%{b|Cd&pPQF?6)jN8Qh4X{uUKr&DC)7v=f2g>p)jd5nk2nR>PKGL?MyZ%bqe znpvqroK)s9ejTx5We#jaDyJ#j5?^`rg3sC1*#X1PLW3KBisCTz2Fu#s8dUr!`YauI zEDH1vhGSS?ZChTL6Z3Y#Gi6rt& z?L+346q1Oy%}Sf>uTYiYE>Mk@%uS6_!9l&ff*AFl8Z;B?2d zrVx};4hhd+vUby~!eUBB-*BBXVLVAlb5X{cF%vf8%qxV^PfcjXl!rSzq%k<{l8%oD z=X7oGB@b>Q2j7+`V(c1j2j31U%ankaq4upoqLNE423WdBpu-UQmAtqfi^Dn zz}=Uxy9MTvh#@VdMY|x-02X6g}kOfcB>=rRkpc(MPLxT%BwD` zCkaam9foB%{DEK_B#K9=m=OabhS^snX64K6>2IXB#+2S7WIOoYsXC~Lg3`1+wg94J zr$s9`)J`RT`Lfwcwd!O>9oLRBi0PJ_9Ci^;C_9Bg(IXbbM=l=FO zIWrp_ZID{ZmwL_$RakT_L(m^0E12LihKKey60_A-)dt|itPw&#DQ=R5k9+Kb85mgTH5lwLzQ=}&IaVX; zq`OKF8GU5{C<={+b^7ry)<*t(6xRjr&SzC=Jd@Ct(DJtO-zZ9bHtR@5pBGCT9WzeE zgo=q!c?(HJ1G#zPIaJ}{PLo56LJ2dPoIO;zn?HwS{4mIMaPW~$Z)6fgp5;q)04jdh zAVn1&??WC0jQ`M7x9K6$Z^c51JVF9E0%IA@!@jsIJg2wLIeyjCIhC5r2DdC_aAG*3 z*bbvQ+1G>u{iThv8P21=4vY;W^cr}sv{o(m-AjdCwwB-QG-;$T^IAe?PSm9I!vQPz zh4>-s7Bme1PQL{!V1#eh{n5!RLXO&Vq-Y^YWhYQPQLAIryrmbzK)(+ZII{ErT`wMr}Od}wkU<9Z8Gys5aNP5flFa$eHeUtett z_?@SP%`S~vKf+8#g&&r4Oc51Yf%50^T5*44x=lg`(>jO8<<9U_JWqN_= zZq!G>Ql9&51-@j;NboM9$vBgDbKThWzH+{`t|A52V;L zLBE?EoI)ud3$bTfyj`wIq0Z=6q@p^d5-+HJxZbiLjjqH}ZF&}3cl9Z*e`q$e=8WD3 zbNiqU*^?ttIW9_SgI09Fi0&Wt`;^eWGqHDmq<(g_GC!H4hV(wIcNw(1*~U+5vv@Er zw+_mvqQp;Zj6=dhHWpy!SfIRbx|pcjQUK4{-vNZjxdJc2e%{e;x863cb~xFZtpTrK z;8$N=+!h_oAQjHKE~%9q6uOfOTc8`qm^jzIRfxo{1RrdW>&K|1S#~ueUtQdUkO=Kr zBZQ@kgk-rPg~oNHYgN8jxBPZV;X)kd`n!e4ZxAhqM3G`_AF-YB!Ki!Ocm1H%AxN}z z5k)u4cm9G#FCK?rg6mnbDR_hyO4LoW7!}h_6W@ns9|N7TYJcuB#>J2nG(ePoxT&|3 zM;9V~yGJo**=REcM6P|zZ?}UCd-sOb`O;ENlJJ&4B+9bv(8f!9m7JGCoiHwy{}itf zN!2WZCA6}V3d&<}D<7*GcsBe_b1T(R1%`X$O5f#av(80mkARYB7Kp}13c64$eG`A= zQ*=y&A;D9}i0Bo5UzXt}AbKSqnCev)jy{d0l#jHNRH^{&^7V)OkR(+wXe?B)cC16E zYOBL(5F$`ltKbWptIX<~tzZQmT9Oq;wKhMdkRxhfUruxXBpz+YUbL z++LZ8I-H^|z9dC)#Nu>gd(gzfu-mp8WY4j=mERH3g#Lbq&?SVX9ow@7twK6zAia82 zz%(hV$u6sBka|3>QH)umDY37T*IuwvDvq^8Va(WV-=CCkesB<1yqu}=tKZQ+ z&8|`jU4Vl|9#h5x55I44(@IS#(n=y-l(AbRWw(s`q^x5L!yx9F?A_f*aKQDb;Qo+m z4-5TJ*IZ3Hj$N&?wQn`7x|oIBUk=9gcs@UW*uwuugL2r}=n(}^06^jy0w6C12964V zhK2?d=o@N&^(6n#<=fYmgA)*_Z|_ED;b3E3s4{JxCxGg;Sw+zQd%c`C#Ju$;Sh7s4 z=UelL^=u0AAQ#MJOlq#g>eHo%f_(j;({dox!G^;{iz(f>=aGK_4}o-Cwuty>s`aU= z>9ocMEyi`n#@a!UJ4pm|x%iJ6R*>O9W}tu2!UD~#bp!AgPq&;Ki2l%-&Tlo#V=T1q z|3{UYitEO1ylf}|CO`&Kv1U@hr%8S*cUQ(>XL8i^T>!ah~jcAB5S z`DxVqPhm@miXap)$y{mq@t}LJ~Io-DLTb31Fo_KYn_t3Ue1h!>rZg%%MjjNXRUsPcTUbVAFqJ*`hfpy@#K zw#YNPs`DF%CWum?VT?qt@E<~kMwf1=y?(-8kxnP`mIkghuit9+yuT&_smB{3q~kHtcK@gcf5G& zYC0e6oqK!gF=7z?%rDq(?Fj4OFqp8lNHS?fY*(LyE{(ULHUK-4h|AW$r?gEJRIjf^ zGhK#{o?MBVZZE6|p>JgM)%#aEz0a3XLP1-Ul#W`00s!35fUox;ps0ZVYo=?(_GJSI z06;hw06_Sk2K#?D9Gq;8?ahsBteEu7ZS{cq4vxn5^oBM-pt+;Ne^~Or!rAS1IBBQ@ z0NoB?0FwWM@*l6Li2v|`{{~Lq$d#A;r$zm4fG>D>_`B>9^b$I=I@js z026z2VF>a+-(Q2AumA=i`zMZRoc~Y2e?u~HSVVdF%MP`90RY^8 z!gPuQ0Z1BKb8>S259$3D3d(Ml0svge!T!Z!LUR8bsDDF@os7V6zzmrt@E`lPeqm1pN350NnR$ zzyBTb0D%7;@;G?d(9*uV>g;P}`_KIy%^l6HtjwK&v@XU5v{w3#=GL^vu8y=U3=Fi^ zHugY$D>_3XLq>g8CJs6m8xxcN-|>Jg5b|HL&#dmYhg(Sg+&$~-q|Mwv*46{s+S(vo zput^WE-t`b9 zW5@%!i>uj>4;ZlUjyQ{$$lNchop?6)@F9{i(MuQ~pE|~0d@}F*pqC#n=auGfdH74+ z1_FT0v-cq~bwCj|1OPraIUjs{3$U;lKS}sod`z$T1R-Z3v#hLl&pt+EyavC9#~1GV zdoN5)Bbe6(@zTql_=lj32=?mW)cdV2(ePgfj%)(Z0+4 zvi*$}E{sRZs2T1K57$I|2!@|P#A_i3>MKHN(< zG#LjO!v=7#F2@qu8k`E5Q*%7!70hGW@)RCSBuaYRH80dG6VhUN`R0UUYYYGHNgi$kp25EJ%A&<-Sb)?N~ovJeL}*C}w6&6t^o?$P&gGN1CG_~!_XaQWJXv~Mw+{F=lIlRs-AZ3zI^sHqM#W6)WniD)EMm&!iRsnG zi_fPMzIhPx)s1dO@N(qudN}yE#YMMupm-VHlyFD~uMQiZ&n;)=tZ_j9^wuLw6ds5^ zYTYz=-wx=EH|J0zZj&!5pCeeex4&lG@hAs!@H{hSC3?Is8rFI7Y=DyK2<7WLM?a2f z{+g11xSH@HGB-{g5WAq7#`=j>NG)g5b+S}DC+)PLp`@@`oug4(4+P_6b&KNrvMayQg`9kb+xAlUgP^%=AiBVORYhK&C{CL78#qj*Efo z=+2a){a7_AKM^Lei#ri%w?50sWDWiRBX#49VcRHU9;c4(42i?6Bd%Unh|3-!%>kol zYFN5aEji3I=5elsWU=Tn&t++y?r|PFWBJWJu;+8vhP0rZ!gUCCrhI&TLWf#Dbt|Y* zX`jVbsyOAWLEJx{_{X~e15wHV!-{`OUb{%DoQF?7%k{`@NIslprJB_2XxwDcXi-D- zkm7r}(Rv}O8)KH1`%w&YoBcwekwI>v7XIrJ^sM9wSHqr7hm~;eHSu|5yqLwOWC@&; zam_+ZkW4pXQf0PEmGRx8N!KeoaYqZ*pMD9~ey$qjcwrR+?IOS?j4~2-)e3?4VGj?^ zkwPu(R4>sT+M307AvhY2g#}UxLA@KiZcdPmBDHn!#JJUxjEX89)F zpBqm@&)sykn`dK)B}>5u7TsMhATOU4_&KyOeuM;DyZMJ)VW;MSaLCcnaK(aCJc#Hz zeSym0I)S3#f&oN+9R3_Zm{`?Lh1qFtu0*HDDUm|v|oNJ_xzzg5sw*fJ`(8r$x!59dT zxCOq1&ey>gLxIGjr*Jdn*9B%Zdqmdg%4NH2 zNRxeEs=uroJ=#TEZdsYnr2^|BDAAxdhdr8sR9%2OGWba@nsaB6)z!g&c68|+DWMEH z@l=-;3O&(v0s>HTMAiMIIvaul9CgNJf)GEcc$o}OsFV=MgAm2okqIOS!%L!SsVpH9 z?pu{@TCp2Kof7Jk3%k<3zOfZo81r%*7Z7{V8`v|eR1HQdBJA1krltFbk_|apTOT;= zT0Yk4u!HY~peQ=U^jb;8@)$&*w8nJV7_KDr?(}E zr4AkUxneAJ`g1eCUQsk-O*#;i+iofsC&5YC51(i7wv@C0Lz45=N`o|GMD}Vy2eIj+ z^4ghwI>c8^Eh;k$SC6@F;Zsvr`j$>YDms)O8#8J)8e5IeVe2MD`}wrn0hZV9LcZuE zRi?ZnGHdtusl~}J59=*LVaktv*LxfPQV!^$4#HNrzqj{kd3t~=ND1!UUBaWI6T2z z77d#UD9uCmamMz=P8J-e`@=I2To$#hUl(g=>=|-cZGje4HuL3J#XrIKOys23W-w@G z4*2kh26rf8*q?QHrO&8JcAZ)Bi2CMus#-_-w1BzdV$O{7!F-eSVET7tHD8KAMMow> zN~X~{YEGaDCJEXS7=eAn>VDyaJF^0DJ;l(knXP>kRrK))~ zmmU_hHK*HE71|1L!dL0^IUMia=nAdM$Bw6Zp{gOnw$e^0W z>Q{8!v0cz2(W&Uk5C6VfR=IypW35jxe3`I#*WiRvMGdRES6h~Bnn;ebm%lkNXf;;U z$t~~{#-sJsTnPK87^eATxskbQ{`%6joI?p35&G8Lhea zu>R{zDD>Z+e39jmnrtQ=I3xQ`TlApC`)Z0;g_;U0Vf%qwUBNRY{u@H;&X|K6(AMV= zO8%N&{O*)tl?1)Y4BmapC?Y5F^tH=)q=b~XhX~r6z&XX5a&BEHELz!m_0G>&7(uw& zbaJa3dyngYT0&k-yPg2vHBCc~>uC+9 zY}*0yLz7YqgfoV+vW-&MSUP9cJ#9|C<3yiZ<8~TW-;%e5{A}eVVX)O1~@njeB^=E_GMsQ6W#ZYsY3iQL314K`bH$u#B-M90lt>Bpbf|^ytyayi zs6t6bAITBZVROSWXBDbotwg4rGB0aad9-(NhZYW%Ht7{E>aLwx(9L<@sR^>xTeUf6 zZ7pH5I?%Cu)ve0{4X;7IOKvdwqsczPFc`|9{)a8)xJ91nM@_UPE3Nuzzd*pI=7 z?%bm(Xz-3U71A|Lf>*zZG?KQ^wQbWB9c>$)Hit6kWzZ>14Er*V8kDaOJs{dgKs8Dl<+!3%j2uEy9dAp#r7Sfru7Gn`1B?-z&vNktxzB zXOV&o<{>HV61_9DTsvPr_fr5Tl3h%#YRqemS60Xm-!EDf+In%3G%NMqnW4x1jEd+; zvNO6(q><^k^*V+vM^FK=%8fI>%|awJ6blIVA^erhCsnYYeEn-fMW9;LsR_HH3bf$S zsWbCyLYqjbmi2)Mm|1C5YyXoe(Gx9Q^bPD2fTFHNJsqbKm)G!qdpE}RfZj9WjH+R$ z%j7jjn}t&@lTpY&PyqzJaKxtWCd{q;t5-eNlpv>XY;41qFJ8=j2po0rZdW6c3(xr+ zM*3qIOZowR&u4+~?QUUJpQFSERq9V5x9p{I91eRHqueO?=ai|~inuexb4PC^Z;P>m)x6HnOG?foqcKtKA+mSRI0=VWmt}U`5)vl zgK^ln-;)5Ll3sakL#{&iwDbeDP~$zTzQ3+Tf$L6;aE(acqqJ#_kx!#a4pNN=ViSVi zfHMcpONoZA;tlz8JH1?%RZRHNH(3#JwE%E^ZM+4lyd5+dlw%7uRA5^#6|U9^8YvcT zd;YZVga{{-greOC_Y0rc*?zX@O-YT%=x>6hLI30DyzDETnh8U5Rc+MKdoV_RtQT<0 zAqe}x0q33)8Kz!g{+Du=%esu?${VAf2xIj-hayUp5;NPgc@}lNF&NKAm3E62gdKTF zv1$=FCOSBs;rp7aG4ox zUHlP~_pXT?YlyiAZhgZ+#jO(v4)>j2%wl2p!&+>*$Z=K*Izrfz73Z)PG#vk~I9wV$ zFR9AxJ8K3uD+!alNP{GL5gTcCAEwr}Bu&k@YHgxGd+g;iYVe5!6b47~VF{1L?O?gk47A3?UAIptN! zMehLdLm3k<)}CWHg2AYC_aOuZQ*R)-6I{cZ_&|O>&R;0mmr&DyzZRd@Y%TB>%hTIo zPH3=~j@4JYOvwT1TRDAKWzW{UMl3Gvh^CLx1<*jcjp@!BZ7X)amROsi6>EFGtoB&O zhxaW0XVnpfh>AU0#qawyiot?YpgIQSmczQ?)w})oTstm?V;VuY$_9^R@-~vG?L5So ztuaI`CPMf3om;>U*y0)yfZnu2F?;%?Z|kN3IhW}^KX_6W-XdFKw~mpgTQ^% zvnZAbt-)4!sP#Rso0xhhcagi~RuDGbM&kzwEv6Eo#VlASFC4bOKPFu6dGolrEeLBK zlRqbk!c64V(x?2=u-!K%_5R|DAnR$0qjqQAiH$@QNj(R(ei-y_+FYM1m=-~XOSX1c zr&bkPGznz4XS>)os;Ur+cyc<}OwqBL2cZlt8{b@`)_TJvZ>e1x*j=Q)^Ec1ZgnV}; zsTnkVz;sBFBmns|jBaI;+$V9{kY7;1m9v;1V?og77c=+BpPcElVH1kmZuCS|fax$A z4*kB_C|cnNf2`Z%kI*$T9y|r@@l6k)b0k;cH}71=zb`xtihsafz>p|-yleZn;tXamauNH)+&(b|Jk&RFa9g6x?M6fwUA!{ft3Z25 z9efh)>M-3EA8Dm)-f^Q4zGzvJ?h$SQ{Agp-HNAiAPW+w_ZG(MSJs=PFrD1OQ5Ow{y zc>>w3G4c|t=GBIzHNL%NyB0?6G<`Z)bYO=!^;Ny0zg*hh5-5cTZu?+@0N zjGfHs<1(p~V#SpH_(v49ObkMkGwzjb70-$P{70OAuK==jE>(W`HV3eiMuWkr^*TCb z_>ed5vfg&{*>{IGQG!{ZHdm^Lmnk`9CKYx;`J{R#iveQA4)6GnX(>c*)$M9*vOp%n zRgW*kN(aMznojHTg#e%ZM}elwC;!}TJNKp1lPbQcWq6lmNue4#Z8~L(!!g;9k{l%)1#o|1*3qe@oK}YJ zNYeP~QTdeF4|SOx(K(u7?<>{4Ch|PrQG8LK95wkYc`AIG-*uKx-dvS!T?o3)j43b9HI90s!iQoQ(*#0)&j#$= zc3~@FQ68k}40uap*5c-HZEfw+1z-pR?1|}!;{uqd;yx&46?9-)#E$Hy$H@)s8ELmk z`avi4tPv)9@l?_LXLe>{*?kl2zrfD&zOt`1%l6d3LG;S!@ zGMO$W@OPNt6u2~Nw1JOsVe9g5gm@48OiG9@9kQ;j8+ciekH?qIO*Rk+n#%cOPjg`2 zmvUF%f)Zp3DuWMcj2By8ZI#l)>HW2y$B%q5#^s8&FNWkRg?R$ zzP)+R@i5!C7!YEM3NaT!DYI)__4*q&bEh#M`F?mw=nI@>FZR3i|1`Q+pYD;J&enVyw+(CWoM$cQsf5aLkUj5 z0q2pS@738+ExjQ_chdxc?P@NM#}BXY{2OQBNpEPWBF?LAeG(;Kaqh3|+0fkXy-e?M z9zHypF;WeTdpZ6`m3ArK)d3gNri^(rbKmH*LT8=1bB@Z$0i< zPy{-1Ay%5)Q)u7o3sc}+jBer9n?7>YOU}LuQ}t$|Qc~jeE^m109lbHJ|6pUAv=m3E z%|fN6RT4B*4Yh$NE%j~|{JZ^&nxO_H)%dvU(R zavy1a#vyqxjnZ&O%BZ>vs^-pilG{h`omlN%EC?$++YGxRp3!DR7zUs|+P#z?5mULJ zE|Vr9#Hx^pqol!d<{z0-@=|RhIy2z*>L;f{D#GyUb7MB+-IvC>DgXVmv_ykEj#{(P zE&|739-(_FvU3JkBRh%3Shh3y#Ezhahk>MWG^Df&V(iOTolzW1y|hBj&XF(9wts0uh2jq4rDJ% zpSVH%fJ@$ef+I|NvPX~rfdpvYWDf{dg&{H208VRE%7 zwIrGfy`S*4^pw99ge%bd(O^QR3G;cACp}pV>@_{ zb16MZn_u$DyU?_&F3hzYsNd0uT`>mN#Mal@EqcBt`Cav((0)Kh3h@90M2c!$jo_@4p{{Ld2ZRDQJjfE z&8HY96Jfa~x}H?wMH<#sbj#J)yrS>ybZXKC_c5d6Wn;4N%wafCl+eg+ZwuGNEomZ% z*N(N6@*0nl%pG?-GkLugVty@DQxx~=+jjg*sG3s7Jn*w~YT`FztxXv2s#F7GZBVfa zelsqy&rQ4j8amG$ZlL$H?xE$WU`SDnNs=MOwa0CqgLyml1RHoLAz%DbSG`u%W?8YC zC^iOh&9pY>0_?sx_lc+L<5%X5Mg<_uCxx>HB-pK0(6@BbLI{Fe#nX@ z?%I-{C+f$1ZFi63I9E|$Wwy;^?lx&`fCJR{q3U_xloBD65*lfw7+1`Gx-2WE;(b4n zshWNmLR5++)unb@#m)n(g^Ci-94+cQS3g$*`D6PV?GJso#J{qc3WaBBfyM6%iBA#z z4X%rBvs$j26}U#uwS}IIcfWAze@RN?QN#yMBf*~WQOXEgrxR1cFrhl)MtAgJ!TfZr zw~4LJk|V;!lGb^50Mr-aA>~j?6uz&wt26ehjr#RJLoJgyx`L7t4p2F%c;}~HQ0&(4 z6lpe1OCHGW(~Rj<(6q3wt-drhoarACX(S%OV!@82w3en*U~zKx>NLv-KeljYO*<9E zS}Q2sXd%N+W1bMKjoJ z94Ftwzs0lrDSEnt564P2toMQc?)llxB*sD1(49~_uSgIQnOW>M72-#_sorhAtDxD~ zH{^*qYxei{yuBn9bhm$htI|YZe+fPvjtgkt^cXq+32p^UkvLRvv=lS72C04N&(fdr zZuPUAE1Y^m3{$CJLCbK^(ixpnw#PJa&aLal(Iw$RXe_%R^Umhh!cD}%V8{|MTDFDr zcJ=BmA|>1L9GV3k{qg~Lp>cKw*5ClcoPmYuhy(=kT9n_sspO+-7h`=P5aM~KB|qPN zA19u!b|G2jjza?W!6p{Ug8XaBFpNSKoHGj)*~PJ0J2#+w46fUE&*amBNaRjzSASUv zv`yGc)L!S)^q$dg6p-}M~NB3nUXu>GKC`Ax05S#Jd&^jMBAvle(yur|A+hN4Rn zYHs!{lUC@$d$#0#N4?zO?bz=9CBo>7XY%f~a2GD5A(s^TM6^)vuq(sBcDTq+c(MYd zL=l;CSh5x(;lj?7)a7atqAWAQLJFoZ0ht%WjwyarN3^rZJ@_FMHkXO>heKIr-j!pm z5FNU00E7~^?;^rAw<`i^6B8V+Cj4eRuV&D*8*@+{WXWj|zW)cAk>jmifNekCY)>d# zgmIuR3^NdaGyt51dAaAkYtPcamyiIm8Wa+&2ofD!6}}N73Vag68afNG0pSfR2ulcu z{7nJC2yqQP0{)CU16PY=4+r}#3~ltsAN&*C6(lb77y55x5wy}g<2EU@>gww5>S*fB z>T*jgOD0PiOCB8R9GV;&95~IG&EK0hZD(!UZ2w*jUu|v$ZAWhPZI5jgZ`&Y4BlRO$ zA$>((;tZl4;!z@ZB6PwB!Yra5VmktJq5-0N!VaQ3f;Pe?B0aEDeth9A#9xHfC{Gv= z7@`mZ5TrQ9;QJ7Xc=M>N=nW|M;E@0s&@aI6$5Yk}dAhhUv97_xw-^gg%fb&q?N1v|Z`iqK<3m8BF0SFzy zmld$|RIG<%g(dF)O&UI;iSU#klQJ+VA1N^p8g*%!5E_m#AZB>db^{{W9Jv8W>9%}c zC`H(|gegA=)PvyXr%*L4u|u99rNPw*572T+z@G_MHLU|L19ITLajX<{i;zl$h=F>~ z0a`g5eAW1V@eD|xy++Lf(D>f39KkRp0v_G~5dwD59q)Q!O+eYm~* zX);Zs#5q1c>GcZNF~s6MykJb5C7J6M(L+MSy4gJ>gsy*A)}*MkiIDCRzdhXn_cYbY z%cJJJq;ku2)_3`RBudYo`|;2&zD=Kg9j0Y6PFty&AFOWRs9Ds^P?=JWsU`zf6gOKq z(d8F*K=h+^C+&wof^}i%Olk4_WWvcRg>=VO74PE)QVgEQv>dMu#%k@fykWRL?n(Nq z#XIV|qf~x`XjDFb#P?Y|4{S&|a4LcH*v}8G(`k*|zYxkztM+vhRBf#))y?0c8F%Io zy`I2pi&fp8U5e*ECTytOV6VmYX4prZ$@2dc8rBp_s!YiYIjAZXD#EL)P)CyYsp3oy zF{^xMeY2SgX&zsAFO+UWU2J5QK&L6%J?{Eeln8AdkxZ;yfo_$AEu(7a*l}^qnfaL1 zn>az{sFe|K*zsx4s9e?59@{t5rzCg)^2W8K`}gnPpSxJ`H@*&#qod(U4$N?~w{<@v z%E!;7t!TP>7fi&|D2PhLani8Y&N6XzaJ4h==xnMkt1he+MH^5Ht5xH`&={^pHurVb z&J+{fA5(@cYZ7#`wuGO7g7lClqbev|8LFExr-vOBFe5J82V-^AyM8GQK)PoQeRfdC z7M`$4;2ZUNj~!~H*xVSQRtxHP$TqLHZZ{=0s$7$1`GYs7l^9;q25CBx=9jOW0Nc|u z+awYpwxyLi$;Yw|6qX zOA00o$H2BG!iw`x+{?uYgK*Yzr;F?*&9jy#dl$vlk(;BL3DQSY$1GO%h>9}AvHOZq zu&xb2dOYAB1 z>N4LEu+E1~jzPOCq7YWQ>+Z=mf3!Gb=E92^$(9j|8`COjm$j*jq zy^G6t(6Kilf4_MF)i2Z2BXIEk^t)us&oN*N-Cg$w4(-w>ILzMWQRZ7;3lQ@N>-hK_ zd-#+Y^N4e4Q~3B&R&pu==K}lW7!1PG=W$cCB00RdZ|8fSus>emGh@D|!@)?Lo&++R zhlGQ0k9D`~)hz%h4IQJ?CfzIU%1Qm<2Jw|Kdm{9Oml7xr#fBqO4 z2v-o8vI20}@YM1Z^q+DF{q6DA5tboQBvPE=BNF@b?puzM|r%EX~64*w#krzcJPs`&9A8fafSmg zJY|AeBH`}fUcvlo>$V%y8MKI83KkemJW7y2Q%`lk7$JLV@_yMjUVejVVWaLRYp!fg zq@DmqG7-1uy69!bsT8VWOG5JQd{Z-u#rtU>TIDNnL0q7ap{2g~ppb&q7NKF(X{Zhh z({!A@+-jyy&?kfD*~BM~k&I3ik*^%jaoW@c2dqY6Y^Y^l<*-7b-FD3KzB8i_N)N6N=3=84 z;I}b6>!D*9JcvRcgwNGZ>2lGiX=eDTSP;>oSHfR=RB_EoHnhnKo#rh0?$A|jH**-V znxbp3#eH+Bm3$z^&ov_<()A27QfcEbn+dx7wewEVn}4xysxB-sSRn=K|1(F}E(Ym6 z*(^HHaKVe(esUt|$nPHAG9ooeLP^I=X)YDra%kaj{5GwWee?F{8Ee2mh<5}Zx`jpZ zK+-)hn8gsR1Y2V8{)BU6`-JLHg?VZGq-FZxo}V2fa)5=Yb}=AwIYt0&^G6YjRIR4K9$gFBma@AX`|Egc{yBMDm9N!hW--;RC@vExo!{5U?*hT%IesM$~Ng$yT z)3};F_E3UkLo4X%woWLSC8+R@^1^*&oHp(+UZw>`p?XgD|-xtxY2Y0wuemjG@ z@W`qKPFzGe%-hpP?jT01AwTlar#rKxs%I|6bbNFqbTmPRvr=T!uq$7jZb-fzt_&@h zHvT?8j47KhJ1VP7O)K6nekpD$22GxB5}nvYPwh;1%?#!<;bqgSufV}bElSPAQcPWV zOooFq3IbL>%tGdyv*9o3Ch08bps%p4m^3eUP;Isk+fFnG^aA<%@irj&NA&E5eRkKR zGPP-$L`z?-MJ!(8^hQ^HyjgE;^~M&ZCS=8m>HsxW#@Lu&=Ujo!%zPhNC(062dFvT+ zn?E+y!kAB3JN=AO>JXELft9nv>od?NY~TH(qfL@cc%8KnC0SJCcykSSy9e2GU10fQ zKHy@yd@m&a)c5@u1%64TH~e^MMC|!Xo2|f7;izrFf9Vd=LA2grCzgW}+g=E0qxIw{ z@oHDRF{^Ouc>J}x{&nJbaP2=iC|3yZ==R8|Wx+gO$A4Ha+xyfFznjQFe1~w{iGYh( zwKTOIPvBH%WbLcO_&qpR0$!Z35ha!x#3{K_LdO_MGV1#?vzO7>STXO7vjdtqDeJ@Q zx&8gnrl-pj!}0vybJ_nm>$f`Z)3wLBU>9vWT$z*FJ=nd2^>3)|&k=R!qTd=2k^I#u z^upPEx|0MQ`vVP1iZx11*_5X^d7@}mN_K5X7+{tn-|D<|;p_%cP~G7|`K^wEshg-7 zN!1OrtzkOrk%O{%=vuaER*7q$) z+Sbk*NSM~_Q_x%^rhYnSV6kOFQ_zyxwL%%vcH1msn%w7z9H&~0%a#Gmi`bp@h~FAG zi+fg!{dj>-R&9BD+`X#`n$B~>?2-i#;5NZ;;aK0COgFfAz2eIPLaL)@={SC@7`#_Cgh>SprihzE+7hssakBPnibv{HZbvcNS z&Biz9G@R(PbYW=Fy~zM82r1z<+EU0quIERyI&V~Vjd9=2aW6lZQ1<5|ZuA*Pqs1u6 zFb$p&JQ|Vp>d(I6B88SBglw&#oW56;^RXqHyiWvwV09x!z4TvuNnTN)^8$k=~PUK)xaJIr2wxc_+}DTAaz2!(c>PoYNGLE2 zqbIoB(W3=2Y|+tqI&=A#ZDOTNEr%2u~O;n9Gp*t~`(UA|6l?+_`AdPv(Z z4+UM)No>CrYGPI>!R4I7B~;1Ho4K%%BSDyp+LZPj)RIca#Z$Y;(7{fH#@IzMndx|)hS$7{ z-bPmt+LA6^kqKs~N8bt&we{7cRJC=Gt?f&5Oqcs|Zlm@=Ya)>6{PHP#D{?H21~^|o z^tf_#U_`zS_QR9I^kR0|l#%I@UXL-vMh9MMQb{-?0$PD(P}RPmlKOIvTrqmHlBtFF zg8m1&m=D7yr+o|NFDqv;8-w`a3?O= zbSBP$h@)SZkDNK9=9oMihJ-$vcoE16nukTd>vF=6r@}hR{tSnuKpeL7hWirywWMBZ z7C8`G-QYuXVie`Q5<;_h!v!ZBL^Ja>)9S{oY$_#us{#3_A!KkDzU>-u2~{md5{uA; zcK&KKtMog865rt3h?4)$ikHx<3H9E*rL&3k8zwOItGS@C4T$M+l86Ml9*1Yn?pHj0 zP=l!a`CTDxPn_~DRdR6dM}>{n;8hwD~P)!&EnRbhh_;suX8h!L`AJtjB0qGy5d}M5QNt;$CxJ+_}lM!NV zK*eM|p*67RSf(T9%hGhD8FZD*;+`(`OKp%2v=iWRPZBopqsKyMIwEP~vVia^4`bKA zb#%#iF+n%;<+qP{?+qP}ndfT>b+nlyJ?Va!c54QGXYg3g< zB}Y$HDyigt?p#+sZTi}b%QuBVl7p2{(iB+sub;5VvJcC5kJ;O`u~?4Lv{BU5W5OCh zrjg>zXLA-=jcg&GH>x0wq!hV0b_A`eNWQwW~F{9mwz9x?tSE*JFWGF*Oy^|oj(@p3h9#2L&(J#c;>L9M^zO30`B%r@Wdk~)-jWc;yyYHOuh)uFK6joHa*f*$EIs685x61IgLJK)DMeDSRsFX(gkr%4FFwm>@-aX~LSdMQs=xLhu`@XHFfRHam zvRP1KG?e(Ff~`JNby{c~=?pT>b!V;l@uhVuj)N?;Li|Id)1D76O>wPw z+Mm2GdRy8c&F-oUqcgXDQW@--u33Qil05#<>!3I9gSHO-oaZ;yy-)Z<9O{^{i+Q#c zNnv5*UUu>t*2+pE4b8s2# zewn-Kgnve~q~OvRhyy3WDYKc)Pq88uXWmcS&z$v|2acU3un)U~2Zs5wLUNkP1+AGd zL4)w*1fMDydeCEs#^rp1)$bET1*Mu+`yMu358X%m9r$bH(tt=N=;E*zEEJfw9O6w= zoU2d|e@l`gIexG^$TNQemW(}FYnq0f84rc;szChBzw8y+fO2!r@>byt>KH zajge$ZnUlp1XghAZ>`Tpe=|g{a-`TOEJld?Bpwg5XP0UT_v*RmUTZGr;G4r0uPfx& z@{Q@<=ia+~I2({uj@*a8L*<`7@LGIr7Nr^tzA*)t z;8b|vQLs%uWMe-3Oe=ST{819oew2#?1-@|opNyW;)*N3Ck*Valw3VM-UubPC`h0eJ zb|eOfU|xMXHZD?RQqe!!m1z?O*LRa^h`sMS=RWfWl1x=1lT+Y}_@H5_SNr^QAjB%s z;Ka08i0K{dpqV=dEPTS?n$D!nGJ+Q|@m)WtP<^!4J3Pr#2c2yRJ_nZohOC&Hr6_HX zPwQCi9or$rxnb+1ojrk#y*}Ot^MF2ofjC0L5XYE%+_TgliZ1++KuYovl(pM+KYw80 zNXABUJx)bMD()dkq;^4d!v-*^Yh1x&Kb@D&1;$aYiC>AOV?QO4Zt4^1hQ|k>!w=(<`5M) zQ_wei?jXx5P8|y@0x|6EE&r!4ATXe>FA!;)J%+QtrA56>!3TV6J^X3}J(0?pnMFzH z^QhnO^X)OaXqF=)7rJ^zE|`fNRO}>$r|1Vl;m$6qDG>?L6eBMMBfg1gG-dY+*E8G|^38;{#R0Wf z{zk#5X+3uF!_tVBDf>41I9k42b_grO7|Yq&As<5X+=&aP3(bFr&)V=1+Gh1Gq(KqE z%PuTt7hsF28_z%|(XIc96Cg%|r7cm|RMr-*-&9)}DgNp|oTnE@N98OlhVRZzw$<OAXZH&nn=zBbd~UZuJ7@cxg-W@Ff6)x?#m=b1iXLz|baF^M+Z^TSIj&!` z{iLHM6TKP!#wPE~qWOh)2)>QuwZOe zA88lV2Fo76Dw>)<33@?@ML1Nq5b%rTQbHCGh3$m`F_Qt|jV-9hKbB5H$(mSm4nWT- z8WH#Lou=2pDsv}%O0g$!C3VOP<8xz6*E#C?!<{oI6KC$B;e|L6C|6uJ;W3v%{q?Z+ zcsXI_awV}2ndcxtR>s2c$J|$8mRq#=m!Jtbt+KwNB=EYcT+;K zTdBC?$nd%2pG^2UEO+a+5rV9@0~h}O3{UzZ9dgHHc%fJR=pd-Nq22! zX}36IQMni0=m{;1-W5AiZ8~=8&B;tUP3Ld(WIx3~s>DIl-Xil1Z1mie)vV7p= z@WbIhQ#LTqwLOxo)LU9p3HomR-07m>?QO}?KEs4%#l8CcyhNyrc!V%tBEA~b@Wxct zpuF;gh*+9gwGFSBTs|Yh*`EaxS6LM?^5oQVs)Lw9av%%4BLaJx z7UPGls4M)*KSY3=)}Mj!$uIbAB#tA&{P~;5aovx2IG&*aF~11?hb%wEskxumXt3ps zEd5SAf99HFfR4)gKEFXw{S6I{N7k{l`hfiV5~4QxkS2z)A5~FXh0#52TzM=LBcHf$ zmV7(6he?=>uq=ODx^Oez$eE6&n{SYft?{0b=XnloLJDeLiD!;Be6$M0H4gPX=7Ozi z+NLY&!VWGuOQf0>H&jzQ%rC#_L6;>S*yyCid)aZGo}@*&(}P-0TfBf0JC7C535e2< zjcw-75Ta6(N5pye{Z;YEp_gtX!ceb*!&l`oyjWqp&95`9DlCtrl9b0y>U1PTm5zCS z^HC|277H2akO%~S8t=1PDwM9nLT93gZUUk3P6{t-y%NNHA^e$ki;EZW2!hKb#BX$) zh_qg>;GK5f-*ME`PWa#STg~jtR?pwT^FxRPV@X3q5eOo(h;zkQWxKYL%oV{N-=l@K zOpbVqU<}}pUub;m6OAk9P0g*XGgoeVr*7c_VXuo$vPr84Q4;q>#Qx2}H*s${TJaju;Qc4%M%}J?-Pq!X~i@(4=JUq zx121_S2oSs7dbCgJ$&%U@#}3+yqBXuN@<@VRNB%K+a{8uaOgK^a|ZK;!N5~d2@Dol zEFC>O=XuvVtvH6aT)c(m&&*%%Z9aVUmbZ)7^y#yNN&?Mq4dtp8Ft+?wMhLYYV~TG< zQv{2(M70C119^-=Ma3VaBaHOO$Y3h^1rUR8yWz%5D)Y-+7L((_wUJR@HrGGl+i z;}xFj;z5M#ShHpC>@}mp^NRt%ALH@O4&xZ}qVK=@iLy?!c@pe`kD}LOerKsFCv3q} zg7s}5SJW2xpH&S~hR@9Yy4kxm)<$7+Y?Jvj-wv)P$g+XY$=!FhC-nFa7PxdAS>X~X zAH_MF9}iX#&(z0gPl zV!CTd5_|`39%qqvnCF@RR^6ztbTmgoOq7=xPRAi3_LN1Gm*CE+7C81>nB09v?BXhl z1$iJ{z#Kzxr2Si#Mg{gyOScEr(9%NbA6s9M+Tf{C+p!kymD2VLSFwVFry|i+I{7oT z4xVax3&J=y@C?-Z_>u*RN1!KYraeQQ@et80%_(2=f%u`VUT`{Cx~ctRT7 z9(qEOKy%%(277Hc!*t_0`2aYXPx5sOla5jSl#2Y=e}ahnc5H&t97$@8(QyuYQfUMn zZk4ve@w*RfY|-MWGeMsfyF)bj7|B!}dN=L1nxr4l;eH)Ny;>xn#@SU3dHMnAdV46X zR@M!cZc3t!%uEsG0_VTpCYDO%Nyd`iQ}jzN#X-RVo>?<~uDhO#!pbnJmR)ta!`@Zn zLSoL3LbOc3@_#kV^8OM^F3h5fJw*qTI{Gkry1a)&G%mJE=#TC0rje&# zg02CY{Yw9IqHYh->jm+FxY~S@Hg!ssrJZ8Ri|QRMDJm`VWvE#S&8h)YW7cO%tt(eW&@`w_OcBVO}o zg3#XAgyvIz-caQ!oH4(Fj^!k-<2v)IXnO)aR{xV@3^v0d=qyET90tMrFlpOsv_Y3J z8GnZU%q&~)RPipz#(b7CKK=xt-T+V+)EsOSZ2 z^iH8N{KB{4CZU-Q8a$CwC5fkQ8Q;?MS@lQ9A8?V(b%2DbTHkeavLPS+HC1txLW+=< z77HD16+zVeH7^ai9B#Z*0WuXEZGhj{7adEF6}{~-Xd(LCNlYuz;X@**B%z%mHj1I@ zH^X7Y?1n?fVTqKaqK;*EV@hH$?iRoXfJwLLC?t?dQfSB#fA|W3KK3^?LrCw2c|TYk z4CGR$Ip;1d_B^p;phN*wx*Dm?HfL~KsR`Tc0CT5Grv=B8bTG0qJ76{Y)w$tbo`t!T z(B4-B(Nomcp+K+i5#VX$4t(uLmNc#Cb>+Ld)8YmJOm~*a7aEFJzqtSqi&kpC_Z_g? zbD7&nXK4Zs@hsi2kU0e?sS&ZQmiOB_LzUF^5%|z4iG~K)0sT-^qb#_Tj3g{?L_rL6 zNu&@1>0`0P-%I+7TnKifwuZW)aboN`WWkAnle08tLE02_Ez-nu!>(|n0sOfn`M`o( z59Pf?`wmNBT`q23wMnfh&K{lQTN2hv_45Q~W=HX6^>l40Ptk78G14H(-*@a?5zKVa z;Z&MJV2viiX5m%v5H7%nf4l|JqIk`; zs#V{jdQc>OIr&Ou$JR7;#DG>nDordsx*8L7fwJalHt@(Yy?erXr;}VJ@KroHmXtki zOl+1V@GDm^p6YxYsa5J$v;>I5Mw%Yz!={L@NTO)RzludLAcboxyNnFJau9N(qS@W^ z!#uT2mzt~gxaB=bq&j!WvpmUamvlYL_J<-z?UJcmc`)47G2!f~H%<)SVjK}t&|i(d z^iI!o|I1?_or=T^kH-%Q+Iyb5qry8*Bpu(U!|hzs;Em=4Xw+D-*M3c;RUz}Vbav3r z-0mDjj;Psuoro}tWC_(=egG#?8>na&yBFQ~((;Q*AiQnMw?X>Z)^d94O`3kGg zO;#QAAgYG$j$gq~$QIj|6)DTiaxUI^*f38JQD7R8Dx{4EkfpErJ!;-Wr(|!%0?@O= zS&|YZ>JvGctZpuGe}|TK~AEzRo44JeW1;DG7M(Xj{iBc2lw&T#r-_@jw@o@-YABp;=c;d7<&#dBJJ*p)@EH z%Em@8g;o5lR|n!`W+8myi2~)wa*0fZsKOrzjBY_`tRrN42esA5)I()>>)bVeb|q_2 z)uHAI(hd_83`sKULEH)v1cbtd%Gu=rA&O;$dOI@ z_OvMY)%i%VvLE5`;V{flje4(pJUy4Rs=&HUq5=Lo0LWhpa^U6imKS zMMFGUuXKhn1chVLCwePRoVt!^F&N+U2FQea4nZtvz|pw-KS@MPj|EO_KpNztuDOg% z>t5*;7B;MEKG2gf{O07K(Bb4!P>?L3I!@vH!wLy2&5b$UmANJSPfVj5I*Gf_xyPxqm(opGAS4*u@SJtVW zr%#{a+!m8CI>y*72&@UCo-V-DMI_p6)!SFA5 zlspNZI1;USX~mip?#?x{zu(u97Dbb-)8z)MQ`AUkTc)0Ef1YgdR;;9k>oQ2cRl~|N zY7$4S8_OHWRzaepl~+QCH^#G+94_o12}v{M*Rw5@F(97g>T{Z-XVu+9PM3~ zQFrg>xSIxi1}5oJOEF>}I|T1HMq6St&C*JoZl*Zv2cxf5v#oYIBxvHENkUlct( zUN(efonJ@65Ql&ejqy5CX{!V5@%>-XZ0jYGp_#9H6c9|FuVx7P@}r_$RvQ`wO>~}3 zD}jj5p^-LF0V*84)D|J_UNV(+$@_r-gF~p(5@IBUYHbf+|8hh3;i&#A!;>640 z85g@#mJMmeF>8L()29^X#Kgn}l)oX+VFirBB;ek|t1gN6PEMGrSM}@#$II1f&aC*D z=hX-r^F%6^)$dZZM-WFz7NeEFNAWpDMiAWHUG6=QW$vzzUYNmBM=dj6|EdO}dSKF` z;Ax{f)Iin<<^-{FKD`oMJLa=p+wFqCA(Jd}0#CZrNxLYkRv@tNrUx>y6-4h+mcC2H zdGdk9$;H-|#SBC=EozsNOJ~9dJhT0!78w}LINyOG{iPKouV1WxdSh}=(qtcC-|*L^ zS*N{k%7(I#(%=G9Z$hXEZ_vIr52$4#fK`_?68mzdBNYR9OZ>D&fa8^jhQ?u~GaK!d zKwK9h=U|_I;OTHXScbs7R`D)%h9FzyWwZ8Lw5jGjuoaS|SRYo8aV-)Ia1A@3&3bkI zkJK;<+ugkv>{IG4(U+#G2^@V9C(u>PaK0WFrY6-AYw_D!`NDbNk%E|g<&P}nYKd2m@_$yT7=~m#N8yw70GN$t#68s zSXG&MDbPeWODB~}_haHPqh-JG_pW{u`hn9 z!VJ+-8^5=T_Ck7d=eMGEmX)ZyRwx;95J>SC+6+mBmU8;<#*+ZiAfb;~q#P1jF?dKD z&uR068prqx$F4jYGFK)8D5vU4=V}-lWP57UBDoM}N~vdM@2Vr+842X{81}SV0p`Xo zWnVPhE6ryw^QEW-5ytFky$TL1rvmisgP_Aaj{oG7Hh z308w^=IF^O{ORdh$KbmAx^%P?jG(9jZjl_gOpB|c+L{e}tc$#eQ?X=)VBA0I(}IGw z@pf%tyhcYuBE^L&+Vrzh$LXH70O;hIzT9wilc}`QY>K5lVhCJ#!`6OB$2*n-3<*WM zxN6Myu)=zi6x6K?8Y4rzrvn(N`2yGXlWl3@mGN7xg@#nyy@cu z=dCqQlDcH@C9D`>nbjTIq;e19RVVI_@O8Aqt3!+^Ka89fFL)nIIy8?8p2SoE|={AZ|=MeVB;7`q0XRbOFOkp!@8}fyLTXE2mRt7sb=s-wo!DN);E_?@Q&ecO#r{9MsfuZL5NWu!%=?D*|v zr)HnCVm90=@sGYWfm;^ZVY>8ZG&Bd?q62FA(` zgH~D{PDbAj#9DN&T;XLkbWc`i$siWm2-RN{y-VJAPhfW{EsH#bEQPh2be*)zng+d{ zhP@;B+J^K!3om6t*Xp7}@|jA7r0TB*SHJHlwk}F?qv;W$ze&X%$&t-#rxM;!4bVe1SDy3q-Sfznb zj~*o^%47=TY!1`J1_p~m8nr3Mbe{_*V(CU&!c(a6qktzrFyyFxAsoxpGZa_CBWh|? z69u=+a>Rh<_%iiys)8eg!Bps+JzT>K_snKIAEEtpHSf#oFTc_~B{P*L2fqX#92kea z3b7#FV~$|8-XKO&>w`8Tn)<1~=XBNdOspUyev5+>(6=dJ@H9rhCOmyoeAtIMiwK+R zt%97D9OlA06;>^*dc(jg9TNMJ`;5n@ zR&l+^lY+A@+0)1MMyKH1H6Lst;Mg@iJ`Hz8fmz%VH3MOem@x15*U!?c@=)0{c#6Fh z$3}Yee|`zoRAic-s7hk^7=xseX#VpmDrGcL2KQ%SNIJFcg8_NcPINUSd2dQf5Y2yZ zVL0!3Q9d0>wwQ;Jj_`+h4YS1`3g^1fCPEhWb_##R$*=^TF>)lsEu(OSizm%KP_#TV z|LTAS?~n*i%_5XU-7|McTQGqb$%noKFrt!J(3X` zqIPq5@qHeECC5oeh_=f=~Wizx1TA2;A+ z^9pZ{!fF`!c;q7AyX0+8To{t<7`CgyB0n>9q&LGIhMFOUY^WqUJNlc6qUpFBm`AV; z?974_h%3mkw>>aOi@0{&b$n#3A{wel30%c8ImSja@eI8R0#`vxF~hJ^Jmru<6u_UP zf0=xnd(#dZu76Ybn8T3Ok;l#~y}`E+JN5v~X>MdoNvMMH#lj^#TK`ULe#@C3`C@Tn z&yT1VVY?P$D_c+BdEy;O1PMpbj$iDXgn+i}ngYH}6@bvsWo!aTrV?Q7HNGPABrIga zdXI(-xwmvUlYiP$GQT^r3zh95Yh3P;oc9*-=eG1b_ z+7JCM)^jVM5c(pZ=_38e{$}vm@mrsIOarS2mZ-bx$v z$v3=sUum-|GLFrq6qL756WW4lfCA$dIHgsQz@@zE*G(%^^$|D~Zro8l9aTr`SwV1b z?i^N9`Hj}Z4dqx55xG!9$hVYiXMped>VexF<{RXZ!Prn4f^>o{{+#5$68URx%&}&i z(3{NROfQ3sWcWJzC@FUC*(z_O5?iM4iU4UU8G6J9zAkaav}PAMThU5a6Xx+hbPmpzT3->Hd zBWYUD+4*fzjLB{fQ?vMOP;}4f22h{!?{?@@^Wk@VKKFPH5n+G(%9Dm!3M2%)T)-X9 zhnE2gH-MOS{7+^@sWL_Z72ZU~5qC9$R4|7OTLl{$#u`F9Cv|qkqZyh}_&}xSXLOV& z#|V8Ir{;@57pS3Zz}-XOYy*9xu;w|k1W??eit&p-^AR3H(Pgc{qHPqs&U}A=8UFo4 zO&XgLVc>Olbf5jexaQENj)u(PvaWK#PlL=9v5zbY-j-r>kI#?5P%r28O03^!teC_t zc^)AJ4`^P0F7i@-{=prcTY&n3rvRH9AY3=^Zum%xML3aL&Vl9^K=oLch{jiP6UP`Wx?5gkSFh+S!g<*j!Eg;ZK&s6CB3#pT~mRDr?7bnVsuc zR#+QBe1-8R6~-feSfr@&?Dm@1@LTl-ydR-eAaPZ@{;ug=zLK%eKR&;8sY$aI&M=7r z<4dpF)ZE>7cCv|8Vsw~4S2JP>^`+5ZD}ozlYFscaod4}RnH{O2#RlUf>1+q_u>+79 zIZDPR8(aNQ7Noy7(qrmqawnj=++x62{~WAC+7~Wzw#8b6dKQbb+nPSN|B~I#v63HV zy_?zYG>GYGxwmAI_zD?XG4dKwN z|Ncs&CNI->K^|BH+4G#Ra(mbCG2Ulr>|P#oh@Y|um0Vq=z!FT%3bM<Pm0$We zi*2Gb{fGhr(Dy%zmzCzD`$AL@1n3&oUZC(lrJq;`O+=Dm&s1=Gwdap^3JiY%fz@(+ zcbO_*$%>~Ya4a~IUzONOs|JrYynhYNJ-j;we>I2gw0GTuQkj1ld7)PK2UKXp$q)=B)6I6!z`4J_iJDkhZu4K{chH!0FxL_=!=k6 zNmsEd2_m`}SftXS3ra49D4%Z=*qej?DcgSQIBvzpF_W;KE5JQJQopeODdKdC`=dU@ zBH8Z*-Z#aP`LxL`{ppyI78W~k=;rSnPQ8mO1?oeZIS@%?WA6YZ(mnt8201#tWO?UA z9xDsU+e$4XwF&(CJ(0VLywe#k;3Ml4@#@PwoxQbTAZRo@+o>NuxFjLr<(Jgrb{$ZO z`O~Y+Pt7bfRzmER9@}t-MocrW-gsNd*CY_C7yVuc+sC*Nh#0C@Q9f*y0aG^4(9u#d zIg%BXWKiYAQ>SNYLQ9$ea>;Li&6LShngyHMJ^H;kzdZB-hp5U&gV<~1YR)r}oY{8K z?<*j4yWmRs{FH1H$$h$dP7kVz+H~s|=$9@(#78S6D1OtfBSg*e_!pK|AsiFl4hK#J zpB{cT@Sj?hcgVoV^r(qWsO@+`#)9%6T7#@8*U^vD_URDGd%3@^K;rPDZ@2uS2|pXV zuXA2BBz!&h3T%pp_80N0$!`S6p1@dw`Z@b8b~vl|!q!wE83SwQHre@ftGd~AeatN^ z#W@rlK{*=Z@G3PN`RYr>KG&{t@jD{&c1VFGRBou-B}hOE^O-~)zfFPD1rj#Ij8Z^K z6RR~)VEE3K2Y<28jB??tCCac?E!x4k4h<?P90S!zd$Rmt#sqS0qe7UOR+_P`prwnF_fca zftNF`2$wot^OcbA6V0)eLC{K!QfsKP%wjf)bTs2y=XSaQkYpQ^n%|2H*{k;nx!Z9N z+&pRoBzEg-wx!H>7L3s^t*oSUd9;1DDrAU*HL$z54?p_8rn^6}aFPFT{|;a-e0s~> z1AKNv9rDX`84b{#hd}7}2Rc|4CM#}l<_aR&EG~r#RxVukm%aSrWu{VgmSGYUWF0-T(=4*S#F?5cHJ9UMxV8rTY&gLA6_L{O*MF&Klz=^ z?GAW3;t@hCPoZyKi#synhx80~PV-`94um0Y5pci4QO#Ce7E$d|3w$y$)^I1fwmClw z3ql}fQ=_WrW*e+Z1G>D)V_J=A*4b0lAHV{;-d-jejk2>@+@=&6qD*!?jMF(^)Mc5W z6aqUT_xLO^6||$2MU3Pm*^V#3K|k+7`jNB9JpL<6p~8B#Mw#$dpQWkJRk0N&DF9fa z0!32X3$qbhu#SE{`FU)Jx~AQREE-gvm`IqW2cLb(PSl#Y%wgc=^Jcv3zm$JQeqswz zo#emFUMx3>(8Fv+u{7G29mUCCFsQM&eO*jzD72Kj%{k-$o`9{rln@wqd-C(Y>-;SI zQJX_l!5=2Is4`HaXcvFL>7eK)mh*_h#j9cN_ByjN*zJ84Q*6l4K_20qmO6>W8Wl<) zQPX*kGG*U&)kRPfEuxjO48|t2^bp<$9Lq!6LazxIb|fdCP8>2F%Gotqc}guYH)Waz z2T&+Uw6-eSu|1<5CSJ~@k@ESqPY*^Oz@sA7FoU=%+ULhZ|AgfaC!GM=;}CB~X>{fPURxvlcnl zKH#EyKE01y!5i>S`d)n2zk2>2dav3+JV4MTH|*^*TjQ|-QWsd7EsC9?(dB`*(yI5~ zt%ZJahSFvycd{>nUngI5wx5etqd+s-yAQpG-N2`ck!o)5H~Su#UZ?VkLo*PzBgWr@ zGSz#hu6yv$av28?e*&NIt=q7 z_Y(Iugx`ZZ2DwzKk5c;kP)%6?7HT2nP~y+n_jk?Gkj>~H`ao4ALzt0@r5GIKV}LwP zC=>i(BXIy-(X&MVb-88$j^&y|n>Qa%Le%wzni8}?h$fVHp8Ai|otpkzSBb0t)`n^s z?`$nzsTMt`b0s|9fvq7a!5%;&_ zIH&LAqBU8Tbgg6DBqeFX_BbeEETaV;U~#@>WPi8N-|w1ok{PJ zGiy#0YSqDCAh2Jr37@ujr8I7~s0FXlxD9SNZ^@<&m&TIgs9Ce71E=BKO|*Z{sr!y#keUV^~pN6xbFaoNyH+LFdz#F za!H_C@;R0}hpv)5>zHl;znVQJ&h;7|m%A>O6mYmVBVUIwdGhaX**UpS0@_P}!2NFk zU4P+%ROr;zQ)DR5{J3cLvi)l@H3}6tN=)8;afdp!`B16!-aexi{K;cPNk-11Cj2c5 z^cGYg<3K=wc&(3xrhn>dW-~yiD})}Oufy|$lC+?Kb%u`y*BBo}2;uG@`MtaUZ1;*< zjF;9lAj8u&T~JR`gi(&?nyjVZkVVZu37dV4&7RmH8{VS##G%4C8RZ6(IT|q_W{Vv= zv=VI17DAv-Y}o(w`MlWsE$~Vaqyseh;)6rajxT_Q*L~{;e&GlBKlYISwvX%_g0ZVI z0s;M}vizT!0h}frMl4*$|Bo5KtoFaCO57F1nSp@+#aMwDRsRKD{}ne*ARva1|3CJh z{{Jl47&wbqxIs`5hCqR$$WSn!yjxtb!OB3u>>#9|;e=p>;Gv?Bp?YwTINQc#OEbCS z*8#sLZ*C%p*Eubw8Tq1$oScncehiXvn8Dfvb60rKCNh;$J5YV2AUx;gc1DC<-JGF0 z!WMaTT9_)(cn@$eWd)q>3h}T^d>}oed~wmS9f6%zg&rgE}b)#Jhp_A z;O~EN&PvRX1<*UY)qU@N`Ch*uM~8#r?~^YB7r-{FrJk;e@Fmj;Sry4T#%Lxd~9Gbw$ z7Ficx1p7Uq3-&QkJ} zXbv8ho{@Fd?D59Rm59)}@TH0bu`LvB6nccMX#nQ79NVa7-pO$`I8YBJzVD`9qe`pl zndEnhyP0J!mXd)v8Fa9V)j)HX{Xu1rMqNFG5TT7Y098Rb18sv9TU6pr#YQJ0gfsay zl81C^2jzDCc6Ersf0<~BUAv*K4}y9s1j7n#NekT7!pWDcj(p+G2Be9+yc_B?g|JAT z8?U@=Uy=6@NbH~IVR3q-*?v@eih%bQEgpB1#ltLLn`KJhA_0FsiM@q*wHg3xDrd3m zrN;dd-0^9`Tyf5NoFMz^y6rUc74PNk^%crcw(EVE8Sl6wfoR-FX=F@6Rm7eQM7|V3 z+I6Nv&UKgsh{KY81p#WGlXfKj(;QOG@@jMfVs2kg-8kTcjdE$CAo(%r$pKlJpmnjWdA&(a~Kk?wT@6RAP4W<*9rH zQmr@6u7LZPd_?g4n!-CkbY}y*weA`uR_G4PdJ1i+ybO`bdCh#>X}NEu@`a?G*|yBL z!p>iMAq+6rjCgOdcLzo`g_Kh_NmjmE`ZrVJ!Ec^p)nZ^A-)OXFXwrAhOlD z0EU!SQwZJy6EJi}tFCxUmAKAas?a6KnfcmmT7O0CL1}lCdxi{h6-bunC@)%D-Md3b zrijbcx3dfIf#|zl1pyy|MIVySAvJ}AyHPHA2tc|cE;^m+51^N*wOFYfxtJ%K)x8|v zDu^FuCs7s0Q$GegPU^B34&b@Bh%_({Km*0UNA=*D_D1(6Xx;^)02zx1rIjK1_F)ac zR}QUgA9v#DL)ideQLy(~aAOHzCYfXF!xBM~J#4lEr*`L3 z)|1amn?T(>es?JL^0H*5`Qhhb?!o!3y<6ucZE9-N>%&GULN;FRha(uAToQ0YA_*!D ztVqnohoh$qxcb=*>jWxWSY#GLPu_rxKadR9&rLCmZfCdks($m;2PpmJ;MMD2C)o@B zNQ-Si&1!IFX7;z@UhzrR>kS zs8`@XKfw66mZ6!+DOPc_0eD23rd6ihRL#6esag+1`TKdflS7zG%f5DBo+~Ja+_3GT z@2f$Z(HsJBA_3%igyt1mJl-3fPiS?wWG{ic=`kEDE$tA|E$}d(O^US(|_Ku0gKtu&mhL*o|7F!)t7aG|} z{ZL>?7EqqV&^%@lmp!s|MO^l4pslm9 z_eVbpf!OZQNVNo@A3zJpcOkP8IjB{V4$3UzA-~KAv>e%U@J{;+r8Arv4C{>SjpTMQ zg%aEfK+nKB1MCVQ&%oaU{1$;2q2Pdr`k@$MVt|kO!GQk7q9E>5`(x%~#(j-hm}Q(o z2BQ|ECZn|NV3=YvgrF2EC^J{ z)*?BzKvMu=>a2ehbo^d3Kszirj$|}U+LR+UOKqOqG{tqSNP`syw@?u18{#0!2qzA{ zTtY1l&&&&Qweh>gVaDe^5&&q@)lc zH5@Ud1{;`lLA5D22>=$BsoBnKF?3I@N4+1(x*UBInT_~oZJ2CH0i{%>EcU1|?X5d@ zi)<9ufK&)AEipBD9!g3{O0z75L#U!^6f-pf>mushYGK6e1uJJxv^eq*hHlwWr|cPYxRics(@>%c?yft3&1LJpH&zG z0~sAv0a{&ITDuIjM3|DAs%jV*`yBe*(#zt0`Y8O8y$jaXXPq{=44 zjrA;6E1UsBZgPo#FJVP+s<2z!(y(ml*U6z{kIB7ZXxO$bP_8vkkX%N6b_N|Xos0tf z)FiJPn=57SJvKg`i5;L7JO~%eEfzgB(WsVEsNGp5ntGmnspHK6FJ{=zk;0?wFG>L} z=}LSMvT#xaQ5hFMYq-%2qt?67gbxZvQ)7cO*d}-x;_)4t{pgl&?i4bHPga&RX_9yP zE=>y~AP+i{Y(oe2+r{*@Tf&huweY@DRtQ5_v9Zfye z{x2u3HCiEMAT6Gmpebjk^ne|aA-^U?QA%2B>S{Eb7DtbsGDz7&0-4MV9r9f9a=ang zg<9jb=G`E#<7VeRA-p=^1$& z5pIZ4*NAz$8~qp^Mh#6wN^3-jdl;9?ElHkh1u!GCL(@Mlejdu9@6FQ(y2~^3>$vdb zbBqZ|ynCId!2N~_@Z5Z}&~~>yWD&rXFYLpj@6t0}G^Q({@DmKwfIU+@@6hevCNMUw)1}a)> zW1TAvz$Hr;kx(B2$oLD1eL;nPos0-DkjJuNU-=GsUOo?n{r6!#Cf=UVa5i0Eoy5xt z4kdzZ$^e7_zD1TcD|`OE@6g1T29rIHx0^p@dNE&8Iv?#^Q5?Fp)+4SX!be;JH!3ts z=En%Ep4u$`RoYj8#kC}D55e6nxH|-QcMq1}?lQPr(BSUwuEE`dYal>ycX$8E-rc>M z-FtWU+kfB;1JA?zR&`fbpQ`Sz(<7?EMBC?yS_$n{;RiLK2$|d8reoxf)zb^imM|9e zQ8F*uH3uCf-8Le^SgA%cQ!~h~MEQRI1sJnZv3Gfi1v-z{JRj3nW_gHfFl{0i82T48 zg;9roEmap1TnI)_MMhUMgE!$=2h(qh`}12;v2QhJcN@Z*#;;~XB0#yKoWn#Z9uA>= z=smM{31!X&seCEf63D8IUnvtc5<@xogSJ2UJGWLTR`xBH%=gHmf+NbzuRSX&)6-uyEM(KEGl=iHnZo;V6_CqmY$#&ueLmf3rtinf*@jL$I6)> z#lo@aO(G7kZ+ix#b!oJOZl*3OI!Z%o+0!rh=S$Lkm~#!L!PVu?GCxa7LRCar=27@i z*Rdt1rQqIgv&TBm>mn9D$Ua0QMSyNYw(ByWMbPuZ8Wrwn7pl3CyrE)>aYn#jTSOdM z=%-&>&78K+KBtX%9c+YbTv9|^ShN0)@7*Lw*y`&{TJ3}-CS@$o-i0*Y+SOKInw)iO zdJEVqYLfm%22YoVXWhElQ0@1RUljJ-+O!$O{59PUll4Bm*Nj8rKZ-Jd~x{u8(i+eNE^d_w zk#M59PLRaLecbeh7Y_#`n$hJQ&Jb@shgF%$@|Pc)ks=xT8hg|PF1ykF8FR~awTh(L zS>0FF0l_Z;_#X({bMPCRGp&+xF%T#X>x70@`C7aV3_FF~k*jB35TaIcE}%}KpgK4Z zaI?FD4LPi^jh(^bN-T zwUquYuQC0C7TZa?4(BkO%Xq*o#7ox;TEj$>E&KumlLq3{T=LOKG%w4#@|d2<9xH-U zX`#LLka6Og+Onx|W52E1vVgHkTH&o;4;|RNU;*k%lEi`UpxRNVhe)_8xfC(=?z!R& zJE4;=6e|1>M3T=lY#!wZXw9lh5|KjY5tt7*I;wOuvLjyvJorWnvkVwAxo&ET@^V|7 zl88>!Cga87+|nr}b~aS---oa&du&g~TtHktXl`(}UPkE#yWBo}9lH=)oB@FcF`jX2x+*;T@!^CLO9>n)eZ>w@vZoW&l-vtlpPfSNwuFMy}0H)Dl~g zzwNuj|FP*Z+;RdT6-FqGo|6K;R8#MC-A!-#6{|~51NftreZL~zcwQ9n5Ztt0ne^}| ztlrvx`_=nd2eS>w_$c9?6Ra}I_cdS4;-GzBNO6BM=;`tZ|x`o0CvC? z`a%-wnpn<5WOjpGIn?+$TTWk?!})Zu!K?t>cOWwRcH92LKGn@~8$Eht0~X*417yb# zl#&jZRnHNZ;euz}*CROw72k{Kb6_yTIATy6_~MH{zZI$QpqC0+&W>qFJ7jy%V0(Z0 z(B>MuI`fIa71I|wpm^5H-!&Fqu_zbZRu4DnGN^#YT=`=~CZ(yyGm8XWK%a^-5$F#E zRpB@(WqNMLNFp2?FLv8h_o6Otj`;5uD%}B~Jd&G5`mVAfu>Ts(p6wq+1 z5N8Kpp1`PKI>mGg#gT*osuJ`^k1ep4U09)F+=9t829%n8>G?e%n)rCVWqHZSs>QZe zQvu09G4XsckZ9&o1P`}Bi?}vTDwqJDIo#3t^DL_ct))|}f0d479l7$xj1jTs(1qq zqm0q3c8HMPOPIt6BfQ=69b_gdxTDz;^?|0%QS*`g`r~MdSs}Zu{^?GO^c`dX z-{}zae78)Hg3)nS)hV^aV~^n2GUbtSG)l|?n`G=kOV2@?rfSdRyKnlKjrG zPm>m3)Xbq7a^B|<#@A<8VnFVH?N%4!tfV%mV0=f1xX%5s|6ZOgCJ$^+eiDC5nV-`0 zyPb7CO0u@5{Q*jlgK9{QfR)&XwQvRHuNKMhgVj7@H12tG2* z*^j2*Fs_Zo`|}i>I9o=SP(SMv#<7ODEBJqXi@i8PAsYy1(!mA#BcKgxRiMi*sfci) z>&T9VJC)*yr&{)e-MaMXJS?@eA;fbJ$4)xiu;?7dvYiu@7ZeU&BYg)20ZIUf6XwX? zmbkMQqa<4KG11Ol_qI?Tle?|vgm|U);{uA$0jwoxX4@A1W90w2* zQVZ9r=Z2eNj{o%}k+zr;korYvJ)iI-!)DaW4Wi>giI$Xd`h1!;;!{;j(X|&_E1pVL z)KZ&6m2iw==W(TJkq@#561nlyd-K=A$<808McxMwZsi*5G46?7#Bgw!zVYwGU}mZjrFGg{+rjs4rH8@GZC_M>l1)EzTU+gW z?k2-m>G85X89twFmU$>D7@os2xz%Bn2={pC0+YQ<0O1khA{~2w$MfN~$!hlva_WVn?OXS!-@v`+mw1SocM;Nsf0FP?CGAJ@OovG4wedqoTxZ`D^aBhwZZF zDddPJH`sB5=psv`_eogK?LnGR2Chf^Ij4N9N-DwAoqUHYqpgA%_ITlq54K~^UeuMJ znWvq)&TEaNc_TbnEXtuL`12^Drf+wJi2b3y#+zVep%{Mn#-?`DP>bbTf-y?dZ>IMK zG?cSz>MC*RQSBx^?I%j$`*lnjuvdp#)e^E@O6e`SwBTWAsM1*qgAisHJwy(Gj-CdU zL!m6G3L&q;y_{_y-<$|?i7!ql^~Eq6wAD*4a>Xb|c215GQmX@v70TqD5>yMV6Xit% z!#du+Wbe~+O^D8{raXP|qHH$a0X7%7LiBbygBGqU}#cW!9!g6sZ#)V0VJgfk(b z&;21>62;qa$4RRuL+T6jV6gbhdui0D6q~m9n`nKs9nw*Pl;N3QqOto0RM}oQrVMhE zMaA`C5hmhsS;a<7TN3jraYHe^ooYf&BX!*#-=aDYpM9Eb2Bq@H{2{%h;eOIKt-Bw> zP~g$c3Hh$T8&Sw+y^Q=*2V9A_Zid_`L5S`EqYan1Viuz>{>p6WNov~$!(qg^IP>4U#lA*Z@j&orw0Vt3zd!j*Hcjh%95wfa zv9=?uLOuF=)w5r{kh5Cuf*aQk`9S+55}f`#taS&viHD*xv7Tn&$>C&YT4!>p3fX?6 zvmx=ba8Il>Q;e(8U~8DNa5Yg5Py1tEaNl^sY3!Ymqz5@a_YWFw@yz!S(xqRv-0RMP z8N|#sODP_uLLhU_6Uz4Ly3f_y#OAZ`=?KjHXDPL&O{FFlmjZ){GS{e6EKb)9?`Iafd*T=3+j`N~;muai z$kt1TuWIvOCPL@(oHlq ze@v+#$F(z|^5{tQ+)1*ZoH#iY?6PItSw;HgNS=6rm8)T^$GG931W9WTKa4SaOy zGMoowynL?x=!{w%$|h|DcR_kZvT5K4*XXB8}4ch`kHqeoww* z%4#-QX3(GXW^6E1oEgQx2ZF0x`Ql?;h)KWo2~{OyReLh3d3Og_B8|%__c>lG4FVER zySZgUT!Xq;4LAD;`Y?29Y0Y5>W3gT2)h>VisS%79rp??{iQATk@<8!>`{jJ_bcsqm zUYUxIRv)g0AFOTeD+S$ft^L_Odg=YrU*3PQq_dyuz~8F+ntIeL$nvF`bL z`iF4`I_+5w)p?Fu@`falU~>u+_5tpVt@JAokTsC3SlF2SjVXU$ut5&fulXCRXCdBzkf*jMpFJjW_z3W2EDFAt5vTj*>sZBPQbI z<3}~En;xd)(~vfp3JD%Kp;XytE!+&emgjOeg}_Q6`15eQ$aW^`1CyVX3(g+L^fXp! z{TR%#!#9Ujyr!k+;r>UT>H2zlyx>-xVpKB%8R*jVbz=sHv0bf{-kgKIa~>8)PIV~^-mk}l=RVv^OPg(2P|1W-eeFjGGiV)816%f@ z3!QgYYs!vpyHG#RH(0tbykaiK8R`%84fJC=*;)E{08vabJpx$*364Z@m3cS`Zv)xb zY{H9VE;fceq_7FI+*HOC2Rq@lO7GJ4$-M#24H|cRjxhog>?rl3#l0i6bF6l&UfK#> ze0ovI{GBnuDlVXbJrag9)_g7%lvyVGe7lSgltH*zDrlgLo!h?;A5q!VQXBH4(zSG6 z^)xPYw-eP;U5ZURp7EoJ^7J>Ux0rz#s*%fRvY}773~2d#C*q}QVWH6Aw6s|-7xD8m zpNG$UQqcNpNW;5)BL|2?)GtSu@2+g_w*3d>QOFVS7qZS6l9YyZ=jF9@qEbdE$jOYJ zV=478lHU61D(!Pda)}$Md=M|Z!ZWb7vWTIKrP4ut;`vN;ygncZ=`PmaYp{2C83a=x zqUlRA4eh-hP-zJIY%h&3jf29>^LAsgO=x@NolRQ%?Ugwk4I=nrE3QJYNdZL{#fc2L z(yUH3rq!(-r%Ik&(e#fqb2P6rXvzFDkU;R;gJ2-Uyaj2Y&0&S{t? zLP6MDOnOeVfx{t}-kwbjq~}4iR>q>;kCqy3Z0jQ@1I@{=0Vp<(V+* z!ShEtDXy@=AJbmf@0^&_>H@NT!-`vSu-Bm!+6(&f^ZH`m-s_*aQ42{SD4bh?#+4l| zz~Mcb8ceJ6NTqT+FD#;aZcS1qo^v#@qh4ByB}%V>B6%PasT=btd>LC^s2+i{j#QC; zY(r2C2*wFzI{(H5eZyGBRrnRQxmHhJ?~xi+J|#sK>!#QiY|`{){6__4TYQ|s0fRvZ zO*!)%HjW6+z20^0ZRng18a<2c&_~ta>KPEB3Wmhjgdp%+$k)kFujT!}?9~a>S;U8N zu^z?G=W=02hNKplBru#pq(R4-sT|xLmbCNNKjxZq&brCf-BpIJuSY1XBm2h8st>1@Jj%-+ge zz&Cwq^$F}`87+o?0eHbZ_gauTqYEv73^FzOLDOQWo2^>I5B~*&yr(Y+D=l3(#7Xlu zI)2nfh`wReQKc8I3bF`?ETSQ9j5Z>0$jBa*4mW@aC;)ForldmQ>f!%diH5OjgNWyO zu%vhk;IXVc!|ZjH8^S~H%pM6U33vTP@Z%9ck3g_x#Sz)P2%mF=uT{8tgYtn=5%D}V zhkO!RAr-2gu>{wg9bI#7heSf#Lp|bnroP6Zn*kP{*s~@WTXv@0D;iu1~>nyD$L!8e%nq^qTIT#FUoZ!#)H9R|VMZ_yoCR^)@JKB*Kg19BU zD@SlCYi*WcG+or5Yq1r)4Q(<``c^~1Tl`X7cHHD^n=~9vxT-0jmA4u)cZzvVkJl&6 zEpqHG9(SFWNHo|Atb@{5=oBdXO1U&iZR7%>*5v**O zU}zuw$+#%!M`lE-H|7z_MLL2kHM{w2G9QYnycOYj$-P_eE}hp~{45%Zv#WhVRcVI9 z7KWwch3d0F8m;vPnf2`wh}i8Ob(Nz{T(WdrUMpe4G2J zPr<_`S_f^+!`l6tIsVq7fG7sI8zWh z-}vBRF*Y>^7 z?)~B87$M6DI~1HiQ=uWnb{fyrES`p)%SFu_xt#uszS)3fly-_$o5q%O=eK19&lIi_ z&+Aq1ldhIEcAvx(CW;GY&hcsAog0mtU*UR;Ew5=xI6a#>u}LBdjyQlBN4<5T?0w8m zYbDV_-@fzG?AMIfy)MgIgxwC!{(_QvvDf97l8lggk{}Q=zASYlamMGA2SyZgDenAq z%C^WuDsw5meq3aKZ~D^cllkE9$qyfvRR?PCu~F$zh$UySmp`bNRUbH3@a+zWuu<$R z^#w75qDJM*pcY6jo6f;Xz2if}`z-BE4Z?wrE(TkEC@YuRy!yVdWb8Ey+RrKCY(XZZ z>fafSwj+LFw>};9^A7N<~Uoi0_w_tjyH*m{(U$X0=+aO08enbqEop zHtiV~3}#gXbAAn1UVwn&f@L3-^(4ZO@O00A*3u-ZSY&VYJ1g?oi*amzp-Y@vsAsA7 zELP1zHzR59;B89O4a`Ray z$1B+11Xa^8{i?(f_vJnlhI)tiOZZS6aVn=1(L9%2#1#!o;h>;#4s;HfbBKjTtSEIs zttTYc)cRG|c(zb}`8k{_oXn$QIyS7_>x4Ry;a%P^e9O3S&E-7QY3;`- zckwL?G&uX#D(neWqWGaU_B&GQ=m@TR>KPZG^BfZhB5-=tPan+SDz%<%rrbrlqVU`@OxMf&$7v()VTd?JbH{-#oRfHQH{+8IH3B ze%oTPloV>UJ03G;*JJYZ%^+<(ZBVcTJ9zQ+6_O6l&R3g+Of+d|2mlNC!2MZe9)cCk zk?SM|o)%k}bvy6yknyawnWg#%!E6~V(F>F5H?8i^6|#_`eL^r+hoALYAC7)BEJZXt zwb%|~EMf}|^3&<7J{cEX&mC`Y^F}A?H;T_zVIjVORr?SkEoQ`9S7Zi+K2E;<UGb(2Qe^=SSmFDF4vM3w=bA=Qkwy@^}X;q0E*R;}S%?E!X(CfRpxTxSp@I+w`w zt2z20Bl7h5*_Nz)+&nj)`T4s_5J)8Xwr$+NmSozyqXuvsdL1Qq{a|DsOeh8%74(U}b z9NA^p7?tWB|HTk>BwxsA*M?+hmG6#rlc)-M^hfWFgaDB(;jwKx5hb%l0n3eg+Q1l5 zZV!s(J_hjZ?7BOnuIX>9Pn1?d>TKb2I68^|Rx$T-NzPLp^E1S|5r!Vg5oUB`ka+EQ z!Gg0GKqeYP0V3`!98&IvthhnSwJDa}b=Z~j20eJ*mb3F`7eAr|e8|msmPENl&=dFP zeu#=?9N5AisP0VfN3O&)aGOEY0^#Q_%-cXLt`i=nbvJOycJL(YMJRi8#Ag zYn4d*EQ*W0BD|2Fi}_s2CF;3{Illy@%_}RISWC*w5>?@Kb%r;g^xQF@jXQb=LeDka zI+j;8CLS*6J@;Ls%tc0nLUlrjq~nj=-G+XQ*yJwo=v&a^djnWh)jNX#xFBtyU4~!3 z;8GDX5iWBV z;3iYH2-ZG5Kx_##_+dm&=LTt)(PvD9(ZUevpnL?nE(c{3zu;W-tq4{T8+! z^dOEn_^FXeS->FT)5^!Lb>C*-VOrm1V$-dq3`_4wdM9(xWj1EhA>7blW|AC_43f3$kca2(Z{YN8Ys*I2=r$J_w0ahsQxzSkJd02YNMgyQ?t0tpKzGyWLj?eQv_bUPZl#N1kPag-fBZDSn_7XrQ`~zdQ`W!E8(@g6 zQF<%Ybm{MkXcLOGW;p`>QoH!R5qdLxC;&1>*3Ade!GHIRKIK9HkC+ph1X9uK-;9A^#kB_kjyRB@eEp>1-{v@0-# zm6ss;_Tx`l85g79x~SOMcS*OX44p|9#rM!w61Rx5;^h(}D;FnzF+CKzstwy8J_%BT zPce<&-PM0bWtbD3=pwxfKb*u$t&MFeHJ#KrQKg2Sl=z zw1ptELDQyb(B8m19A^16;9S&j*$0|@RVhcU6x}`{6oY!U7}2m#kL}r1Qz3!ns?|bd zVI}c2B1$>9@Skl#St>g3;XN-jQ9&`OKK6{j#>Sln;?t>A1uBIsjKsz0=PHC_M7;T` zrd8@8uZC7q5-J8ENfoI~9jkUFRgCum`Ct~X(z>UlK>S51UGin&6E$SJ_c<{fxZmYB zj6Gk$$Gs2hh{y;@iOC5{lEtP3CPZjs_*rt=Z4G|RddG4&Q9LYZ;aS^hCv8e$5^zm+V>;6=5zffFk%R?rTp7p-8B)y;Hq7yytM8 z>A6s`{AePJ_OK!ueXT#J6ldyczyu=^#Fstqm7ZB znW42Mla85UydkDr}df4yk3qjumBLSJx~Au?9=Oi{|XnUuNgblu*gq*uh!P&WKPHXkrF5dX)rdLTL7$P}thg zi12mA!BpQ`&(09$cg}o01NB#`zrRplIo})EDLNXM>HV_;KZXAj1<+mrpa6NVV4|+; zZ&ly{fGPw40QMEkSkKAKz#2&Z`u6X1NdIV}tfV%JAxSC{T>=#*42F&-k_Q8W1qCA^ zE@X`&xQB;YqCf?z2o5$)NjD9K8lwA24-Fc|Uq9$mXHhNE5TUHl1CZ&W;$-|`L#yVy z>~ZtMVa<3==F+ijJxd2UAm0CYp+UZL4oVMxu{e!j6L6|yAn(#{y|N}@0QUG*Yc{}S z1c^#x(7!+&9o&{C1LTG}6@jMdM12DB4Bt)TK>(`TU2yVlhs7 z;eBKlNAzQ}L=k;|QYmoRTxoK4s`gvT?Atj;^xG9Uilmc%+7ibz7P`>kqoL2sZ)TTF zZVgcTL>k?2kdYHx%Jh6_iQBhE*<~5x!WWVHj8@-jAWjsoDu|7=92Hy7t_?yb)hVw;~@s8z>Z=TazFZ;_b^e40?tzz1&@ze=P+LmH+96EyL)G zuy$L4{7l}g25)4jA4q7Vo{!!FL8*PT1y|@-V%flK=efAGXSZgj=0v_$Hf_W63tApA zu6@@5G+WGQKAy%Iq>2U9NXH#cQO`M}o@Fg1Z+FlBVIYaG=)6}ay7k=Ztb?io5od1; zhmYxvNdOS=)-_jLpI~CMGwbqnZjR>k2j;utSSJF@Oq~^NbxPlPzmb5Xks*W+xvA%- zoy&wq9@wRB%7Ns*s7bR??kgqRE8|@08*GMRCwJT5WRo?jKl?5i`Bv4$girH_D(P5B z1D&$7U`Bi1_;p(!Ps^vHfaYHcN{m0@*ru?_JXgckItwsU{_)75>DUe-`J%9%@M*Gx~Uf9hrdTN zEZvZQeSI$HTPjaT$v)aEtf1~s0;~rFhEgm$?Y%!h77zJVJy(mgOU47J1tW_yYt{!+ zI@+$MGhokfH1%r@}dX1o=?Y9&!~?Qe(P-K1SYO+S1d^rqZP;R;$zpd@VLA7@wtR%ndoNCNNM_~J%9Bje4{%bWT6F}FVQncW^$KW+ zIBf4ntuu;&l!a?#jVY4;ArXs?CmB5R<%Nuo2HKOm@^L;(110uW03t`ScL^BABpDv$ z<)_k9$FlbcfW|gc7}_v(ugFKGwf{vqwn9K?-n(&qef^pJ^ z5^L+gvCm%8#ShSfgS2dR^!L0~SO|6MLM_qJyQswq%D3UJ`uiKPj znu**wLLB@~u_UyUFPiONibJk5L=Vz+g(A@uUwE$WTsBL@Sy|t$(7*3bj93GK`(Z#( zNH}W9+}o$BqzJM?Ds!F5w4WG|>z~SacQAq{Do45id(08FRdoRI9>w$L7 zCylYE2!{mEG}uY5Pi2rAuOiDNy=H~)0FOLI|5WhpfGh2Xb`c*vv97rd zPP%$wJ)dhgkr+>R7^{JaxpAwo;9$3~@XFRZF#|(_q0C_Pl0&{tJsB-dhDOhh;Hb~+ z!XzwitisaPHO9;?6)9z!{MH_`Pi(f}FUE=b>>WYRx0iEd{AAyDsMlRm*i>l5ATO|& zfatU4eMe)Di5&UuF91j>p0wE8W8AnXgO}JwO(H5TFEvywdYU37OFMItW;N37+iI}L zmkzm>o5-dD;3c!RgjiXX?Wh6TjE_@3d%WT*xa zKF{0h9&h&W=hWM4WETPUz6MwIs;oAW1!=3M{9?v38kGna1Ls8fD@q!;6aa``CN20?@08L$Z+mj4>k=1`Yo$99Bdp_ZnI2K0+27FZv}|JfH6}& z42&?%y%FYznw&e=UuYRl2W4x^$xB7DU32WPPmcwVEpH1hz>tGsO0IMwi`5&Nl^QQv zdi&&cREWAhib%7NAfc*An3|avQCQ?%7%k4uBA_RpiRDE=TA*?ZtS@q>JIp7aA)ocM zgy@QrrIs{z>2xpZoSIO@eTOB6{r;WH2WUS6C9T40ne8QGO1=r$gWO0wL(_~si+da= zL86GIyHRRFsk4uG1QgNEjnRxF^MRvNXIw=J1c*AM!(rO$B>^&wKBb7Tr#H~5;27nn z?^|5^xw?c0oFBzmo^Ka?g#@aw&OLh$gBF&I|6zQmce5CZkG3W77%5)ZoT#TQKQ zxJ?*#A-a=w^h57NIn07XcleR*PNYg+T4?BhBXkc6h*d;6yl+n#Os-4fH78FZOceKr zEm4J~GSHKJ*KlaYJyIg4(U&)v{C;%RX&=$^x-SFFvb74U^*m}_$*A^LcL0m{BcX-o zl@JJjk~oHq1bA+0$5OS~_r$#2_+3VNWe9snHKQ~#HE$gE&(~gK&t9xI(`PK2!aqLB z0w+~*h(8^YdGe;F(SMm&VrnLW*=&B(`vb|0Qm?w@KAGJ5B3j{FXRucX^tG7rr;B$p zU(v7nPC6&Q2S&5X4N?k}7Z&W~j*x(knPV^cjd4*B6F2w8SLiuxF!);2&XZ0W(Iuq|OFy`AIpFh<3V)VNtj&@ncxJXd77EQUOl?J#F!Co{(aYP7P@ za~E%j^>K@FHuvIDXy@3N2x^_;Rm*XmgQs2U$YNTU=iSYK7FE#NLnezJ_EusS8xh~3 z)#~$`4?A%K2dD(0iV+MLeHLm2W*0N+4N@V-DCU6!p!C|eMgEz$y0hylypDJS@_HhE z`tO}C(-9yK!?PRg$FIDu(;vcykntiICv~w3}^VCBBFyE9`j3ak$sAWvl&(C=!{ ze+#%pUpqu(DVJ8-09sntG|JbD=jP@f!ZotlC)<#qj}{N#&c~z6Jv_i;oPNzGQ?b1s zKMhC1s~`#*TDYj(#=w(eV(yn5juls(1m{T;8sjMK-dVJ{XHbjrs$KAKyT}~fAAoDBWCM8)Oekpl=XBc!RGj(+? zbaj+7X>rqt&P0mCjwu=YAzF+42LHgpcqc}7xFPy_S{SnZ?5{sf}4(vO%MES(f41b7ay3P}x*0QnZg10M~~biYzzd`|Z^JKSzv+uTXYIHrDn=Kzk!P zOKTJR-@@Jh7%lz;N-~7eV*v*MLMQ>hlqH2gw+vLN{AV;G+0Pu zZ!|rnCEvAMF<}ZMh4~x`U2HMz5-*wMlpIP=8u5r|#f_!wv637YZOD^r2#e&3Hfp@Cth49`qqnmPgyJ2X0ZyYW4WwVXaa|JPmFw z_|mMttB|FUKlqaA>mK9A8WSe{MDAB=a@^1O%|F5u+I8wOk28R8P4AK*3G=FbC!|S1 zSOF*IHrrHB(h$8HBA2aBv~UOCzRPEdU1#H5aGGfa7l=p-&eX)PjV=#1#C3}+O!rD< z#kWXZpRoVGe6RED(w|i!SDiaqfoTh7yxBK@ z*+#fOc2Gq4iB_j4joBn#Q*(s68ss5HQx7V1V{k>}`HPpLdCXjal*ujsh3P%VGL7E0 zdc-rn$q>he_SjqJbOBCrvWy);`1_>0e4{Tvw5ehnr#=8_O}U6GiJRo0zkNx>aMJzW z4HL?{HAa)o7!6dWHf?)%?6R8|5zpI@CNSQa`&_1 zWl5cI=N`2fXrG6AdAjvbte88*q;p!eh|605e|}H6Jtux@69>Aj`L6c7@y4!h=l0Z* z?!b1g=dkJM3=an}wAYe>Yfg@KC4tbnZ1mxbf|`-8l1}+>406wBB(`zoI)lt;VW>3h zgi#^!WSkIPFhq?xUcJIQvDojgC9oe_?d~Ei1XpM$nasQvDO^$%Df)V*?ev(sP24$V zG}FpP)H6+brc+iL?U)X3>gZlm2Fb2TJT0{1sN&b?Li%*Gw_G{so}fN?Tzf^;qKtFa zARxT1p%)dU^Y90ddY-05u)~5~S;t3_2xs)y@zd$ML*M0dgRF3TnoF&3xl?fajHwNK z6cywkMX+X_n9$U-qg7e8orhcG*5+wWhgu{iZCe@%J@-55zKj7IUq&)CzAt;S9Z44; zESD)AjevNFrF>=#@I`(-oV^(qcPkT)?4X}-aX!{xx zU370qaR$K!;AA{o&!}e*4QU>jvbH|$R*?k5Fo}JoH7axh>L&MB1r0XP>+*YI_u)`P zKP{5krFS@1Je3uLsGJ<4u=LsC;2y+IdHfibD^&FEHx_`0|T68nX$R7r9;Uy;Z}U_5+WW8s-a8#S#&vOO%5BkNRZRV z-mW*VTqeA}h(0t_m`oZ7k6extclD+@s2rsnUrcp#OTbV+^okkc#h0EaOkuMmZM?rg z36<&{mL;Q5NH|KVGMm=PcRK+S51Bsd;AUzQ{ilvkXi%xxQ3TUnVo*wdTaTLV>;!2zH@ss1I$ z{VR>_Mw_FSDge-F4+JfyAWSf?T1hR0O2o8 z3nqX+Y_9)BpY7l?BL-9efOif6Ao+zw#Nv-x{zr9o-cwRFvjPA;V*mj0FGLew0DvCQ z(AB`y8fe1A{15&AzbK>{_2Dyv0{{>{0}dejg=f3=&v^bvmFgGmwPP+WgX^gk%|^S(BIKty@qbsTB( z0swfwa>auD>z((%bkQF!v;01Weo}lE3dn4h1^`?rK>x|IDRTaR;*S*hFId>g>CHB9 z0Du}G06_4IBHYIyf3#Bczo-K9Epm|50|1b`1OF$hc7}QLMI8~3X- zfcr(6o4_}(ZpX?>&(8IC_wuLB^LzQSzc|RhzJdM~5dc5}90?W$zX6#44251j;X6_ZQK&egm?%GthA|Gjg`qF`#ocGc+-B&~b7!dKLD+WjOZJ zafIgt0j$lzzAnuDqie5yUEO~b^|$%{zXudauuvMVLIk%; zb20)NzB=yzDCr+JD#kC3itmg4Cr<9)&pdyOjrj{U@D=+{yv=_D{&PrH>U}zb41WXo zdHt=4e;P-gPsdNe?F>xKoQ&w*%xwMw_a?eC;qA2-(Ki{SNNx2kjnqlJp%vk-syMfUv~)n<2X)!h5miN zz<(C>r^)_J$e%y|Hi&<7VDJThvJ>DH_)ksu_h{nReE|R1^y;s`zw8S5ze|ezOOsyK z{9!Wd-^uw~bN+J!ApQc&U;77%t$zploAN(Fe@$!sV;=?mE9k!@x&AZ9&s+ar!?l0p yKx_Urc>B-o`>&zI-#YB4$quyqSzz&s{D*h@;1ECUiRkr91r7kfXvKZ~?f(IR`7eb4 literal 0 HcmV?d00001 diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..6321b8272f79378379214a87cf21787627116632 GIT binary patch literal 3760 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 rIcEtY+eDlVA literal 0 HcmV?d00001 diff --git a/fonts/titillium-web-latin-400-normal.28c7a39b.woff2 b/fonts/titillium-web-latin-400-normal.28c7a39b.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..207b9e412215cb8549ea2676145ca77acd895cc1 GIT binary patch literal 12372 zcmV-aFssjZPew8T0RR9105DVl4*&oF0CqS405AIh0RR9100000000000000000000 z0000Q78}wS9D)c2U;u$c5eN$WJli=7gHiwiHUcCAhadzX1%*Thg8{A?g)6Jd8 z?SN*=?(T>p*f?m+Fg=Q*a&uz#|6h|EG6c6koz*)O$(d1=xf6Yg26@m;-Niz6c5?|g zhSEG+wK1s_JmDJ`Oh0n)p&b}wd*4_&b{dFNh>vNe=c-uje z4e=Q`&PUB9fG%@(um0ZseeL!Ui-!Xq;3m`opbE4f_-*zG5d(wJM${RNQD6`sBw9+0 z1Z^zrwXWUV=Av}b&X{_O2v?=6x@)(K8bP+)?EOEbYMdt+S*s%mkFZ!nP#Vo1<;<#* z>_C;Zh=GA!4lp#>*2K!hbLZUp;0LVE+^c)?I{=sf@_?k?<<|i|K1=m*&t~s^qD&(V zIi-O6f6o3Zx?*Ffs;zgcm*NjO&iEdaK(8_wKqU%zR!!9woCr3{v6)_{A0K6Kvjip5 zG}8A!fdBZ3+$==f6v?Wks%eme2VPTTcev@BQ%A#zV%1=pgP^S=YyNpq0RL3!30nzo zvY!Tc0s>tBy-l;-e<+8QaECgm!qX?C5O(33>+koy+Wq^qCre(#YVA2oIuO`r^8sl= z#)A-&j%A04%5awo0Q*eJ>&xpCF1j`ZU&~K%UqC`z0%+hdEubn<@HO`(`_rtO7YE~ z;Rqo$CI};h5WA2}%n$=T zok`T-a9uUlfCDVRD#p3&>T3WGCOKiDfjHjJ7P>!j<$|tMb_(MU+A$@Dd+_Nqr1X(z z1%{WHn&`B6`7}9^4!Y6(R1gN-L5pF9;~H3B1a{PovQ=lgH|WB_umncnc2=!aEL3@t ze&-z8nrB6nm>0@|;ocarEAX59DPNW;ub#Zk!c#P*;ZZx6X!t+Gzn=e0lT$0J(E@u>U%W+SP|6Tg>uUd(k7jc zQrvH;p007%f1Y?~=i^woX0`b)aoQ$s%6_ z5SFc>1+@x*!{{tlQ12;`*fOP0yFfUZ_q1fN>>_w5ZsVQk5d!RiC7y9kM6Rs9-5@1U z967(;-l%*AzwOon1;Yy!!%mzeWDE@MQl#>L5bz?R=gYu=E=R6t)vCqn&>_xT>%`lj zkHj`3R7M?E9e1@uu`bAB_nQaU(a{Oi`yt1pGG87vljL+z#XU zpz-WW=@X2Oj2kVpkV+D zkSK_M)NO!Mw(QvBAl=~xoaBZhL?jgQjRk6>=p|QrC43MCT_oU55d@rp3!(BxU2-D1 z!5I_}s?`C}=zZV;Jp|PewFHcCk$QbGmL{tY0{|a``WS@|#UW?(x}znHTy0`Z_%}shVXo@|9$eXvCi$Bh!`9 zQ{6phMjJ=^1;0-Yj&&cqzHUxGZ?L{?8X$wvme%~9Y(a=jk4^tKg9Ro?sO}?314;o< zA~`)9T~es*|K5hW0H)E>GC>uS*$0o|NQYjXlwgavHf?&W`F&ofQTR7JUBK8Q--G*> zjj^Fv zfx*D2VrE%jWn8EmVhIF;yTECuk12;{?ZQ_0R zU$=dvw$l3^u_pq!Gkod8knK3+I?I@goi*x7s>j}vG1V|T-B^Zw_ zF3&WM~7t4MHCGe(3NXTe!@4z3xpTJ+h-@re>zrcTh3vdG-zzg_*Enr(_M`l-MPX-gg)9(vN(1c9b zL`>AgOxz@pL<(tSfXn}qm7EaBO94fcP(}p@IFutfmJ>O3&ZO$pr0#1VabiFKp*6Kg z%h4;K24r(y8nsM{ z7{N(|EG!}_CY}1ldl;kCCfzoXDl51R2_LevUy1GgedLSw6Jn07Si zjai2;22IM-KHrelK+B=LMrmNC(;4RCalK>lV1?r zb~SY$JOtKw3QrcaLDpbxcXIK;|tZ{}6=UKRdn}?UrR@!Fm*tIvt+?5a|rKDvP z6qS@!9HdiBwbwa~{e|c5dc_mH1ycZU2nb{b>CjLVLd{SVwS=v3sal0$7=~e(;)6ZI zbr1wW5CnlB2!akfNfd%02!bpvEiI)|0DYU9^Tn>0=J+wSb3lKTZ$cC@8GVjae;MVo`VpFQjpylp*9GOk!4bdltrZmQ7mCk&eY8ai&@#& zIhLq7Of86zu!yLb_y-#5DIV>U52#;G7;HAx{)F|^>4ghkdpo^jdwB^AY`gusBGiy@ zq(HY)s1ATV(lfVeZ$97tg^~8LW8ZlB?&YRkjQvSl`?xuZH(ai3#dXC(<2gU>Q!CSF zS~J5%TQV%geG{(&KO^cVx#9lF_)#jI@X9AngHPKJw{hnLS*3R(#Xi-?Mervxr3 zB`ven9nf{P3deCA$8j9TNm9k&qUh!ZZ!3ed%t(b)uB|v{Qz$Muj4Qm;e@Z+Ul1P@KX)|BTaJ@dj#ue|og+w}b?IA@`t5aDiT43yv@ z4pd@=0T&<{AhtR1`WA1UJji6{D|M+ zXse-!4ysivkZ5i+uQh>@?@z49J?fwS96wh7l`ogb;i=8PKSW&pQ-P8xE1>e50r}R2 zkA-)W(HAT~K#l=`anLcW=okeZp`TUES~f~$3~Wd7;4O-v#fw-)N|_ZB=m3R7j09_2 z#+KnA-McZcreX=q%N?O++oBS|22d0GQoE|1qi74DD~nST?e<)-k-sAT20Y*-0v77_ zN@D0eW-i-ZHt)V)Im--q&xQB~|H1zhx6rw94ci7XTMyFMneEJxJv8D}&S7WiH4am& zr*mG)W|!ev-e^O($8lNSKxSv0r}$yREd<#?rW4hS?$1lM2%P`N+K%g@>10| zAa;TX6Aj7+n1TKaq$tb-v*1;jAyJ?01c5sh6HAd1bv}*_1>?IjOau`oV4Ip$-o3q3 zL|>5f^tO1*qPD!8f`ytQh#B&fShDQE=HCG}Oxd;ix`ablSakLy^YJnFiwQ4JA%m)O zwMB{rtneiQ!ugTsXK(?*$GfeW5{c`m)#P02qCms$NzFn|C{~F)-<95zn(SxH{ROqJ zr%Yz{eC$AG3*^+H*>4AHX1%;l*&SH=6YuhbkVmw{dwPk=1`6Z#`NLRqT4foeak}tT zKZ?f2iiIrD`03L*dpFIePK__RJyWKT|G*SVao!@iLW#GudRyw1f;Hm`2+~k$78;|` znB8r;yY1HI0SotSzn6AS25Ihmf6*>cSuE301@-6^kES3iIwpCSLz)Q@CD(xmfAqwk zo_ONcXc<}6H92RaF%%&?Z$^llM_9p_s~IPb#$zX+l9@b`;P&^ z(4=A6S)F0tt(9N|Jqq!Y?3Fbc-YWxW{QBDknp(OS&B!{sI@B}+;L=*YGpe1=$YL7B z`5xNjc+0!*21<+|LlvT$1>Li@cJ{(9Y{nSDPFrr;yf^Buoo3lZ0Q-r#;;)$d{6kv2 z$M_n215)v)tM>R)e|at=d;7JKell-u=QT-R{QjSR@6LEcQw(H#a@JDpuGm(D#_!Gh zoc;~sZ3epGgm;jth@=|T6Xpu%NOGV`Ou#OBxa)NNCXbet&CC{+%lL99g#dDH-!7*k zDzlS0>=8F(qfQf**l{_63hddP1j(R<954Y)>T>3U%Ym`FPUFL2CCF<9QOG6k1}I5% z7qI@0^o>FBJNC??W3JYyE}{w-j5v}Lw?37rhZ;n#d@f3g-l3AWoa{FHTQ*Si`@MOS z;MIUHc^85Sg{jwmgn5$(NaT_UucN{JsHGmUk3hu1Z0ENpg@gs@+AwI)>3+-aYZV~9AQkdW;< zi=1%X4nhvSCS#c^^Z$b8?WdK~VCIt=)VYF`>KX*cBF&?edJ9tG9}M=^JuOp=7A?3T(bP13d!_4O^Y(5)KGJZX1ksH@%nV>5@}L zu2+|GdtmsdPZvAAv+p9`wDX5Y%>AO_5Di}#$EE!}{h~!RtAPfcPfj>)2M1joZNv9F zC)htcb<pPFVKM1O^O86?XA6I$3(xueJ}!k-4X!yu zgoy#ckVH=vcGBO@11dL+%2c9|M1#5qzRwskCENAX%g5vd@gv}FedD6AcuTu;NV^>K zea-tgO@$H!s*@OE#y#!1yL*vPvtUiJ$+IPy?&PZ}b+yoVe+7|$oLruV8TRw7&p zm>kgI>T-&D-U_9q;CvR$>uG3PkX`V^w7)(u-@`9{dg?`D(KceA=3ZIWqvS8fOV6z7 zOg@3;G}#C#3OwwrPTI;~%7>j6uBv+8#-rwZao$|;2h4pt1n##* z+%%7W?~KFv>zrkt9DJ4XIZwP*n;-r8PrrFFaZyGY&!_i+8FjYkX{ zWgQC`D9Zf}@{l39)A^?l$BTkyMlCa zMb+P<7Hn8~jIiT(AJGh>ZgZ%t+HRrlvSM3uA59X<0fF0S@QN`!J8cCtmcfTe*I3Ed zD!&$imDQ{K`P5%-XW*A~UZMtr2j^40_SOF@KGYj!C91WfPt4q=tHh0Z^ig;ufoIUF zjl4iFwYu6Ofv4y-?&7#Vo%|kU=PopR$n|$3R#%|2WcPqnSlVVG9n>l^iuj z%xJrpr6?SW7k_rMi)fEvdi)v_bRzM9*SZ5KgcsUN-CKL_z0_dpiZ7;o!Z`;prhgAY zaN?{cfWHi?e_)j|DFBjJ)RwxjZMYm$oa&{dDi=)L+rvun}|Pz_*u&L&K9xGLm^^ z$-InIL$M*EJih$JiN(*B@RRvvNqiLIK!! z&{T6;&$iSeb#CU$(*nKHBPchj`{(wEth;yEBL5=zwne*7T%(7C!-nzqjza%U-gzngvL z8tK6dVE~I4D`Lx?dh_!IALT0zk&E6PRb1NLo5&IwO@(HC zA?bZhB_(e;%x+$Y?c#KWN;x&Rg$k)dFOK;Fi@>w#XH$1S#AZGLldzbk@QvX_npoY)j4JMJf{Q`OWf{+L|A9g9~=F zD+P8tFU9#Oh-KwaC+gZLm2^wEAd&Jn8vjcYxcnLD0eku;=V&!)(X3;~m;%nppGPwi zgu@0p!c_BDwTfrQZ|^CuF|fXw6KcZ0I+rVW@H_Gyyeke6Jicmdx0JV9MzcFN%oWQC ztE;o@iZQ8jkM-z3w(w;Neiv}q^{RU1d{oG(P;=g;1)WH*VLeQ)S8Z1H%lmI|`maHH z9B+g-e8et;o&Qj>Y%O!rzaHhV#+&WOsn9pl{L`-?PmMZK?ti>+wR5ke#G6xEB>GlY ztEvTtGMaFolTdG$e*H*YXCXrpPwL=XHt$~w^g9)52z zk$0AaC*+aaj*vSN@{7Z^R#MQc5@&f0e_o&5K0iPrpmpavgXE9#KlUYb`ABA3&E+yo z#h3N;*tq@S`wxO5ks*^BG-w;ln_cpsv4@J76;VDjRfR?l=TUe`ES**LT&x0pnU zYA0tm$UEcZo%MVH;Q^qN3zDVd(u9Hp$v9}nrQ_h7!4u3Ai6o#_A1dHlZ-?#DaVe(` zGm@&mn0;H9eK@)v19xYROU-o9j4wSeI4@W_E-iAnBG6tDI23_qya#Wl)Jn#??aicG zSa?d_`A#-BM!EErV#z&~WmlqQUv=|HOv^ARKaPBoj{jFzSzY(TGVbt-y$Y^KJPbmc zP5xaRo*ldXt$I<0uWkkY%augtpA-8sgKc;l={VHX7^}9<3hs2%bl@Gi-TuqR{DIWA zwk{osyc?+#X&+1ptDWLzFLci6U7EzA>zx|i3T3&+UI>j2WE^XW6WG`AzVPmuC1%)s zYwdQmnlFDVdEMAn`b$e`<7+8QjVZ>*4vb^G&zuC_el3gHds(@mk-hU;@}*OUpIg@JG zn*%dUq4MUeAOkN$x=M)1tT#J^#U2k-Xlz~wS5x*&q_NZ-3BqF-CYS&WMb1uQI}|MQjE)rZURftnP>vm}kdf{(}{L|XLC z-ud-#`R0VkPZA~$9^0VtFPKxyVA)SyUyz#2CnhCj{*x$S7ML1?U{mTjk2*(XRaQr* z^&MkzZEKP!lPO;l{XB;u?&8Qn2YW`x#AE5~^oRSFmRl{`1NWGD-Q+Syc|)9XQn5?C+|!qQ`cXyIeu?H5?1Ohti)OuzpB~(ZXZF@`$2{V*+dqE)oB<0qVSAd4yKG6T!K_AP40RIN!Y$TVsP-8 zI;cq{WgN`eN~VDnd#QQSxmAl&tLA3?2MvW7JwaN}D@(+uRj><-p@ezCX77qiQ+VdQP?ZuZ!a1j#1y4Zg;oth*?u22pQova9yk2j?V!hmZHBdq5FLPx@wkTc6KC)2W8vD8 zaBP}NRF-p$sNTISb;ZD~2DPFDgZdEh(00yqZE8S*o!#L51n=Gyl0VyS^E=oujf|eb z6on-Ro0@JpRe5spSBC-c;2ye)Xe@JT7-Pj{`{z z_Od}&?EqmPLA&2|5qqc}Im|x1L%QQA`zTTm@|&V2(FswT2(~e*9BMZeT-fI$NM3we zj_f_nQrO+Esd7kcFOKLNrb$!zK_S9_Ps{ty#A@wVTe;$-lm%{+e1^b(jtkgT83cwo z2B87&Y+bwM!I*z44UD+Y>X?xDt+OTu06NCOm<>z z%8BJaN;+~oCgJ2OIJq2Hngg%+TTJ;EOcE0o|2j)1?Y_V%pGcWRRZM0qB+Nig&f?EHjhvp%pMB!kIpiGt zG<7FYr=|G?M62;`1N8iC-x0zOa{xb|R<4dUHWvgGR)i%wCoas@M6u)94y{DLh-_TK zK5(D=sIY%h4Lv4*y!rHZ;=6-ux2d7Afs0rx%Z%I0OO-;lpaHmVVaYRMa+V=Ca{ORa zk!N_IUwCL`5+3tlzki6D2%|6CoLkIT_Lo3zuv_=%2;ciY|#iz=6Lya-}Di zr<`0XGnb9R3E>1i)VKI%nEqPW+`6bqX`**0Ab0qJn_{e$zoq#N|z(W`2ATTCJ^ z7*()do3RbfKpiy9d29xq=;70r;>AvDY+=rsT|j?ST=G==*|qq_UT|j*<7anvEnqh% zs#eNX@}PHS^a!Orp5Rh^-8vvPvNhh8tUBiUf#~||{LUaW%r^)OK)I)6C+3_y($^hZ za(MHz0#2gG^TpSN-V(ki;BdIRop&0nAO0tKNdDrmP?+`JTj>2qme8rD)$$%JF!E*3 zYV{m^&fei%NOt~cb~Z^5LCkanW{?_oD8&4soV+7l73TSVT*q9MVD_w_+zaN5p|TR2 z^Xb8Znwbup@0LJ{&)!PyNbx>)qy!<7^hbC7@HX5$Buw;2;_j$(`e^^SfuH+?eLoG1 zptS>YeB-Zlrx;Fa>7~hGptgq2rqlUu4&$kJO0o~0C$m+u$z1`XHec)CwsrfrP@rDq zTOi24!7p(?2yJ+@q_)M3nHk}0EQgv$Hi%~=TGlaUiuN9wAo-_^9kYO$};puBD1O5*i$zd|3Ix#?!6$)K)@ImV4t+Xe_a3pdS8eIXV| zeS4+;U0flq+&8>~@u+<1l6AWOEtk^UwlubVsaT*DX(PVBJ-L@+iX^yJU-cn{P)Z~0 zTyl;$-c6yz?x0I;(O9{Bx9E@Sj_U{XltN**Z>+^(!=|$w6kK38DmdifdbwMJlGWeFr+y;`PDLw9;;Dai}5o1tyCj>f%VD zw8C2G!nO;q)!87e4*B)9n4aVRQyF4)jdD}3nGv~26>GbHH}*-I%P?dKRwHFV@ap)F zk3Ya+2ki}>4jI$9+d6rQ>@8qIJ&%fJ-iE^YmAl(38|rUWHnLx3DXMxrA{0)^7iZ7h^!|+TkMP{tMT5LN`A-)#WN^eQW ze}4Ulg{@aE#h=CL+(ohX{k!3~apsg{&o+kBRhgI1IH57F^?~)BH8ACPZr0nc5@w~b;vDzQktSlk_ zGHBCX!iTO+2Svp~3T^C%VZ8h8+PB?~xBa_u$rjuhLCHTYVp#oVsP@?I<2yZ(mtwd_ z*RU850t;DIic3aiJ+-K5ZVB$0_<(p?<07R=7xba@+bYG z%y+IL*RPqr_&6CZung~2C!ZTHodtiF?`Zx8jO?|Ll3A8gK`(beEzjnB4 zzza|K_z3{=J*K#cA^wgbYGR59dgmndva-o-Bk=ApIuWx>?b;Qc6VLRvPB*c)F` z05wK?tw}lXUuy9W`OGiFNz5}95doE6l|iQQk^r9+FQyM1*9;J&<4s3nn)YZIa`ue% zcjGPvq~&*ahj@b_mL3P>l{A-5+yn1>{>KKc-Wv<2+7o*+P|Wp4TO7IpS%wYR^J={T zYxb7=)L`QrB|R;?TT@wfO%>)Qbs;&z;IvaD#cQdlevW<-{;58Atw^>z%Q>=$oY_=S zXKzVQO(C!y!N85V62tj3@y~UCh6&iW_;szYxR>nPVgAMT64;NC0|>wdM4cYY`S^=h zj^sP0e8t;gJ^}#TSYh!70C*7N6!eYu{~K%=mH_~GKo|JFuAMfnZ=P^t&gCEBd&omc zXC~MF*eRBo1!r__##{H=h)}n2!$YilKszN=Yl&X)>k!1_x@|^#N04e|Nu*h@bTOo8 z%Med+{fREASQk}wTEN{AJ2khJ(Ts+<6+#U@kbPjyp#&O zEMaTp(yqS~JlqIT5Js7+&*W%YoF7u_!fYP8r-)i%PxC9@Kgtp=V!5H7bbIjFv#Y1% z?+GMp2(1#dI>euK&z%eZIrCkh=#C1c+wK&*Dr62wNIER-_pDtAdHHEXw}r^`TZ2KD zaSt4r0szsl@S2tjFR#g=7(1tN2Q}^n`g2aElP(Y|I7!wA@g*3FM8+g$IgA zL8#RScnCzvn(NfK-J>`{6x{S2gM_S2hAboc`(xa z>%j_j*JGtgjt3`L9Cug=aHH{Ft`si1RdRE|OS@Id@kywa!z`~N zyG1n}qaqPhsh6^7>_YXljOxqph*=GqXp!jXVlXLWqKTJyOXv;Dm^CV18E8t>n7Gie zTA@nDWy2(LTfImO7=NP69V^-fnMzA*K{I2ySpkjt!AE2UUUbzPcZ z#X=Hewlvs;Y}d21zN8R4S8M^-8H7RuSvh0N=dn zQ&A$aQ=Liw+kh$uzJKx}3hseE1O6ih$FakNix4S_ z(7$YA#EKIyL82td7?@I|N|TO-je`rp!WklPH|VO%h7>8*qr`Pa zS6p+;4L42r#N?ja?ig0;7b`t<-ved7_oKxsl&e&&N{y||>eQ;&z@kx;W}mfa)2iJ} z9gf&$wpr$w>jytM=8+KxJvQZuQDY7{?1FLMxoDvQr<`^oFj&Gej=`}w4#y)QV+A98 z2p`5rf^#4SQXpIA=ds+&>2&s=ecP_y{AW!R``<~C_F~CXlW~|`!>Q#C34e$~O6*T- zNFT6N&8ddfrMur$ESvw8o=Y2_b4d8j7m%dQ*;^4HO2D2aU{L}XCGfo|!}1=~Khn3Z G5p)A$9vqAS literal 0 HcmV?d00001 diff --git a/fonts/titillium-web-latin-400-normal.2d64b16d.woff b/fonts/titillium-web-latin-400-normal.2d64b16d.woff new file mode 100644 index 0000000000000000000000000000000000000000..95ec41b0fadeb439df56491c92bca5b41bf818c3 GIT binary patch literal 16464 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 Kxy$ayME?)xzx;Fn literal 0 HcmV?d00001 diff --git a/fonts/titillium-web-latin-ext-400-normal.cdc1a528.woff b/fonts/titillium-web-latin-ext-400-normal.cdc1a528.woff new file mode 100644 index 0000000000000000000000000000000000000000..cdba5d517138f19a28f7305dae48eb9fdc131008 GIT binary patch literal 9196 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 Xn4ln5xM6m9YzkIP2R0$xl>_)Mc`s2O literal 0 HcmV?d00001 diff --git a/friedrice231_ip_master/authorship.json b/friedrice231_ip_master/authorship.json new file mode 100644 index 000000000..650b0facf --- /dev/null +++ b/friedrice231_ip_master/authorship.json @@ -0,0 +1 @@ +[{"path":"build.gradle","fileType":"gradle","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"plugins {","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":" id \u0027java\u0027","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":" id \u0027application\u0027","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"friedrice231"},"content":" id \u0027org.openjfx.javafxplugin\u0027 version \u00270.1.0\u0027","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":" id \u0027com.github.johnrengelman.shadow\u0027 version \u00277.1.2\u0027","lastModifiedDate":"2023-08-05","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"repositories {","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":" mavenCentral()","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"friedrice231"},"content":"javafx {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"friedrice231"},"content":" version \u003d \u002721.0.1\u0027","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"friedrice231"},"content":" modules \u003d [\u0027javafx.controls\u0027, \u0027javafx.fxml\u0027, \u0027javafx.graphics\u0027]","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"friedrice231"},"content":"}","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"dependencies {","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":" testImplementation group: \u0027org.junit.jupiter\u0027, name: \u0027junit-jupiter-api\u0027, version: \u00275.10.0\u0027","lastModifiedDate":"2023-08-05","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":" testRuntimeOnly group: \u0027org.junit.jupiter\u0027, name: \u0027junit-jupiter-engine\u0027, version: \u00275.10.0\u0027","lastModifiedDate":"2023-08-05","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"friedrice231"},"content":" String javaFxVersion \u003d \u002721.0.1\u0027","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"friedrice231"},"content":" implementation group: \u0027org.openjfx\u0027, name: \u0027javafx-base\u0027, version: javaFxVersion, classifier: \u0027win\u0027","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"friedrice231"},"content":" implementation group: \u0027org.openjfx\u0027, name: \u0027javafx-base\u0027, version: javaFxVersion, classifier: \u0027mac\u0027","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"friedrice231"},"content":" implementation group: \u0027org.openjfx\u0027, name: \u0027javafx-base\u0027, version: javaFxVersion, classifier: \u0027linux\u0027","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"friedrice231"},"content":" implementation group: \u0027org.openjfx\u0027, name: \u0027javafx-controls\u0027, version: javaFxVersion, classifier: \u0027win\u0027","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"friedrice231"},"content":" implementation group: \u0027org.openjfx\u0027, name: \u0027javafx-controls\u0027, version: javaFxVersion, classifier: \u0027mac\u0027","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"friedrice231"},"content":" implementation group: \u0027org.openjfx\u0027, name: \u0027javafx-controls\u0027, version: javaFxVersion, classifier: \u0027linux\u0027","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"friedrice231"},"content":" implementation group: \u0027org.openjfx\u0027, name: \u0027javafx-fxml\u0027, version: javaFxVersion, classifier: \u0027win\u0027","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"friedrice231"},"content":" implementation group: \u0027org.openjfx\u0027, name: \u0027javafx-fxml\u0027, version: javaFxVersion, classifier: \u0027mac\u0027","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"friedrice231"},"content":" implementation group: \u0027org.openjfx\u0027, name: \u0027javafx-fxml\u0027, version: javaFxVersion, classifier: \u0027linux\u0027","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"friedrice231"},"content":" implementation group: \u0027org.openjfx\u0027, name: \u0027javafx-graphics\u0027, version: javaFxVersion, classifier: \u0027win\u0027","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"friedrice231"},"content":" implementation group: \u0027org.openjfx\u0027, name: \u0027javafx-graphics\u0027, version: javaFxVersion, classifier: \u0027mac\u0027","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"friedrice231"},"content":" implementation group: \u0027org.openjfx\u0027, name: \u0027javafx-graphics\u0027, version: javaFxVersion, classifier: \u0027linux\u0027","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":"test {","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":" useJUnitPlatform()","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" testLogging {","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" events \"passed\", \"skipped\", \"failed\"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":" showExceptions true","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":" exceptionFormat \"full\"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":" showCauses true","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":" showStackTraces true","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" showStandardStreams \u003d false","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":"application {","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"friedrice231"},"content":"// mainClass.set(\"PawPal.core.PawPal\")","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"friedrice231"},"content":" mainClass.set(\"pawpal.core.Launcher\")","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":"shadowJar {","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"friedrice231"},"content":" archiveBaseName \u003d \"PawPal\"","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" archiveClassifier \u003d null","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"friedrice231"},"content":" archiveVersion \u003d \"1.0.0\"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":"run{","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":" standardInput \u003d System.in","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"friedrice231"},"content":"java {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"friedrice231"},"content":" sourceCompatibility \u003d JavaVersion.VERSION_21","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"friedrice231"},"content":" targetCompatibility \u003d JavaVersion.VERSION_21","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"friedrice231"},"content":"}","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"friedrice231"},"content":"tasks.withType(JavaCompile) {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"friedrice231"},"content":" options.encoding \u003d \u0027UTF-8\u0027","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"friedrice231"},"content":"}","lastModifiedDate":"2025-02-12","isFullCredit":false}],"authorContributionMap":{"friedrice231":34,"-":39}},{"path":"data/cheer.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"friedrice231"},"content":"Keep going – even the best programmers started out writing \u0027Hello World\u0027!","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"friedrice231"},"content":"Your code might crash, but you won\u0027t!","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"friedrice231"},"content":"Debugging is like being a detective in a crime movie where you are also the murderer.","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"friedrice231"},"content":"One bug at a time, one solution closer.","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"friedrice231"},"content":"Never stop learning – the tech world moves fast, and so should you.","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"friedrice231"},"content":"A bad day coding beats a good day doing anything else.","lastModifiedDate":"2025-02-07","isFullCredit":false}],"authorContributionMap":{"friedrice231":6}},{"path":"data/tasks.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"friedrice231"},"content":"[T][X] run","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"friedrice231"},"content":"[T][ ] read","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"friedrice231"},"content":"[T][ ] eat","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"friedrice231"},"content":"[T][ ] eat lunch","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"friedrice231"},"content":"[D][ ] test (by: tomorrow)","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"friedrice231"},"content":"[E][ ] test from: today to: tomorrow","lastModifiedDate":"2025-02-21","isFullCredit":false}],"authorContributionMap":{"friedrice231":6}},{"path":"src/main/java/pawpal/core/DialogBox.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"friedrice231"},"content":"package pawpal.core;","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"friedrice231"},"content":"import java.io.IOException;","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"friedrice231"},"content":"import java.util.Collections;","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"friedrice231"},"content":"import javafx.collections.FXCollections;","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"friedrice231"},"content":"import javafx.collections.ObservableList;","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"friedrice231"},"content":"import javafx.fxml.FXML;","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"friedrice231"},"content":"import javafx.fxml.FXMLLoader;","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"friedrice231"},"content":"import javafx.geometry.Pos;","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"friedrice231"},"content":"import javafx.scene.Node;","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"friedrice231"},"content":"import javafx.scene.control.Label;","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"friedrice231"},"content":"import javafx.scene.image.Image;","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"friedrice231"},"content":"import javafx.scene.image.ImageView;","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"friedrice231"},"content":"import javafx.scene.layout.HBox;","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"friedrice231"},"content":"import javafx.scene.shape.Circle;","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"friedrice231"},"content":"/**","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"friedrice231"},"content":" * Represents a dialog box consisting of an ImageView to represent the speaker\u0027s face","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"friedrice231"},"content":" * and a label containing text from the speaker.","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"friedrice231"},"content":"public class DialogBox extends HBox {","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"friedrice231"},"content":" @FXML","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"friedrice231"},"content":" private Label dialog;","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"friedrice231"},"content":" @FXML","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"friedrice231"},"content":" private ImageView displayPicture;","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"friedrice231"},"content":" private DialogBox(String text, Image img) {","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"friedrice231"},"content":" try {","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"friedrice231"},"content":" FXMLLoader fxmlLoader \u003d new FXMLLoader(MainWindow.class.getResource(\"/view/DialogBox.fxml\"));","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"friedrice231"},"content":" fxmlLoader.setController(this);","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"friedrice231"},"content":" fxmlLoader.setRoot(this);","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"friedrice231"},"content":" fxmlLoader.load();","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"friedrice231"},"content":" } catch (IOException e) {","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"friedrice231"},"content":" System.out.println(e.getMessage());","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"friedrice231"},"content":" dialog.setText(text);","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"friedrice231"},"content":" displayPicture.setImage(img);","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"friedrice231"},"content":" // Apply a circular mask to the ImageView","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"friedrice231"},"content":" Circle clip \u003d new Circle(25, 25, 25); // Center (x\u003d25, y\u003d25), Radius \u003d 25","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"friedrice231"},"content":" displayPicture.setClip(clip);","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"friedrice231"},"content":" this.getStyleClass().add(\"chat-bubble\");","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"friedrice231"},"content":" /**","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"friedrice231"},"content":" * Flips the dialog box such that the ImageView is on the left and text on the right.","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"friedrice231"},"content":" private void flip() {","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"friedrice231"},"content":" ObservableList\u003cNode\u003e tmp \u003d FXCollections.observableArrayList(this.getChildren());","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"friedrice231"},"content":" Collections.reverse(tmp);","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"friedrice231"},"content":" getChildren().setAll(tmp);","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"friedrice231"},"content":" setAlignment(Pos.TOP_LEFT);","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"friedrice231"},"content":" dialog.getStyleClass().add(\"reply-label\");","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"friedrice231"},"content":" public static DialogBox getUserDialog(String text, Image img) {","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"friedrice231"},"content":" var db \u003d new DialogBox(text, img);","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"friedrice231"},"content":" db.setAlignment(Pos.CENTER_RIGHT);","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"friedrice231"},"content":" db.getStyleClass().add(\"user-label\");","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"friedrice231"},"content":" return db;","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"friedrice231"},"content":" public static DialogBox getPawPalDialog(String text, Image img) {","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"friedrice231"},"content":" var db \u003d new DialogBox(text, img);","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"friedrice231"},"content":" db.flip();","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"friedrice231"},"content":" db.getStyleClass().add(\"reply-label\");","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"friedrice231"},"content":" return db;","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"friedrice231"},"content":"}","lastModifiedDate":"2025-02-13","isFullCredit":false}],"authorContributionMap":{"friedrice231":72}},{"path":"src/main/java/pawpal/core/Launcher.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"friedrice231"},"content":"package pawpal.core;","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"friedrice231"},"content":"import javafx.application.Application;","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"friedrice231"},"content":"/**","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"friedrice231"},"content":" * Launches a JavaFX launcher","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"friedrice231"},"content":"public class Launcher {","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"friedrice231"},"content":" public static void main(String[] args) {","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"friedrice231"},"content":" Application.launch(Main.class, args);","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"friedrice231"},"content":"}","lastModifiedDate":"2025-02-13","isFullCredit":false}],"authorContributionMap":{"friedrice231":12}},{"path":"src/main/java/pawpal/core/Main.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"friedrice231"},"content":"package pawpal.core;","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"friedrice231"},"content":"import java.io.IOException;","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"friedrice231"},"content":"import java.util.Objects;","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"friedrice231"},"content":"import javafx.application.Application;","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"friedrice231"},"content":"import javafx.fxml.FXMLLoader;","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"friedrice231"},"content":"import javafx.scene.Scene;","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"friedrice231"},"content":"import javafx.scene.image.Image;","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"friedrice231"},"content":"import javafx.scene.layout.AnchorPane;","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"friedrice231"},"content":"import javafx.stage.Stage;","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"friedrice231"},"content":"/**","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"friedrice231"},"content":" * A GUI for PawPal using FXML.","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"friedrice231"},"content":"public class Main extends Application {","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"friedrice231"},"content":" private final PawPal pawpal \u003d new PawPal();","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"friedrice231"},"content":" @Override","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"friedrice231"},"content":" public void start(Stage stage) {","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"friedrice231"},"content":" try {","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"friedrice231"},"content":" FXMLLoader fxmlLoader \u003d new FXMLLoader(Main.class.getResource(\"/view/MainWindow.fxml\"));","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"friedrice231"},"content":" AnchorPane ap \u003d fxmlLoader.load();","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"friedrice231"},"content":" Scene scene \u003d new Scene(ap);","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"friedrice231"},"content":" // Load CSS for styling (including the background)","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"friedrice231"},"content":" scene.getStylesheets().add(Objects.requireNonNull(getClass().getResource(\"/view/style.css\"))","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"friedrice231"},"content":" .toExternalForm());","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"friedrice231"},"content":" // Set window icon","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"friedrice231"},"content":" Image icon \u003d new Image(Objects.requireNonNull(Main.class.getResourceAsStream(\"/images/cat-icon.png\")));","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"friedrice231"},"content":" stage.getIcons().add(icon);","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"friedrice231"},"content":" // Set window title","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"friedrice231"},"content":" stage.setTitle(\"PawPal Chat Assistant\");","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"friedrice231"},"content":" // Set scene and show window","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"friedrice231"},"content":" stage.setScene(scene);","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"friedrice231"},"content":" stage.setMinHeight(600);","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"friedrice231"},"content":" stage.setMinWidth(400);","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"friedrice231"},"content":" fxmlLoader.\u003cMainWindow\u003egetController().setPawPal(pawpal);","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"friedrice231"},"content":" stage.show();","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"friedrice231"},"content":" } catch (IOException e) {","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"friedrice231"},"content":" System.out.println(e.getMessage());","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"friedrice231"},"content":"}","lastModifiedDate":"2025-02-13","isFullCredit":false}],"authorContributionMap":{"friedrice231":48}},{"path":"src/main/java/pawpal/core/MainWindow.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"friedrice231"},"content":"package pawpal.core;","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"friedrice231"},"content":"import java.util.Objects;","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"friedrice231"},"content":"import javafx.animation.PauseTransition;","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"friedrice231"},"content":"import javafx.application.Platform;","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"friedrice231"},"content":"import javafx.fxml.FXML;","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"friedrice231"},"content":"import javafx.scene.control.Button;","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"friedrice231"},"content":"import javafx.scene.control.ScrollPane;","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"friedrice231"},"content":"import javafx.scene.control.TextField;","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"friedrice231"},"content":"import javafx.scene.image.Image;","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"friedrice231"},"content":"import javafx.scene.layout.AnchorPane;","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"friedrice231"},"content":"import javafx.scene.layout.VBox;","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"friedrice231"},"content":"import javafx.util.Duration;","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"friedrice231"},"content":"import pawpal.utils.Printer;","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"friedrice231"},"content":"/**","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"friedrice231"},"content":" * Controller for the main GUI.","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"friedrice231"},"content":"public class MainWindow extends AnchorPane {","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"friedrice231"},"content":" @FXML","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"friedrice231"},"content":" private ScrollPane scrollPane;","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"friedrice231"},"content":" @FXML","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"friedrice231"},"content":" private VBox dialogContainer;","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"friedrice231"},"content":" @FXML","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"friedrice231"},"content":" private TextField userInput;","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"friedrice231"},"content":" @FXML","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"friedrice231"},"content":" private Button sendButton;","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"friedrice231"},"content":" private PawPal pawpal;","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"friedrice231"},"content":" private final Image userImage \u003d new Image(Objects","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"friedrice231"},"content":" .requireNonNull(this.getClass().getResourceAsStream(\"/images/cat-right.png\")));","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"friedrice231"},"content":" private final Image pawpalImage \u003d new Image(Objects","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"friedrice231"},"content":" .requireNonNull(this.getClass().getResourceAsStream(\"/images/cat-left.png\")));","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"friedrice231"},"content":" @FXML","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"friedrice231"},"content":" public void initialize() {","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"friedrice231"},"content":" scrollPane.vvalueProperty().bind(dialogContainer.heightProperty());","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"friedrice231"},"content":" /** Injects the PawPal instance */","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"friedrice231"},"content":" public void setPawPal(PawPal p) {","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"friedrice231"},"content":" pawpal \u003d p;","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"friedrice231"},"content":" String greeting \u003d Printer.getGreetingMessage(\"PawPal\");","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"friedrice231"},"content":" dialogContainer.getChildren().add(DialogBox.getPawPalDialog(greeting, pawpalImage));","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"friedrice231"},"content":" /**","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"friedrice231"},"content":" * Handles user input by displaying it and generating a response.","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"friedrice231"},"content":" @FXML","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"friedrice231"},"content":" private void handleUserInput() {","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"friedrice231"},"content":" String input \u003d userInput.getText();","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"friedrice231"},"content":" String response \u003d pawpal.getResponse(input);","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"friedrice231"},"content":" dialogContainer.getChildren().addAll(","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"friedrice231"},"content":" DialogBox.getUserDialog(input, userImage),","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"friedrice231"},"content":" DialogBox.getPawPalDialog(response, pawpalImage)","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"friedrice231"},"content":" );","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"friedrice231"},"content":" userInput.clear();","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"friedrice231"},"content":" // Exit the application when \"bye\" is typed","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"friedrice231"},"content":" if (input.equalsIgnoreCase(\"bye\")) {","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"friedrice231"},"content":" PauseTransition delay \u003d new PauseTransition(Duration.seconds(1));","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"friedrice231"},"content":" delay.setOnFinished(event -\u003e Platform.exit());","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"friedrice231"},"content":" delay.play();","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"friedrice231"},"content":" public void setBackground(String imagePath) {","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"friedrice231"},"content":" this.getScene().lookup(\"#mainPane\")","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"friedrice231"},"content":" .setStyle(\"-fx-background-image: url(\u0027\" + imagePath + \"\u0027); \"","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"friedrice231"},"content":" + \"-fx-background-size: cover; \"","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"friedrice231"},"content":" + \"-fx-background-position: center; \"","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"friedrice231"},"content":" + \"-fx-background-repeat: no-repeat;\");","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"friedrice231"},"content":"}","lastModifiedDate":"2025-02-13","isFullCredit":false}],"authorContributionMap":{"friedrice231":76}},{"path":"src/main/java/pawpal/core/Parser.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"friedrice231"},"content":"package pawpal.core;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"friedrice231"},"content":"import java.io.IOException;","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"friedrice231"},"content":"import pawpal.utils.Command;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"friedrice231"},"content":"import pawpal.utils.Printer;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"friedrice231"},"content":"import pawpal.utils.TaskList;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"friedrice231"},"content":"/**","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"friedrice231"},"content":" * Parses and processes user input for PawPal.","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"friedrice231"},"content":"class Parser {","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"friedrice231"},"content":" private final TaskList taskList;","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"friedrice231"},"content":" public Parser(TaskList taskList) {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"friedrice231"},"content":" this.taskList \u003d taskList;","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"friedrice231"},"content":" public String parse(String input) {","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"friedrice231"},"content":" Command command \u003d parseCommand(input);","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"friedrice231"},"content":" switch (command) {","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"friedrice231"},"content":" case LIST:","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"friedrice231"},"content":" return Printer.getTaskListString(taskList.getTasks());","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"friedrice231"},"content":" case MARK:","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"friedrice231"},"content":" return processMarkCommand(input, true);","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"friedrice231"},"content":" case UNMARK:","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"friedrice231"},"content":" return processMarkCommand(input, false);","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"friedrice231"},"content":" case TODO:","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"friedrice231"},"content":" return processToDoCommand(input);","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"friedrice231"},"content":" case DEADLINE:","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"friedrice231"},"content":" return processDeadlineCommand(input);","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"friedrice231"},"content":" case EVENT:","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"friedrice231"},"content":" return processEventCommand(input);","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"friedrice231"},"content":" case DELETE:","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"friedrice231"},"content":" return processDeleteCommand(input);","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"friedrice231"},"content":" case FIND:","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"friedrice231"},"content":" return processFindCommand(input);","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"friedrice231"},"content":" case CHEER:","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"friedrice231"},"content":" return processCheerCommand();","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"friedrice231"},"content":" case BYE:","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"friedrice231"},"content":" return processByeCommand();","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"friedrice231"},"content":" case SORT:","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"friedrice231"},"content":" return processSortCommand();","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"friedrice231"},"content":" default:","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"friedrice231"},"content":" return Printer.getInvalidCommandMessage();","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"friedrice231"},"content":" Command parseCommand(String input) {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"friedrice231"},"content":" try {","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"friedrice231"},"content":" return Command.valueOf(input.split(\" \")[0].toUpperCase());","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"friedrice231"},"content":" } catch (IllegalArgumentException e) {","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"friedrice231"},"content":" return Command.INVALID;","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"friedrice231"},"content":" // Helper to parse task number from input","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"friedrice231"},"content":" private int parseTaskNumber(String input) {","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"friedrice231"},"content":" String[] parts \u003d input.split(\" \");","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"friedrice231"},"content":" if (parts.length \u003c 2) {","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"friedrice231"},"content":" throw new IllegalArgumentException();","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"friedrice231"},"content":" return Integer.parseInt(parts[1].trim());","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"friedrice231"},"content":" private String processMarkCommand(String input, boolean mark) {","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"friedrice231"},"content":" try {","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"friedrice231"},"content":" int taskNumber \u003d Integer.parseInt(input.split(\" \")[1].trim());","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"friedrice231"},"content":" return mark ? taskList.markTask(taskNumber) : taskList.unmarkTask(taskNumber);","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"friedrice231"},"content":" } catch (Exception e) {","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"friedrice231"},"content":" return Printer.getInvalidTaskNumberMessage();","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"friedrice231"},"content":" private String processDeleteCommand(String input) {","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"friedrice231"},"content":" try {","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"friedrice231"},"content":" int taskNumber \u003d Integer.parseInt(input.split(\" \")[1].trim());","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"friedrice231"},"content":" return taskList.deleteTask(taskNumber);","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"friedrice231"},"content":" } catch (Exception e) {","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"friedrice231"},"content":" return Printer.getInvalidTaskNumberMessage();","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"friedrice231"},"content":" /*","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"friedrice231"},"content":" Checks that the user has used the Todo command correctly","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"friedrice231"},"content":" private String processToDoCommand(String input) {","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"friedrice231"},"content":" if (input.trim().equalsIgnoreCase(\"todo\") || input.length() \u003c\u003d 4) {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"friedrice231"},"content":" return Printer.getTodoUsageMessage();","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"friedrice231"},"content":" // Extract description","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"friedrice231"},"content":" String description \u003d input.substring(4).trim();","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"friedrice231"},"content":" if (description.isEmpty()) {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"friedrice231"},"content":" return Printer.getTodoUsageMessage();","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"friedrice231"},"content":" // Add the ToDo if valid","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"friedrice231"},"content":" return taskList.addToDo(description);","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"friedrice231"},"content":" /*","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"friedrice231"},"content":" Checks that the user has used the deadline command correctly","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"friedrice231"},"content":" private String processDeadlineCommand(String input) {","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"friedrice231"},"content":" if (input.trim().equalsIgnoreCase(\"deadline\") || input.length() \u003c\u003d 9) {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"friedrice231"},"content":" return Printer.getDeadlineUsageMessage();","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"friedrice231"},"content":" // After removing \"deadline \", split by \" /by \"","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"friedrice231"},"content":" String[] parts \u003d input.substring(9).split(\" /by \", 2);","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"friedrice231"},"content":" if (parts.length \u003c 2) {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"friedrice231"},"content":" return Printer.getDeadlineUsageMessage();","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"friedrice231"},"content":" String description \u003d parts[0].trim();","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"friedrice231"},"content":" String deadline \u003d parts[1].trim();","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"friedrice231"},"content":" // Ensure both parts are non-empty","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"friedrice231"},"content":" if (description.isEmpty() || deadline.isEmpty()) {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"friedrice231"},"content":" return Printer.getDeadlineUsageMessage();","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"friedrice231"},"content":" return taskList.addDeadline(description, deadline);","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"friedrice231"},"content":" /*","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"friedrice231"},"content":" Checks that the user has used the event command correctly","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"friedrice231"},"content":" private String processEventCommand(String input) {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"friedrice231"},"content":" if (input.trim().equalsIgnoreCase(\"event\") || input.length() \u003c\u003d 6) {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"friedrice231"},"content":" return Printer.getEventUsageMessage();","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"friedrice231"},"content":" // After removing \"event \", split by \" /from \" and \" /to \"","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"friedrice231"},"content":" String[] parts \u003d input.substring(6).split(\" /from | /to \", 3);","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"friedrice231"},"content":" if (parts.length \u003c 3) {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"friedrice231"},"content":" return Printer.getEventUsageMessage();","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"friedrice231"},"content":" String description \u003d parts[0].trim();","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"friedrice231"},"content":" String from \u003d parts[1].trim();","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"friedrice231"},"content":" String to \u003d parts[2].trim();","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"friedrice231"},"content":" // Ensure no empty pieces","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"friedrice231"},"content":" if (description.isEmpty() || from.isEmpty() || to.isEmpty()) {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"friedrice231"},"content":" return Printer.getEventUsageMessage();","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"friedrice231"},"content":" return taskList.addEvent(description, from, to);","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"friedrice231"},"content":" private String processFindCommand(String input) {","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"friedrice231"},"content":" return taskList.findTasks(input.substring(4).trim());","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"friedrice231"},"content":" private String processCheerCommand() {","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"friedrice231"},"content":" try {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"friedrice231"},"content":" return taskList.getRandomQuote();","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"friedrice231"},"content":" } catch (IOException e) {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"friedrice231"},"content":" return \"Error retrieving cheer message.\";","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"friedrice231"},"content":" private String processSortCommand() {","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"friedrice231"},"content":" taskList.sortTasks();","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"friedrice231"},"content":" return Printer.getTaskListString(taskList.getTasks());","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"friedrice231"},"content":" private String processByeCommand() {","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"friedrice231"},"content":" return Printer.printBye();","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"friedrice231"},"content":"}","lastModifiedDate":"2025-02-01","isFullCredit":false}],"authorContributionMap":{"friedrice231":162}},{"path":"src/main/java/pawpal/core/PawPal.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"friedrice231"},"content":"package pawpal.core;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"friedrice231"},"content":"import java.io.IOException;","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"friedrice231"},"content":"import pawpal.utils.Storage;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"friedrice231"},"content":"import pawpal.utils.TaskList;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"friedrice231"},"content":"import pawpal.utils.Ui;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"friedrice231"},"content":"/**","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"friedrice231"},"content":" * The main class for the PawPal chatbot application.","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"friedrice231"},"content":" * PawPal allows users to manage tasks such as ToDo, Deadline, and Event tasks.","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"friedrice231"},"content":" * It interacts with the user via the command line.","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"public class PawPal {","lastModifiedDate":"2025-01-24","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"friedrice231"},"content":" private final Ui ui;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"friedrice231"},"content":" private final Storage storage;","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"friedrice231"},"content":" private final TaskList taskList;","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"friedrice231"},"content":" private final Parser parser;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"friedrice231"},"content":" /**","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"friedrice231"},"content":" * Constructs a new PawPal.core.PawPal instance.","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"friedrice231"},"content":" * Initializes the storage, task list, UI, and parser components.","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"friedrice231"},"content":" public PawPal() {","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"friedrice231"},"content":" String filePath \u003d \"./data/tasks.txt\";","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"friedrice231"},"content":" this.storage \u003d new Storage(filePath);","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"friedrice231"},"content":" this.taskList \u003d new TaskList(storage);","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"friedrice231"},"content":" this.ui \u003d new Ui();","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"friedrice231"},"content":" this.parser \u003d new Parser(taskList);","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"friedrice231"},"content":" /**","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"friedrice231"},"content":" * The entry point of the PawPal application.","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"friedrice231"},"content":" *","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"friedrice231"},"content":" * @param args Command-line arguments (not used).","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"friedrice231"},"content":" public static void main(String[] args) {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"friedrice231"},"content":" new PawPal().run();","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"friedrice231"},"content":" /*","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"friedrice231"},"content":" Gets the response to reply in the app.","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"friedrice231"},"content":" public String getResponse(String input) {","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"friedrice231"},"content":" try {","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"friedrice231"},"content":" String response \u003d this.parser.parse(input); // Processes the command","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"friedrice231"},"content":" storage.saveTasks(taskList.getTasks()); // Save updated tasks after processing","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"friedrice231"},"content":" return response;","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"friedrice231"},"content":" } catch (IOException e) {","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"friedrice231"},"content":" return \"An error occurred while saving tasks.\";","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"friedrice231"},"content":" /**","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"friedrice231"},"content":" * Runs the main loop of the PawPal.core.PawPal chatbot.","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"friedrice231"},"content":" * Continuously reads user input, processes commands, and prints responses.","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"friedrice231"},"content":" * The loop exits when the user enters the \"bye\" command.","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"friedrice231"},"content":" public void run() {","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"friedrice231"},"content":" ui.showGreeting();","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"friedrice231"},"content":" // Main input loop","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"friedrice231"},"content":" while (true) {","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"friedrice231"},"content":" String input \u003d ui.readCommand();","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"friedrice231"},"content":" // Exit the application when the user types \"bye\"","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"friedrice231"},"content":" if (input.equalsIgnoreCase(\"bye\")) {","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"friedrice231"},"content":" ui.showBye();","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"friedrice231"},"content":" break;","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"friedrice231"},"content":" // Pass the user input to the parser for processing","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"friedrice231"},"content":" parser.parse(input);","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"friedrice231"},"content":" try {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"friedrice231"},"content":" storage.saveTasks(taskList.getTasks());","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"friedrice231"},"content":" } catch (IOException e) {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"friedrice231"},"content":" ui.showSavingError();","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-01-27","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2025-01-24","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2025-01-24","isFullCredit":false}],"authorContributionMap":{"friedrice231":75,"-":3}},{"path":"src/main/java/pawpal/tasks/Deadline.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"friedrice231"},"content":"package pawpal.tasks;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"friedrice231"},"content":"import java.time.LocalDateTime;","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"friedrice231"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"friedrice231"},"content":"import java.time.format.DateTimeParseException;","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"friedrice231"},"content":"import java.util.Optional;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"friedrice231"},"content":"/**","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"friedrice231"},"content":" * Represents a task with a deadline.","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"friedrice231"},"content":" * Extends the Task class by adding a deadline field.","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"friedrice231"},"content":"public class Deadline extends Task {","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"friedrice231"},"content":" private static final DateTimeFormatter INPUT_FORMAT \u003d DateTimeFormatter.ofPattern(\"d/M/yyyy HHmm\");","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"friedrice231"},"content":" private static final DateTimeFormatter OUTPUT_FORMAT \u003d DateTimeFormatter.ofPattern(\"MMM dd yyyy, h:mm a\");","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"friedrice231"},"content":" private final Optional\u003cLocalDateTime\u003e deadlineDateTime;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"friedrice231"},"content":" private final String deadline;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"friedrice231"},"content":" /**","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"friedrice231"},"content":" * Constructs a new Deadline task.","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"friedrice231"},"content":" *","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"friedrice231"},"content":" * @param description The description of the deadline task.","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"friedrice231"},"content":" * @param deadline The date or time by which the task must be completed.","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"friedrice231"},"content":" public Deadline(String description, String deadline) {","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"friedrice231"},"content":" super(description);","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"friedrice231"},"content":" this.deadline \u003d deadline;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"friedrice231"},"content":" this.deadlineDateTime \u003d parseDateTime(deadline);","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"friedrice231"},"content":" /**","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"friedrice231"},"content":" * Parses the given deadline string into LocalDateTime if possible.","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"friedrice231"},"content":" *","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"friedrice231"},"content":" * @param deadline The input deadline string.","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"friedrice231"},"content":" * @return An Optional containing the parsed LocalDateTime, or empty if parsing fails.","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"friedrice231"},"content":" private Optional\u003cLocalDateTime\u003e parseDateTime(String deadline) {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"friedrice231"},"content":" try {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"friedrice231"},"content":" return Optional.of(LocalDateTime.parse(deadline, INPUT_FORMAT));","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"friedrice231"},"content":" } catch (DateTimeParseException e) {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"friedrice231"},"content":" return Optional.empty();","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"friedrice231"},"content":" /**","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"friedrice231"},"content":" * Returns the string representation of the deadline task.","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"friedrice231"},"content":" *","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"friedrice231"},"content":" * @return A string in the format \"[D][status] description (by: deadline)\".","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"friedrice231"},"content":" @Override","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"friedrice231"},"content":" public String toString() {","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"friedrice231"},"content":" String formattedDeadline \u003d deadlineDateTime","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"friedrice231"},"content":" .map(dateTime -\u003e dateTime.format(OUTPUT_FORMAT))","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"friedrice231"},"content":" .orElse(deadline);","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"friedrice231"},"content":" return \"[D]\" + super.toString() + \" (by: \" + formattedDeadline + \")\";","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"friedrice231"},"content":"}","lastModifiedDate":"2025-01-30","isFullCredit":false}],"authorContributionMap":{"friedrice231":56}},{"path":"src/main/java/pawpal/tasks/Event.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"friedrice231"},"content":"package pawpal.tasks;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"friedrice231"},"content":"import java.time.LocalDateTime;","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"friedrice231"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"friedrice231"},"content":"import java.time.format.DateTimeParseException;","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"friedrice231"},"content":"import java.util.Optional;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"friedrice231"},"content":"/**","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"friedrice231"},"content":" * Represents a task that has a specific time range (start and end).","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"friedrice231"},"content":" * Extends the Task class by adding start and end times.","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"friedrice231"},"content":"public class Event extends Task {","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"friedrice231"},"content":" private static final DateTimeFormatter INPUT_FORMAT \u003d DateTimeFormatter.ofPattern(\"d/M/yyyy HHmm\");","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"friedrice231"},"content":" private static final DateTimeFormatter OUTPUT_FORMAT \u003d DateTimeFormatter.ofPattern(\"MMM dd yyyy, h:mm a\");","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"friedrice231"},"content":" private final String start;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"friedrice231"},"content":" private final String end;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"friedrice231"},"content":" private final Optional\u003cLocalDateTime\u003e startDateTime;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"friedrice231"},"content":" private final Optional\u003cLocalDateTime\u003e endDateTime;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"friedrice231"},"content":" /**","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"friedrice231"},"content":" * Constructs a new Event task.","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"friedrice231"},"content":" *","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"friedrice231"},"content":" * @param description The description of the event task.","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"friedrice231"},"content":" * @param start The starting time of the event.","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"friedrice231"},"content":" * @param end The ending time of the event.","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"friedrice231"},"content":" public Event(String description, String start, String end) {","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"friedrice231"},"content":" super(description);","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"friedrice231"},"content":" this.start \u003d start;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"friedrice231"},"content":" this.end \u003d end;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"friedrice231"},"content":" this.startDateTime \u003d parseDateTime(start);","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"friedrice231"},"content":" this.endDateTime \u003d parseDateTime(end);","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"friedrice231"},"content":" assert startDateTime.isEmpty() || endDateTime.isEmpty() || !startDateTime.get().isAfter(endDateTime.get())","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"friedrice231"},"content":" : \"Event start date/time should not be after end date/time\";","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"friedrice231"},"content":" /**","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"friedrice231"},"content":" * Parses the given date-time string into LocalDateTime if possible.","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"friedrice231"},"content":" *","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"friedrice231"},"content":" * @param dateTime The input date-time string.","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"friedrice231"},"content":" * @return An Optional containing the parsed LocalDateTime, or empty if parsing fails.","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"friedrice231"},"content":" private Optional\u003cLocalDateTime\u003e parseDateTime(String dateTime) {","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"friedrice231"},"content":" try {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"friedrice231"},"content":" return Optional.of(LocalDateTime.parse(dateTime, INPUT_FORMAT));","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"friedrice231"},"content":" } catch (DateTimeParseException e) {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"friedrice231"},"content":" return Optional.empty();","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"friedrice231"},"content":" /**","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"friedrice231"},"content":" * Returns the string representation of the event task.","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"friedrice231"},"content":" *","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"friedrice231"},"content":" * @return A string in the format \"[E][status] description from: start to: end\".","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"friedrice231"},"content":" @Override","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"friedrice231"},"content":" public String toString() {","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"friedrice231"},"content":" String formattedStart \u003d startDateTime","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"friedrice231"},"content":" .map(dateTime -\u003e dateTime.format(OUTPUT_FORMAT))","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"friedrice231"},"content":" .orElse(start);","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"friedrice231"},"content":" String formattedEnd \u003d endDateTime","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"friedrice231"},"content":" .map(dateTime -\u003e dateTime.format(OUTPUT_FORMAT))","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"friedrice231"},"content":" .orElse(end);","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"friedrice231"},"content":" return \"[E]\" + super.toString() + \" from: \" + formattedStart + \" to: \" + formattedEnd;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"friedrice231"},"content":"}","lastModifiedDate":"2025-01-30","isFullCredit":false}],"authorContributionMap":{"friedrice231":69}},{"path":"src/main/java/pawpal/tasks/Task.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"friedrice231"},"content":"package pawpal.tasks;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"friedrice231"},"content":"import java.time.LocalDateTime;","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"friedrice231"},"content":"import java.util.Optional;","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"friedrice231"},"content":"/**","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"friedrice231"},"content":" * Represents a generic task with a description and completion status.","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"friedrice231"},"content":" * This class serves as the base class for specific task types such as ToDo, Deadline, and Event.","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"friedrice231"},"content":"public class Task implements Comparable\u003cTask\u003e {","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"friedrice231"},"content":" protected String description;","lastModifiedDate":"2025-01-28","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"friedrice231"},"content":" protected boolean isDone;","lastModifiedDate":"2025-01-28","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-01-28","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"friedrice231"},"content":" /**","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"friedrice231"},"content":" * Constructs a new Task instance.","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"friedrice231"},"content":" *","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"friedrice231"},"content":" * @param description The description of the task.","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"friedrice231"},"content":" public Task(String description) {","lastModifiedDate":"2025-01-28","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"friedrice231"},"content":" this.description \u003d description;","lastModifiedDate":"2025-01-28","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"friedrice231"},"content":" assert description.isEmpty() : \"Description should not be empty!\";","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"friedrice231"},"content":" this.isDone \u003d false; // Tasks are not done by default","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-01-28","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-01-28","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"friedrice231"},"content":" /**","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"friedrice231"},"content":" * Returns the status icon representing the task\u0027s completion status.","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"friedrice231"},"content":" *","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"friedrice231"},"content":" * @return \"X\" if the task is done, otherwise a blank space \" \".","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"friedrice231"},"content":" public String getStatusIcon() {","lastModifiedDate":"2025-01-28","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"friedrice231"},"content":" return (isDone ? \"X\" : \" \");","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-01-28","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-01-28","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"friedrice231"},"content":" /**","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"friedrice231"},"content":" * Marks the task as completed.","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"friedrice231"},"content":" public void markAsDone() {","lastModifiedDate":"2025-01-28","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"friedrice231"},"content":" isDone \u003d true;","lastModifiedDate":"2025-01-28","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-01-28","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-01-28","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"friedrice231"},"content":" /**","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"friedrice231"},"content":" * Marks the task as not completed.","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"friedrice231"},"content":" public void markAsNotDone() {","lastModifiedDate":"2025-01-28","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"friedrice231"},"content":" isDone \u003d false;","lastModifiedDate":"2025-01-28","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-01-28","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-01-28","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"friedrice231"},"content":" /**","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"friedrice231"},"content":" * Returns the description of the task.","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"friedrice231"},"content":" *","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"friedrice231"},"content":" * @return The task description.","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"friedrice231"},"content":" public String getDescription() {","lastModifiedDate":"2025-01-28","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"friedrice231"},"content":" return description;","lastModifiedDate":"2025-01-28","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-01-28","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"friedrice231"},"content":" /**","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"friedrice231"},"content":" * Returns priority order of task type:","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"friedrice231"},"content":" * 0 - ToDo","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"friedrice231"},"content":" * 1 - Deadline","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"friedrice231"},"content":" * 2 - Event","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"friedrice231"},"content":" protected int getTaskTypePriority() {","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"friedrice231"},"content":" return switch (this) {","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"friedrice231"},"content":" case ToDo toDo -\u003e 0;","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"friedrice231"},"content":" case Deadline deadline -\u003e 1;","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"friedrice231"},"content":" case Event event -\u003e 2;","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"friedrice231"},"content":" default -\u003e 3;","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"friedrice231"},"content":" };","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"friedrice231"},"content":" /**","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"friedrice231"},"content":" * Retrieves the relevant date-time for sorting.","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"friedrice231"},"content":" * ToDo tasks return MAX value to always stay in order.","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"friedrice231"},"content":" protected Optional\u003cLocalDateTime\u003e getSortDateTime() {","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"friedrice231"},"content":" return Optional.empty(); // Default for ToDo tasks","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"friedrice231"},"content":" @Override","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"friedrice231"},"content":" public int compareTo(Task other) {","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"friedrice231"},"content":" int typeComparison \u003d Integer.compare(this.getTaskTypePriority(), other.getTaskTypePriority());","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"friedrice231"},"content":" if (typeComparison !\u003d 0) {","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"friedrice231"},"content":" return typeComparison; // Sort by task type first","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"friedrice231"},"content":" // If same type, compare by date","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"friedrice231"},"content":" return this.getSortDateTime().orElse(LocalDateTime.MAX)","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"friedrice231"},"content":" .compareTo(other.getSortDateTime().orElse(LocalDateTime.MAX));","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-01-28","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"friedrice231"},"content":" /**","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"friedrice231"},"content":" * Returns the string representation of the task.","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"friedrice231"},"content":" *","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"friedrice231"},"content":" * @return A string in the format \"[status] description\".","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"friedrice231"},"content":" @Override","lastModifiedDate":"2025-01-28","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"friedrice231"},"content":" public String toString() {","lastModifiedDate":"2025-01-28","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"friedrice231"},"content":" return \"[\" + getStatusIcon() + \"] \" + description;","lastModifiedDate":"2025-01-28","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-01-28","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"friedrice231"},"content":"}","lastModifiedDate":"2025-01-28","isFullCredit":false}],"authorContributionMap":{"friedrice231":100}},{"path":"src/main/java/pawpal/tasks/ToDo.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"friedrice231"},"content":"package pawpal.tasks;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"friedrice231"},"content":"/**","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"friedrice231"},"content":" * Represents a task without a specific deadline or time range.","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"friedrice231"},"content":" * This class extends the Task class.","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"friedrice231"},"content":"public class ToDo extends Task {","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"friedrice231"},"content":" /**","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"friedrice231"},"content":" * Constructs a new ToDo task.","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"friedrice231"},"content":" *","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"friedrice231"},"content":" * @param description The description of the ToDo task.","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"friedrice231"},"content":" public ToDo(String description) {","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"friedrice231"},"content":" super(description);","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"friedrice231"},"content":" /**","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"friedrice231"},"content":" * Returns the string representation of the ToDo task.","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"friedrice231"},"content":" *","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"friedrice231"},"content":" * @return A string in the format \"[T][status] description\".","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"friedrice231"},"content":" @Override","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"friedrice231"},"content":" public String toString() {","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"friedrice231"},"content":" return \"[T]\" + super.toString();","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-01-30","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"friedrice231"},"content":"}","lastModifiedDate":"2025-01-30","isFullCredit":false}],"authorContributionMap":{"friedrice231":27}},{"path":"src/main/java/pawpal/utils/Command.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"friedrice231"},"content":"package pawpal.utils;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"friedrice231"},"content":"/**","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"friedrice231"},"content":" * List of accepted commands by PawPal.","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"friedrice231"},"content":"public enum Command {","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"friedrice231"},"content":" LIST, MARK, UNMARK, TODO, DEADLINE, EVENT, DELETE, FIND, CHEER, BYE, SORT, INVALID","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"friedrice231"},"content":"}","lastModifiedDate":"2025-02-01","isFullCredit":false}],"authorContributionMap":{"friedrice231":8}},{"path":"src/main/java/pawpal/utils/Printer.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"friedrice231"},"content":"package pawpal.utils;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"friedrice231"},"content":"import java.util.List;","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"friedrice231"},"content":"import pawpal.tasks.Task;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"friedrice231"},"content":"/**","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"friedrice231"},"content":" * Defines the printer class and its statements.","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"friedrice231"},"content":"public class Printer {","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"friedrice231"},"content":" // Added methods for greeting, bye, and error messages","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"friedrice231"},"content":" public static String getGreetingMessage(String appName) {","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"friedrice231"},"content":" return \"Meow there! Welcome to \" + appName + \"!\\nHow can I help you pounce on your tasks today?\";","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"friedrice231"},"content":" public static String getByeMessage() {","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"friedrice231"},"content":" return \"Farewell, human! May your naps be long and your adventures many! Meow!\";","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"friedrice231"},"content":" public static String getLoadingErrorMessage() {","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"friedrice231"},"content":" return \"Oops! I tripped over a yarn ball while loading tasks from file.\";","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"friedrice231"},"content":" public static String getSavingErrorMessage() {","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"friedrice231"},"content":" return \"Uh-oh! A sneaky cat toy got in the way while saving tasks to file.\";","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"friedrice231"},"content":" // Existing task-related messages","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"friedrice231"},"content":" public static String getTaskAddedMessage(String description, int taskCount) {","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"friedrice231"},"content":" return \"Purrfect! I\u0027ve added the task: \" + description","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"friedrice231"},"content":" + \"\\nNow you have \" + taskCount + \" tasks to chase.\";","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"friedrice231"},"content":" public static String getTaskDeletedMessage(Task task, int taskCount) {","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"friedrice231"},"content":" return \"I\u0027ve swiped away the task: \" + task","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"friedrice231"},"content":" + \"\\nNow there are \" + taskCount + \" tasks remaining in your kitty checklist.\";","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"friedrice231"},"content":" public static String getTaskMarkedMessage(Task task) {","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"friedrice231"},"content":" return \"That task is now purr-fectly completed:\\n\" + task;","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"friedrice231"},"content":" public static String getTaskUnmarkedMessage(Task task) {","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"friedrice231"},"content":" return \"Even the best cats need a second try. Task reset to not done:\\n\" + task;","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"friedrice231"},"content":" public static String getTaskListString(List\u003cTask\u003e tasks) {","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"friedrice231"},"content":" if (tasks.isEmpty()) {","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"friedrice231"},"content":" return \"Your task list is as empty as a food bowl before dinner!\";","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"friedrice231"},"content":" StringBuilder sb \u003d new StringBuilder(\"Here are your tasks, ready for a purr-fect day:\\n\");","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"friedrice231"},"content":" for (int i \u003d 0; i \u003c tasks.size(); i++) {","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"friedrice231"},"content":" sb.append((i + 1)).append(\". \").append(tasks.get(i)).append(\"\\n\");","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"friedrice231"},"content":" return sb.toString().trim();","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"friedrice231"},"content":" public static String getMatchingTasksMessage(List\u003cTask\u003e tasks) {","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"friedrice231"},"content":" if (tasks.isEmpty()) {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"friedrice231"},"content":" return \"No matching tasks found. Did the cat hide them?\";","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"friedrice231"},"content":" StringBuilder sb \u003d new StringBuilder(\"Here are your matching tasks:\\n\");","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"friedrice231"},"content":" for (int i \u003d 0; i \u003c tasks.size(); i++) {","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"friedrice231"},"content":" sb.append((i + 1)).append(\". \").append(tasks.get(i)).append(\"\\n\");","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"friedrice231"},"content":" return sb.toString().trim();","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"friedrice231"},"content":" public static String getInvalidTaskNumberMessage() {","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"friedrice231"},"content":" return \"Invalid task number! Did you mistake a shadow for a task?\";","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"friedrice231"},"content":" public static String getInvalidCommandMessage() {","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"friedrice231"},"content":" return \"Hiss! I don\u0027t understand that command. Please try a valid one.\";","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"friedrice231"},"content":" public static String printBye() {","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"friedrice231"},"content":" return \"Bye! I\u0027ll be purring until we meet again.\";","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"friedrice231"},"content":" public static String getTodoUsageMessage() {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"friedrice231"},"content":" return \"\"\"","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"friedrice231"},"content":" To create a ToDo, use the format:","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"friedrice231"},"content":" todo \u003cdescription\u003e","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"friedrice231"},"content":" Don\u0027t leave out the purr-scription!\"\"\";","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"friedrice231"},"content":" public static String getDeadlineUsageMessage() {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"friedrice231"},"content":" return \"\"\"","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"friedrice231"},"content":" For a Deadline, please use the format:","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"friedrice231"},"content":" deadline \u003cdescription\u003e /by \u003cdeadline info\u003e","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"friedrice231"},"content":" Don\u0027t let your tasks slip through your paws!\"\"\";","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"friedrice231"},"content":" public static String getEventUsageMessage() {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"friedrice231"},"content":" return \"\"\"","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"friedrice231"},"content":" For an Event, please use the format:","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"friedrice231"},"content":" event \u003cdescription\u003e /from \u003cstart\u003e /to \u003cend\u003e","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"friedrice231"},"content":" Time to mark your calendars and chase the fun!\"\"\";","lastModifiedDate":"2025-02-25","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"friedrice231"},"content":"}","lastModifiedDate":"2025-02-01","isFullCredit":false}],"authorContributionMap":{"friedrice231":103}},{"path":"src/main/java/pawpal/utils/Storage.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"friedrice231"},"content":"package pawpal.utils;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"friedrice231"},"content":"import java.io.BufferedReader;","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"friedrice231"},"content":"import java.io.BufferedWriter;","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"friedrice231"},"content":"import java.io.File;","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"friedrice231"},"content":"import java.io.FileReader;","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"friedrice231"},"content":"import java.io.FileWriter;","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"friedrice231"},"content":"import java.io.IOException;","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"friedrice231"},"content":"import java.util.ArrayList;","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"friedrice231"},"content":"import java.util.List;","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"friedrice231"},"content":"import java.util.Optional;","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"friedrice231"},"content":"import java.util.Random;","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"friedrice231"},"content":"import pawpal.tasks.Deadline;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"friedrice231"},"content":"import pawpal.tasks.Event;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"friedrice231"},"content":"import pawpal.tasks.Task;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"friedrice231"},"content":"import pawpal.tasks.ToDo;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"friedrice231"},"content":"/**","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"friedrice231"},"content":" * Handles loading and saving tasks from and to a file.","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"friedrice231"},"content":"public class Storage {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"friedrice231"},"content":" private final String taskFilePath;","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"friedrice231"},"content":" /**","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"friedrice231"},"content":" * Constructs a new Storage instance.","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"friedrice231"},"content":" *","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"friedrice231"},"content":" * @param filePath The path to the file where tasks are stored.","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"friedrice231"},"content":" public Storage(String filePath) {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"friedrice231"},"content":" this.taskFilePath \u003d filePath;","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"friedrice231"},"content":" /**","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"friedrice231"},"content":" * Loads tasks from the file and returns them as a list.","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"friedrice231"},"content":" *","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"friedrice231"},"content":" * @return A list of tasks loaded from the file.","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"friedrice231"},"content":" * @throws IOException If an error occurs while reading the file.","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"friedrice231"},"content":" public List\u003cTask\u003e loadTasks() throws IOException {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"friedrice231"},"content":" List\u003cTask\u003e tasks \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"friedrice231"},"content":" File file \u003d new File(taskFilePath);","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"friedrice231"},"content":" if (!file.exists()) {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"friedrice231"},"content":" return tasks; // Return an empty list if the file doesn\u0027t exist","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"friedrice231"},"content":" try (BufferedReader reader \u003d new BufferedReader(new FileReader(file))) {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"friedrice231"},"content":" String line;","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"friedrice231"},"content":" while ((line \u003d reader.readLine()) !\u003d null) {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"friedrice231"},"content":" Optional\u003cTask\u003e maybeTask \u003d parseTask(line);","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"friedrice231"},"content":" maybeTask.ifPresent(tasks::add);","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"friedrice231"},"content":" return tasks;","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"friedrice231"},"content":" /**","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"friedrice231"},"content":" * Saves the current list of tasks to the file.","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"friedrice231"},"content":" *","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"friedrice231"},"content":" * @param tasks The list of tasks to be saved.","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"friedrice231"},"content":" * @throws IOException If an error occurs while writing to the file.","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"friedrice231"},"content":" public void saveTasks(List\u003cTask\u003e tasks) throws IOException {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"friedrice231"},"content":" File file \u003d new File(taskFilePath);","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"friedrice231"},"content":" file.getParentFile().mkdirs(); // Ensure the directory exists","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"friedrice231"},"content":" try (BufferedWriter writer \u003d new BufferedWriter(new FileWriter(file))) {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"friedrice231"},"content":" for (Task task : tasks) {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"friedrice231"},"content":" writer.write(task.toString());","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"friedrice231"},"content":" writer.newLine();","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"friedrice231"},"content":" /**","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"friedrice231"},"content":" * Parses a line from the task file and creates the corresponding task object.","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"friedrice231"},"content":" *","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"friedrice231"},"content":" * @param line The line representing a task in the saved file.","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"friedrice231"},"content":" * @return The parsed task object, or null if the line is malformed.","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"friedrice231"},"content":" private Optional\u003cTask\u003e parseTask(String line) {","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"friedrice231"},"content":" // Guard clause: blank line or null","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"friedrice231"},"content":" if (line \u003d\u003d null || line.isBlank()) {","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"friedrice231"},"content":" return Optional.empty();","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"friedrice231"},"content":" // Validate length to avoid IndexOutOfBounds","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"friedrice231"},"content":" if (line.length() \u003c 7) {","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"friedrice231"},"content":" System.out.println(\"Skipping malformed (too short) task line: \" + line);","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"friedrice231"},"content":" return Optional.empty();","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"friedrice231"},"content":" String taskType \u003d line.substring(1, 2);","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"friedrice231"},"content":" boolean isDone \u003d (line.charAt(4) \u003d\u003d \u0027X\u0027);","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"friedrice231"},"content":" String details \u003d line.substring(7).trim();","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"friedrice231"},"content":" // 1) Get Optional\u003cTask\u003e from helper","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"friedrice231"},"content":" Optional\u003cTask\u003e maybeTask \u003d createTaskFromType(taskType, details);","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"friedrice231"},"content":" // 2) If empty, skip","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"friedrice231"},"content":" if (maybeTask.isEmpty()) {","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"friedrice231"},"content":" System.out.println(\"Skipping malformed (invalid format) task line: \" + line);","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"friedrice231"},"content":" return Optional.empty();","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"friedrice231"},"content":" // 3) Extract the Task and mark if done","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"friedrice231"},"content":" Task task \u003d maybeTask.get();","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"friedrice231"},"content":" if (isDone) {","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"friedrice231"},"content":" task.markAsDone();","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"friedrice231"},"content":" return Optional.of(task);","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"friedrice231"},"content":" private Optional\u003cTask\u003e createTaskFromType(String taskType, String details) {","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"friedrice231"},"content":" switch (taskType) {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"friedrice231"},"content":" case \"T\":","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"friedrice231"},"content":" return parseToDo(details);","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"friedrice231"},"content":" case \"D\":","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"friedrice231"},"content":" return parseDeadline(details);","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"friedrice231"},"content":" case \"E\":","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"friedrice231"},"content":" return parseEvent(details);","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"friedrice231"},"content":" default:","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"friedrice231"},"content":" return Optional.empty();","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"friedrice231"},"content":" private Optional\u003cTask\u003e parseToDo(String details) {","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"friedrice231"},"content":" // If you want to guard for empty details, do so here","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"friedrice231"},"content":" return Optional.of(new ToDo(details));","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"friedrice231"},"content":" private Optional\u003cTask\u003e parseDeadline(String details) {","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"friedrice231"},"content":" // e.g., \"Some desc (by: 12/12/2024 1800)\"","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"friedrice231"},"content":" String[] parts \u003d details.split(\"\\\\(by: \", 2);","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"friedrice231"},"content":" if (parts.length \u003c 2) {","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"friedrice231"},"content":" return Optional.empty();","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"friedrice231"},"content":" String desc \u003d parts[0].trim();","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"friedrice231"},"content":" String deadlineStr \u003d parts[1].replace(\")\", \"\").trim();","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"friedrice231"},"content":" return Optional.of(new Deadline(desc, deadlineStr));","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"friedrice231"},"content":" private Optional\u003cTask\u003e parseEvent(String details) {","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"friedrice231"},"content":" // e.g. \"Meeting from: 12/12/2024 1800 to: 12/12/2024 2000\"","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"friedrice231"},"content":" String[] parts \u003d details.split(\"from: | to: \");","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"friedrice231"},"content":" if (parts.length \u003c 3) {","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"friedrice231"},"content":" return Optional.empty();","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"friedrice231"},"content":" return Optional.of(new Event(parts[0].trim(), parts[1].trim(), parts[2].trim()));","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"friedrice231"},"content":" /**","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"friedrice231"},"content":" * Retrieves a random motivational quote from a file.","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"friedrice231"},"content":" *","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"friedrice231"},"content":" * @param cheerFilePath The path to the cheer quotes file.","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"friedrice231"},"content":" * @return A randomly selected quote from the file.","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"friedrice231"},"content":" * @throws IOException If an error occurs while reading the file.","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"friedrice231"},"content":" public String getRandomQuote(String cheerFilePath) throws IOException {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"friedrice231"},"content":" File file \u003d new File(cheerFilePath);","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"friedrice231"},"content":" if (!file.exists()) {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"friedrice231"},"content":" return \"File not found!\";","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"friedrice231"},"content":" List\u003cString\u003e quotes \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"friedrice231"},"content":" try (BufferedReader reader \u003d new BufferedReader(new FileReader(file))) {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":173,"author":{"gitId":"friedrice231"},"content":" String line;","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":174,"author":{"gitId":"friedrice231"},"content":" while ((line \u003d reader.readLine()) !\u003d null) {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":175,"author":{"gitId":"friedrice231"},"content":" if (!line.trim().isEmpty()) {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":176,"author":{"gitId":"friedrice231"},"content":" quotes.add(line.trim());","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":177,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":178,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":179,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":180,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":181,"author":{"gitId":"friedrice231"},"content":" if (quotes.isEmpty()) {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":182,"author":{"gitId":"friedrice231"},"content":" return \"No cheers found!\";","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":183,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":184,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":185,"author":{"gitId":"friedrice231"},"content":" Random random \u003d new Random();","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":186,"author":{"gitId":"friedrice231"},"content":" return quotes.get(random.nextInt(quotes.size()));","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":187,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":188,"author":{"gitId":"friedrice231"},"content":"}","lastModifiedDate":"2025-02-07","isFullCredit":false}],"authorContributionMap":{"friedrice231":188}},{"path":"src/main/java/pawpal/utils/TaskList.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"friedrice231"},"content":"package pawpal.utils;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"friedrice231"},"content":"import java.io.IOException;","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"friedrice231"},"content":"import java.util.ArrayList;","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"friedrice231"},"content":"import java.util.Collections;","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"friedrice231"},"content":"import java.util.List;","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"friedrice231"},"content":"import java.util.stream.Collectors;","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"friedrice231"},"content":"import pawpal.tasks.Deadline;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"friedrice231"},"content":"import pawpal.tasks.Event;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"friedrice231"},"content":"import pawpal.tasks.Task;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"friedrice231"},"content":"import pawpal.tasks.ToDo;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"friedrice231"},"content":"/**","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"friedrice231"},"content":" * Manages the task list, including adding, removing, and updating tasks.","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"friedrice231"},"content":"public class TaskList {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"friedrice231"},"content":" private final List\u003cTask\u003e tasks;","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"friedrice231"},"content":" private final Storage storage;","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"friedrice231"},"content":" /**","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"friedrice231"},"content":" * Constructs a new {@code TaskList} with an empty task list.","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"friedrice231"},"content":" * Initializes storage and loads tasks.","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"friedrice231"},"content":" public TaskList(Storage storage) {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"friedrice231"},"content":" this.tasks \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"friedrice231"},"content":" this.storage \u003d storage;","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"friedrice231"},"content":" loadTasksFromStorage();","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"friedrice231"},"content":" /**","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"friedrice231"},"content":" * Loads tasks from storage when the application starts.","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"friedrice231"},"content":" private void loadTasksFromStorage() {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"friedrice231"},"content":" try {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"friedrice231"},"content":" tasks.addAll(storage.loadTasks());","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"friedrice231"},"content":" } catch (IOException e) {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"friedrice231"},"content":" throw new RuntimeException(\"Error loading tasks.\", e);","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"friedrice231"},"content":" /**","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"friedrice231"},"content":" * Adds a new ToDo task to the list.","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"friedrice231"},"content":" *","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"friedrice231"},"content":" * @param description The description of the ToDo task.","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"friedrice231"},"content":" * @return The response message after successfully adding the task.","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"friedrice231"},"content":" public String addToDo(String description) {","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"friedrice231"},"content":" if (description \u003d\u003d null || description.trim().isEmpty()) {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"friedrice231"},"content":" throw new IllegalArgumentException(\"Task description cannot be empty!\");","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"friedrice231"},"content":" Task task \u003d new ToDo(description);","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"friedrice231"},"content":" tasks.add(task);","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"friedrice231"},"content":" return Printer.getTaskAddedMessage(task.toString(), tasks.size());","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"friedrice231"},"content":" /**","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"friedrice231"},"content":" * Adds a new Deadline task to the list.","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"friedrice231"},"content":" *","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"friedrice231"},"content":" * @param description The description of the Deadline task.","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"friedrice231"},"content":" * @param deadline The due date and time for the task.","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"friedrice231"},"content":" * @return The response message after successfully adding the task.","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"friedrice231"},"content":" public String addDeadline(String description, String deadline) {","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"friedrice231"},"content":" Task task \u003d new Deadline(description, deadline);","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"friedrice231"},"content":" tasks.add(task);","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"friedrice231"},"content":" return Printer.getTaskAddedMessage(task.toString(), tasks.size());","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"friedrice231"},"content":" /**","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"friedrice231"},"content":" * Adds a new Event task to the list.","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"friedrice231"},"content":" *","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"friedrice231"},"content":" * @param description The description of the Event task.","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"friedrice231"},"content":" * @param from The starting time of the event.","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"friedrice231"},"content":" * @param to The ending time of the event.","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"friedrice231"},"content":" * @return The response message after successfully adding the task.","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"friedrice231"},"content":" public String addEvent(String description, String from, String to) {","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"friedrice231"},"content":" Task task \u003d new Event(description, from, to);","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"friedrice231"},"content":" tasks.add(task);","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"friedrice231"},"content":" return Printer.getTaskAddedMessage(task.toString(), tasks.size());","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"friedrice231"},"content":" /**","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"friedrice231"},"content":" * Deletes a task from the list based on the task number.","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"friedrice231"},"content":" *","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"friedrice231"},"content":" * @param taskNumber The 1-based index of the task to be deleted.","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"friedrice231"},"content":" * @return The response message indicating success or failure.","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"friedrice231"},"content":" public String deleteTask(int taskNumber) {","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"friedrice231"},"content":" if (taskNumber \u003e 0 \u0026\u0026 taskNumber \u003c\u003d tasks.size()) {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"friedrice231"},"content":" Task task \u003d tasks.remove(taskNumber - 1);","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"friedrice231"},"content":" return Printer.getTaskDeletedMessage(task, tasks.size());","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"friedrice231"},"content":" return Printer.getInvalidTaskNumberMessage();","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"friedrice231"},"content":" /**","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"friedrice231"},"content":" * Marks a task as completed based on the task number.","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"friedrice231"},"content":" *","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"friedrice231"},"content":" * @param taskNumber The 1-based index of the task to be marked as completed.","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"friedrice231"},"content":" * @return The response message indicating success or failure.","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"friedrice231"},"content":" public String markTask(int taskNumber) {","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"friedrice231"},"content":" if (taskNumber \u003e 0 \u0026\u0026 taskNumber \u003c\u003d tasks.size()) {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"friedrice231"},"content":" Task task \u003d tasks.get(taskNumber - 1);","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"friedrice231"},"content":" task.markAsDone();","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"friedrice231"},"content":" return Printer.getTaskMarkedMessage(task);","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"friedrice231"},"content":" return Printer.getInvalidTaskNumberMessage();","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"friedrice231"},"content":" /**","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"friedrice231"},"content":" * Marks a task as not completed based on the task number.","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"friedrice231"},"content":" *","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"friedrice231"},"content":" * @param taskNumber The 1-based index of the task to be marked as not completed.","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"friedrice231"},"content":" * @return The response message indicating success or failure.","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"friedrice231"},"content":" public String unmarkTask(int taskNumber) {","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":121,"author":{"gitId":"friedrice231"},"content":" if (taskNumber \u003e 0 \u0026\u0026 taskNumber \u003c\u003d tasks.size()) {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":122,"author":{"gitId":"friedrice231"},"content":" Task task \u003d tasks.get(taskNumber - 1);","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":123,"author":{"gitId":"friedrice231"},"content":" task.markAsNotDone();","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":124,"author":{"gitId":"friedrice231"},"content":" return Printer.getTaskUnmarkedMessage(task);","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":125,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":126,"author":{"gitId":"friedrice231"},"content":" return Printer.getInvalidTaskNumberMessage();","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":127,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":128,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":129,"author":{"gitId":"friedrice231"},"content":" /**","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":130,"author":{"gitId":"friedrice231"},"content":" * Searches for tasks that contain the given keyword in their description.","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":131,"author":{"gitId":"friedrice231"},"content":" *","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":132,"author":{"gitId":"friedrice231"},"content":" * @param keyword The keyword to search for in task descriptions.","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":133,"author":{"gitId":"friedrice231"},"content":" * @return The response message listing the matching tasks.","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":134,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":135,"author":{"gitId":"friedrice231"},"content":" public String findTasks(String keyword) {","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":136,"author":{"gitId":"friedrice231"},"content":" List\u003cTask\u003e matchingTasks \u003d tasks.stream()","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":137,"author":{"gitId":"friedrice231"},"content":" .filter(task -\u003e task.getDescription().toLowerCase().contains(keyword.toLowerCase()))","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":138,"author":{"gitId":"friedrice231"},"content":" .collect(Collectors.toList());","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":139,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":140,"author":{"gitId":"friedrice231"},"content":" return Printer.getMatchingTasksMessage(matchingTasks);","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":141,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":142,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":143,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-20","isFullCredit":false},{"lineNumber":144,"author":{"gitId":"friedrice231"},"content":" /**","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":145,"author":{"gitId":"friedrice231"},"content":" * Retrieves a random motivational quote from a file.","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":146,"author":{"gitId":"friedrice231"},"content":" *","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":147,"author":{"gitId":"friedrice231"},"content":" * @return A randomly selected quote from the stored list.","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":148,"author":{"gitId":"friedrice231"},"content":" * @throws IOException If an error occurs while reading the file.","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":149,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":150,"author":{"gitId":"friedrice231"},"content":" public String getRandomQuote() throws IOException {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":151,"author":{"gitId":"friedrice231"},"content":" return storage.getRandomQuote(\"./data/cheer.txt\");","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":152,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":153,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":154,"author":{"gitId":"friedrice231"},"content":" /**","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":155,"author":{"gitId":"friedrice231"},"content":" * Returns the current list of tasks.","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":156,"author":{"gitId":"friedrice231"},"content":" *","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":157,"author":{"gitId":"friedrice231"},"content":" * @return The list of tasks.","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":158,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":159,"author":{"gitId":"friedrice231"},"content":" public List\u003cTask\u003e getTasks() {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":160,"author":{"gitId":"friedrice231"},"content":" return tasks;","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":161,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":162,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":163,"author":{"gitId":"friedrice231"},"content":" /**","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":164,"author":{"gitId":"friedrice231"},"content":" * Sorts the tasks in the following order:","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":165,"author":{"gitId":"friedrice231"},"content":" * 1. ToDo tasks first","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":166,"author":{"gitId":"friedrice231"},"content":" * 2. Deadline tasks sorted by the nearest deadline","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":167,"author":{"gitId":"friedrice231"},"content":" * 3. Event tasks sorted by the earliest start time","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":168,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":169,"author":{"gitId":"friedrice231"},"content":" public void sortTasks() {","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":170,"author":{"gitId":"friedrice231"},"content":" Collections.sort(tasks);","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":171,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":172,"author":{"gitId":"friedrice231"},"content":"}","lastModifiedDate":"2025-02-07","isFullCredit":false}],"authorContributionMap":{"friedrice231":172}},{"path":"src/main/java/pawpal/utils/Ui.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"friedrice231"},"content":"package pawpal.utils;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"friedrice231"},"content":"import java.util.List;","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"friedrice231"},"content":"import java.util.Scanner;","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"friedrice231"},"content":"import pawpal.tasks.Task;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"friedrice231"},"content":"/**","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"friedrice231"},"content":" * Handles interactions with the user, including displaying messages and reading input.","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"friedrice231"},"content":" * Delegates message generation to the Printer class.","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"friedrice231"},"content":"public class Ui {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"friedrice231"},"content":" private final Scanner scanner;","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"friedrice231"},"content":" /**","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"friedrice231"},"content":" * Constructs a new {@code Ui} instance.","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"friedrice231"},"content":" public Ui() {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"friedrice231"},"content":" scanner \u003d new Scanner(System.in);","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"friedrice231"},"content":" /**","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"friedrice231"},"content":" * Displays a greeting message to the user.","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"friedrice231"},"content":" public void showGreeting() {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"friedrice231"},"content":" System.out.println(Printer.getGreetingMessage(\"PawPal\"));","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"friedrice231"},"content":" /**","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"friedrice231"},"content":" * Displays a farewell message to the user.","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"friedrice231"},"content":" public void showBye() {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"friedrice231"},"content":" System.out.println(Printer.getByeMessage());","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"friedrice231"},"content":" /**","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"friedrice231"},"content":" * Displays an error message when loading tasks fails.","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"friedrice231"},"content":" public void showLoadingError() {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"friedrice231"},"content":" System.out.println(Printer.getLoadingErrorMessage());","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"friedrice231"},"content":" /**","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"friedrice231"},"content":" * Displays an error message when saving tasks fails.","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"friedrice231"},"content":" public void showSavingError() {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"friedrice231"},"content":" System.out.println(Printer.getSavingErrorMessage());","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"friedrice231"},"content":" /**","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"friedrice231"},"content":" * Displays the list of tasks to the user.","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"friedrice231"},"content":" *","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"friedrice231"},"content":" * @param tasks The list of tasks to display.","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"friedrice231"},"content":" public void showTaskList(List\u003cTask\u003e tasks) {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"friedrice231"},"content":" System.out.println(Printer.getTaskListString(tasks));","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"friedrice231"},"content":" /**","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"friedrice231"},"content":" * Displays a message when a task is added to the list.","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"friedrice231"},"content":" *","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"friedrice231"},"content":" * @param task The task that was added.","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"friedrice231"},"content":" * @param taskCount The current number of tasks in the list.","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"friedrice231"},"content":" public void showTaskAdded(Task task, int taskCount) {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"friedrice231"},"content":" System.out.println(Printer.getTaskAddedMessage(task.toString(), taskCount));","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"friedrice231"},"content":" /**","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"friedrice231"},"content":" * Displays a message when a task is deleted from the list.","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"friedrice231"},"content":" *","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"friedrice231"},"content":" * @param task The task that was deleted.","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"friedrice231"},"content":" * @param taskCount The current number of tasks remaining in the list.","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"friedrice231"},"content":" public void showTaskDeleted(Task task, int taskCount) {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"friedrice231"},"content":" System.out.println(Printer.getTaskDeletedMessage(task, taskCount));","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"friedrice231"},"content":" /**","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"friedrice231"},"content":" * Displays a message when a task is marked as completed.","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"friedrice231"},"content":" *","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"friedrice231"},"content":" * @param task The task that was marked.","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":84,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":85,"author":{"gitId":"friedrice231"},"content":" public void showTaskMarked(Task task) {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":86,"author":{"gitId":"friedrice231"},"content":" System.out.println(Printer.getTaskMarkedMessage(task));","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":87,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":88,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":89,"author":{"gitId":"friedrice231"},"content":" /**","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":90,"author":{"gitId":"friedrice231"},"content":" * Displays a message when a task is unmarked (set to incomplete).","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":91,"author":{"gitId":"friedrice231"},"content":" *","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":92,"author":{"gitId":"friedrice231"},"content":" * @param task The task that was unmarked.","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":93,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":94,"author":{"gitId":"friedrice231"},"content":" public void showTaskUnmarked(Task task) {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":95,"author":{"gitId":"friedrice231"},"content":" System.out.println(Printer.getTaskUnmarkedMessage(task));","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":96,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":97,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":98,"author":{"gitId":"friedrice231"},"content":" /**","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":99,"author":{"gitId":"friedrice231"},"content":" * Displays an error message when the user enters an invalid task number.","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":100,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":101,"author":{"gitId":"friedrice231"},"content":" public void showInvalidTaskNumber() {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":102,"author":{"gitId":"friedrice231"},"content":" System.out.println(Printer.getInvalidTaskNumberMessage());","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":103,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":104,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":105,"author":{"gitId":"friedrice231"},"content":" /**","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":106,"author":{"gitId":"friedrice231"},"content":" * Displays an error message when the user enters an invalid command.","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":107,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":108,"author":{"gitId":"friedrice231"},"content":" public void showInvalidCommand() {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":109,"author":{"gitId":"friedrice231"},"content":" System.out.println(Printer.getInvalidCommandMessage());","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":110,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":111,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":112,"author":{"gitId":"friedrice231"},"content":" /**","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":113,"author":{"gitId":"friedrice231"},"content":" * Reads the next line of input from the user.","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":114,"author":{"gitId":"friedrice231"},"content":" *","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":115,"author":{"gitId":"friedrice231"},"content":" * @return The user input as a trimmed string.","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":116,"author":{"gitId":"friedrice231"},"content":" */","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":117,"author":{"gitId":"friedrice231"},"content":" public String readCommand() {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":118,"author":{"gitId":"friedrice231"},"content":" return scanner.nextLine().trim();","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":119,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":120,"author":{"gitId":"friedrice231"},"content":"}","lastModifiedDate":"2025-02-07","isFullCredit":false}],"authorContributionMap":{"friedrice231":120}},{"path":"src/main/resources/view/DialogBox.fxml","fileType":"fxml","lines":[{"lineNumber":1,"author":{"gitId":"friedrice231"},"content":"\u003c?xml version\u003d\"1.0\" encoding\u003d\"UTF-8\"?\u003e","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"friedrice231"},"content":"\u003c?import javafx.geometry.Insets?\u003e","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"friedrice231"},"content":"\u003c?import javafx.scene.control.Label?\u003e","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"friedrice231"},"content":"\u003c?import javafx.scene.image.ImageView?\u003e","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"friedrice231"},"content":"\u003c?import javafx.scene.layout.HBox?\u003e","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"friedrice231"},"content":"\u003cfx:root alignment\u003d\"TOP_RIGHT\"","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"friedrice231"},"content":" maxHeight\u003d\"1.7976931348623157E308\"","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"friedrice231"},"content":" maxWidth\u003d\"1.7976931348623157E308\"","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"friedrice231"},"content":" spacing\u003d\"10\"","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"friedrice231"},"content":" type\u003d\"javafx.scene.layout.HBox\"","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"friedrice231"},"content":" xmlns\u003d\"http://javafx.com/javafx/17\"","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"friedrice231"},"content":" xmlns:fx\u003d\"http://javafx.com/fxml/1\"\u003e","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"friedrice231"},"content":" \u003cchildren\u003e","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"friedrice231"},"content":" \u003cLabel fx:id\u003d\"dialog\" text\u003d\"Hello!\" wrapText\u003d\"true\" maxWidth\u003d\"300\"/\u003e","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"friedrice231"},"content":" \u003cImageView fx:id\u003d\"displayPicture\" fitHeight\u003d\"50.0\" fitWidth\u003d\"50.0\"","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"friedrice231"},"content":" pickOnBounds\u003d\"true\" preserveRatio\u003d\"true\"/\u003e","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"friedrice231"},"content":" \u003c/children\u003e","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"friedrice231"},"content":" \u003cpadding\u003e","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"friedrice231"},"content":" \u003cInsets bottom\u003d\"10.0\" left\u003d\"10.0\" right\u003d\"10.0\" top\u003d\"10.0\"/\u003e","lastModifiedDate":"2025-02-21","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"friedrice231"},"content":" \u003c/padding\u003e","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"friedrice231"},"content":"\u003c/fx:root\u003e","lastModifiedDate":"2025-02-13","isFullCredit":false}],"authorContributionMap":{"friedrice231":23}},{"path":"src/main/resources/view/MainWindow.fxml","fileType":"fxml","lines":[{"lineNumber":1,"author":{"gitId":"friedrice231"},"content":"\u003c?xml version\u003d\"1.0\" encoding\u003d\"UTF-8\"?\u003e","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"friedrice231"},"content":"\u003c?import javafx.scene.control.Button?\u003e","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"friedrice231"},"content":"\u003c?import javafx.scene.control.ScrollPane?\u003e","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"friedrice231"},"content":"\u003c?import javafx.scene.control.TextField?\u003e","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"friedrice231"},"content":"\u003c?import javafx.scene.layout.AnchorPane?\u003e","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"friedrice231"},"content":"\u003c?import javafx.scene.layout.VBox?\u003e","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"friedrice231"},"content":"\u003cAnchorPane maxHeight\u003d\"-Infinity\" maxWidth\u003d\"-Infinity\" minHeight\u003d\"-Infinity\" minWidth\u003d\"-Infinity\" prefHeight\u003d\"600.0\"","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"friedrice231"},"content":" prefWidth\u003d\"400.0\" xmlns\u003d\"http://javafx.com/javafx/20.0.1\" xmlns:fx\u003d\"http://javafx.com/fxml/1\"","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"friedrice231"},"content":" fx:controller\u003d\"pawpal.core.MainWindow\" stylesheets\u003d\"@style.css\"\u003e","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"friedrice231"},"content":" \u003cchildren\u003e","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"friedrice231"},"content":" \u003cTextField fx:id\u003d\"userInput\" layoutY\u003d\"558.0\" onAction\u003d\"#handleUserInput\" prefHeight\u003d\"41.0\" prefWidth\u003d\"324.0\" AnchorPane.bottomAnchor\u003d\"1.0\" AnchorPane.leftAnchor\u003d\"0.0\" AnchorPane.rightAnchor\u003d\"76.0\" /\u003e","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"friedrice231"},"content":" \u003cButton fx:id\u003d\"sendButton\" layoutX\u003d\"324.0\" layoutY\u003d\"558.0\" mnemonicParsing\u003d\"false\" onAction\u003d\"#handleUserInput\" prefHeight\u003d\"41.0\" prefWidth\u003d\"76.0\" text\u003d\"Send\" AnchorPane.bottomAnchor\u003d\"1.0\" AnchorPane.rightAnchor\u003d\"0.0\" /\u003e","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"friedrice231"},"content":" \u003cScrollPane fx:id\u003d\"scrollPane\" fitToWidth\u003d\"true\" hbarPolicy\u003d\"NEVER\" hvalue\u003d\"1.0\" prefHeight\u003d\"557.0\" prefWidth\u003d\"400.0\" vvalue\u003d\"1.0\" AnchorPane.bottomAnchor\u003d\"43.0\" AnchorPane.leftAnchor\u003d\"0.0\" AnchorPane.rightAnchor\u003d\"0.0\" AnchorPane.topAnchor\u003d\"0.0\"\u003e","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"friedrice231"},"content":" \u003ccontent\u003e","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"friedrice231"},"content":" \u003cVBox fx:id\u003d\"dialogContainer\" prefHeight\u003d\"552.0\" prefWidth\u003d\"388.0\" /\u003e","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"friedrice231"},"content":" \u003c/content\u003e","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"friedrice231"},"content":" \u003c/ScrollPane\u003e","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"friedrice231"},"content":" \u003c/children\u003e","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"friedrice231"},"content":"\u003c/AnchorPane\u003e","lastModifiedDate":"2025-02-13","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-13","isFullCredit":false}],"authorContributionMap":{"friedrice231":22}},{"path":"src/test/java/pawpal/core/ParserTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"friedrice231"},"content":"package pawpal.core;","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"friedrice231"},"content":"import static org.junit.jupiter.api.Assertions.assertEquals;","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"friedrice231"},"content":"import org.junit.jupiter.api.Test;","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"friedrice231"},"content":"import pawpal.utils.Command;","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"friedrice231"},"content":"class ParserTest {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"friedrice231"},"content":" private final Parser parser \u003d new Parser(null); // Pass null for TaskList since we\u0027re testing parsing only","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"friedrice231"},"content":" @Test","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"friedrice231"},"content":" void parseCommand_validCommand_returnsCorrectEnum() {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"friedrice231"},"content":" // Positive test case: Recognizing a valid command","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"friedrice231"},"content":" assertEquals(Command.TODO, parser.parseCommand(\"todo read book\"));","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"friedrice231"},"content":" assertEquals(Command.DEADLINE, parser.parseCommand(\"deadline submit report /by tomorrow\"));","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"friedrice231"},"content":" @Test","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"friedrice231"},"content":" void parseCommand_invalidCommand_returnsInvalid() {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"friedrice231"},"content":" // Negative test case: Handling an invalid command","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"friedrice231"},"content":" assertEquals(Command.INVALID, parser.parseCommand(\"dance tango\"));","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"friedrice231"},"content":"}","lastModifiedDate":"2025-02-14","isFullCredit":false}],"authorContributionMap":{"friedrice231":24}},{"path":"src/test/java/pawpal/core/PawPalTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"friedrice231"},"content":"package pawpal.core;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"friedrice231"},"content":"import org.junit.jupiter.api.Test;","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"friedrice231"},"content":"import static org.junit.jupiter.api.Assertions.*;","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"friedrice231"},"content":"import java.util.List;","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"friedrice231"},"content":"import pawpal.tasks.*;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"friedrice231"},"content":"import pawpal.utils.*;","lastModifiedDate":"2025-02-12","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"friedrice231"},"content":"class PawPalTest {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"friedrice231"},"content":" @Test","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"friedrice231"},"content":" void testAddEvent() {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"friedrice231"},"content":" // Arrange","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"friedrice231"},"content":" Storage mockStorage \u003d new Storage(\"test_tasks.txt\");","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"friedrice231"},"content":" TaskList taskList \u003d new TaskList(mockStorage);","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"friedrice231"},"content":" Printer mockPrinter \u003d new Printer();","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"friedrice231"},"content":" // Act","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"friedrice231"},"content":" taskList.addEvent(\"Team Meeting\", \"10/02/2025 1400\", \"10/02/2025 1600\");","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"friedrice231"},"content":" List\u003cTask\u003e tasks \u003d taskList.getTasks();","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"friedrice231"},"content":" // Assert","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"friedrice231"},"content":" assertEquals(1, tasks.size(), \"Task list should contain one task\");","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"friedrice231"},"content":" assertInstanceOf(Event.class, tasks.getFirst(), \"The task should be an instance of Event\");","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"friedrice231"},"content":" assertEquals(\"[E][ ] Team Meeting from: Feb 10 2025, 2:00 PM to: Feb 10 2025, 4:00 PM\", tasks.getFirst().toString());","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"friedrice231"},"content":" @Test","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"friedrice231"},"content":" void testParseCommand() {","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"friedrice231"},"content":" // Arrange","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"friedrice231"},"content":" TaskList mockTaskList \u003d new TaskList(new Storage(\"test_tasks.txt\"));","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"friedrice231"},"content":" Parser parser \u003d new Parser(mockTaskList);","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"friedrice231"},"content":" // Act \u0026 Assert","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"friedrice231"},"content":" assertEquals(Command.LIST, parser.parseCommand(\"list\"), \"Command should be parsed as LIST\");","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"friedrice231"},"content":" assertEquals(Command.MARK, parser.parseCommand(\"mark\"), \"Command should be parsed as MARK\");","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"friedrice231"},"content":" assertEquals(Command.INVALID, parser.parseCommand(\"unknownCommand\"), \"Invalid command should return INVALID\");","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-07","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"friedrice231"},"content":"}","lastModifiedDate":"2025-02-07","isFullCredit":false}],"authorContributionMap":{"friedrice231":39}},{"path":"src/test/java/pawpal/core/TaskListTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"friedrice231"},"content":"package pawpal.core;","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"friedrice231"},"content":"import static org.junit.jupiter.api.Assertions.assertEquals;","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"friedrice231"},"content":"import static org.junit.jupiter.api.Assertions.assertFalse;","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"friedrice231"},"content":"import static org.junit.jupiter.api.Assertions.assertThrows;","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"friedrice231"},"content":"import java.util.List;","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"friedrice231"},"content":"import org.junit.jupiter.api.Test;","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"friedrice231"},"content":"import pawpal.tasks.Task;","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"friedrice231"},"content":"import pawpal.utils.Storage;","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"friedrice231"},"content":"import pawpal.utils.TaskList;","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"friedrice231"},"content":"class TaskListTest {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"friedrice231"},"content":" private final Storage storage \u003d new Storage(\"./test_tasks.txt\"); // Test storage file","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"friedrice231"},"content":" private final TaskList taskList \u003d new TaskList(storage);","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"friedrice231"},"content":" @Test","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"friedrice231"},"content":" void addToDo_validDescription_taskAdded() {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"friedrice231"},"content":" // Positive test case: Adding a ToDo task","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"friedrice231"},"content":" taskList.addToDo(\"Buy groceries\");","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"friedrice231"},"content":" List\u003cTask\u003e tasks \u003d taskList.getTasks();","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"friedrice231"},"content":" assertFalse(tasks.isEmpty());","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"friedrice231"},"content":" assertEquals(1, tasks.size());","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"friedrice231"},"content":" assertEquals(\"[T][ ] Buy groceries\", tasks.getFirst().toString());","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"friedrice231"},"content":" @Test","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"friedrice231"},"content":" void addToDo_emptyDescription_throwsException() {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"friedrice231"},"content":" // Negative test case: Adding an empty ToDo task should not be allowed","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"friedrice231"},"content":" Exception exception \u003d assertThrows(IllegalArgumentException.class, () -\u003e {","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"friedrice231"},"content":" taskList.addToDo(\"\");","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"friedrice231"},"content":" });","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"friedrice231"},"content":" assertEquals(\"Task description cannot be empty!\", exception.getMessage());","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"friedrice231"},"content":" }","lastModifiedDate":"2025-02-14","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"friedrice231"},"content":"}","lastModifiedDate":"2025-02-14","isFullCredit":false}],"authorContributionMap":{"friedrice231":39}},{"path":"text-ui-test/input.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"friedrice231"},"content":"todo buy groceries","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"list","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"friedrice231"},"content":"todo","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"friedrice231"},"content":"todo","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"friedrice231"},"content":"deadline submit assignment","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"friedrice231"},"content":"deadline complete report /by","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"friedrice231"},"content":"deadline prepare report /by Tuesday","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"friedrice231"},"content":"event team meeting","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"friedrice231"},"content":"event conference /from 9am","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"friedrice231"},"content":"event product launch /from 10am /to","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"friedrice231"},"content":"event company retreat /from Fri 9am /to Sun 5pm","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"list","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"friedrice231"},"content":"mark","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"friedrice231"},"content":"mark -1","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"friedrice231"},"content":"mark 100","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"mark 1","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"friedrice231"},"content":"unmark","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"friedrice231"},"content":"unmark 100","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"unmark 1","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"friedrice231"},"content":"todo clean the house","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"friedrice231"},"content":"todo write journal","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"friedrice231"},"content":"todo organize workspace","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"friedrice231"},"content":"deadline plan vacation /by next month","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"friedrice231"},"content":"event family dinner /from Sat 7pm /to 10pm","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"list","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"friedrice231"},"content":"mark 2","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"friedrice231"},"content":"unmark 2","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"friedrice231"},"content":"mark 999","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"friedrice231"},"content":"todo go for a walk","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":"list","lastModifiedDate":"2025-01-31","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"friedrice231"},"content":"todo read book","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"friedrice231"},"content":"mark 6","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"friedrice231"},"content":"unmark 7","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"friedrice231"},"content":"unmark 6","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"friedrice231"},"content":"todo","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"friedrice231"},"content":"mark abc","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"friedrice231"},"content":"deadline holiday plans /by 2023-12-25","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"friedrice231"},"content":"event tech conference /from 2023-08-10 /to 2023-08-12","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"friedrice231"},"content":"todo learn Java","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"friedrice231"},"content":"todo","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"friedrice231"},"content":"deadline","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"friedrice231"},"content":"event","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"friedrice231"},"content":"delete","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"friedrice231"},"content":"delete 3","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"friedrice231"},"content":"list","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"friedrice231"},"content":"","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":"bye","lastModifiedDate":"2025-01-31","isFullCredit":false}],"authorContributionMap":{"friedrice231":40,"-":7}},{"path":"text-ui-test/runtest.sh","fileType":"sh","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"#!/usr/bin/env bash","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":2,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":3,"author":{"gitId":"-"},"content":"# Colors and formatting","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":4,"author":{"gitId":"-"},"content":"RED\u003d\u0027\\033[0;31m\u0027","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":5,"author":{"gitId":"-"},"content":"GREEN\u003d\u0027\\033[0;32m\u0027","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":6,"author":{"gitId":"-"},"content":"BLUE\u003d\u0027\\033[0;34m\u0027","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":7,"author":{"gitId":"-"},"content":"YELLOW\u003d\u0027\\033[1;33m\u0027","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":8,"author":{"gitId":"-"},"content":"NC\u003d\u0027\\033[0m\u0027 # No Color","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":9,"author":{"gitId":"-"},"content":"BOLD\u003d\u0027\\033[1m\u0027","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":10,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":11,"author":{"gitId":"-"},"content":"# Print header","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":12,"author":{"gitId":"-"},"content":"echo -e \"${BOLD}\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":13,"author":{"gitId":"-"},"content":"echo -e \"${BLUE} Duke Test Runner ${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":14,"author":{"gitId":"-"},"content":"echo -e \"${BOLD}\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d${NC}\\n\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":15,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":16,"author":{"gitId":"-"},"content":"# Print Java version for debugging","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":17,"author":{"gitId":"-"},"content":"echo -e \"${BOLD}[1/4] Checking Java version...${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":18,"author":{"gitId":"-"},"content":"java -version","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":19,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":20,"author":{"gitId":"-"},"content":"# check if using Java 21","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":21,"author":{"gitId":"-"},"content":"java_ver\u003d$(java -version 2\u003e\u00261 | grep -i version | head -n 1)","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":22,"author":{"gitId":"-"},"content":"echo -e \"${BLUE}Detected Java version: ${NC}$java_ver\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":23,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":24,"author":{"gitId":"-"},"content":"version\u003d$(echo $java_ver | sed -n \u0027s/.*version \"\\([0-9]*\\).*/\\1/p\u0027)","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":25,"author":{"gitId":"-"},"content":"echo -e \"${BLUE}Parsed major version: ${NC}$version\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":26,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":27,"author":{"gitId":"-"},"content":"if [ \"$version\" !\u003d \"21\" ]; then","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":28,"author":{"gitId":"-"},"content":" echo -e \"\\n${RED}╔════ ERROR ══════════════════════════════════╗${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":29,"author":{"gitId":"-"},"content":" echo -e \"${RED}║ Please use Java 21 (current version: $version)${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":30,"author":{"gitId":"-"},"content":" echo -e \"${RED}╚═════════════════════════════════════════════╝${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":31,"author":{"gitId":"-"},"content":" exit 1","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":32,"author":{"gitId":"-"},"content":"fi","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":33,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":34,"author":{"gitId":"-"},"content":"echo -e \"${GREEN}✓ Java version check passed${NC}\\n\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":35,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":36,"author":{"gitId":"-"},"content":"# create bin directory if it doesn\u0027t exist","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":37,"author":{"gitId":"-"},"content":"echo -e \"${BOLD}[2/4] Setting up test environment...${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":38,"author":{"gitId":"-"},"content":"if [ ! -d \"../bin\" ]","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":39,"author":{"gitId":"-"},"content":"then","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":40,"author":{"gitId":"-"},"content":" mkdir ../bin","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":41,"author":{"gitId":"-"},"content":" echo -e \"${BLUE}Created bin directory${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":42,"author":{"gitId":"-"},"content":"fi","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":43,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":44,"author":{"gitId":"-"},"content":"# delete output from previous run","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":45,"author":{"gitId":"-"},"content":"if [ -e \"./ACTUAL.TXT\" ]","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":46,"author":{"gitId":"-"},"content":"then","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":47,"author":{"gitId":"-"},"content":" rm ACTUAL.TXT","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":48,"author":{"gitId":"-"},"content":" echo -e \"${BLUE}Cleaned up previous test outputs${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":49,"author":{"gitId":"-"},"content":"fi","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":50,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":51,"author":{"gitId":"-"},"content":"# compile the code into the bin folder, terminates if error occurred","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":52,"author":{"gitId":"-"},"content":"echo -e \"\\n${BOLD}[3/4] Compiling source files...${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":53,"author":{"gitId":"friedrice231"},"content":"if ! javac -cp ../src/main/java -Xlint:none -d ../bin $(find ./src/main/java -name \"*.java\")","lastModifiedDate":"2025-02-04","isFullCredit":false},{"lineNumber":54,"author":{"gitId":"-"},"content":"then","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":55,"author":{"gitId":"-"},"content":" echo -e \"\\n${RED}╔════ ERROR ══════════════════════════════════╗${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":56,"author":{"gitId":"-"},"content":" echo -e \"${RED}║ BUILD FAILURE ║${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":57,"author":{"gitId":"-"},"content":" echo -e \"${RED}╚═════════════════════════════════════════════╝${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":58,"author":{"gitId":"-"},"content":" exit 1","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":59,"author":{"gitId":"-"},"content":"fi","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":60,"author":{"gitId":"-"},"content":"echo -e \"${GREEN}✓ Compilation successful${NC}\\n\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":61,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":62,"author":{"gitId":"-"},"content":"# run the program, feed commands from input.txt file and redirect the output to the ACTUAL.TXT","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":63,"author":{"gitId":"-"},"content":"echo -e \"${BOLD}[4/4] Running tests...${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":64,"author":{"gitId":"friedrice231"},"content":"java -classpath ../bin PawPal \u003c ./text-ui-test/input.txt \u003e ACTUAL.TXT","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":65,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":66,"author":{"gitId":"-"},"content":"# convert to UNIX format","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":67,"author":{"gitId":"friedrice231"},"content":"cp ./text-ui-test/EXPECTED.TXT EXPECTED-UNIX.TXT","lastModifiedDate":"2025-02-01","isFullCredit":false},{"lineNumber":68,"author":{"gitId":"-"},"content":"dos2unix ACTUAL.TXT EXPECTED-UNIX.TXT 2\u003e/dev/null","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":69,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":70,"author":{"gitId":"-"},"content":"# compare the output to the expected output","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":71,"author":{"gitId":"-"},"content":"diff ACTUAL.TXT EXPECTED-UNIX.TXT","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":72,"author":{"gitId":"-"},"content":"if [ $? -eq 0 ]","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":73,"author":{"gitId":"-"},"content":"then","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":74,"author":{"gitId":"-"},"content":" echo -e \"\\n${GREEN}╔════ SUCCESS ════════════════════════════════╗${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":75,"author":{"gitId":"-"},"content":" echo -e \"${GREEN}║ All tests passed ║${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":76,"author":{"gitId":"-"},"content":" echo -e \"${GREEN}╚═════════════════════════════════════════════╝${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":77,"author":{"gitId":"-"},"content":" exit 0","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":78,"author":{"gitId":"-"},"content":"else","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":79,"author":{"gitId":"-"},"content":" echo -e \"\\n${RED}╔════ ERROR ══════════════════════════════════╗${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":80,"author":{"gitId":"-"},"content":" echo -e \"${RED}║ Tests FAILED ║${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":81,"author":{"gitId":"-"},"content":" echo -e \"${RED}╚═════════════════════════════════════════════╝${NC}\"","lastModifiedDate":"2025-01-09","isFullCredit":false},{"lineNumber":82,"author":{"gitId":"-"},"content":" exit 1","lastModifiedDate":"2020-05-25","isFullCredit":false},{"lineNumber":83,"author":{"gitId":"-"},"content":"fi","lastModifiedDate":"2020-05-25","isFullCredit":false}],"authorContributionMap":{"friedrice231":3,"-":80}}] diff --git a/friedrice231_ip_master/commits.json b/friedrice231_ip_master/commits.json new file mode 100644 index 000000000..7c7935cbb --- /dev/null +++ b/friedrice231_ip_master/commits.json @@ -0,0 +1 @@ +{"authorDailyContributionsMap":{"friedrice231":[{"date":"2025-01-24","commitResults":[{"hash":"a54a191ea81d19314796dfea57d506e21de88920","isMergeCommit":false,"messageTitle":"Level-0","messageBody":"","tags":["Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1}}}]},{"date":"2025-01-27","commitResults":[{"hash":"5fd4b8279b7aacdddaeb873c2677f663fa880e27","isMergeCommit":false,"messageTitle":"Level 1","messageBody":"","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":14,"deletions":1}}},{"hash":"5f52be2cabac313c622c86df009fcfd8d38341e3","isMergeCommit":false,"messageTitle":"Level-2","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":41,"deletions":4}}}]},{"date":"2025-01-28","commitResults":[{"hash":"d7637f7e80c6ec31acfa7dedb356e9ca14ea15a3","isMergeCommit":false,"messageTitle":"Level-3","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":82,"deletions":14}}}]},{"date":"2025-01-30","commitResults":[{"hash":"fa7e5b5414be5da1e80dc88b3fbfa1756b50f3d4","isMergeCommit":false,"messageTitle":"Level-4","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":74,"deletions":4}}},{"hash":"c46ba20cced1e1569f0f22112f9311a95356cff3","isMergeCommit":false,"messageTitle":"Level-4","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":2,"deletions":2}}}]},{"date":"2025-02-01","commitResults":[{"hash":"cfb7a3bb4f72b6b6509722bb9dc117d7524f9fe9","isMergeCommit":false,"messageTitle":"Level-5","messageBody":"","tags":["Level-5"],"fileTypesAndContributionMap":{"txt":{"insertions":44,"deletions":14},"java":{"insertions":179,"deletions":68},"sh":{"insertions":82,"deletions":82}}},{"hash":"be4b3fe5752265e300517f4d5966b4586b6590bc","isMergeCommit":false,"messageTitle":"Level-6","messageBody":"","tags":["Level-6"],"fileTypesAndContributionMap":{"txt":{"insertions":3,"deletions":0},"java":{"insertions":31,"deletions":1}}},{"hash":"4c43a89c6c614f9afadae709583ace9e0a12bf49","isMergeCommit":false,"messageTitle":"A-Enums","messageBody":"","tags":["A-Enums"],"fileTypesAndContributionMap":{"java":{"insertions":22,"deletions":8}}}]},{"date":"2025-02-04","commitResults":[{"hash":"9245bfd7ca671462a0a0f4011ed7ee9ad6c43e4f","isMergeCommit":false,"messageTitle":"Create new folders to better manage the different classes, updated runtest.sh","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":380,"deletions":351}}},{"hash":"8cbf8d1dba07cc89caa52dad3003e172685a0c8a","isMergeCommit":false,"messageTitle":"Update PawPal.java to use printer for hi/bye messages","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":2,"deletions":0},"java":{"insertions":458,"deletions":380},"sh":{"insertions":1,"deletions":1}}},{"hash":"9283ffd0cdad553cc8752b6c269e9a37a7ef0938","isMergeCommit":false,"messageTitle":"Update and standardise comments across classes, add functionalities for saving and loading tasks","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":2,"deletions":2},"java":{"insertions":319,"deletions":54}}},{"hash":"279951904197c5de90b8fa6c2b78b600f0eb14fd","isMergeCommit":true,"messageTitle":"Merge branch-level-7 into master","messageBody":"","tags":["Level-7"],"fileTypesAndContributionMap":{}}]},{"date":"2025-02-07","commitResults":[{"hash":"e0de67fa60391ff79bb28daae163a399e4a787cc","isMergeCommit":false,"messageTitle":"Add support for specific d/M/yyyy HHmm input for deadline and event task","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":59,"deletions":12}}},{"hash":"d8e223e0cd29436c241c7e4d0fe8f37403cf967b","isMergeCommit":true,"messageTitle":"Merge branch-level-8 into master","messageBody":"","tags":["Level-8"],"fileTypesAndContributionMap":{}},{"hash":"bc4ae2b2d984f5cdaf77cfab751463678dd60ab1","isMergeCommit":false,"messageTitle":"Add Storage class and refactor TaskManager to TaskList","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":244,"deletions":235}}},{"hash":"c98985819396769a31e6c6f1395a1a3568938a06","isMergeCommit":false,"messageTitle":"Added UI class","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":149,"deletions":12}}},{"hash":"73884b85badaaeb432717760edb94c2a9450e93c","isMergeCommit":true,"messageTitle":"Merge branch A-MoreOOP into master","messageBody":"","tags":["A-MoreOOP"],"fileTypesAndContributionMap":{}},{"hash":"1e2c6e711824ca9c403e03528250a72477413f9c","isMergeCommit":false,"messageTitle":"Repackage code into core/tasks/utils packages","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":3,"deletions":1},"java":{"insertions":196,"deletions":153}}},{"hash":"deee5a308497a6d4f20494de752c66e7b97211df","isMergeCommit":true,"messageTitle":"Merge A-Packages into master","messageBody":"","tags":["A-Packages"],"fileTypesAndContributionMap":{}},{"hash":"d15f5e8ef96d5cd3547cd100c63ccbade8e1ac48","isMergeCommit":true,"messageTitle":"Merge branch \u0027A-Gradle\u0027 Add Gradle Support","messageBody":"","tags":["A-Gradle"],"fileTypesAndContributionMap":{}},{"hash":"e9b1cbad2c7f6aa3c78063c16ad72e656fc8ad83","isMergeCommit":false,"messageTitle":"Add JUnit test for TaskList and Parser Class in PawPalTest.java","messageBody":"","fileTypesAndContributionMap":{"gradle":{"insertions":4,"deletions":0},"java":{"insertions":40,"deletions":1}}},{"hash":"4bf6d21294741675d6fa30634327786a36d84cbd","isMergeCommit":false,"messageTitle":"Add PawPalTest.java to test TaskList.java and Parser.java","messageBody":"","fileTypesAndContributionMap":{"gradle":{"insertions":0,"deletions":4},"java":{"insertions":2,"deletions":2}}},{"hash":"062113d7fcceaff6665317abed29e7626ad97def","isMergeCommit":true,"messageTitle":"Merge A-JUnit to master","messageBody":"","tags":["A-JUnit"],"fileTypesAndContributionMap":{}},{"hash":"29f5a438f0b388d5d81477a9728727dfb912db7f","isMergeCommit":false,"messageTitle":"Change build.gradle to fit PawPal for creating JAR File","messageBody":"","tags":["A-Jar"],"fileTypesAndContributionMap":{"gradle":{"insertions":3,"deletions":2}}},{"hash":"fa1205c0b86ffbb3d7f5ca11585f0a904a74a0ca","isMergeCommit":false,"messageTitle":"Tidy up comments on Task.java, Todo.java and Printer.java","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":13,"deletions":13}}},{"hash":"a776ad2bd655917b598404a11fd0a2bdfc7cb9b5","isMergeCommit":true,"messageTitle":"Merge branch-A-JavaDoc to master","messageBody":"","tags":["A-JavaDoc"],"fileTypesAndContributionMap":{}},{"hash":"b62ae40ff8dad5523e382833c31b52c2dacc2564","isMergeCommit":false,"messageTitle":"Reorder import order of packages for java to be first","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":12,"deletions":12}}},{"hash":"140a94fe2b5b54f27a6e74551caada1cea886419","isMergeCommit":true,"messageTitle":"Merge branch-A-CodingStandard to master","messageBody":"","tags":["A-CodingStandard"],"fileTypesAndContributionMap":{}},{"hash":"d60690502a604751656fc606e98afcb13e5b75f3","isMergeCommit":false,"messageTitle":"Add FIND to command enums","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1}}},{"hash":"c371b232310ae1a8910194868ed554bf5cc2d8b0","isMergeCommit":false,"messageTitle":"Add functionality for user to search for a task in the task list","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":43,"deletions":0}}},{"hash":"4a3e418442ed384608380e03c43addc3979d726b","isMergeCommit":true,"messageTitle":"Merge branch-Level-9 to master for search capabilities.","messageBody":"","tags":["Level-9"],"fileTypesAndContributionMap":{}},{"hash":"19e817b9cda36330283d223ff83919afe8bbd7ee","isMergeCommit":false,"messageTitle":"Add cheering capabilities to PawPal","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":6,"deletions":0},"java":{"insertions":67,"deletions":6}}},{"hash":"b2bc489bea1d2c09399b901d68637b735eb50c4e","isMergeCommit":true,"messageTitle":"Merge branch-A-Cheer for cheering functions","messageBody":"","tags":["A-Cheer"],"fileTypesAndContributionMap":{}}]},{"date":"2025-02-11","commitResults":[{"hash":"82f534c762a3f4de12d71bff2c6f364ae37720d4","isMergeCommit":false,"messageTitle":"Remove unnecessary input when cheering","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":2,"deletions":2}}}]},{"date":"2025-02-12","commitResults":[{"hash":"529d35dcee2414d19d885ef31ca4dc351885dd2d","isMergeCommit":false,"messageTitle":"Fix Checkstyle errors for Parsere.java and PawPal.java","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":44,"deletions":48}}},{"hash":"771e80ca0a450ce3a9cd9cc50784fe740c9f7d1c","isMergeCommit":false,"messageTitle":"Update style from checkstyle for storage and tasklist.java","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":14,"deletions":5}}},{"hash":"4a3dd4bd0fe313d0c83fe8876ae73118127b4c29","isMergeCommit":false,"messageTitle":"Update Printer.java to follow CheckStyle","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":5,"deletions":4}}},{"hash":"aecf856001fbfa971de3694e953faad2b0b7c38a","isMergeCommit":false,"messageTitle":"Update packages to follow CheckStyle","messageBody":"","tags":["A-CheckStyle"],"fileTypesAndContributionMap":{"java":{"insertions":8,"deletions":6}}},{"hash":"a43d38d8c9205c943fa4aa2c71e750519774adcb","isMergeCommit":false,"messageTitle":"Update build.gradle according to provided task","messageBody":"","fileTypesAndContributionMap":{"gradle":{"insertions":15,"deletions":0}}},{"hash":"1453c4a31c5c9196a797127fb9c05d9439c50bc0","isMergeCommit":false,"messageTitle":"Update Deadline.java and Event.java to not use null pointers.","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":47,"deletions":35}}}]},{"date":"2025-02-13","commitResults":[{"hash":"a92cf4e3ff63528c52aa55411998d206e13f7135","isMergeCommit":false,"messageTitle":"Add JavaFX support and update parse to return instead of printing to facilitate the JavaFX tasking","messageBody":"","fileTypesAndContributionMap":{"gradle":{"insertions":18,"deletions":2},"txt":{"insertions":5,"deletions":4},"fxml":{"insertions":44,"deletions":0},"java":{"insertions":370,"deletions":353}}},{"hash":"95bdf7813816f1e24aa7f2763dec5e0be6f01dec","isMergeCommit":true,"messageTitle":"Merge branch-Level-10 to master","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"30c42ec1ce257ab1e5e3e7635d23c9183df2fef9","isMergeCommit":false,"messageTitle":"Add an icon and title to the app","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":0,"deletions":1},"java":{"insertions":6,"deletions":0}}},{"hash":"e0b28931f88f5f38ce452db4d69ee1edc41462a6","isMergeCommit":false,"messageTitle":"Add some css for the UI and also made sure the program quits when user inputs bye","messageBody":"","tags":["Level-10"],"fileTypesAndContributionMap":{"fxml":{"insertions":2,"deletions":2},"java":{"insertions":14,"deletions":1}}}]},{"date":"2025-02-14","commitResults":[{"hash":"a32d92b6d016995a11f0a5a36e87127565e90429","isMergeCommit":false,"messageTitle":"Fix a bug where users cannot input event/deadline and can input empty todos","messageBody":"","fileTypesAndContributionMap":{"gradle":{"insertions":73,"deletions":73},"txt":{"insertions":5,"deletions":2},"fxml":{"insertions":1,"deletions":1},"java":{"insertions":63,"deletions":21},"sh":{"insertions":82,"deletions":82}}},{"hash":"f3d873ec4890b89fdabc5f22242c20bb8f1ed748","isMergeCommit":false,"messageTitle":"Add test for ParserTest and TaskListTest","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":0,"deletions":2},"java":{"insertions":67,"deletions":1}}},{"hash":"1625216eeaf310ee935a7f314064ed6cf7f11792","isMergeCommit":true,"messageTitle":"Merge Branch-A-UnitTesting to master","messageBody":"","tags":["A-UnitTesting"],"fileTypesAndContributionMap":{}}]},{"date":"2025-02-20","commitResults":[{"hash":"ec12c56da70e6836abb1888ca49db731d0de3b49","isMergeCommit":false,"messageTitle":"Currently, there are no checks to make sure that the start date is before the end date. Add an assert statement in Event Constructor to check that the parsed start time is not after the end time. This documents the assumption that an Event’s start must chronologically precede its end.","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":3,"deletions":0}}},{"hash":"76645e1cb448fdf1daf82b5c84dbf6da44a9fa41","isMergeCommit":false,"messageTitle":"Add an assert statement in the Task constructor to ensure that the \u0027description\u0027 string is not blank. This documents our assumption that a valid Deadline cannot have an empty deadline string.","messageBody":"","tags":["A-FullCommitMessage"],"fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":0}}},{"hash":"326e634aecc39e5571a017a74dcf5b9adbc2a909","isMergeCommit":false,"messageTitle":"Refactor parseTask in Storage.java as it was more than 30 lines long.","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":1,"deletions":3},"java":{"insertions":60,"deletions":36}}},{"hash":"52dc8b4c768d8869aa4686663db9fd0f3e67b6ce","isMergeCommit":false,"messageTitle":"Refactor parseTask in Storage.java as it was using some null pointers.","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":31,"deletions":26}}},{"hash":"a5df928c712be9a148e30ef12479a9d28af2874a","isMergeCommit":false,"messageTitle":"Update findTask() in TaskList.java to use Java Streams","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":6,"deletions":6}}},{"hash":"4b5e8fcf9258ebb15f6f32e92efc0fe83497d61a","isMergeCommit":true,"messageTitle":"Merge pull request #1 from friedrice231/branch-A-Assertions","messageBody":"Branch-A-Assertions","tags":["A-Assertions"],"fileTypesAndContributionMap":{}},{"hash":"d10e4ac781f44cc5bc59808cc9e988490b89772e","isMergeCommit":true,"messageTitle":"Merge pull request #3 from friedrice231/branch-A-Streams","messageBody":"Branch-A-Streams","tags":["A-Streams"],"fileTypesAndContributionMap":{}},{"hash":"79410e4373ae73167c4c2d9aa50cb50b2bb54383","isMergeCommit":true,"messageTitle":"Merge pull request #2 from friedrice231/branch-A-CodeQuality","messageBody":"Branch-A-CodeQuality","tags":["A-CodeQuality"],"fileTypesAndContributionMap":{}}]},{"date":"2025-02-21","commitResults":[{"hash":"9a7cf5dc258874382d08ffb8d3738013121af1ba","isMergeCommit":false,"messageTitle":"Add support for sorting task from ToDo\u003eDeadline\u003eEvent by chronological order","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":2,"deletions":2},"java":{"insertions":58,"deletions":2}}},{"hash":"ba9939963bf911e93292ae59556971c07204edf3","isMergeCommit":true,"messageTitle":"Merge branch-C-Sort to master","messageBody":"","tags":["BCD-Extension"],"fileTypesAndContributionMap":{}},{"hash":"0d25f5c8bf6ad9d424f0f3585d29c77b85ee3370","isMergeCommit":false,"messageTitle":"Remove redundant imports","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":0,"deletions":2}}},{"hash":"8cadeb2f972c5057d9c369b4a1bcdc0f46658556","isMergeCommit":false,"messageTitle":"Update GUI to be more clean, gave circular pictures for the cat icons.","messageBody":"","fileTypesAndContributionMap":{"fxml":{"insertions":6,"deletions":5},"java":{"insertions":43,"deletions":19}}},{"hash":"b663db704c128810d1ae2e502375b4d13f4211b1","isMergeCommit":false,"messageTitle":"Code cleaning","messageBody":"","tags":["A-BetterGUI"],"fileTypesAndContributionMap":{"txt":{"insertions":3,"deletions":0},"java":{"insertions":7,"deletions":0}}}]},{"date":"2025-02-25","commitResults":[{"hash":"e9f4af9ac43391343a8dd7d4de4dd272abb378d5","isMergeCommit":false,"messageTitle":"Update Printer.Java to give the user responses more personality","messageBody":"","tags":["A-Personality"],"fileTypesAndContributionMap":{"java":{"insertions":29,"deletions":21}}}]}]},"authorFileTypeContributionMap":{"friedrice231":{"java":1390,"md":0,"fxml":45,"sh":3,"bat":0,"gradle":34,"txt":52}},"authorContributionVariance":{"friedrice231":165492.36},"authorDisplayNameMap":{"friedrice231":"LOH YEE KAI"}} diff --git a/images/ece_logo.png b/images/ece_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..654ff45537acd174615d6a78fe2b8090e3d30e61 GIT binary patch literal 70221 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

    Nvap?ab} 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 + + + + + + + RepoSense Report + + + +

    + + + diff --git a/js/chunk-vendors.js b/js/chunk-vendors.js new file mode 100644 index 000000000..7ec99baaa --- /dev/null +++ b/js/chunk-vendors.js @@ -0,0 +1,6634 @@ +/* + * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development"). + * This devtool is neither made for production nor for readable output files. + * It uses "eval()" calls to create a separate source file in the browser devtools. + * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) + * or disable the default devtool with "devtool: false". + * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). + */ +(self["webpackChunkreposense"] = self["webpackChunkreposense"] || []).push([["chunk-vendors"],{ + +/***/ "./node_modules/@fortawesome/vue-fontawesome/index.es.js": +/*!***************************************************************!*\ + !*** ./node_modules/@fortawesome/vue-fontawesome/index.es.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"FontAwesomeIcon\": () => (/* binding */ FontAwesomeIcon),\n/* harmony export */ \"FontAwesomeLayers\": () => (/* binding */ FontAwesomeLayers),\n/* harmony export */ \"FontAwesomeLayersText\": () => (/* binding */ FontAwesomeLayersText)\n/* harmony export */ });\n/* harmony import */ var _fortawesome_fontawesome_svg_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @fortawesome/fontawesome-svg-core */ \"./node_modules/@fortawesome/fontawesome-svg-core/index.mjs\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n\n\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}\nfunction _defineProperty(obj, key, value) {\n key = _toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = _objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _toPrimitive(input, hint) {\n if (typeof input !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (typeof res !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}\nfunction _toPropertyKey(arg) {\n var key = _toPrimitive(arg, \"string\");\n return typeof key === \"symbol\" ? key : String(key);\n}\n\nvar commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof __webpack_require__.g !== 'undefined' ? __webpack_require__.g : typeof self !== 'undefined' ? self : {};\n\nvar humps$1 = {exports: {}};\n\n(function (module) {\n(function(global) {\n\n\t var _processKeys = function(convert, obj, options) {\n\t if(!_isObject(obj) || _isDate(obj) || _isRegExp(obj) || _isBoolean(obj) || _isFunction(obj)) {\n\t return obj;\n\t }\n\n\t var output,\n\t i = 0,\n\t l = 0;\n\n\t if(_isArray(obj)) {\n\t output = [];\n\t for(l=obj.length; i} classes The class list to convert.\n * @returns {Object}\n */\nfunction classToObject(classes) {\n return classes.split(/\\s+/).reduce(function (output, className) {\n output[className] = true;\n return output;\n }, {});\n}\n\n/**\n * Converts a FontAwesome abstract element of an icon into a Vue VNode.\n * @param {AbstractElement | String} abstractElement The element to convert.\n * @param {Object} props The user-defined props.\n * @param {Object} attrs The user-defined native HTML attributes.\n * @returns {VNode}\n */\nfunction convert(abstractElement) {\n var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var attrs = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n // If the abstract element is a string, we'll just return a string render function\n if (typeof abstractElement === 'string') {\n return abstractElement;\n }\n\n // Converting abstract element children into Vue VNodes\n var children = (abstractElement.children || []).map(function (child) {\n return convert(child);\n });\n\n // Converting abstract element attributes into valid Vue format\n var mixins = Object.keys(abstractElement.attributes || {}).reduce(function (mixins, key) {\n var value = abstractElement.attributes[key];\n switch (key) {\n case 'class':\n mixins.class = classToObject(value);\n break;\n case 'style':\n mixins.style = styleToObject(value);\n break;\n default:\n mixins.attrs[key] = value;\n }\n return mixins;\n }, {\n attrs: {},\n class: {},\n style: {}\n });\n\n // Now, we'll return the VNode\n attrs.class;\n var _attrs$style = attrs.style,\n aStyle = _attrs$style === void 0 ? {} : _attrs$style,\n otherAttrs = _objectWithoutProperties(attrs, _excluded);\n return (0,vue__WEBPACK_IMPORTED_MODULE_1__.h)(abstractElement.tag, _objectSpread2(_objectSpread2(_objectSpread2({}, props), {}, {\n class: mixins.class,\n style: _objectSpread2(_objectSpread2({}, mixins.style), aStyle)\n }, mixins.attrs), otherAttrs), children);\n}\n\nvar PRODUCTION = false;\ntry {\n PRODUCTION = \"development\" === 'production';\n} catch (e) {}\nfunction log () {\n if (!PRODUCTION && console && typeof console.error === 'function') {\n var _console;\n (_console = console).error.apply(_console, arguments);\n }\n}\n\nfunction objectWithKey(key, value) {\n return Array.isArray(value) && value.length > 0 || !Array.isArray(value) && value ? _defineProperty({}, key, value) : {};\n}\nfunction classList(props) {\n var _classes;\n var classes = (_classes = {\n 'fa-spin': props.spin,\n 'fa-pulse': props.pulse,\n 'fa-fw': props.fixedWidth,\n 'fa-border': props.border,\n 'fa-li': props.listItem,\n 'fa-inverse': props.inverse,\n 'fa-flip': props.flip === true,\n 'fa-flip-horizontal': props.flip === 'horizontal' || props.flip === 'both',\n 'fa-flip-vertical': props.flip === 'vertical' || props.flip === 'both'\n }, _defineProperty(_classes, \"fa-\".concat(props.size), props.size !== null), _defineProperty(_classes, \"fa-rotate-\".concat(props.rotation), props.rotation !== null), _defineProperty(_classes, \"fa-pull-\".concat(props.pull), props.pull !== null), _defineProperty(_classes, 'fa-swap-opacity', props.swapOpacity), _defineProperty(_classes, 'fa-bounce', props.bounce), _defineProperty(_classes, 'fa-shake', props.shake), _defineProperty(_classes, 'fa-beat', props.beat), _defineProperty(_classes, 'fa-fade', props.fade), _defineProperty(_classes, 'fa-beat-fade', props.beatFade), _defineProperty(_classes, 'fa-flash', props.flash), _defineProperty(_classes, 'fa-spin-pulse', props.spinPulse), _defineProperty(_classes, 'fa-spin-reverse', props.spinReverse), _classes);\n return Object.keys(classes).map(function (key) {\n return classes[key] ? key : null;\n }).filter(function (key) {\n return key;\n });\n}\n\nfunction normalizeIconArgs(icon) {\n if (icon && _typeof(icon) === 'object' && icon.prefix && icon.iconName && icon.icon) {\n return icon;\n }\n if (_fortawesome_fontawesome_svg_core__WEBPACK_IMPORTED_MODULE_0__.parse.icon) {\n return _fortawesome_fontawesome_svg_core__WEBPACK_IMPORTED_MODULE_0__.parse.icon(icon);\n }\n if (icon === null) {\n return null;\n }\n if (_typeof(icon) === 'object' && icon.prefix && icon.iconName) {\n return icon;\n }\n if (Array.isArray(icon) && icon.length === 2) {\n return {\n prefix: icon[0],\n iconName: icon[1]\n };\n }\n if (typeof icon === 'string') {\n return {\n prefix: 'fas',\n iconName: icon\n };\n }\n}\nvar FontAwesomeIcon = (0,vue__WEBPACK_IMPORTED_MODULE_1__.defineComponent)({\n name: 'FontAwesomeIcon',\n props: {\n border: {\n type: Boolean,\n default: false\n },\n fixedWidth: {\n type: Boolean,\n default: false\n },\n flip: {\n type: [Boolean, String],\n default: false,\n validator: function validator(value) {\n return [true, false, 'horizontal', 'vertical', 'both'].indexOf(value) > -1;\n }\n },\n icon: {\n type: [Object, Array, String],\n required: true\n },\n mask: {\n type: [Object, Array, String],\n default: null\n },\n maskId: {\n type: String,\n default: null\n },\n listItem: {\n type: Boolean,\n default: false\n },\n pull: {\n type: String,\n default: null,\n validator: function validator(value) {\n return ['right', 'left'].indexOf(value) > -1;\n }\n },\n pulse: {\n type: Boolean,\n default: false\n },\n rotation: {\n type: [String, Number],\n default: null,\n validator: function validator(value) {\n return [90, 180, 270].indexOf(Number.parseInt(value, 10)) > -1;\n }\n },\n swapOpacity: {\n type: Boolean,\n default: false\n },\n size: {\n type: String,\n default: null,\n validator: function validator(value) {\n return ['2xs', 'xs', 'sm', 'lg', 'xl', '2xl', '1x', '2x', '3x', '4x', '5x', '6x', '7x', '8x', '9x', '10x'].indexOf(value) > -1;\n }\n },\n spin: {\n type: Boolean,\n default: false\n },\n transform: {\n type: [String, Object],\n default: null\n },\n symbol: {\n type: [Boolean, String],\n default: false\n },\n title: {\n type: String,\n default: null\n },\n titleId: {\n type: String,\n default: null\n },\n inverse: {\n type: Boolean,\n default: false\n },\n bounce: {\n type: Boolean,\n default: false\n },\n shake: {\n type: Boolean,\n default: false\n },\n beat: {\n type: Boolean,\n default: false\n },\n fade: {\n type: Boolean,\n default: false\n },\n beatFade: {\n type: Boolean,\n default: false\n },\n flash: {\n type: Boolean,\n default: false\n },\n spinPulse: {\n type: Boolean,\n default: false\n },\n spinReverse: {\n type: Boolean,\n default: false\n }\n },\n setup: function setup(props, _ref) {\n var attrs = _ref.attrs;\n var icon$1 = (0,vue__WEBPACK_IMPORTED_MODULE_1__.computed)(function () {\n return normalizeIconArgs(props.icon);\n });\n var classes = (0,vue__WEBPACK_IMPORTED_MODULE_1__.computed)(function () {\n return objectWithKey('classes', classList(props));\n });\n var transform = (0,vue__WEBPACK_IMPORTED_MODULE_1__.computed)(function () {\n return objectWithKey('transform', typeof props.transform === 'string' ? _fortawesome_fontawesome_svg_core__WEBPACK_IMPORTED_MODULE_0__.parse.transform(props.transform) : props.transform);\n });\n var mask = (0,vue__WEBPACK_IMPORTED_MODULE_1__.computed)(function () {\n return objectWithKey('mask', normalizeIconArgs(props.mask));\n });\n var renderedIcon = (0,vue__WEBPACK_IMPORTED_MODULE_1__.computed)(function () {\n return (0,_fortawesome_fontawesome_svg_core__WEBPACK_IMPORTED_MODULE_0__.icon)(icon$1.value, _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, classes.value), transform.value), mask.value), {}, {\n symbol: props.symbol,\n title: props.title,\n titleId: props.titleId,\n maskId: props.maskId\n }));\n });\n (0,vue__WEBPACK_IMPORTED_MODULE_1__.watch)(renderedIcon, function (value) {\n if (!value) {\n return log('Could not find one or more icon(s)', icon$1.value, mask.value);\n }\n }, {\n immediate: true\n });\n var vnode = (0,vue__WEBPACK_IMPORTED_MODULE_1__.computed)(function () {\n return renderedIcon.value ? convert(renderedIcon.value.abstract[0], {}, attrs) : null;\n });\n return function () {\n return vnode.value;\n };\n }\n});\n\nvar FontAwesomeLayers = (0,vue__WEBPACK_IMPORTED_MODULE_1__.defineComponent)({\n name: 'FontAwesomeLayers',\n props: {\n fixedWidth: {\n type: Boolean,\n default: false\n }\n },\n setup: function setup(props, _ref) {\n var slots = _ref.slots;\n var familyPrefix = _fortawesome_fontawesome_svg_core__WEBPACK_IMPORTED_MODULE_0__.config.familyPrefix;\n var className = (0,vue__WEBPACK_IMPORTED_MODULE_1__.computed)(function () {\n return [\"\".concat(familyPrefix, \"-layers\")].concat(_toConsumableArray(props.fixedWidth ? [\"\".concat(familyPrefix, \"-fw\")] : []));\n });\n return function () {\n return (0,vue__WEBPACK_IMPORTED_MODULE_1__.h)('div', {\n class: className.value\n }, slots.default ? slots.default() : []);\n };\n }\n});\n\nvar FontAwesomeLayersText = (0,vue__WEBPACK_IMPORTED_MODULE_1__.defineComponent)({\n name: 'FontAwesomeLayersText',\n props: {\n value: {\n type: [String, Number],\n default: ''\n },\n transform: {\n type: [String, Object],\n default: null\n },\n counter: {\n type: Boolean,\n default: false\n },\n position: {\n type: String,\n default: null,\n validator: function validator(value) {\n return ['bottom-left', 'bottom-right', 'top-left', 'top-right'].indexOf(value) > -1;\n }\n }\n },\n setup: function setup(props, _ref) {\n var attrs = _ref.attrs;\n var familyPrefix = _fortawesome_fontawesome_svg_core__WEBPACK_IMPORTED_MODULE_0__.config.familyPrefix;\n var classes = (0,vue__WEBPACK_IMPORTED_MODULE_1__.computed)(function () {\n return objectWithKey('classes', [].concat(_toConsumableArray(props.counter ? [\"\".concat(familyPrefix, \"-layers-counter\")] : []), _toConsumableArray(props.position ? [\"\".concat(familyPrefix, \"-layers-\").concat(props.position)] : [])));\n });\n var transform = (0,vue__WEBPACK_IMPORTED_MODULE_1__.computed)(function () {\n return objectWithKey('transform', typeof props.transform === 'string' ? _fortawesome_fontawesome_svg_core__WEBPACK_IMPORTED_MODULE_0__.parse.transform(props.transform) : props.transform);\n });\n var abstractElement = (0,vue__WEBPACK_IMPORTED_MODULE_1__.computed)(function () {\n var _text = (0,_fortawesome_fontawesome_svg_core__WEBPACK_IMPORTED_MODULE_0__.text)(props.value.toString(), _objectSpread2(_objectSpread2({}, transform.value), classes.value)),\n abstract = _text.abstract;\n if (props.counter) {\n abstract[0].attributes.class = abstract[0].attributes.class.replace('fa-layers-text', '');\n }\n return abstract[0];\n });\n var vnode = (0,vue__WEBPACK_IMPORTED_MODULE_1__.computed)(function () {\n return convert(abstractElement.value, {}, attrs);\n });\n return function () {\n return vnode.value;\n };\n }\n});\n\n\n\n\n//# sourceURL=webpack://reposense/./node_modules/@fortawesome/vue-fontawesome/index.es.js?"); + +/***/ }), + +/***/ "./node_modules/@vue/devtools-api/lib/esm/const.js": +/*!*********************************************************!*\ + !*** ./node_modules/@vue/devtools-api/lib/esm/const.js ***! + \*********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"HOOK_PLUGIN_SETTINGS_SET\": () => (/* binding */ HOOK_PLUGIN_SETTINGS_SET),\n/* harmony export */ \"HOOK_SETUP\": () => (/* binding */ HOOK_SETUP)\n/* harmony export */ });\nconst HOOK_SETUP = 'devtools-plugin:setup';\nconst HOOK_PLUGIN_SETTINGS_SET = 'plugin:settings:set';\n\n\n//# sourceURL=webpack://reposense/./node_modules/@vue/devtools-api/lib/esm/const.js?"); + +/***/ }), + +/***/ "./node_modules/@vue/devtools-api/lib/esm/env.js": +/*!*******************************************************!*\ + !*** ./node_modules/@vue/devtools-api/lib/esm/env.js ***! + \*******************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"getDevtoolsGlobalHook\": () => (/* binding */ getDevtoolsGlobalHook),\n/* harmony export */ \"getTarget\": () => (/* binding */ getTarget),\n/* harmony export */ \"isProxyAvailable\": () => (/* binding */ isProxyAvailable)\n/* harmony export */ });\nfunction getDevtoolsGlobalHook() {\n return getTarget().__VUE_DEVTOOLS_GLOBAL_HOOK__;\n}\nfunction getTarget() {\n // @ts-expect-error navigator and windows are not available in all environments\n return (typeof navigator !== 'undefined' && typeof window !== 'undefined')\n ? window\n : typeof globalThis !== 'undefined'\n ? globalThis\n : {};\n}\nconst isProxyAvailable = typeof Proxy === 'function';\n\n\n//# sourceURL=webpack://reposense/./node_modules/@vue/devtools-api/lib/esm/env.js?"); + +/***/ }), + +/***/ "./node_modules/@vue/devtools-api/lib/esm/index.js": +/*!*********************************************************!*\ + !*** ./node_modules/@vue/devtools-api/lib/esm/index.js ***! + \*********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"isPerformanceSupported\": () => (/* reexport safe */ _time_js__WEBPACK_IMPORTED_MODULE_0__.isPerformanceSupported),\n/* harmony export */ \"now\": () => (/* reexport safe */ _time_js__WEBPACK_IMPORTED_MODULE_0__.now),\n/* harmony export */ \"setupDevtoolsPlugin\": () => (/* binding */ setupDevtoolsPlugin)\n/* harmony export */ });\n/* harmony import */ var _env_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./env.js */ \"./node_modules/@vue/devtools-api/lib/esm/env.js\");\n/* harmony import */ var _const_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./const.js */ \"./node_modules/@vue/devtools-api/lib/esm/const.js\");\n/* harmony import */ var _proxy_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./proxy.js */ \"./node_modules/@vue/devtools-api/lib/esm/proxy.js\");\n/* harmony import */ var _time_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./time.js */ \"./node_modules/@vue/devtools-api/lib/esm/time.js\");\n\n\n\n\n\n\nfunction setupDevtoolsPlugin(pluginDescriptor, setupFn) {\n const descriptor = pluginDescriptor;\n const target = (0,_env_js__WEBPACK_IMPORTED_MODULE_1__.getTarget)();\n const hook = (0,_env_js__WEBPACK_IMPORTED_MODULE_1__.getDevtoolsGlobalHook)();\n const enableProxy = _env_js__WEBPACK_IMPORTED_MODULE_1__.isProxyAvailable && descriptor.enableEarlyProxy;\n if (hook && (target.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__ || !enableProxy)) {\n hook.emit(_const_js__WEBPACK_IMPORTED_MODULE_2__.HOOK_SETUP, pluginDescriptor, setupFn);\n }\n else {\n const proxy = enableProxy ? new _proxy_js__WEBPACK_IMPORTED_MODULE_3__.ApiProxy(descriptor, hook) : null;\n const list = target.__VUE_DEVTOOLS_PLUGINS__ = target.__VUE_DEVTOOLS_PLUGINS__ || [];\n list.push({\n pluginDescriptor: descriptor,\n setupFn,\n proxy,\n });\n if (proxy) {\n setupFn(proxy.proxiedTarget);\n }\n }\n}\n\n\n//# sourceURL=webpack://reposense/./node_modules/@vue/devtools-api/lib/esm/index.js?"); + +/***/ }), + +/***/ "./node_modules/@vue/devtools-api/lib/esm/proxy.js": +/*!*********************************************************!*\ + !*** ./node_modules/@vue/devtools-api/lib/esm/proxy.js ***! + \*********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ApiProxy\": () => (/* binding */ ApiProxy)\n/* harmony export */ });\n/* harmony import */ var _const_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./const.js */ \"./node_modules/@vue/devtools-api/lib/esm/const.js\");\n/* harmony import */ var _time_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./time.js */ \"./node_modules/@vue/devtools-api/lib/esm/time.js\");\n\n\nclass ApiProxy {\n constructor(plugin, hook) {\n this.target = null;\n this.targetQueue = [];\n this.onQueue = [];\n this.plugin = plugin;\n this.hook = hook;\n const defaultSettings = {};\n if (plugin.settings) {\n for (const id in plugin.settings) {\n const item = plugin.settings[id];\n defaultSettings[id] = item.defaultValue;\n }\n }\n const localSettingsSaveId = `__vue-devtools-plugin-settings__${plugin.id}`;\n let currentSettings = Object.assign({}, defaultSettings);\n try {\n const raw = localStorage.getItem(localSettingsSaveId);\n const data = JSON.parse(raw);\n Object.assign(currentSettings, data);\n }\n catch (e) {\n // noop\n }\n this.fallbacks = {\n getSettings() {\n return currentSettings;\n },\n setSettings(value) {\n try {\n localStorage.setItem(localSettingsSaveId, JSON.stringify(value));\n }\n catch (e) {\n // noop\n }\n currentSettings = value;\n },\n now() {\n return (0,_time_js__WEBPACK_IMPORTED_MODULE_0__.now)();\n },\n };\n if (hook) {\n hook.on(_const_js__WEBPACK_IMPORTED_MODULE_1__.HOOK_PLUGIN_SETTINGS_SET, (pluginId, value) => {\n if (pluginId === this.plugin.id) {\n this.fallbacks.setSettings(value);\n }\n });\n }\n this.proxiedOn = new Proxy({}, {\n get: (_target, prop) => {\n if (this.target) {\n return this.target.on[prop];\n }\n else {\n return (...args) => {\n this.onQueue.push({\n method: prop,\n args,\n });\n };\n }\n },\n });\n this.proxiedTarget = new Proxy({}, {\n get: (_target, prop) => {\n if (this.target) {\n return this.target[prop];\n }\n else if (prop === 'on') {\n return this.proxiedOn;\n }\n else if (Object.keys(this.fallbacks).includes(prop)) {\n return (...args) => {\n this.targetQueue.push({\n method: prop,\n args,\n resolve: () => { },\n });\n return this.fallbacks[prop](...args);\n };\n }\n else {\n return (...args) => {\n return new Promise((resolve) => {\n this.targetQueue.push({\n method: prop,\n args,\n resolve,\n });\n });\n };\n }\n },\n });\n }\n async setRealTarget(target) {\n this.target = target;\n for (const item of this.onQueue) {\n this.target.on[item.method](...item.args);\n }\n for (const item of this.targetQueue) {\n item.resolve(await this.target[item.method](...item.args));\n }\n }\n}\n\n\n//# sourceURL=webpack://reposense/./node_modules/@vue/devtools-api/lib/esm/proxy.js?"); + +/***/ }), + +/***/ "./node_modules/@vue/devtools-api/lib/esm/time.js": +/*!********************************************************!*\ + !*** ./node_modules/@vue/devtools-api/lib/esm/time.js ***! + \********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"isPerformanceSupported\": () => (/* binding */ isPerformanceSupported),\n/* harmony export */ \"now\": () => (/* binding */ now)\n/* harmony export */ });\nlet supported;\nlet perf;\nfunction isPerformanceSupported() {\n var _a;\n if (supported !== undefined) {\n return supported;\n }\n if (typeof window !== 'undefined' && window.performance) {\n supported = true;\n perf = window.performance;\n }\n else if (typeof globalThis !== 'undefined' && ((_a = globalThis.perf_hooks) === null || _a === void 0 ? void 0 : _a.performance)) {\n supported = true;\n perf = globalThis.perf_hooks.performance;\n }\n else {\n supported = false;\n }\n return supported;\n}\nfunction now() {\n return isPerformanceSupported() ? perf.now() : Date.now();\n}\n\n\n//# sourceURL=webpack://reposense/./node_modules/@vue/devtools-api/lib/esm/time.js?"); + +/***/ }), + +/***/ "./node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"EffectScope\": () => (/* binding */ EffectScope),\n/* harmony export */ \"ITERATE_KEY\": () => (/* binding */ ITERATE_KEY),\n/* harmony export */ \"ReactiveEffect\": () => (/* binding */ ReactiveEffect),\n/* harmony export */ \"ReactiveFlags\": () => (/* binding */ ReactiveFlags),\n/* harmony export */ \"TrackOpTypes\": () => (/* binding */ TrackOpTypes),\n/* harmony export */ \"TriggerOpTypes\": () => (/* binding */ TriggerOpTypes),\n/* harmony export */ \"computed\": () => (/* binding */ computed),\n/* harmony export */ \"customRef\": () => (/* binding */ customRef),\n/* harmony export */ \"deferredComputed\": () => (/* binding */ deferredComputed),\n/* harmony export */ \"effect\": () => (/* binding */ effect),\n/* harmony export */ \"effectScope\": () => (/* binding */ effectScope),\n/* harmony export */ \"enableTracking\": () => (/* binding */ enableTracking),\n/* harmony export */ \"getCurrentScope\": () => (/* binding */ getCurrentScope),\n/* harmony export */ \"isProxy\": () => (/* binding */ isProxy),\n/* harmony export */ \"isReactive\": () => (/* binding */ isReactive),\n/* harmony export */ \"isReadonly\": () => (/* binding */ isReadonly),\n/* harmony export */ \"isRef\": () => (/* binding */ isRef),\n/* harmony export */ \"isShallow\": () => (/* binding */ isShallow),\n/* harmony export */ \"markRaw\": () => (/* binding */ markRaw),\n/* harmony export */ \"onScopeDispose\": () => (/* binding */ onScopeDispose),\n/* harmony export */ \"pauseScheduling\": () => (/* binding */ pauseScheduling),\n/* harmony export */ \"pauseTracking\": () => (/* binding */ pauseTracking),\n/* harmony export */ \"proxyRefs\": () => (/* binding */ proxyRefs),\n/* harmony export */ \"reactive\": () => (/* binding */ reactive),\n/* harmony export */ \"readonly\": () => (/* binding */ readonly),\n/* harmony export */ \"ref\": () => (/* binding */ ref),\n/* harmony export */ \"resetScheduling\": () => (/* binding */ resetScheduling),\n/* harmony export */ \"resetTracking\": () => (/* binding */ resetTracking),\n/* harmony export */ \"shallowReactive\": () => (/* binding */ shallowReactive),\n/* harmony export */ \"shallowReadonly\": () => (/* binding */ shallowReadonly),\n/* harmony export */ \"shallowRef\": () => (/* binding */ shallowRef),\n/* harmony export */ \"stop\": () => (/* binding */ stop),\n/* harmony export */ \"toRaw\": () => (/* binding */ toRaw),\n/* harmony export */ \"toRef\": () => (/* binding */ toRef),\n/* harmony export */ \"toRefs\": () => (/* binding */ toRefs),\n/* harmony export */ \"toValue\": () => (/* binding */ toValue),\n/* harmony export */ \"track\": () => (/* binding */ track),\n/* harmony export */ \"trigger\": () => (/* binding */ trigger),\n/* harmony export */ \"triggerRef\": () => (/* binding */ triggerRef),\n/* harmony export */ \"unref\": () => (/* binding */ unref)\n/* harmony export */ });\n/* harmony import */ var _vue_shared__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @vue/shared */ \"./node_modules/@vue/shared/dist/shared.esm-bundler.js\");\n/**\n* @vue/reactivity v3.4.21\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\n\n\nfunction warn(msg, ...args) {\n console.warn(`[Vue warn] ${msg}`, ...args);\n}\n\nlet activeEffectScope;\nclass EffectScope {\n constructor(detached = false) {\n this.detached = detached;\n /**\n * @internal\n */\n this._active = true;\n /**\n * @internal\n */\n this.effects = [];\n /**\n * @internal\n */\n this.cleanups = [];\n this.parent = activeEffectScope;\n if (!detached && activeEffectScope) {\n this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(\n this\n ) - 1;\n }\n }\n get active() {\n return this._active;\n }\n run(fn) {\n if (this._active) {\n const currentEffectScope = activeEffectScope;\n try {\n activeEffectScope = this;\n return fn();\n } finally {\n activeEffectScope = currentEffectScope;\n }\n } else if (true) {\n warn(`cannot run an inactive effect scope.`);\n }\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n on() {\n activeEffectScope = this;\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n off() {\n activeEffectScope = this.parent;\n }\n stop(fromParent) {\n if (this._active) {\n let i, l;\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].stop();\n }\n for (i = 0, l = this.cleanups.length; i < l; i++) {\n this.cleanups[i]();\n }\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].stop(true);\n }\n }\n if (!this.detached && this.parent && !fromParent) {\n const last = this.parent.scopes.pop();\n if (last && last !== this) {\n this.parent.scopes[this.index] = last;\n last.index = this.index;\n }\n }\n this.parent = void 0;\n this._active = false;\n }\n }\n}\nfunction effectScope(detached) {\n return new EffectScope(detached);\n}\nfunction recordEffectScope(effect, scope = activeEffectScope) {\n if (scope && scope.active) {\n scope.effects.push(effect);\n }\n}\nfunction getCurrentScope() {\n return activeEffectScope;\n}\nfunction onScopeDispose(fn) {\n if (activeEffectScope) {\n activeEffectScope.cleanups.push(fn);\n } else if (true) {\n warn(\n `onScopeDispose() is called when there is no active effect scope to be associated with.`\n );\n }\n}\n\nlet activeEffect;\nclass ReactiveEffect {\n constructor(fn, trigger, scheduler, scope) {\n this.fn = fn;\n this.trigger = trigger;\n this.scheduler = scheduler;\n this.active = true;\n this.deps = [];\n /**\n * @internal\n */\n this._dirtyLevel = 4;\n /**\n * @internal\n */\n this._trackId = 0;\n /**\n * @internal\n */\n this._runnings = 0;\n /**\n * @internal\n */\n this._shouldSchedule = false;\n /**\n * @internal\n */\n this._depsLength = 0;\n recordEffectScope(this, scope);\n }\n get dirty() {\n if (this._dirtyLevel === 2 || this._dirtyLevel === 3) {\n this._dirtyLevel = 1;\n pauseTracking();\n for (let i = 0; i < this._depsLength; i++) {\n const dep = this.deps[i];\n if (dep.computed) {\n triggerComputed(dep.computed);\n if (this._dirtyLevel >= 4) {\n break;\n }\n }\n }\n if (this._dirtyLevel === 1) {\n this._dirtyLevel = 0;\n }\n resetTracking();\n }\n return this._dirtyLevel >= 4;\n }\n set dirty(v) {\n this._dirtyLevel = v ? 4 : 0;\n }\n run() {\n this._dirtyLevel = 0;\n if (!this.active) {\n return this.fn();\n }\n let lastShouldTrack = shouldTrack;\n let lastEffect = activeEffect;\n try {\n shouldTrack = true;\n activeEffect = this;\n this._runnings++;\n preCleanupEffect(this);\n return this.fn();\n } finally {\n postCleanupEffect(this);\n this._runnings--;\n activeEffect = lastEffect;\n shouldTrack = lastShouldTrack;\n }\n }\n stop() {\n var _a;\n if (this.active) {\n preCleanupEffect(this);\n postCleanupEffect(this);\n (_a = this.onStop) == null ? void 0 : _a.call(this);\n this.active = false;\n }\n }\n}\nfunction triggerComputed(computed) {\n return computed.value;\n}\nfunction preCleanupEffect(effect2) {\n effect2._trackId++;\n effect2._depsLength = 0;\n}\nfunction postCleanupEffect(effect2) {\n if (effect2.deps.length > effect2._depsLength) {\n for (let i = effect2._depsLength; i < effect2.deps.length; i++) {\n cleanupDepEffect(effect2.deps[i], effect2);\n }\n effect2.deps.length = effect2._depsLength;\n }\n}\nfunction cleanupDepEffect(dep, effect2) {\n const trackId = dep.get(effect2);\n if (trackId !== void 0 && effect2._trackId !== trackId) {\n dep.delete(effect2);\n if (dep.size === 0) {\n dep.cleanup();\n }\n }\n}\nfunction effect(fn, options) {\n if (fn.effect instanceof ReactiveEffect) {\n fn = fn.effect.fn;\n }\n const _effect = new ReactiveEffect(fn, _vue_shared__WEBPACK_IMPORTED_MODULE_0__.NOOP, () => {\n if (_effect.dirty) {\n _effect.run();\n }\n });\n if (options) {\n (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.extend)(_effect, options);\n if (options.scope)\n recordEffectScope(_effect, options.scope);\n }\n if (!options || !options.lazy) {\n _effect.run();\n }\n const runner = _effect.run.bind(_effect);\n runner.effect = _effect;\n return runner;\n}\nfunction stop(runner) {\n runner.effect.stop();\n}\nlet shouldTrack = true;\nlet pauseScheduleStack = 0;\nconst trackStack = [];\nfunction pauseTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = false;\n}\nfunction enableTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = true;\n}\nfunction resetTracking() {\n const last = trackStack.pop();\n shouldTrack = last === void 0 ? true : last;\n}\nfunction pauseScheduling() {\n pauseScheduleStack++;\n}\nfunction resetScheduling() {\n pauseScheduleStack--;\n while (!pauseScheduleStack && queueEffectSchedulers.length) {\n queueEffectSchedulers.shift()();\n }\n}\nfunction trackEffect(effect2, dep, debuggerEventExtraInfo) {\n var _a;\n if (dep.get(effect2) !== effect2._trackId) {\n dep.set(effect2, effect2._trackId);\n const oldDep = effect2.deps[effect2._depsLength];\n if (oldDep !== dep) {\n if (oldDep) {\n cleanupDepEffect(oldDep, effect2);\n }\n effect2.deps[effect2._depsLength++] = dep;\n } else {\n effect2._depsLength++;\n }\n if (true) {\n (_a = effect2.onTrack) == null ? void 0 : _a.call(effect2, (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.extend)({ effect: effect2 }, debuggerEventExtraInfo));\n }\n }\n}\nconst queueEffectSchedulers = [];\nfunction triggerEffects(dep, dirtyLevel, debuggerEventExtraInfo) {\n var _a;\n pauseScheduling();\n for (const effect2 of dep.keys()) {\n let tracking;\n if (effect2._dirtyLevel < dirtyLevel && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) {\n effect2._shouldSchedule || (effect2._shouldSchedule = effect2._dirtyLevel === 0);\n effect2._dirtyLevel = dirtyLevel;\n }\n if (effect2._shouldSchedule && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) {\n if (true) {\n (_a = effect2.onTrigger) == null ? void 0 : _a.call(effect2, (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.extend)({ effect: effect2 }, debuggerEventExtraInfo));\n }\n effect2.trigger();\n if ((!effect2._runnings || effect2.allowRecurse) && effect2._dirtyLevel !== 2) {\n effect2._shouldSchedule = false;\n if (effect2.scheduler) {\n queueEffectSchedulers.push(effect2.scheduler);\n }\n }\n }\n }\n resetScheduling();\n}\n\nconst createDep = (cleanup, computed) => {\n const dep = /* @__PURE__ */ new Map();\n dep.cleanup = cleanup;\n dep.computed = computed;\n return dep;\n};\n\nconst targetMap = /* @__PURE__ */ new WeakMap();\nconst ITERATE_KEY = Symbol( true ? \"iterate\" : 0);\nconst MAP_KEY_ITERATE_KEY = Symbol( true ? \"Map key iterate\" : 0);\nfunction track(target, type, key) {\n if (shouldTrack && activeEffect) {\n let depsMap = targetMap.get(target);\n if (!depsMap) {\n targetMap.set(target, depsMap = /* @__PURE__ */ new Map());\n }\n let dep = depsMap.get(key);\n if (!dep) {\n depsMap.set(key, dep = createDep(() => depsMap.delete(key)));\n }\n trackEffect(\n activeEffect,\n dep,\n true ? {\n target,\n type,\n key\n } : 0\n );\n }\n}\nfunction trigger(target, type, key, newValue, oldValue, oldTarget) {\n const depsMap = targetMap.get(target);\n if (!depsMap) {\n return;\n }\n let deps = [];\n if (type === \"clear\") {\n deps = [...depsMap.values()];\n } else if (key === \"length\" && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isArray)(target)) {\n const newLength = Number(newValue);\n depsMap.forEach((dep, key2) => {\n if (key2 === \"length\" || !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isSymbol)(key2) && key2 >= newLength) {\n deps.push(dep);\n }\n });\n } else {\n if (key !== void 0) {\n deps.push(depsMap.get(key));\n }\n switch (type) {\n case \"add\":\n if (!(0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isArray)(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isMap)(target)) {\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n } else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isIntegerKey)(key)) {\n deps.push(depsMap.get(\"length\"));\n }\n break;\n case \"delete\":\n if (!(0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isArray)(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isMap)(target)) {\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n }\n break;\n case \"set\":\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isMap)(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n }\n break;\n }\n }\n pauseScheduling();\n for (const dep of deps) {\n if (dep) {\n triggerEffects(\n dep,\n 4,\n true ? {\n target,\n type,\n key,\n newValue,\n oldValue,\n oldTarget\n } : 0\n );\n }\n }\n resetScheduling();\n}\nfunction getDepFromReactive(object, key) {\n var _a;\n return (_a = targetMap.get(object)) == null ? void 0 : _a.get(key);\n}\n\nconst isNonTrackableKeys = /* @__PURE__ */ (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.makeMap)(`__proto__,__v_isRef,__isVue`);\nconst builtInSymbols = new Set(\n /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== \"arguments\" && key !== \"caller\").map((key) => Symbol[key]).filter(_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isSymbol)\n);\nconst arrayInstrumentations = /* @__PURE__ */ createArrayInstrumentations();\nfunction createArrayInstrumentations() {\n const instrumentations = {};\n [\"includes\", \"indexOf\", \"lastIndexOf\"].forEach((key) => {\n instrumentations[key] = function(...args) {\n const arr = toRaw(this);\n for (let i = 0, l = this.length; i < l; i++) {\n track(arr, \"get\", i + \"\");\n }\n const res = arr[key](...args);\n if (res === -1 || res === false) {\n return arr[key](...args.map(toRaw));\n } else {\n return res;\n }\n };\n });\n [\"push\", \"pop\", \"shift\", \"unshift\", \"splice\"].forEach((key) => {\n instrumentations[key] = function(...args) {\n pauseTracking();\n pauseScheduling();\n const res = toRaw(this)[key].apply(this, args);\n resetScheduling();\n resetTracking();\n return res;\n };\n });\n return instrumentations;\n}\nfunction hasOwnProperty(key) {\n const obj = toRaw(this);\n track(obj, \"has\", key);\n return obj.hasOwnProperty(key);\n}\nclass BaseReactiveHandler {\n constructor(_isReadonly = false, _isShallow = false) {\n this._isReadonly = _isReadonly;\n this._isShallow = _isShallow;\n }\n get(target, key, receiver) {\n const isReadonly2 = this._isReadonly, isShallow2 = this._isShallow;\n if (key === \"__v_isReactive\") {\n return !isReadonly2;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly2;\n } else if (key === \"__v_isShallow\") {\n return isShallow2;\n } else if (key === \"__v_raw\") {\n if (receiver === (isReadonly2 ? isShallow2 ? shallowReadonlyMap : readonlyMap : isShallow2 ? shallowReactiveMap : reactiveMap).get(target) || // receiver is not the reactive proxy, but has the same prototype\n // this means the reciever is a user proxy of the reactive proxy\n Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) {\n return target;\n }\n return;\n }\n const targetIsArray = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isArray)(target);\n if (!isReadonly2) {\n if (targetIsArray && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.hasOwn)(arrayInstrumentations, key)) {\n return Reflect.get(arrayInstrumentations, key, receiver);\n }\n if (key === \"hasOwnProperty\") {\n return hasOwnProperty;\n }\n }\n const res = Reflect.get(target, key, receiver);\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isSymbol)(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {\n return res;\n }\n if (!isReadonly2) {\n track(target, \"get\", key);\n }\n if (isShallow2) {\n return res;\n }\n if (isRef(res)) {\n return targetIsArray && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isIntegerKey)(key) ? res : res.value;\n }\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isObject)(res)) {\n return isReadonly2 ? readonly(res) : reactive(res);\n }\n return res;\n }\n}\nclass MutableReactiveHandler extends BaseReactiveHandler {\n constructor(isShallow2 = false) {\n super(false, isShallow2);\n }\n set(target, key, value, receiver) {\n let oldValue = target[key];\n if (!this._isShallow) {\n const isOldValueReadonly = isReadonly(oldValue);\n if (!isShallow(value) && !isReadonly(value)) {\n oldValue = toRaw(oldValue);\n value = toRaw(value);\n }\n if (!(0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isArray)(target) && isRef(oldValue) && !isRef(value)) {\n if (isOldValueReadonly) {\n return false;\n } else {\n oldValue.value = value;\n return true;\n }\n }\n }\n const hadKey = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isArray)(target) && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isIntegerKey)(key) ? Number(key) < target.length : (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.hasOwn)(target, key);\n const result = Reflect.set(target, key, value, receiver);\n if (target === toRaw(receiver)) {\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.hasChanged)(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n }\n return result;\n }\n deleteProperty(target, key) {\n const hadKey = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.hasOwn)(target, key);\n const oldValue = target[key];\n const result = Reflect.deleteProperty(target, key);\n if (result && hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n }\n has(target, key) {\n const result = Reflect.has(target, key);\n if (!(0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isSymbol)(key) || !builtInSymbols.has(key)) {\n track(target, \"has\", key);\n }\n return result;\n }\n ownKeys(target) {\n track(\n target,\n \"iterate\",\n (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isArray)(target) ? \"length\" : ITERATE_KEY\n );\n return Reflect.ownKeys(target);\n }\n}\nclass ReadonlyReactiveHandler extends BaseReactiveHandler {\n constructor(isShallow2 = false) {\n super(true, isShallow2);\n }\n set(target, key) {\n if (true) {\n warn(\n `Set operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n deleteProperty(target, key) {\n if (true) {\n warn(\n `Delete operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n}\nconst mutableHandlers = /* @__PURE__ */ new MutableReactiveHandler();\nconst readonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler();\nconst shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler(\n true\n);\nconst shallowReadonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(true);\n\nconst toShallow = (value) => value;\nconst getProto = (v) => Reflect.getPrototypeOf(v);\nfunction get(target, key, isReadonly = false, isShallow = false) {\n target = target[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!isReadonly) {\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.hasChanged)(key, rawKey)) {\n track(rawTarget, \"get\", key);\n }\n track(rawTarget, \"get\", rawKey);\n }\n const { has: has2 } = getProto(rawTarget);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n if (has2.call(rawTarget, key)) {\n return wrap(target.get(key));\n } else if (has2.call(rawTarget, rawKey)) {\n return wrap(target.get(rawKey));\n } else if (target !== rawTarget) {\n target.get(key);\n }\n}\nfunction has(key, isReadonly = false) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!isReadonly) {\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.hasChanged)(key, rawKey)) {\n track(rawTarget, \"has\", key);\n }\n track(rawTarget, \"has\", rawKey);\n }\n return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey);\n}\nfunction size(target, isReadonly = false) {\n target = target[\"__v_raw\"];\n !isReadonly && track(toRaw(target), \"iterate\", ITERATE_KEY);\n return Reflect.get(target, \"size\", target);\n}\nfunction add(value) {\n value = toRaw(value);\n const target = toRaw(this);\n const proto = getProto(target);\n const hadKey = proto.has.call(target, value);\n if (!hadKey) {\n target.add(value);\n trigger(target, \"add\", value, value);\n }\n return this;\n}\nfunction set(key, value) {\n value = toRaw(value);\n const target = toRaw(this);\n const { has: has2, get: get2 } = getProto(target);\n let hadKey = has2.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has2.call(target, key);\n } else if (true) {\n checkIdentityKeys(target, has2, key);\n }\n const oldValue = get2.call(target, key);\n target.set(key, value);\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.hasChanged)(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n return this;\n}\nfunction deleteEntry(key) {\n const target = toRaw(this);\n const { has: has2, get: get2 } = getProto(target);\n let hadKey = has2.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has2.call(target, key);\n } else if (true) {\n checkIdentityKeys(target, has2, key);\n }\n const oldValue = get2 ? get2.call(target, key) : void 0;\n const result = target.delete(key);\n if (hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n}\nfunction clear() {\n const target = toRaw(this);\n const hadItems = target.size !== 0;\n const oldTarget = true ? (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isMap)(target) ? new Map(target) : new Set(target) : 0;\n const result = target.clear();\n if (hadItems) {\n trigger(target, \"clear\", void 0, void 0, oldTarget);\n }\n return result;\n}\nfunction createForEach(isReadonly, isShallow) {\n return function forEach(callback, thisArg) {\n const observed = this;\n const target = observed[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n !isReadonly && track(rawTarget, \"iterate\", ITERATE_KEY);\n return target.forEach((value, key) => {\n return callback.call(thisArg, wrap(value), wrap(key), observed);\n });\n };\n}\nfunction createIterableMethod(method, isReadonly, isShallow) {\n return function(...args) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const targetIsMap = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isMap)(rawTarget);\n const isPair = method === \"entries\" || method === Symbol.iterator && targetIsMap;\n const isKeyOnly = method === \"keys\" && targetIsMap;\n const innerIterator = target[method](...args);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n !isReadonly && track(\n rawTarget,\n \"iterate\",\n isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY\n );\n return {\n // iterator protocol\n next() {\n const { value, done } = innerIterator.next();\n return done ? { value, done } : {\n value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),\n done\n };\n },\n // iterable protocol\n [Symbol.iterator]() {\n return this;\n }\n };\n };\n}\nfunction createReadonlyMethod(type) {\n return function(...args) {\n if (true) {\n const key = args[0] ? `on key \"${args[0]}\" ` : ``;\n warn(\n `${(0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.capitalize)(type)} operation ${key}failed: target is readonly.`,\n toRaw(this)\n );\n }\n return type === \"delete\" ? false : type === \"clear\" ? void 0 : this;\n };\n}\nfunction createInstrumentations() {\n const mutableInstrumentations2 = {\n get(key) {\n return get(this, key);\n },\n get size() {\n return size(this);\n },\n has,\n add,\n set,\n delete: deleteEntry,\n clear,\n forEach: createForEach(false, false)\n };\n const shallowInstrumentations2 = {\n get(key) {\n return get(this, key, false, true);\n },\n get size() {\n return size(this);\n },\n has,\n add,\n set,\n delete: deleteEntry,\n clear,\n forEach: createForEach(false, true)\n };\n const readonlyInstrumentations2 = {\n get(key) {\n return get(this, key, true);\n },\n get size() {\n return size(this, true);\n },\n has(key) {\n return has.call(this, key, true);\n },\n add: createReadonlyMethod(\"add\"),\n set: createReadonlyMethod(\"set\"),\n delete: createReadonlyMethod(\"delete\"),\n clear: createReadonlyMethod(\"clear\"),\n forEach: createForEach(true, false)\n };\n const shallowReadonlyInstrumentations2 = {\n get(key) {\n return get(this, key, true, true);\n },\n get size() {\n return size(this, true);\n },\n has(key) {\n return has.call(this, key, true);\n },\n add: createReadonlyMethod(\"add\"),\n set: createReadonlyMethod(\"set\"),\n delete: createReadonlyMethod(\"delete\"),\n clear: createReadonlyMethod(\"clear\"),\n forEach: createForEach(true, true)\n };\n const iteratorMethods = [\"keys\", \"values\", \"entries\", Symbol.iterator];\n iteratorMethods.forEach((method) => {\n mutableInstrumentations2[method] = createIterableMethod(\n method,\n false,\n false\n );\n readonlyInstrumentations2[method] = createIterableMethod(\n method,\n true,\n false\n );\n shallowInstrumentations2[method] = createIterableMethod(\n method,\n false,\n true\n );\n shallowReadonlyInstrumentations2[method] = createIterableMethod(\n method,\n true,\n true\n );\n });\n return [\n mutableInstrumentations2,\n readonlyInstrumentations2,\n shallowInstrumentations2,\n shallowReadonlyInstrumentations2\n ];\n}\nconst [\n mutableInstrumentations,\n readonlyInstrumentations,\n shallowInstrumentations,\n shallowReadonlyInstrumentations\n] = /* @__PURE__ */ createInstrumentations();\nfunction createInstrumentationGetter(isReadonly, shallow) {\n const instrumentations = shallow ? isReadonly ? shallowReadonlyInstrumentations : shallowInstrumentations : isReadonly ? readonlyInstrumentations : mutableInstrumentations;\n return (target, key, receiver) => {\n if (key === \"__v_isReactive\") {\n return !isReadonly;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly;\n } else if (key === \"__v_raw\") {\n return target;\n }\n return Reflect.get(\n (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.hasOwn)(instrumentations, key) && key in target ? instrumentations : target,\n key,\n receiver\n );\n };\n}\nconst mutableCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, false)\n};\nconst shallowCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, true)\n};\nconst readonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, false)\n};\nconst shallowReadonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, true)\n};\nfunction checkIdentityKeys(target, has2, key) {\n const rawKey = toRaw(key);\n if (rawKey !== key && has2.call(target, rawKey)) {\n const type = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.toRawType)(target);\n warn(\n `Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`\n );\n }\n}\n\nconst reactiveMap = /* @__PURE__ */ new WeakMap();\nconst shallowReactiveMap = /* @__PURE__ */ new WeakMap();\nconst readonlyMap = /* @__PURE__ */ new WeakMap();\nconst shallowReadonlyMap = /* @__PURE__ */ new WeakMap();\nfunction targetTypeMap(rawType) {\n switch (rawType) {\n case \"Object\":\n case \"Array\":\n return 1 /* COMMON */;\n case \"Map\":\n case \"Set\":\n case \"WeakMap\":\n case \"WeakSet\":\n return 2 /* COLLECTION */;\n default:\n return 0 /* INVALID */;\n }\n}\nfunction getTargetType(value) {\n return value[\"__v_skip\"] || !Object.isExtensible(value) ? 0 /* INVALID */ : targetTypeMap((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.toRawType)(value));\n}\nfunction reactive(target) {\n if (isReadonly(target)) {\n return target;\n }\n return createReactiveObject(\n target,\n false,\n mutableHandlers,\n mutableCollectionHandlers,\n reactiveMap\n );\n}\nfunction shallowReactive(target) {\n return createReactiveObject(\n target,\n false,\n shallowReactiveHandlers,\n shallowCollectionHandlers,\n shallowReactiveMap\n );\n}\nfunction readonly(target) {\n return createReactiveObject(\n target,\n true,\n readonlyHandlers,\n readonlyCollectionHandlers,\n readonlyMap\n );\n}\nfunction shallowReadonly(target) {\n return createReactiveObject(\n target,\n true,\n shallowReadonlyHandlers,\n shallowReadonlyCollectionHandlers,\n shallowReadonlyMap\n );\n}\nfunction createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) {\n if (!(0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isObject)(target)) {\n if (true) {\n warn(`value cannot be made reactive: ${String(target)}`);\n }\n return target;\n }\n if (target[\"__v_raw\"] && !(isReadonly2 && target[\"__v_isReactive\"])) {\n return target;\n }\n const existingProxy = proxyMap.get(target);\n if (existingProxy) {\n return existingProxy;\n }\n const targetType = getTargetType(target);\n if (targetType === 0 /* INVALID */) {\n return target;\n }\n const proxy = new Proxy(\n target,\n targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers\n );\n proxyMap.set(target, proxy);\n return proxy;\n}\nfunction isReactive(value) {\n if (isReadonly(value)) {\n return isReactive(value[\"__v_raw\"]);\n }\n return !!(value && value[\"__v_isReactive\"]);\n}\nfunction isReadonly(value) {\n return !!(value && value[\"__v_isReadonly\"]);\n}\nfunction isShallow(value) {\n return !!(value && value[\"__v_isShallow\"]);\n}\nfunction isProxy(value) {\n return isReactive(value) || isReadonly(value);\n}\nfunction toRaw(observed) {\n const raw = observed && observed[\"__v_raw\"];\n return raw ? toRaw(raw) : observed;\n}\nfunction markRaw(value) {\n if (Object.isExtensible(value)) {\n (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.def)(value, \"__v_skip\", true);\n }\n return value;\n}\nconst toReactive = (value) => (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isObject)(value) ? reactive(value) : value;\nconst toReadonly = (value) => (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isObject)(value) ? readonly(value) : value;\n\nconst COMPUTED_SIDE_EFFECT_WARN = `Computed is still dirty after getter evaluation, likely because a computed is mutating its own dependency in its getter. State mutations in computed getters should be avoided. Check the docs for more details: https://vuejs.org/guide/essentials/computed.html#getters-should-be-side-effect-free`;\nclass ComputedRefImpl {\n constructor(getter, _setter, isReadonly, isSSR) {\n this.getter = getter;\n this._setter = _setter;\n this.dep = void 0;\n this.__v_isRef = true;\n this[\"__v_isReadonly\"] = false;\n this.effect = new ReactiveEffect(\n () => getter(this._value),\n () => triggerRefValue(\n this,\n this.effect._dirtyLevel === 2 ? 2 : 3\n )\n );\n this.effect.computed = this;\n this.effect.active = this._cacheable = !isSSR;\n this[\"__v_isReadonly\"] = isReadonly;\n }\n get value() {\n const self = toRaw(this);\n if ((!self._cacheable || self.effect.dirty) && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.hasChanged)(self._value, self._value = self.effect.run())) {\n triggerRefValue(self, 4);\n }\n trackRefValue(self);\n if (self.effect._dirtyLevel >= 2) {\n if ( true && this._warnRecursive) {\n warn(COMPUTED_SIDE_EFFECT_WARN, `\n\ngetter: `, this.getter);\n }\n triggerRefValue(self, 2);\n }\n return self._value;\n }\n set value(newValue) {\n this._setter(newValue);\n }\n // #region polyfill _dirty for backward compatibility third party code for Vue <= 3.3.x\n get _dirty() {\n return this.effect.dirty;\n }\n set _dirty(v) {\n this.effect.dirty = v;\n }\n // #endregion\n}\nfunction computed(getterOrOptions, debugOptions, isSSR = false) {\n let getter;\n let setter;\n const onlyGetter = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isFunction)(getterOrOptions);\n if (onlyGetter) {\n getter = getterOrOptions;\n setter = true ? () => {\n warn(\"Write operation failed: computed value is readonly\");\n } : 0;\n } else {\n getter = getterOrOptions.get;\n setter = getterOrOptions.set;\n }\n const cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter, isSSR);\n if ( true && debugOptions && !isSSR) {\n cRef.effect.onTrack = debugOptions.onTrack;\n cRef.effect.onTrigger = debugOptions.onTrigger;\n }\n return cRef;\n}\n\nfunction trackRefValue(ref2) {\n var _a;\n if (shouldTrack && activeEffect) {\n ref2 = toRaw(ref2);\n trackEffect(\n activeEffect,\n (_a = ref2.dep) != null ? _a : ref2.dep = createDep(\n () => ref2.dep = void 0,\n ref2 instanceof ComputedRefImpl ? ref2 : void 0\n ),\n true ? {\n target: ref2,\n type: \"get\",\n key: \"value\"\n } : 0\n );\n }\n}\nfunction triggerRefValue(ref2, dirtyLevel = 4, newVal) {\n ref2 = toRaw(ref2);\n const dep = ref2.dep;\n if (dep) {\n triggerEffects(\n dep,\n dirtyLevel,\n true ? {\n target: ref2,\n type: \"set\",\n key: \"value\",\n newValue: newVal\n } : 0\n );\n }\n}\nfunction isRef(r) {\n return !!(r && r.__v_isRef === true);\n}\nfunction ref(value) {\n return createRef(value, false);\n}\nfunction shallowRef(value) {\n return createRef(value, true);\n}\nfunction createRef(rawValue, shallow) {\n if (isRef(rawValue)) {\n return rawValue;\n }\n return new RefImpl(rawValue, shallow);\n}\nclass RefImpl {\n constructor(value, __v_isShallow) {\n this.__v_isShallow = __v_isShallow;\n this.dep = void 0;\n this.__v_isRef = true;\n this._rawValue = __v_isShallow ? value : toRaw(value);\n this._value = __v_isShallow ? value : toReactive(value);\n }\n get value() {\n trackRefValue(this);\n return this._value;\n }\n set value(newVal) {\n const useDirectValue = this.__v_isShallow || isShallow(newVal) || isReadonly(newVal);\n newVal = useDirectValue ? newVal : toRaw(newVal);\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.hasChanged)(newVal, this._rawValue)) {\n this._rawValue = newVal;\n this._value = useDirectValue ? newVal : toReactive(newVal);\n triggerRefValue(this, 4, newVal);\n }\n }\n}\nfunction triggerRef(ref2) {\n triggerRefValue(ref2, 4, true ? ref2.value : 0);\n}\nfunction unref(ref2) {\n return isRef(ref2) ? ref2.value : ref2;\n}\nfunction toValue(source) {\n return (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isFunction)(source) ? source() : unref(source);\n}\nconst shallowUnwrapHandlers = {\n get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)),\n set: (target, key, value, receiver) => {\n const oldValue = target[key];\n if (isRef(oldValue) && !isRef(value)) {\n oldValue.value = value;\n return true;\n } else {\n return Reflect.set(target, key, value, receiver);\n }\n }\n};\nfunction proxyRefs(objectWithRefs) {\n return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers);\n}\nclass CustomRefImpl {\n constructor(factory) {\n this.dep = void 0;\n this.__v_isRef = true;\n const { get, set } = factory(\n () => trackRefValue(this),\n () => triggerRefValue(this)\n );\n this._get = get;\n this._set = set;\n }\n get value() {\n return this._get();\n }\n set value(newVal) {\n this._set(newVal);\n }\n}\nfunction customRef(factory) {\n return new CustomRefImpl(factory);\n}\nfunction toRefs(object) {\n if ( true && !isProxy(object)) {\n warn(`toRefs() expects a reactive object but received a plain one.`);\n }\n const ret = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isArray)(object) ? new Array(object.length) : {};\n for (const key in object) {\n ret[key] = propertyToRef(object, key);\n }\n return ret;\n}\nclass ObjectRefImpl {\n constructor(_object, _key, _defaultValue) {\n this._object = _object;\n this._key = _key;\n this._defaultValue = _defaultValue;\n this.__v_isRef = true;\n }\n get value() {\n const val = this._object[this._key];\n return val === void 0 ? this._defaultValue : val;\n }\n set value(newVal) {\n this._object[this._key] = newVal;\n }\n get dep() {\n return getDepFromReactive(toRaw(this._object), this._key);\n }\n}\nclass GetterRefImpl {\n constructor(_getter) {\n this._getter = _getter;\n this.__v_isRef = true;\n this.__v_isReadonly = true;\n }\n get value() {\n return this._getter();\n }\n}\nfunction toRef(source, key, defaultValue) {\n if (isRef(source)) {\n return source;\n } else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isFunction)(source)) {\n return new GetterRefImpl(source);\n } else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isObject)(source) && arguments.length > 1) {\n return propertyToRef(source, key, defaultValue);\n } else {\n return ref(source);\n }\n}\nfunction propertyToRef(source, key, defaultValue) {\n const val = source[key];\n return isRef(val) ? val : new ObjectRefImpl(source, key, defaultValue);\n}\n\nconst deferredComputed = computed;\n\nconst TrackOpTypes = {\n \"GET\": \"get\",\n \"HAS\": \"has\",\n \"ITERATE\": \"iterate\"\n};\nconst TriggerOpTypes = {\n \"SET\": \"set\",\n \"ADD\": \"add\",\n \"DELETE\": \"delete\",\n \"CLEAR\": \"clear\"\n};\nconst ReactiveFlags = {\n \"SKIP\": \"__v_skip\",\n \"IS_REACTIVE\": \"__v_isReactive\",\n \"IS_READONLY\": \"__v_isReadonly\",\n \"IS_SHALLOW\": \"__v_isShallow\",\n \"RAW\": \"__v_raw\"\n};\n\n\n\n\n//# sourceURL=webpack://reposense/./node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js?"); + +/***/ }), + +/***/ "./node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"BaseTransition\": () => (/* binding */ BaseTransition),\n/* harmony export */ \"BaseTransitionPropsValidators\": () => (/* binding */ BaseTransitionPropsValidators),\n/* harmony export */ \"Comment\": () => (/* binding */ Comment),\n/* harmony export */ \"DeprecationTypes\": () => (/* binding */ DeprecationTypes),\n/* harmony export */ \"EffectScope\": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.EffectScope),\n/* harmony export */ \"ErrorCodes\": () => (/* binding */ ErrorCodes),\n/* harmony export */ \"ErrorTypeStrings\": () => (/* binding */ ErrorTypeStrings),\n/* harmony export */ \"Fragment\": () => (/* binding */ Fragment),\n/* harmony export */ \"KeepAlive\": () => (/* binding */ KeepAlive),\n/* harmony export */ \"ReactiveEffect\": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.ReactiveEffect),\n/* harmony export */ \"Static\": () => (/* binding */ Static),\n/* harmony export */ \"Suspense\": () => (/* binding */ Suspense),\n/* harmony export */ \"Teleport\": () => (/* binding */ Teleport),\n/* harmony export */ \"Text\": () => (/* binding */ Text),\n/* harmony export */ \"TrackOpTypes\": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.TrackOpTypes),\n/* harmony export */ \"TriggerOpTypes\": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.TriggerOpTypes),\n/* harmony export */ \"assertNumber\": () => (/* binding */ assertNumber),\n/* harmony export */ \"callWithAsyncErrorHandling\": () => (/* binding */ callWithAsyncErrorHandling),\n/* harmony export */ \"callWithErrorHandling\": () => (/* binding */ callWithErrorHandling),\n/* harmony export */ \"camelize\": () => (/* reexport safe */ _vue_shared__WEBPACK_IMPORTED_MODULE_1__.camelize),\n/* harmony export */ \"capitalize\": () => (/* reexport safe */ _vue_shared__WEBPACK_IMPORTED_MODULE_1__.capitalize),\n/* harmony export */ \"cloneVNode\": () => (/* binding */ cloneVNode),\n/* harmony export */ \"compatUtils\": () => (/* binding */ compatUtils),\n/* harmony export */ \"computed\": () => (/* binding */ computed),\n/* harmony export */ \"createBlock\": () => (/* binding */ createBlock),\n/* harmony export */ \"createCommentVNode\": () => (/* binding */ createCommentVNode),\n/* harmony export */ \"createElementBlock\": () => (/* binding */ createElementBlock),\n/* harmony export */ \"createElementVNode\": () => (/* binding */ createBaseVNode),\n/* harmony export */ \"createHydrationRenderer\": () => (/* binding */ createHydrationRenderer),\n/* harmony export */ \"createPropsRestProxy\": () => (/* binding */ createPropsRestProxy),\n/* harmony export */ \"createRenderer\": () => (/* binding */ createRenderer),\n/* harmony export */ \"createSlots\": () => (/* binding */ createSlots),\n/* harmony export */ \"createStaticVNode\": () => (/* binding */ createStaticVNode),\n/* harmony export */ \"createTextVNode\": () => (/* binding */ createTextVNode),\n/* harmony export */ \"createVNode\": () => (/* binding */ createVNode),\n/* harmony export */ \"customRef\": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.customRef),\n/* harmony export */ \"defineAsyncComponent\": () => (/* binding */ defineAsyncComponent),\n/* harmony export */ \"defineComponent\": () => (/* binding */ defineComponent),\n/* harmony export */ \"defineEmits\": () => (/* binding */ defineEmits),\n/* harmony export */ \"defineExpose\": () => (/* binding */ defineExpose),\n/* harmony export */ \"defineModel\": () => (/* binding */ defineModel),\n/* harmony export */ \"defineOptions\": () => (/* binding */ defineOptions),\n/* harmony export */ \"defineProps\": () => (/* binding */ defineProps),\n/* harmony export */ \"defineSlots\": () => (/* binding */ defineSlots),\n/* harmony export */ \"devtools\": () => (/* binding */ devtools),\n/* harmony export */ \"effect\": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.effect),\n/* harmony export */ \"effectScope\": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.effectScope),\n/* harmony export */ \"getCurrentInstance\": () => (/* binding */ getCurrentInstance),\n/* harmony export */ \"getCurrentScope\": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.getCurrentScope),\n/* harmony export */ \"getTransitionRawChildren\": () => (/* binding */ getTransitionRawChildren),\n/* harmony export */ \"guardReactiveProps\": () => (/* binding */ guardReactiveProps),\n/* harmony export */ \"h\": () => (/* binding */ h),\n/* harmony export */ \"handleError\": () => (/* binding */ handleError),\n/* harmony export */ \"hasInjectionContext\": () => (/* binding */ hasInjectionContext),\n/* harmony export */ \"initCustomFormatter\": () => (/* binding */ initCustomFormatter),\n/* harmony export */ \"inject\": () => (/* binding */ inject),\n/* harmony export */ \"isMemoSame\": () => (/* binding */ isMemoSame),\n/* harmony export */ \"isProxy\": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.isProxy),\n/* harmony export */ \"isReactive\": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.isReactive),\n/* harmony export */ \"isReadonly\": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.isReadonly),\n/* harmony export */ \"isRef\": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.isRef),\n/* harmony export */ \"isRuntimeOnly\": () => (/* binding */ isRuntimeOnly),\n/* harmony export */ \"isShallow\": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.isShallow),\n/* harmony export */ \"isVNode\": () => (/* binding */ isVNode),\n/* harmony export */ \"markRaw\": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.markRaw),\n/* harmony export */ \"mergeDefaults\": () => (/* binding */ mergeDefaults),\n/* harmony export */ \"mergeModels\": () => (/* binding */ mergeModels),\n/* harmony export */ \"mergeProps\": () => (/* binding */ mergeProps),\n/* harmony export */ \"nextTick\": () => (/* binding */ nextTick),\n/* harmony export */ \"normalizeClass\": () => (/* reexport safe */ _vue_shared__WEBPACK_IMPORTED_MODULE_1__.normalizeClass),\n/* harmony export */ \"normalizeProps\": () => (/* reexport safe */ _vue_shared__WEBPACK_IMPORTED_MODULE_1__.normalizeProps),\n/* harmony export */ \"normalizeStyle\": () => (/* reexport safe */ _vue_shared__WEBPACK_IMPORTED_MODULE_1__.normalizeStyle),\n/* harmony export */ \"onActivated\": () => (/* binding */ onActivated),\n/* harmony export */ \"onBeforeMount\": () => (/* binding */ onBeforeMount),\n/* harmony export */ \"onBeforeUnmount\": () => (/* binding */ onBeforeUnmount),\n/* harmony export */ \"onBeforeUpdate\": () => (/* binding */ onBeforeUpdate),\n/* harmony export */ \"onDeactivated\": () => (/* binding */ onDeactivated),\n/* harmony export */ \"onErrorCaptured\": () => (/* binding */ onErrorCaptured),\n/* harmony export */ \"onMounted\": () => (/* binding */ onMounted),\n/* harmony export */ \"onRenderTracked\": () => (/* binding */ onRenderTracked),\n/* harmony export */ \"onRenderTriggered\": () => (/* binding */ onRenderTriggered),\n/* harmony export */ \"onScopeDispose\": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.onScopeDispose),\n/* harmony export */ \"onServerPrefetch\": () => (/* binding */ onServerPrefetch),\n/* harmony export */ \"onUnmounted\": () => (/* binding */ onUnmounted),\n/* harmony export */ \"onUpdated\": () => (/* binding */ onUpdated),\n/* harmony export */ \"openBlock\": () => (/* binding */ openBlock),\n/* harmony export */ \"popScopeId\": () => (/* binding */ popScopeId),\n/* harmony export */ \"provide\": () => (/* binding */ provide),\n/* harmony export */ \"proxyRefs\": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.proxyRefs),\n/* harmony export */ \"pushScopeId\": () => (/* binding */ pushScopeId),\n/* harmony export */ \"queuePostFlushCb\": () => (/* binding */ queuePostFlushCb),\n/* harmony export */ \"reactive\": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.reactive),\n/* harmony export */ \"readonly\": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.readonly),\n/* harmony export */ \"ref\": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.ref),\n/* harmony export */ \"registerRuntimeCompiler\": () => (/* binding */ registerRuntimeCompiler),\n/* harmony export */ \"renderList\": () => (/* binding */ renderList),\n/* harmony export */ \"renderSlot\": () => (/* binding */ renderSlot),\n/* harmony export */ \"resolveComponent\": () => (/* binding */ resolveComponent),\n/* harmony export */ \"resolveDirective\": () => (/* binding */ resolveDirective),\n/* harmony export */ \"resolveDynamicComponent\": () => (/* binding */ resolveDynamicComponent),\n/* harmony export */ \"resolveFilter\": () => (/* binding */ resolveFilter),\n/* harmony export */ \"resolveTransitionHooks\": () => (/* binding */ resolveTransitionHooks),\n/* harmony export */ \"setBlockTracking\": () => (/* binding */ setBlockTracking),\n/* harmony export */ \"setDevtoolsHook\": () => (/* binding */ setDevtoolsHook),\n/* harmony export */ \"setTransitionHooks\": () => (/* binding */ setTransitionHooks),\n/* harmony export */ \"shallowReactive\": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.shallowReactive),\n/* harmony export */ \"shallowReadonly\": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.shallowReadonly),\n/* harmony export */ \"shallowRef\": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.shallowRef),\n/* harmony export */ \"ssrContextKey\": () => (/* binding */ ssrContextKey),\n/* harmony export */ \"ssrUtils\": () => (/* binding */ ssrUtils),\n/* harmony export */ \"stop\": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.stop),\n/* harmony export */ \"toDisplayString\": () => (/* reexport safe */ _vue_shared__WEBPACK_IMPORTED_MODULE_1__.toDisplayString),\n/* harmony export */ \"toHandlerKey\": () => (/* reexport safe */ _vue_shared__WEBPACK_IMPORTED_MODULE_1__.toHandlerKey),\n/* harmony export */ \"toHandlers\": () => (/* binding */ toHandlers),\n/* harmony export */ \"toRaw\": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.toRaw),\n/* harmony export */ \"toRef\": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.toRef),\n/* harmony export */ \"toRefs\": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.toRefs),\n/* harmony export */ \"toValue\": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.toValue),\n/* harmony export */ \"transformVNodeArgs\": () => (/* binding */ transformVNodeArgs),\n/* harmony export */ \"triggerRef\": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.triggerRef),\n/* harmony export */ \"unref\": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.unref),\n/* harmony export */ \"useAttrs\": () => (/* binding */ useAttrs),\n/* harmony export */ \"useModel\": () => (/* binding */ useModel),\n/* harmony export */ \"useSSRContext\": () => (/* binding */ useSSRContext),\n/* harmony export */ \"useSlots\": () => (/* binding */ useSlots),\n/* harmony export */ \"useTransitionState\": () => (/* binding */ useTransitionState),\n/* harmony export */ \"version\": () => (/* binding */ version),\n/* harmony export */ \"warn\": () => (/* binding */ warn),\n/* harmony export */ \"watch\": () => (/* binding */ watch),\n/* harmony export */ \"watchEffect\": () => (/* binding */ watchEffect),\n/* harmony export */ \"watchPostEffect\": () => (/* binding */ watchPostEffect),\n/* harmony export */ \"watchSyncEffect\": () => (/* binding */ watchSyncEffect),\n/* harmony export */ \"withAsyncContext\": () => (/* binding */ withAsyncContext),\n/* harmony export */ \"withCtx\": () => (/* binding */ withCtx),\n/* harmony export */ \"withDefaults\": () => (/* binding */ withDefaults),\n/* harmony export */ \"withDirectives\": () => (/* binding */ withDirectives),\n/* harmony export */ \"withMemo\": () => (/* binding */ withMemo),\n/* harmony export */ \"withScopeId\": () => (/* binding */ withScopeId)\n/* harmony export */ });\n/* harmony import */ var _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @vue/reactivity */ \"./node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js\");\n/* harmony import */ var _vue_shared__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @vue/shared */ \"./node_modules/@vue/shared/dist/shared.esm-bundler.js\");\n/**\n* @vue/runtime-core v3.4.21\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\n\n\n\n\n\nconst stack = [];\nfunction pushWarningContext(vnode) {\n stack.push(vnode);\n}\nfunction popWarningContext() {\n stack.pop();\n}\nfunction warn$1(msg, ...args) {\n (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.pauseTracking)();\n const instance = stack.length ? stack[stack.length - 1].component : null;\n const appWarnHandler = instance && instance.appContext.config.warnHandler;\n const trace = getComponentTrace();\n if (appWarnHandler) {\n callWithErrorHandling(\n appWarnHandler,\n instance,\n 11,\n [\n msg + args.map((a) => {\n var _a, _b;\n return (_b = (_a = a.toString) == null ? void 0 : _a.call(a)) != null ? _b : JSON.stringify(a);\n }).join(\"\"),\n instance && instance.proxy,\n trace.map(\n ({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`\n ).join(\"\\n\"),\n trace\n ]\n );\n } else {\n const warnArgs = [`[Vue warn]: ${msg}`, ...args];\n if (trace.length && // avoid spamming console during tests\n true) {\n warnArgs.push(`\n`, ...formatTrace(trace));\n }\n console.warn(...warnArgs);\n }\n (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.resetTracking)();\n}\nfunction getComponentTrace() {\n let currentVNode = stack[stack.length - 1];\n if (!currentVNode) {\n return [];\n }\n const normalizedStack = [];\n while (currentVNode) {\n const last = normalizedStack[0];\n if (last && last.vnode === currentVNode) {\n last.recurseCount++;\n } else {\n normalizedStack.push({\n vnode: currentVNode,\n recurseCount: 0\n });\n }\n const parentInstance = currentVNode.component && currentVNode.component.parent;\n currentVNode = parentInstance && parentInstance.vnode;\n }\n return normalizedStack;\n}\nfunction formatTrace(trace) {\n const logs = [];\n trace.forEach((entry, i) => {\n logs.push(...i === 0 ? [] : [`\n`], ...formatTraceEntry(entry));\n });\n return logs;\n}\nfunction formatTraceEntry({ vnode, recurseCount }) {\n const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;\n const isRoot = vnode.component ? vnode.component.parent == null : false;\n const open = ` at <${formatComponentName(\n vnode.component,\n vnode.type,\n isRoot\n )}`;\n const close = `>` + postfix;\n return vnode.props ? [open, ...formatProps(vnode.props), close] : [open + close];\n}\nfunction formatProps(props) {\n const res = [];\n const keys = Object.keys(props);\n keys.slice(0, 3).forEach((key) => {\n res.push(...formatProp(key, props[key]));\n });\n if (keys.length > 3) {\n res.push(` ...`);\n }\n return res;\n}\nfunction formatProp(key, value, raw) {\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isString)(value)) {\n value = JSON.stringify(value);\n return raw ? value : [`${key}=${value}`];\n } else if (typeof value === \"number\" || typeof value === \"boolean\" || value == null) {\n return raw ? value : [`${key}=${value}`];\n } else if ((0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.isRef)(value)) {\n value = formatProp(key, (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.toRaw)(value.value), true);\n return raw ? value : [`${key}=Ref<`, value, `>`];\n } else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(value)) {\n return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];\n } else {\n value = (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.toRaw)(value);\n return raw ? value : [`${key}=`, value];\n }\n}\nfunction assertNumber(val, type) {\n if (false)\n {}\n if (val === void 0) {\n return;\n } else if (typeof val !== \"number\") {\n warn$1(`${type} is not a valid number - got ${JSON.stringify(val)}.`);\n } else if (isNaN(val)) {\n warn$1(`${type} is NaN - the duration expression might be incorrect.`);\n }\n}\n\nconst ErrorCodes = {\n \"SETUP_FUNCTION\": 0,\n \"0\": \"SETUP_FUNCTION\",\n \"RENDER_FUNCTION\": 1,\n \"1\": \"RENDER_FUNCTION\",\n \"WATCH_GETTER\": 2,\n \"2\": \"WATCH_GETTER\",\n \"WATCH_CALLBACK\": 3,\n \"3\": \"WATCH_CALLBACK\",\n \"WATCH_CLEANUP\": 4,\n \"4\": \"WATCH_CLEANUP\",\n \"NATIVE_EVENT_HANDLER\": 5,\n \"5\": \"NATIVE_EVENT_HANDLER\",\n \"COMPONENT_EVENT_HANDLER\": 6,\n \"6\": \"COMPONENT_EVENT_HANDLER\",\n \"VNODE_HOOK\": 7,\n \"7\": \"VNODE_HOOK\",\n \"DIRECTIVE_HOOK\": 8,\n \"8\": \"DIRECTIVE_HOOK\",\n \"TRANSITION_HOOK\": 9,\n \"9\": \"TRANSITION_HOOK\",\n \"APP_ERROR_HANDLER\": 10,\n \"10\": \"APP_ERROR_HANDLER\",\n \"APP_WARN_HANDLER\": 11,\n \"11\": \"APP_WARN_HANDLER\",\n \"FUNCTION_REF\": 12,\n \"12\": \"FUNCTION_REF\",\n \"ASYNC_COMPONENT_LOADER\": 13,\n \"13\": \"ASYNC_COMPONENT_LOADER\",\n \"SCHEDULER\": 14,\n \"14\": \"SCHEDULER\"\n};\nconst ErrorTypeStrings$1 = {\n [\"sp\"]: \"serverPrefetch hook\",\n [\"bc\"]: \"beforeCreate hook\",\n [\"c\"]: \"created hook\",\n [\"bm\"]: \"beforeMount hook\",\n [\"m\"]: \"mounted hook\",\n [\"bu\"]: \"beforeUpdate hook\",\n [\"u\"]: \"updated\",\n [\"bum\"]: \"beforeUnmount hook\",\n [\"um\"]: \"unmounted hook\",\n [\"a\"]: \"activated hook\",\n [\"da\"]: \"deactivated hook\",\n [\"ec\"]: \"errorCaptured hook\",\n [\"rtc\"]: \"renderTracked hook\",\n [\"rtg\"]: \"renderTriggered hook\",\n [0]: \"setup function\",\n [1]: \"render function\",\n [2]: \"watcher getter\",\n [3]: \"watcher callback\",\n [4]: \"watcher cleanup function\",\n [5]: \"native event handler\",\n [6]: \"component event handler\",\n [7]: \"vnode hook\",\n [8]: \"directive hook\",\n [9]: \"transition hook\",\n [10]: \"app errorHandler\",\n [11]: \"app warnHandler\",\n [12]: \"ref function\",\n [13]: \"async component loader\",\n [14]: \"scheduler flush. This is likely a Vue internals bug. Please open an issue at https://github.com/vuejs/core .\"\n};\nfunction callWithErrorHandling(fn, instance, type, args) {\n try {\n return args ? fn(...args) : fn();\n } catch (err) {\n handleError(err, instance, type);\n }\n}\nfunction callWithAsyncErrorHandling(fn, instance, type, args) {\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(fn)) {\n const res = callWithErrorHandling(fn, instance, type, args);\n if (res && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isPromise)(res)) {\n res.catch((err) => {\n handleError(err, instance, type);\n });\n }\n return res;\n }\n const values = [];\n for (let i = 0; i < fn.length; i++) {\n values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));\n }\n return values;\n}\nfunction handleError(err, instance, type, throwInDev = true) {\n const contextVNode = instance ? instance.vnode : null;\n if (instance) {\n let cur = instance.parent;\n const exposedInstance = instance.proxy;\n const errorInfo = true ? ErrorTypeStrings$1[type] : 0;\n while (cur) {\n const errorCapturedHooks = cur.ec;\n if (errorCapturedHooks) {\n for (let i = 0; i < errorCapturedHooks.length; i++) {\n if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {\n return;\n }\n }\n }\n cur = cur.parent;\n }\n const appErrorHandler = instance.appContext.config.errorHandler;\n if (appErrorHandler) {\n callWithErrorHandling(\n appErrorHandler,\n null,\n 10,\n [err, exposedInstance, errorInfo]\n );\n return;\n }\n }\n logError(err, type, contextVNode, throwInDev);\n}\nfunction logError(err, type, contextVNode, throwInDev = true) {\n if (true) {\n const info = ErrorTypeStrings$1[type];\n if (contextVNode) {\n pushWarningContext(contextVNode);\n }\n warn$1(`Unhandled error${info ? ` during execution of ${info}` : ``}`);\n if (contextVNode) {\n popWarningContext();\n }\n if (throwInDev) {\n throw err;\n } else {\n console.error(err);\n }\n } else {}\n}\n\nlet isFlushing = false;\nlet isFlushPending = false;\nconst queue = [];\nlet flushIndex = 0;\nconst pendingPostFlushCbs = [];\nlet activePostFlushCbs = null;\nlet postFlushIndex = 0;\nconst resolvedPromise = /* @__PURE__ */ Promise.resolve();\nlet currentFlushPromise = null;\nconst RECURSION_LIMIT = 100;\nfunction nextTick(fn) {\n const p = currentFlushPromise || resolvedPromise;\n return fn ? p.then(this ? fn.bind(this) : fn) : p;\n}\nfunction findInsertionIndex(id) {\n let start = flushIndex + 1;\n let end = queue.length;\n while (start < end) {\n const middle = start + end >>> 1;\n const middleJob = queue[middle];\n const middleJobId = getId(middleJob);\n if (middleJobId < id || middleJobId === id && middleJob.pre) {\n start = middle + 1;\n } else {\n end = middle;\n }\n }\n return start;\n}\nfunction queueJob(job) {\n if (!queue.length || !queue.includes(\n job,\n isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex\n )) {\n if (job.id == null) {\n queue.push(job);\n } else {\n queue.splice(findInsertionIndex(job.id), 0, job);\n }\n queueFlush();\n }\n}\nfunction queueFlush() {\n if (!isFlushing && !isFlushPending) {\n isFlushPending = true;\n currentFlushPromise = resolvedPromise.then(flushJobs);\n }\n}\nfunction invalidateJob(job) {\n const i = queue.indexOf(job);\n if (i > flushIndex) {\n queue.splice(i, 1);\n }\n}\nfunction queuePostFlushCb(cb) {\n if (!(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(cb)) {\n if (!activePostFlushCbs || !activePostFlushCbs.includes(\n cb,\n cb.allowRecurse ? postFlushIndex + 1 : postFlushIndex\n )) {\n pendingPostFlushCbs.push(cb);\n }\n } else {\n pendingPostFlushCbs.push(...cb);\n }\n queueFlush();\n}\nfunction flushPreFlushCbs(instance, seen, i = isFlushing ? flushIndex + 1 : 0) {\n if (true) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n for (; i < queue.length; i++) {\n const cb = queue[i];\n if (cb && cb.pre) {\n if (instance && cb.id !== instance.uid) {\n continue;\n }\n if ( true && checkRecursiveUpdates(seen, cb)) {\n continue;\n }\n queue.splice(i, 1);\n i--;\n cb();\n }\n }\n}\nfunction flushPostFlushCbs(seen) {\n if (pendingPostFlushCbs.length) {\n const deduped = [...new Set(pendingPostFlushCbs)].sort(\n (a, b) => getId(a) - getId(b)\n );\n pendingPostFlushCbs.length = 0;\n if (activePostFlushCbs) {\n activePostFlushCbs.push(...deduped);\n return;\n }\n activePostFlushCbs = deduped;\n if (true) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {\n if ( true && checkRecursiveUpdates(seen, activePostFlushCbs[postFlushIndex])) {\n continue;\n }\n activePostFlushCbs[postFlushIndex]();\n }\n activePostFlushCbs = null;\n postFlushIndex = 0;\n }\n}\nconst getId = (job) => job.id == null ? Infinity : job.id;\nconst comparator = (a, b) => {\n const diff = getId(a) - getId(b);\n if (diff === 0) {\n if (a.pre && !b.pre)\n return -1;\n if (b.pre && !a.pre)\n return 1;\n }\n return diff;\n};\nfunction flushJobs(seen) {\n isFlushPending = false;\n isFlushing = true;\n if (true) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n queue.sort(comparator);\n const check = true ? (job) => checkRecursiveUpdates(seen, job) : 0;\n try {\n for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {\n const job = queue[flushIndex];\n if (job && job.active !== false) {\n if ( true && check(job)) {\n continue;\n }\n callWithErrorHandling(job, null, 14);\n }\n }\n } finally {\n flushIndex = 0;\n queue.length = 0;\n flushPostFlushCbs(seen);\n isFlushing = false;\n currentFlushPromise = null;\n if (queue.length || pendingPostFlushCbs.length) {\n flushJobs(seen);\n }\n }\n}\nfunction checkRecursiveUpdates(seen, fn) {\n if (!seen.has(fn)) {\n seen.set(fn, 1);\n } else {\n const count = seen.get(fn);\n if (count > RECURSION_LIMIT) {\n const instance = fn.ownerInstance;\n const componentName = instance && getComponentName(instance.type);\n handleError(\n `Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`,\n null,\n 10\n );\n return true;\n } else {\n seen.set(fn, count + 1);\n }\n }\n}\n\nlet isHmrUpdating = false;\nconst hmrDirtyComponents = /* @__PURE__ */ new Set();\nif (true) {\n (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.getGlobalThis)().__VUE_HMR_RUNTIME__ = {\n createRecord: tryWrap(createRecord),\n rerender: tryWrap(rerender),\n reload: tryWrap(reload)\n };\n}\nconst map = /* @__PURE__ */ new Map();\nfunction registerHMR(instance) {\n const id = instance.type.__hmrId;\n let record = map.get(id);\n if (!record) {\n createRecord(id, instance.type);\n record = map.get(id);\n }\n record.instances.add(instance);\n}\nfunction unregisterHMR(instance) {\n map.get(instance.type.__hmrId).instances.delete(instance);\n}\nfunction createRecord(id, initialDef) {\n if (map.has(id)) {\n return false;\n }\n map.set(id, {\n initialDef: normalizeClassComponent(initialDef),\n instances: /* @__PURE__ */ new Set()\n });\n return true;\n}\nfunction normalizeClassComponent(component) {\n return isClassComponent(component) ? component.__vccOpts : component;\n}\nfunction rerender(id, newRender) {\n const record = map.get(id);\n if (!record) {\n return;\n }\n record.initialDef.render = newRender;\n [...record.instances].forEach((instance) => {\n if (newRender) {\n instance.render = newRender;\n normalizeClassComponent(instance.type).render = newRender;\n }\n instance.renderCache = [];\n isHmrUpdating = true;\n instance.effect.dirty = true;\n instance.update();\n isHmrUpdating = false;\n });\n}\nfunction reload(id, newComp) {\n const record = map.get(id);\n if (!record)\n return;\n newComp = normalizeClassComponent(newComp);\n updateComponentDef(record.initialDef, newComp);\n const instances = [...record.instances];\n for (const instance of instances) {\n const oldComp = normalizeClassComponent(instance.type);\n if (!hmrDirtyComponents.has(oldComp)) {\n if (oldComp !== record.initialDef) {\n updateComponentDef(oldComp, newComp);\n }\n hmrDirtyComponents.add(oldComp);\n }\n instance.appContext.propsCache.delete(instance.type);\n instance.appContext.emitsCache.delete(instance.type);\n instance.appContext.optionsCache.delete(instance.type);\n if (instance.ceReload) {\n hmrDirtyComponents.add(oldComp);\n instance.ceReload(newComp.styles);\n hmrDirtyComponents.delete(oldComp);\n } else if (instance.parent) {\n instance.parent.effect.dirty = true;\n queueJob(instance.parent.update);\n } else if (instance.appContext.reload) {\n instance.appContext.reload();\n } else if (typeof window !== \"undefined\") {\n window.location.reload();\n } else {\n console.warn(\n \"[HMR] Root or manually mounted instance modified. Full reload required.\"\n );\n }\n }\n queuePostFlushCb(() => {\n for (const instance of instances) {\n hmrDirtyComponents.delete(\n normalizeClassComponent(instance.type)\n );\n }\n });\n}\nfunction updateComponentDef(oldComp, newComp) {\n (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.extend)(oldComp, newComp);\n for (const key in oldComp) {\n if (key !== \"__file\" && !(key in newComp)) {\n delete oldComp[key];\n }\n }\n}\nfunction tryWrap(fn) {\n return (id, arg) => {\n try {\n return fn(id, arg);\n } catch (e) {\n console.error(e);\n console.warn(\n `[HMR] Something went wrong during Vue component hot-reload. Full reload required.`\n );\n }\n };\n}\n\nlet devtools$1;\nlet buffer = [];\nlet devtoolsNotInstalled = false;\nfunction emit$1(event, ...args) {\n if (devtools$1) {\n devtools$1.emit(event, ...args);\n } else if (!devtoolsNotInstalled) {\n buffer.push({ event, args });\n }\n}\nfunction setDevtoolsHook$1(hook, target) {\n var _a, _b;\n devtools$1 = hook;\n if (devtools$1) {\n devtools$1.enabled = true;\n buffer.forEach(({ event, args }) => devtools$1.emit(event, ...args));\n buffer = [];\n } else if (\n // handle late devtools injection - only do this if we are in an actual\n // browser environment to avoid the timer handle stalling test runner exit\n // (#4815)\n typeof window !== \"undefined\" && // some envs mock window but not fully\n window.HTMLElement && // also exclude jsdom\n !((_b = (_a = window.navigator) == null ? void 0 : _a.userAgent) == null ? void 0 : _b.includes(\"jsdom\"))\n ) {\n const replay = target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || [];\n replay.push((newHook) => {\n setDevtoolsHook$1(newHook, target);\n });\n setTimeout(() => {\n if (!devtools$1) {\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;\n devtoolsNotInstalled = true;\n buffer = [];\n }\n }, 3e3);\n } else {\n devtoolsNotInstalled = true;\n buffer = [];\n }\n}\nfunction devtoolsInitApp(app, version) {\n emit$1(\"app:init\" /* APP_INIT */, app, version, {\n Fragment,\n Text,\n Comment,\n Static\n });\n}\nfunction devtoolsUnmountApp(app) {\n emit$1(\"app:unmount\" /* APP_UNMOUNT */, app);\n}\nconst devtoolsComponentAdded = /* @__PURE__ */ createDevtoolsComponentHook(\n \"component:added\" /* COMPONENT_ADDED */\n);\nconst devtoolsComponentUpdated = /* @__PURE__ */ createDevtoolsComponentHook(\"component:updated\" /* COMPONENT_UPDATED */);\nconst _devtoolsComponentRemoved = /* @__PURE__ */ createDevtoolsComponentHook(\n \"component:removed\" /* COMPONENT_REMOVED */\n);\nconst devtoolsComponentRemoved = (component) => {\n if (devtools$1 && typeof devtools$1.cleanupBuffer === \"function\" && // remove the component if it wasn't buffered\n !devtools$1.cleanupBuffer(component)) {\n _devtoolsComponentRemoved(component);\n }\n};\nfunction createDevtoolsComponentHook(hook) {\n return (component) => {\n emit$1(\n hook,\n component.appContext.app,\n component.uid,\n component.parent ? component.parent.uid : void 0,\n component\n );\n };\n}\nconst devtoolsPerfStart = /* @__PURE__ */ createDevtoolsPerformanceHook(\n \"perf:start\" /* PERFORMANCE_START */\n);\nconst devtoolsPerfEnd = /* @__PURE__ */ createDevtoolsPerformanceHook(\n \"perf:end\" /* PERFORMANCE_END */\n);\nfunction createDevtoolsPerformanceHook(hook) {\n return (component, type, time) => {\n emit$1(hook, component.appContext.app, component.uid, component, type, time);\n };\n}\nfunction devtoolsComponentEmit(component, event, params) {\n emit$1(\n \"component:emit\" /* COMPONENT_EMIT */,\n component.appContext.app,\n component,\n event,\n params\n );\n}\n\nfunction emit(instance, event, ...rawArgs) {\n if (instance.isUnmounted)\n return;\n const props = instance.vnode.props || _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ;\n if (true) {\n const {\n emitsOptions,\n propsOptions: [propsOptions]\n } = instance;\n if (emitsOptions) {\n if (!(event in emitsOptions) && true) {\n if (!propsOptions || !((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.toHandlerKey)(event) in propsOptions)) {\n warn$1(\n `Component emitted event \"${event}\" but it is neither declared in the emits option nor as an \"${(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.toHandlerKey)(event)}\" prop.`\n );\n }\n } else {\n const validator = emitsOptions[event];\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(validator)) {\n const isValid = validator(...rawArgs);\n if (!isValid) {\n warn$1(\n `Invalid event arguments: event validation failed for event \"${event}\".`\n );\n }\n }\n }\n }\n }\n let args = rawArgs;\n const isModelListener = event.startsWith(\"update:\");\n const modelArg = isModelListener && event.slice(7);\n if (modelArg && modelArg in props) {\n const modifiersKey = `${modelArg === \"modelValue\" ? \"model\" : modelArg}Modifiers`;\n const { number, trim } = props[modifiersKey] || _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ;\n if (trim) {\n args = rawArgs.map((a) => (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isString)(a) ? a.trim() : a);\n }\n if (number) {\n args = rawArgs.map(_vue_shared__WEBPACK_IMPORTED_MODULE_1__.looseToNumber);\n }\n }\n if (true) {\n devtoolsComponentEmit(instance, event, args);\n }\n if (true) {\n const lowerCaseEvent = event.toLowerCase();\n if (lowerCaseEvent !== event && props[(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.toHandlerKey)(lowerCaseEvent)]) {\n warn$1(\n `Event \"${lowerCaseEvent}\" is emitted in component ${formatComponentName(\n instance,\n instance.type\n )} but the handler is registered for \"${event}\". Note that HTML attributes are case-insensitive and you cannot use v-on to listen to camelCase events when using in-DOM templates. You should probably use \"${(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hyphenate)(\n event\n )}\" instead of \"${event}\".`\n );\n }\n }\n let handlerName;\n let handler = props[handlerName = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.toHandlerKey)(event)] || // also try camelCase event handler (#2249)\n props[handlerName = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.toHandlerKey)((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.camelize)(event))];\n if (!handler && isModelListener) {\n handler = props[handlerName = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.toHandlerKey)((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hyphenate)(event))];\n }\n if (handler) {\n callWithAsyncErrorHandling(\n handler,\n instance,\n 6,\n args\n );\n }\n const onceHandler = props[handlerName + `Once`];\n if (onceHandler) {\n if (!instance.emitted) {\n instance.emitted = {};\n } else if (instance.emitted[handlerName]) {\n return;\n }\n instance.emitted[handlerName] = true;\n callWithAsyncErrorHandling(\n onceHandler,\n instance,\n 6,\n args\n );\n }\n}\nfunction normalizeEmitsOptions(comp, appContext, asMixin = false) {\n const cache = appContext.emitsCache;\n const cached = cache.get(comp);\n if (cached !== void 0) {\n return cached;\n }\n const raw = comp.emits;\n let normalized = {};\n let hasExtends = false;\n if ( true && !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(comp)) {\n const extendEmits = (raw2) => {\n const normalizedFromExtend = normalizeEmitsOptions(raw2, appContext, true);\n if (normalizedFromExtend) {\n hasExtends = true;\n (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.extend)(normalized, normalizedFromExtend);\n }\n };\n if (!asMixin && appContext.mixins.length) {\n appContext.mixins.forEach(extendEmits);\n }\n if (comp.extends) {\n extendEmits(comp.extends);\n }\n if (comp.mixins) {\n comp.mixins.forEach(extendEmits);\n }\n }\n if (!raw && !hasExtends) {\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isObject)(comp)) {\n cache.set(comp, null);\n }\n return null;\n }\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(raw)) {\n raw.forEach((key) => normalized[key] = null);\n } else {\n (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.extend)(normalized, raw);\n }\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isObject)(comp)) {\n cache.set(comp, normalized);\n }\n return normalized;\n}\nfunction isEmitListener(options, key) {\n if (!options || !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isOn)(key)) {\n return false;\n }\n key = key.slice(2).replace(/Once$/, \"\");\n return (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(options, key[0].toLowerCase() + key.slice(1)) || (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(options, (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hyphenate)(key)) || (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(options, key);\n}\n\nlet currentRenderingInstance = null;\nlet currentScopeId = null;\nfunction setCurrentRenderingInstance(instance) {\n const prev = currentRenderingInstance;\n currentRenderingInstance = instance;\n currentScopeId = instance && instance.type.__scopeId || null;\n return prev;\n}\nfunction pushScopeId(id) {\n currentScopeId = id;\n}\nfunction popScopeId() {\n currentScopeId = null;\n}\nconst withScopeId = (_id) => withCtx;\nfunction withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) {\n if (!ctx)\n return fn;\n if (fn._n) {\n return fn;\n }\n const renderFnWithContext = (...args) => {\n if (renderFnWithContext._d) {\n setBlockTracking(-1);\n }\n const prevInstance = setCurrentRenderingInstance(ctx);\n let res;\n try {\n res = fn(...args);\n } finally {\n setCurrentRenderingInstance(prevInstance);\n if (renderFnWithContext._d) {\n setBlockTracking(1);\n }\n }\n if (true) {\n devtoolsComponentUpdated(ctx);\n }\n return res;\n };\n renderFnWithContext._n = true;\n renderFnWithContext._c = true;\n renderFnWithContext._d = true;\n return renderFnWithContext;\n}\n\nlet accessedAttrs = false;\nfunction markAttrsAccessed() {\n accessedAttrs = true;\n}\nfunction renderComponentRoot(instance) {\n const {\n type: Component,\n vnode,\n proxy,\n withProxy,\n props,\n propsOptions: [propsOptions],\n slots,\n attrs,\n emit,\n render,\n renderCache,\n data,\n setupState,\n ctx,\n inheritAttrs\n } = instance;\n let result;\n let fallthroughAttrs;\n const prev = setCurrentRenderingInstance(instance);\n if (true) {\n accessedAttrs = false;\n }\n try {\n if (vnode.shapeFlag & 4) {\n const proxyToUse = withProxy || proxy;\n const thisProxy = true && setupState.__isScriptSetup ? new Proxy(proxyToUse, {\n get(target, key, receiver) {\n warn$1(\n `Property '${String(\n key\n )}' was accessed via 'this'. Avoid using 'this' in templates.`\n );\n return Reflect.get(target, key, receiver);\n }\n }) : proxyToUse;\n result = normalizeVNode(\n render.call(\n thisProxy,\n proxyToUse,\n renderCache,\n props,\n setupState,\n data,\n ctx\n )\n );\n fallthroughAttrs = attrs;\n } else {\n const render2 = Component;\n if ( true && attrs === props) {\n markAttrsAccessed();\n }\n result = normalizeVNode(\n render2.length > 1 ? render2(\n props,\n true ? {\n get attrs() {\n markAttrsAccessed();\n return attrs;\n },\n slots,\n emit\n } : 0\n ) : render2(\n props,\n null\n /* we know it doesn't need it */\n )\n );\n fallthroughAttrs = Component.props ? attrs : getFunctionalFallthrough(attrs);\n }\n } catch (err) {\n blockStack.length = 0;\n handleError(err, instance, 1);\n result = createVNode(Comment);\n }\n let root = result;\n let setRoot = void 0;\n if ( true && result.patchFlag > 0 && result.patchFlag & 2048) {\n [root, setRoot] = getChildRoot(result);\n }\n if (fallthroughAttrs && inheritAttrs !== false) {\n const keys = Object.keys(fallthroughAttrs);\n const { shapeFlag } = root;\n if (keys.length) {\n if (shapeFlag & (1 | 6)) {\n if (propsOptions && keys.some(_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isModelListener)) {\n fallthroughAttrs = filterModelListeners(\n fallthroughAttrs,\n propsOptions\n );\n }\n root = cloneVNode(root, fallthroughAttrs);\n } else if ( true && !accessedAttrs && root.type !== Comment) {\n const allAttrs = Object.keys(attrs);\n const eventAttrs = [];\n const extraAttrs = [];\n for (let i = 0, l = allAttrs.length; i < l; i++) {\n const key = allAttrs[i];\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isOn)(key)) {\n if (!(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isModelListener)(key)) {\n eventAttrs.push(key[2].toLowerCase() + key.slice(3));\n }\n } else {\n extraAttrs.push(key);\n }\n }\n if (extraAttrs.length) {\n warn$1(\n `Extraneous non-props attributes (${extraAttrs.join(\", \")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes.`\n );\n }\n if (eventAttrs.length) {\n warn$1(\n `Extraneous non-emits event listeners (${eventAttrs.join(\", \")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes. If the listener is intended to be a component custom event listener only, declare it using the \"emits\" option.`\n );\n }\n }\n }\n }\n if (vnode.dirs) {\n if ( true && !isElementRoot(root)) {\n warn$1(\n `Runtime directive used on component with non-element root node. The directives will not function as intended.`\n );\n }\n root = cloneVNode(root);\n root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;\n }\n if (vnode.transition) {\n if ( true && !isElementRoot(root)) {\n warn$1(\n `Component inside renders non-element root node that cannot be animated.`\n );\n }\n root.transition = vnode.transition;\n }\n if ( true && setRoot) {\n setRoot(root);\n } else {\n result = root;\n }\n setCurrentRenderingInstance(prev);\n return result;\n}\nconst getChildRoot = (vnode) => {\n const rawChildren = vnode.children;\n const dynamicChildren = vnode.dynamicChildren;\n const childRoot = filterSingleRoot(rawChildren, false);\n if (!childRoot) {\n return [vnode, void 0];\n } else if ( true && childRoot.patchFlag > 0 && childRoot.patchFlag & 2048) {\n return getChildRoot(childRoot);\n }\n const index = rawChildren.indexOf(childRoot);\n const dynamicIndex = dynamicChildren ? dynamicChildren.indexOf(childRoot) : -1;\n const setRoot = (updatedRoot) => {\n rawChildren[index] = updatedRoot;\n if (dynamicChildren) {\n if (dynamicIndex > -1) {\n dynamicChildren[dynamicIndex] = updatedRoot;\n } else if (updatedRoot.patchFlag > 0) {\n vnode.dynamicChildren = [...dynamicChildren, updatedRoot];\n }\n }\n };\n return [normalizeVNode(childRoot), setRoot];\n};\nfunction filterSingleRoot(children, recurse = true) {\n let singleRoot;\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n if (isVNode(child)) {\n if (child.type !== Comment || child.children === \"v-if\") {\n if (singleRoot) {\n return;\n } else {\n singleRoot = child;\n if ( true && recurse && singleRoot.patchFlag > 0 && singleRoot.patchFlag & 2048) {\n return filterSingleRoot(singleRoot.children);\n }\n }\n }\n } else {\n return;\n }\n }\n return singleRoot;\n}\nconst getFunctionalFallthrough = (attrs) => {\n let res;\n for (const key in attrs) {\n if (key === \"class\" || key === \"style\" || (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isOn)(key)) {\n (res || (res = {}))[key] = attrs[key];\n }\n }\n return res;\n};\nconst filterModelListeners = (attrs, props) => {\n const res = {};\n for (const key in attrs) {\n if (!(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isModelListener)(key) || !(key.slice(9) in props)) {\n res[key] = attrs[key];\n }\n }\n return res;\n};\nconst isElementRoot = (vnode) => {\n return vnode.shapeFlag & (6 | 1) || vnode.type === Comment;\n};\nfunction shouldUpdateComponent(prevVNode, nextVNode, optimized) {\n const { props: prevProps, children: prevChildren, component } = prevVNode;\n const { props: nextProps, children: nextChildren, patchFlag } = nextVNode;\n const emits = component.emitsOptions;\n if ( true && (prevChildren || nextChildren) && isHmrUpdating) {\n return true;\n }\n if (nextVNode.dirs || nextVNode.transition) {\n return true;\n }\n if (optimized && patchFlag >= 0) {\n if (patchFlag & 1024) {\n return true;\n }\n if (patchFlag & 16) {\n if (!prevProps) {\n return !!nextProps;\n }\n return hasPropsChanged(prevProps, nextProps, emits);\n } else if (patchFlag & 8) {\n const dynamicProps = nextVNode.dynamicProps;\n for (let i = 0; i < dynamicProps.length; i++) {\n const key = dynamicProps[i];\n if (nextProps[key] !== prevProps[key] && !isEmitListener(emits, key)) {\n return true;\n }\n }\n }\n } else {\n if (prevChildren || nextChildren) {\n if (!nextChildren || !nextChildren.$stable) {\n return true;\n }\n }\n if (prevProps === nextProps) {\n return false;\n }\n if (!prevProps) {\n return !!nextProps;\n }\n if (!nextProps) {\n return true;\n }\n return hasPropsChanged(prevProps, nextProps, emits);\n }\n return false;\n}\nfunction hasPropsChanged(prevProps, nextProps, emitsOptions) {\n const nextKeys = Object.keys(nextProps);\n if (nextKeys.length !== Object.keys(prevProps).length) {\n return true;\n }\n for (let i = 0; i < nextKeys.length; i++) {\n const key = nextKeys[i];\n if (nextProps[key] !== prevProps[key] && !isEmitListener(emitsOptions, key)) {\n return true;\n }\n }\n return false;\n}\nfunction updateHOCHostEl({ vnode, parent }, el) {\n while (parent) {\n const root = parent.subTree;\n if (root.suspense && root.suspense.activeBranch === vnode) {\n root.el = vnode.el;\n }\n if (root === vnode) {\n (vnode = parent.vnode).el = el;\n parent = parent.parent;\n } else {\n break;\n }\n }\n}\n\nconst COMPONENTS = \"components\";\nconst DIRECTIVES = \"directives\";\nfunction resolveComponent(name, maybeSelfReference) {\n return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;\n}\nconst NULL_DYNAMIC_COMPONENT = Symbol.for(\"v-ndc\");\nfunction resolveDynamicComponent(component) {\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isString)(component)) {\n return resolveAsset(COMPONENTS, component, false) || component;\n } else {\n return component || NULL_DYNAMIC_COMPONENT;\n }\n}\nfunction resolveDirective(name) {\n return resolveAsset(DIRECTIVES, name);\n}\nfunction resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) {\n const instance = currentRenderingInstance || currentInstance;\n if (instance) {\n const Component = instance.type;\n if (type === COMPONENTS) {\n const selfName = getComponentName(\n Component,\n false\n );\n if (selfName && (selfName === name || selfName === (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.camelize)(name) || selfName === (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.capitalize)((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.camelize)(name)))) {\n return Component;\n }\n }\n const res = (\n // local registration\n // check instance[type] first which is resolved for options API\n resolve(instance[type] || Component[type], name) || // global registration\n resolve(instance.appContext[type], name)\n );\n if (!res && maybeSelfReference) {\n return Component;\n }\n if ( true && warnMissing && !res) {\n const extra = type === COMPONENTS ? `\nIf this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``;\n warn$1(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);\n }\n return res;\n } else if (true) {\n warn$1(\n `resolve${(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.capitalize)(type.slice(0, -1))} can only be used in render() or setup().`\n );\n }\n}\nfunction resolve(registry, name) {\n return registry && (registry[name] || registry[(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.camelize)(name)] || registry[(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.capitalize)((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.camelize)(name))]);\n}\n\nconst isSuspense = (type) => type.__isSuspense;\nlet suspenseId = 0;\nconst SuspenseImpl = {\n name: \"Suspense\",\n // In order to make Suspense tree-shakable, we need to avoid importing it\n // directly in the renderer. The renderer checks for the __isSuspense flag\n // on a vnode's type and calls the `process` method, passing in renderer\n // internals.\n __isSuspense: true,\n process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals) {\n if (n1 == null) {\n mountSuspense(\n n2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized,\n rendererInternals\n );\n } else {\n if (parentSuspense && parentSuspense.deps > 0 && !n1.suspense.isInFallback) {\n n2.suspense = n1.suspense;\n n2.suspense.vnode = n2;\n n2.el = n1.el;\n return;\n }\n patchSuspense(\n n1,\n n2,\n container,\n anchor,\n parentComponent,\n namespace,\n slotScopeIds,\n optimized,\n rendererInternals\n );\n }\n },\n hydrate: hydrateSuspense,\n create: createSuspenseBoundary,\n normalize: normalizeSuspenseChildren\n};\nconst Suspense = SuspenseImpl ;\nfunction triggerEvent(vnode, name) {\n const eventListener = vnode.props && vnode.props[name];\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(eventListener)) {\n eventListener();\n }\n}\nfunction mountSuspense(vnode, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals) {\n const {\n p: patch,\n o: { createElement }\n } = rendererInternals;\n const hiddenContainer = createElement(\"div\");\n const suspense = vnode.suspense = createSuspenseBoundary(\n vnode,\n parentSuspense,\n parentComponent,\n container,\n hiddenContainer,\n anchor,\n namespace,\n slotScopeIds,\n optimized,\n rendererInternals\n );\n patch(\n null,\n suspense.pendingBranch = vnode.ssContent,\n hiddenContainer,\n null,\n parentComponent,\n suspense,\n namespace,\n slotScopeIds\n );\n if (suspense.deps > 0) {\n triggerEvent(vnode, \"onPending\");\n triggerEvent(vnode, \"onFallback\");\n patch(\n null,\n vnode.ssFallback,\n container,\n anchor,\n parentComponent,\n null,\n // fallback tree will not have suspense context\n namespace,\n slotScopeIds\n );\n setActiveBranch(suspense, vnode.ssFallback);\n } else {\n suspense.resolve(false, true);\n }\n}\nfunction patchSuspense(n1, n2, container, anchor, parentComponent, namespace, slotScopeIds, optimized, { p: patch, um: unmount, o: { createElement } }) {\n const suspense = n2.suspense = n1.suspense;\n suspense.vnode = n2;\n n2.el = n1.el;\n const newBranch = n2.ssContent;\n const newFallback = n2.ssFallback;\n const { activeBranch, pendingBranch, isInFallback, isHydrating } = suspense;\n if (pendingBranch) {\n suspense.pendingBranch = newBranch;\n if (isSameVNodeType(newBranch, pendingBranch)) {\n patch(\n pendingBranch,\n newBranch,\n suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n namespace,\n slotScopeIds,\n optimized\n );\n if (suspense.deps <= 0) {\n suspense.resolve();\n } else if (isInFallback) {\n if (!isHydrating) {\n patch(\n activeBranch,\n newFallback,\n container,\n anchor,\n parentComponent,\n null,\n // fallback tree will not have suspense context\n namespace,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, newFallback);\n }\n }\n } else {\n suspense.pendingId = suspenseId++;\n if (isHydrating) {\n suspense.isHydrating = false;\n suspense.activeBranch = pendingBranch;\n } else {\n unmount(pendingBranch, parentComponent, suspense);\n }\n suspense.deps = 0;\n suspense.effects.length = 0;\n suspense.hiddenContainer = createElement(\"div\");\n if (isInFallback) {\n patch(\n null,\n newBranch,\n suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n namespace,\n slotScopeIds,\n optimized\n );\n if (suspense.deps <= 0) {\n suspense.resolve();\n } else {\n patch(\n activeBranch,\n newFallback,\n container,\n anchor,\n parentComponent,\n null,\n // fallback tree will not have suspense context\n namespace,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, newFallback);\n }\n } else if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\n patch(\n activeBranch,\n newBranch,\n container,\n anchor,\n parentComponent,\n suspense,\n namespace,\n slotScopeIds,\n optimized\n );\n suspense.resolve(true);\n } else {\n patch(\n null,\n newBranch,\n suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n namespace,\n slotScopeIds,\n optimized\n );\n if (suspense.deps <= 0) {\n suspense.resolve();\n }\n }\n }\n } else {\n if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\n patch(\n activeBranch,\n newBranch,\n container,\n anchor,\n parentComponent,\n suspense,\n namespace,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, newBranch);\n } else {\n triggerEvent(n2, \"onPending\");\n suspense.pendingBranch = newBranch;\n if (newBranch.shapeFlag & 512) {\n suspense.pendingId = newBranch.component.suspenseId;\n } else {\n suspense.pendingId = suspenseId++;\n }\n patch(\n null,\n newBranch,\n suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n namespace,\n slotScopeIds,\n optimized\n );\n if (suspense.deps <= 0) {\n suspense.resolve();\n } else {\n const { timeout, pendingId } = suspense;\n if (timeout > 0) {\n setTimeout(() => {\n if (suspense.pendingId === pendingId) {\n suspense.fallback(newFallback);\n }\n }, timeout);\n } else if (timeout === 0) {\n suspense.fallback(newFallback);\n }\n }\n }\n }\n}\nlet hasWarned = false;\nfunction createSuspenseBoundary(vnode, parentSuspense, parentComponent, container, hiddenContainer, anchor, namespace, slotScopeIds, optimized, rendererInternals, isHydrating = false) {\n if ( true && !hasWarned) {\n hasWarned = true;\n console[console.info ? \"info\" : \"log\"](\n ` is an experimental feature and its API will likely change.`\n );\n }\n const {\n p: patch,\n m: move,\n um: unmount,\n n: next,\n o: { parentNode, remove }\n } = rendererInternals;\n let parentSuspenseId;\n const isSuspensible = isVNodeSuspensible(vnode);\n if (isSuspensible) {\n if (parentSuspense == null ? void 0 : parentSuspense.pendingBranch) {\n parentSuspenseId = parentSuspense.pendingId;\n parentSuspense.deps++;\n }\n }\n const timeout = vnode.props ? (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.toNumber)(vnode.props.timeout) : void 0;\n if (true) {\n assertNumber(timeout, `Suspense timeout`);\n }\n const initialAnchor = anchor;\n const suspense = {\n vnode,\n parent: parentSuspense,\n parentComponent,\n namespace,\n container,\n hiddenContainer,\n deps: 0,\n pendingId: suspenseId++,\n timeout: typeof timeout === \"number\" ? timeout : -1,\n activeBranch: null,\n pendingBranch: null,\n isInFallback: !isHydrating,\n isHydrating,\n isUnmounted: false,\n effects: [],\n resolve(resume = false, sync = false) {\n if (true) {\n if (!resume && !suspense.pendingBranch) {\n throw new Error(\n `suspense.resolve() is called without a pending branch.`\n );\n }\n if (suspense.isUnmounted) {\n throw new Error(\n `suspense.resolve() is called on an already unmounted suspense boundary.`\n );\n }\n }\n const {\n vnode: vnode2,\n activeBranch,\n pendingBranch,\n pendingId,\n effects,\n parentComponent: parentComponent2,\n container: container2\n } = suspense;\n let delayEnter = false;\n if (suspense.isHydrating) {\n suspense.isHydrating = false;\n } else if (!resume) {\n delayEnter = activeBranch && pendingBranch.transition && pendingBranch.transition.mode === \"out-in\";\n if (delayEnter) {\n activeBranch.transition.afterLeave = () => {\n if (pendingId === suspense.pendingId) {\n move(\n pendingBranch,\n container2,\n anchor === initialAnchor ? next(activeBranch) : anchor,\n 0\n );\n queuePostFlushCb(effects);\n }\n };\n }\n if (activeBranch) {\n if (parentNode(activeBranch.el) !== suspense.hiddenContainer) {\n anchor = next(activeBranch);\n }\n unmount(activeBranch, parentComponent2, suspense, true);\n }\n if (!delayEnter) {\n move(pendingBranch, container2, anchor, 0);\n }\n }\n setActiveBranch(suspense, pendingBranch);\n suspense.pendingBranch = null;\n suspense.isInFallback = false;\n let parent = suspense.parent;\n let hasUnresolvedAncestor = false;\n while (parent) {\n if (parent.pendingBranch) {\n parent.effects.push(...effects);\n hasUnresolvedAncestor = true;\n break;\n }\n parent = parent.parent;\n }\n if (!hasUnresolvedAncestor && !delayEnter) {\n queuePostFlushCb(effects);\n }\n suspense.effects = [];\n if (isSuspensible) {\n if (parentSuspense && parentSuspense.pendingBranch && parentSuspenseId === parentSuspense.pendingId) {\n parentSuspense.deps--;\n if (parentSuspense.deps === 0 && !sync) {\n parentSuspense.resolve();\n }\n }\n }\n triggerEvent(vnode2, \"onResolve\");\n },\n fallback(fallbackVNode) {\n if (!suspense.pendingBranch) {\n return;\n }\n const { vnode: vnode2, activeBranch, parentComponent: parentComponent2, container: container2, namespace: namespace2 } = suspense;\n triggerEvent(vnode2, \"onFallback\");\n const anchor2 = next(activeBranch);\n const mountFallback = () => {\n if (!suspense.isInFallback) {\n return;\n }\n patch(\n null,\n fallbackVNode,\n container2,\n anchor2,\n parentComponent2,\n null,\n // fallback tree will not have suspense context\n namespace2,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, fallbackVNode);\n };\n const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === \"out-in\";\n if (delayEnter) {\n activeBranch.transition.afterLeave = mountFallback;\n }\n suspense.isInFallback = true;\n unmount(\n activeBranch,\n parentComponent2,\n null,\n // no suspense so unmount hooks fire now\n true\n // shouldRemove\n );\n if (!delayEnter) {\n mountFallback();\n }\n },\n move(container2, anchor2, type) {\n suspense.activeBranch && move(suspense.activeBranch, container2, anchor2, type);\n suspense.container = container2;\n },\n next() {\n return suspense.activeBranch && next(suspense.activeBranch);\n },\n registerDep(instance, setupRenderEffect) {\n const isInPendingSuspense = !!suspense.pendingBranch;\n if (isInPendingSuspense) {\n suspense.deps++;\n }\n const hydratedEl = instance.vnode.el;\n instance.asyncDep.catch((err) => {\n handleError(err, instance, 0);\n }).then((asyncSetupResult) => {\n if (instance.isUnmounted || suspense.isUnmounted || suspense.pendingId !== instance.suspenseId) {\n return;\n }\n instance.asyncResolved = true;\n const { vnode: vnode2 } = instance;\n if (true) {\n pushWarningContext(vnode2);\n }\n handleSetupResult(instance, asyncSetupResult, false);\n if (hydratedEl) {\n vnode2.el = hydratedEl;\n }\n const placeholder = !hydratedEl && instance.subTree.el;\n setupRenderEffect(\n instance,\n vnode2,\n // component may have been moved before resolve.\n // if this is not a hydration, instance.subTree will be the comment\n // placeholder.\n parentNode(hydratedEl || instance.subTree.el),\n // anchor will not be used if this is hydration, so only need to\n // consider the comment placeholder case.\n hydratedEl ? null : next(instance.subTree),\n suspense,\n namespace,\n optimized\n );\n if (placeholder) {\n remove(placeholder);\n }\n updateHOCHostEl(instance, vnode2.el);\n if (true) {\n popWarningContext();\n }\n if (isInPendingSuspense && --suspense.deps === 0) {\n suspense.resolve();\n }\n });\n },\n unmount(parentSuspense2, doRemove) {\n suspense.isUnmounted = true;\n if (suspense.activeBranch) {\n unmount(\n suspense.activeBranch,\n parentComponent,\n parentSuspense2,\n doRemove\n );\n }\n if (suspense.pendingBranch) {\n unmount(\n suspense.pendingBranch,\n parentComponent,\n parentSuspense2,\n doRemove\n );\n }\n }\n };\n return suspense;\n}\nfunction hydrateSuspense(node, vnode, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals, hydrateNode) {\n const suspense = vnode.suspense = createSuspenseBoundary(\n vnode,\n parentSuspense,\n parentComponent,\n node.parentNode,\n // eslint-disable-next-line no-restricted-globals\n document.createElement(\"div\"),\n null,\n namespace,\n slotScopeIds,\n optimized,\n rendererInternals,\n true\n );\n const result = hydrateNode(\n node,\n suspense.pendingBranch = vnode.ssContent,\n parentComponent,\n suspense,\n slotScopeIds,\n optimized\n );\n if (suspense.deps === 0) {\n suspense.resolve(false, true);\n }\n return result;\n}\nfunction normalizeSuspenseChildren(vnode) {\n const { shapeFlag, children } = vnode;\n const isSlotChildren = shapeFlag & 32;\n vnode.ssContent = normalizeSuspenseSlot(\n isSlotChildren ? children.default : children\n );\n vnode.ssFallback = isSlotChildren ? normalizeSuspenseSlot(children.fallback) : createVNode(Comment);\n}\nfunction normalizeSuspenseSlot(s) {\n let block;\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(s)) {\n const trackBlock = isBlockTreeEnabled && s._c;\n if (trackBlock) {\n s._d = false;\n openBlock();\n }\n s = s();\n if (trackBlock) {\n s._d = true;\n block = currentBlock;\n closeBlock();\n }\n }\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(s)) {\n const singleChild = filterSingleRoot(s);\n if ( true && !singleChild && s.filter((child) => child !== NULL_DYNAMIC_COMPONENT).length > 0) {\n warn$1(` slots expect a single root node.`);\n }\n s = singleChild;\n }\n s = normalizeVNode(s);\n if (block && !s.dynamicChildren) {\n s.dynamicChildren = block.filter((c) => c !== s);\n }\n return s;\n}\nfunction queueEffectWithSuspense(fn, suspense) {\n if (suspense && suspense.pendingBranch) {\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(fn)) {\n suspense.effects.push(...fn);\n } else {\n suspense.effects.push(fn);\n }\n } else {\n queuePostFlushCb(fn);\n }\n}\nfunction setActiveBranch(suspense, branch) {\n suspense.activeBranch = branch;\n const { vnode, parentComponent } = suspense;\n let el = branch.el;\n while (!el && branch.component) {\n branch = branch.component.subTree;\n el = branch.el;\n }\n vnode.el = el;\n if (parentComponent && parentComponent.subTree === vnode) {\n parentComponent.vnode.el = el;\n updateHOCHostEl(parentComponent, el);\n }\n}\nfunction isVNodeSuspensible(vnode) {\n var _a;\n return ((_a = vnode.props) == null ? void 0 : _a.suspensible) != null && vnode.props.suspensible !== false;\n}\n\nconst ssrContextKey = Symbol.for(\"v-scx\");\nconst useSSRContext = () => {\n {\n const ctx = inject(ssrContextKey);\n if (!ctx) {\n true && warn$1(\n `Server rendering context not provided. Make sure to only call useSSRContext() conditionally in the server build.`\n );\n }\n return ctx;\n }\n};\n\nfunction watchEffect(effect, options) {\n return doWatch(effect, null, options);\n}\nfunction watchPostEffect(effect, options) {\n return doWatch(\n effect,\n null,\n true ? (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.extend)({}, options, { flush: \"post\" }) : 0\n );\n}\nfunction watchSyncEffect(effect, options) {\n return doWatch(\n effect,\n null,\n true ? (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.extend)({}, options, { flush: \"sync\" }) : 0\n );\n}\nconst INITIAL_WATCHER_VALUE = {};\nfunction watch(source, cb, options) {\n if ( true && !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(cb)) {\n warn$1(\n `\\`watch(fn, options?)\\` signature has been moved to a separate API. Use \\`watchEffect(fn, options?)\\` instead. \\`watch\\` now only supports \\`watch(source, cb, options?) signature.`\n );\n }\n return doWatch(source, cb, options);\n}\nfunction doWatch(source, cb, {\n immediate,\n deep,\n flush,\n once,\n onTrack,\n onTrigger\n} = _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ) {\n if (cb && once) {\n const _cb = cb;\n cb = (...args) => {\n _cb(...args);\n unwatch();\n };\n }\n if ( true && deep !== void 0 && typeof deep === \"number\") {\n warn$1(\n `watch() \"deep\" option with number value will be used as watch depth in future versions. Please use a boolean instead to avoid potential breakage.`\n );\n }\n if ( true && !cb) {\n if (immediate !== void 0) {\n warn$1(\n `watch() \"immediate\" option is only respected when using the watch(source, callback, options?) signature.`\n );\n }\n if (deep !== void 0) {\n warn$1(\n `watch() \"deep\" option is only respected when using the watch(source, callback, options?) signature.`\n );\n }\n if (once !== void 0) {\n warn$1(\n `watch() \"once\" option is only respected when using the watch(source, callback, options?) signature.`\n );\n }\n }\n const warnInvalidSource = (s) => {\n warn$1(\n `Invalid watch source: `,\n s,\n `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.`\n );\n };\n const instance = currentInstance;\n const reactiveGetter = (source2) => deep === true ? source2 : (\n // for deep: false, only traverse root-level properties\n traverse(source2, deep === false ? 1 : void 0)\n );\n let getter;\n let forceTrigger = false;\n let isMultiSource = false;\n if ((0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.isRef)(source)) {\n getter = () => source.value;\n forceTrigger = (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.isShallow)(source);\n } else if ((0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.isReactive)(source)) {\n getter = () => reactiveGetter(source);\n forceTrigger = true;\n } else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(source)) {\n isMultiSource = true;\n forceTrigger = source.some((s) => (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.isReactive)(s) || (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.isShallow)(s));\n getter = () => source.map((s) => {\n if ((0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.isRef)(s)) {\n return s.value;\n } else if ((0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.isReactive)(s)) {\n return reactiveGetter(s);\n } else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(s)) {\n return callWithErrorHandling(s, instance, 2);\n } else {\n true && warnInvalidSource(s);\n }\n });\n } else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(source)) {\n if (cb) {\n getter = () => callWithErrorHandling(source, instance, 2);\n } else {\n getter = () => {\n if (cleanup) {\n cleanup();\n }\n return callWithAsyncErrorHandling(\n source,\n instance,\n 3,\n [onCleanup]\n );\n };\n }\n } else {\n getter = _vue_shared__WEBPACK_IMPORTED_MODULE_1__.NOOP;\n true && warnInvalidSource(source);\n }\n if (cb && deep) {\n const baseGetter = getter;\n getter = () => traverse(baseGetter());\n }\n let cleanup;\n let onCleanup = (fn) => {\n cleanup = effect.onStop = () => {\n callWithErrorHandling(fn, instance, 4);\n cleanup = effect.onStop = void 0;\n };\n };\n let ssrCleanup;\n if (isInSSRComponentSetup) {\n onCleanup = _vue_shared__WEBPACK_IMPORTED_MODULE_1__.NOOP;\n if (!cb) {\n getter();\n } else if (immediate) {\n callWithAsyncErrorHandling(cb, instance, 3, [\n getter(),\n isMultiSource ? [] : void 0,\n onCleanup\n ]);\n }\n if (flush === \"sync\") {\n const ctx = useSSRContext();\n ssrCleanup = ctx.__watcherHandles || (ctx.__watcherHandles = []);\n } else {\n return _vue_shared__WEBPACK_IMPORTED_MODULE_1__.NOOP;\n }\n }\n let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE;\n const job = () => {\n if (!effect.active || !effect.dirty) {\n return;\n }\n if (cb) {\n const newValue = effect.run();\n if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasChanged)(v, oldValue[i])) : (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasChanged)(newValue, oldValue)) || false) {\n if (cleanup) {\n cleanup();\n }\n callWithAsyncErrorHandling(cb, instance, 3, [\n newValue,\n // pass undefined as the old value when it's changed for the first time\n oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue,\n onCleanup\n ]);\n oldValue = newValue;\n }\n } else {\n effect.run();\n }\n };\n job.allowRecurse = !!cb;\n let scheduler;\n if (flush === \"sync\") {\n scheduler = job;\n } else if (flush === \"post\") {\n scheduler = () => queuePostRenderEffect(job, instance && instance.suspense);\n } else {\n job.pre = true;\n if (instance)\n job.id = instance.uid;\n scheduler = () => queueJob(job);\n }\n const effect = new _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.ReactiveEffect(getter, _vue_shared__WEBPACK_IMPORTED_MODULE_1__.NOOP, scheduler);\n const scope = (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.getCurrentScope)();\n const unwatch = () => {\n effect.stop();\n if (scope) {\n (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.remove)(scope.effects, effect);\n }\n };\n if (true) {\n effect.onTrack = onTrack;\n effect.onTrigger = onTrigger;\n }\n if (cb) {\n if (immediate) {\n job();\n } else {\n oldValue = effect.run();\n }\n } else if (flush === \"post\") {\n queuePostRenderEffect(\n effect.run.bind(effect),\n instance && instance.suspense\n );\n } else {\n effect.run();\n }\n if (ssrCleanup)\n ssrCleanup.push(unwatch);\n return unwatch;\n}\nfunction instanceWatch(source, value, options) {\n const publicThis = this.proxy;\n const getter = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isString)(source) ? source.includes(\".\") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis);\n let cb;\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(value)) {\n cb = value;\n } else {\n cb = value.handler;\n options = value;\n }\n const reset = setCurrentInstance(this);\n const res = doWatch(getter, cb.bind(publicThis), options);\n reset();\n return res;\n}\nfunction createPathGetter(ctx, path) {\n const segments = path.split(\".\");\n return () => {\n let cur = ctx;\n for (let i = 0; i < segments.length && cur; i++) {\n cur = cur[segments[i]];\n }\n return cur;\n };\n}\nfunction traverse(value, depth, currentDepth = 0, seen) {\n if (!(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isObject)(value) || value[\"__v_skip\"]) {\n return value;\n }\n if (depth && depth > 0) {\n if (currentDepth >= depth) {\n return value;\n }\n currentDepth++;\n }\n seen = seen || /* @__PURE__ */ new Set();\n if (seen.has(value)) {\n return value;\n }\n seen.add(value);\n if ((0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.isRef)(value)) {\n traverse(value.value, depth, currentDepth, seen);\n } else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(value)) {\n for (let i = 0; i < value.length; i++) {\n traverse(value[i], depth, currentDepth, seen);\n }\n } else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isSet)(value) || (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isMap)(value)) {\n value.forEach((v) => {\n traverse(v, depth, currentDepth, seen);\n });\n } else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isPlainObject)(value)) {\n for (const key in value) {\n traverse(value[key], depth, currentDepth, seen);\n }\n }\n return value;\n}\n\nfunction validateDirectiveName(name) {\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isBuiltInDirective)(name)) {\n warn$1(\"Do not use built-in directive ids as custom directive id: \" + name);\n }\n}\nfunction withDirectives(vnode, directives) {\n if (currentRenderingInstance === null) {\n true && warn$1(`withDirectives can only be used inside render functions.`);\n return vnode;\n }\n const instance = getExposeProxy(currentRenderingInstance) || currentRenderingInstance.proxy;\n const bindings = vnode.dirs || (vnode.dirs = []);\n for (let i = 0; i < directives.length; i++) {\n let [dir, value, arg, modifiers = _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ] = directives[i];\n if (dir) {\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(dir)) {\n dir = {\n mounted: dir,\n updated: dir\n };\n }\n if (dir.deep) {\n traverse(value);\n }\n bindings.push({\n dir,\n instance,\n value,\n oldValue: void 0,\n arg,\n modifiers\n });\n }\n }\n return vnode;\n}\nfunction invokeDirectiveHook(vnode, prevVNode, instance, name) {\n const bindings = vnode.dirs;\n const oldBindings = prevVNode && prevVNode.dirs;\n for (let i = 0; i < bindings.length; i++) {\n const binding = bindings[i];\n if (oldBindings) {\n binding.oldValue = oldBindings[i].value;\n }\n let hook = binding.dir[name];\n if (hook) {\n (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.pauseTracking)();\n callWithAsyncErrorHandling(hook, instance, 8, [\n vnode.el,\n binding,\n vnode,\n prevVNode\n ]);\n (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.resetTracking)();\n }\n }\n}\n\nconst leaveCbKey = Symbol(\"_leaveCb\");\nconst enterCbKey = Symbol(\"_enterCb\");\nfunction useTransitionState() {\n const state = {\n isMounted: false,\n isLeaving: false,\n isUnmounting: false,\n leavingVNodes: /* @__PURE__ */ new Map()\n };\n onMounted(() => {\n state.isMounted = true;\n });\n onBeforeUnmount(() => {\n state.isUnmounting = true;\n });\n return state;\n}\nconst TransitionHookValidator = [Function, Array];\nconst BaseTransitionPropsValidators = {\n mode: String,\n appear: Boolean,\n persisted: Boolean,\n // enter\n onBeforeEnter: TransitionHookValidator,\n onEnter: TransitionHookValidator,\n onAfterEnter: TransitionHookValidator,\n onEnterCancelled: TransitionHookValidator,\n // leave\n onBeforeLeave: TransitionHookValidator,\n onLeave: TransitionHookValidator,\n onAfterLeave: TransitionHookValidator,\n onLeaveCancelled: TransitionHookValidator,\n // appear\n onBeforeAppear: TransitionHookValidator,\n onAppear: TransitionHookValidator,\n onAfterAppear: TransitionHookValidator,\n onAppearCancelled: TransitionHookValidator\n};\nconst BaseTransitionImpl = {\n name: `BaseTransition`,\n props: BaseTransitionPropsValidators,\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const state = useTransitionState();\n return () => {\n const children = slots.default && getTransitionRawChildren(slots.default(), true);\n if (!children || !children.length) {\n return;\n }\n let child = children[0];\n if (children.length > 1) {\n let hasFound = false;\n for (const c of children) {\n if (c.type !== Comment) {\n if ( true && hasFound) {\n warn$1(\n \" can only be used on a single element or component. Use for lists.\"\n );\n break;\n }\n child = c;\n hasFound = true;\n if (false)\n {}\n }\n }\n }\n const rawProps = (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.toRaw)(props);\n const { mode } = rawProps;\n if ( true && mode && mode !== \"in-out\" && mode !== \"out-in\" && mode !== \"default\") {\n warn$1(`invalid mode: ${mode}`);\n }\n if (state.isLeaving) {\n return emptyPlaceholder(child);\n }\n const innerChild = getKeepAliveChild(child);\n if (!innerChild) {\n return emptyPlaceholder(child);\n }\n const enterHooks = resolveTransitionHooks(\n innerChild,\n rawProps,\n state,\n instance\n );\n setTransitionHooks(innerChild, enterHooks);\n const oldChild = instance.subTree;\n const oldInnerChild = oldChild && getKeepAliveChild(oldChild);\n if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(innerChild, oldInnerChild)) {\n const leavingHooks = resolveTransitionHooks(\n oldInnerChild,\n rawProps,\n state,\n instance\n );\n setTransitionHooks(oldInnerChild, leavingHooks);\n if (mode === \"out-in\") {\n state.isLeaving = true;\n leavingHooks.afterLeave = () => {\n state.isLeaving = false;\n if (instance.update.active !== false) {\n instance.effect.dirty = true;\n instance.update();\n }\n };\n return emptyPlaceholder(child);\n } else if (mode === \"in-out\" && innerChild.type !== Comment) {\n leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => {\n const leavingVNodesCache = getLeavingNodesForType(\n state,\n oldInnerChild\n );\n leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;\n el[leaveCbKey] = () => {\n earlyRemove();\n el[leaveCbKey] = void 0;\n delete enterHooks.delayedLeave;\n };\n enterHooks.delayedLeave = delayedLeave;\n };\n }\n }\n return child;\n };\n }\n};\nconst BaseTransition = BaseTransitionImpl;\nfunction getLeavingNodesForType(state, vnode) {\n const { leavingVNodes } = state;\n let leavingVNodesCache = leavingVNodes.get(vnode.type);\n if (!leavingVNodesCache) {\n leavingVNodesCache = /* @__PURE__ */ Object.create(null);\n leavingVNodes.set(vnode.type, leavingVNodesCache);\n }\n return leavingVNodesCache;\n}\nfunction resolveTransitionHooks(vnode, props, state, instance) {\n const {\n appear,\n mode,\n persisted = false,\n onBeforeEnter,\n onEnter,\n onAfterEnter,\n onEnterCancelled,\n onBeforeLeave,\n onLeave,\n onAfterLeave,\n onLeaveCancelled,\n onBeforeAppear,\n onAppear,\n onAfterAppear,\n onAppearCancelled\n } = props;\n const key = String(vnode.key);\n const leavingVNodesCache = getLeavingNodesForType(state, vnode);\n const callHook = (hook, args) => {\n hook && callWithAsyncErrorHandling(\n hook,\n instance,\n 9,\n args\n );\n };\n const callAsyncHook = (hook, args) => {\n const done = args[1];\n callHook(hook, args);\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(hook)) {\n if (hook.every((hook2) => hook2.length <= 1))\n done();\n } else if (hook.length <= 1) {\n done();\n }\n };\n const hooks = {\n mode,\n persisted,\n beforeEnter(el) {\n let hook = onBeforeEnter;\n if (!state.isMounted) {\n if (appear) {\n hook = onBeforeAppear || onBeforeEnter;\n } else {\n return;\n }\n }\n if (el[leaveCbKey]) {\n el[leaveCbKey](\n true\n /* cancelled */\n );\n }\n const leavingVNode = leavingVNodesCache[key];\n if (leavingVNode && isSameVNodeType(vnode, leavingVNode) && leavingVNode.el[leaveCbKey]) {\n leavingVNode.el[leaveCbKey]();\n }\n callHook(hook, [el]);\n },\n enter(el) {\n let hook = onEnter;\n let afterHook = onAfterEnter;\n let cancelHook = onEnterCancelled;\n if (!state.isMounted) {\n if (appear) {\n hook = onAppear || onEnter;\n afterHook = onAfterAppear || onAfterEnter;\n cancelHook = onAppearCancelled || onEnterCancelled;\n } else {\n return;\n }\n }\n let called = false;\n const done = el[enterCbKey] = (cancelled) => {\n if (called)\n return;\n called = true;\n if (cancelled) {\n callHook(cancelHook, [el]);\n } else {\n callHook(afterHook, [el]);\n }\n if (hooks.delayedLeave) {\n hooks.delayedLeave();\n }\n el[enterCbKey] = void 0;\n };\n if (hook) {\n callAsyncHook(hook, [el, done]);\n } else {\n done();\n }\n },\n leave(el, remove) {\n const key2 = String(vnode.key);\n if (el[enterCbKey]) {\n el[enterCbKey](\n true\n /* cancelled */\n );\n }\n if (state.isUnmounting) {\n return remove();\n }\n callHook(onBeforeLeave, [el]);\n let called = false;\n const done = el[leaveCbKey] = (cancelled) => {\n if (called)\n return;\n called = true;\n remove();\n if (cancelled) {\n callHook(onLeaveCancelled, [el]);\n } else {\n callHook(onAfterLeave, [el]);\n }\n el[leaveCbKey] = void 0;\n if (leavingVNodesCache[key2] === vnode) {\n delete leavingVNodesCache[key2];\n }\n };\n leavingVNodesCache[key2] = vnode;\n if (onLeave) {\n callAsyncHook(onLeave, [el, done]);\n } else {\n done();\n }\n },\n clone(vnode2) {\n return resolveTransitionHooks(vnode2, props, state, instance);\n }\n };\n return hooks;\n}\nfunction emptyPlaceholder(vnode) {\n if (isKeepAlive(vnode)) {\n vnode = cloneVNode(vnode);\n vnode.children = null;\n return vnode;\n }\n}\nfunction getKeepAliveChild(vnode) {\n return isKeepAlive(vnode) ? (\n // #7121 ensure get the child component subtree in case\n // it's been replaced during HMR\n true && vnode.component ? vnode.component.subTree : vnode.children ? vnode.children[0] : void 0\n ) : vnode;\n}\nfunction setTransitionHooks(vnode, hooks) {\n if (vnode.shapeFlag & 6 && vnode.component) {\n setTransitionHooks(vnode.component.subTree, hooks);\n } else if (vnode.shapeFlag & 128) {\n vnode.ssContent.transition = hooks.clone(vnode.ssContent);\n vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);\n } else {\n vnode.transition = hooks;\n }\n}\nfunction getTransitionRawChildren(children, keepComment = false, parentKey) {\n let ret = [];\n let keyedFragmentCount = 0;\n for (let i = 0; i < children.length; i++) {\n let child = children[i];\n const key = parentKey == null ? child.key : String(parentKey) + String(child.key != null ? child.key : i);\n if (child.type === Fragment) {\n if (child.patchFlag & 128)\n keyedFragmentCount++;\n ret = ret.concat(\n getTransitionRawChildren(child.children, keepComment, key)\n );\n } else if (keepComment || child.type !== Comment) {\n ret.push(key != null ? cloneVNode(child, { key }) : child);\n }\n }\n if (keyedFragmentCount > 1) {\n for (let i = 0; i < ret.length; i++) {\n ret[i].patchFlag = -2;\n }\n }\n return ret;\n}\n\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction defineComponent(options, extraOptions) {\n return (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(options) ? (\n // #8326: extend call and options.name access are considered side-effects\n // by Rollup, so we have to wrap it in a pure-annotated IIFE.\n /* @__PURE__ */ (() => (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.extend)({ name: options.name }, extraOptions, { setup: options }))()\n ) : options;\n}\n\nconst isAsyncWrapper = (i) => !!i.type.__asyncLoader;\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction defineAsyncComponent(source) {\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(source)) {\n source = { loader: source };\n }\n const {\n loader,\n loadingComponent,\n errorComponent,\n delay = 200,\n timeout,\n // undefined = never times out\n suspensible = true,\n onError: userOnError\n } = source;\n let pendingRequest = null;\n let resolvedComp;\n let retries = 0;\n const retry = () => {\n retries++;\n pendingRequest = null;\n return load();\n };\n const load = () => {\n let thisRequest;\n return pendingRequest || (thisRequest = pendingRequest = loader().catch((err) => {\n err = err instanceof Error ? err : new Error(String(err));\n if (userOnError) {\n return new Promise((resolve, reject) => {\n const userRetry = () => resolve(retry());\n const userFail = () => reject(err);\n userOnError(err, userRetry, userFail, retries + 1);\n });\n } else {\n throw err;\n }\n }).then((comp) => {\n if (thisRequest !== pendingRequest && pendingRequest) {\n return pendingRequest;\n }\n if ( true && !comp) {\n warn$1(\n `Async component loader resolved to undefined. If you are using retry(), make sure to return its return value.`\n );\n }\n if (comp && (comp.__esModule || comp[Symbol.toStringTag] === \"Module\")) {\n comp = comp.default;\n }\n if ( true && comp && !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isObject)(comp) && !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(comp)) {\n throw new Error(`Invalid async component load result: ${comp}`);\n }\n resolvedComp = comp;\n return comp;\n }));\n };\n return defineComponent({\n name: \"AsyncComponentWrapper\",\n __asyncLoader: load,\n get __asyncResolved() {\n return resolvedComp;\n },\n setup() {\n const instance = currentInstance;\n if (resolvedComp) {\n return () => createInnerComp(resolvedComp, instance);\n }\n const onError = (err) => {\n pendingRequest = null;\n handleError(\n err,\n instance,\n 13,\n !errorComponent\n );\n };\n if (suspensible && instance.suspense || isInSSRComponentSetup) {\n return load().then((comp) => {\n return () => createInnerComp(comp, instance);\n }).catch((err) => {\n onError(err);\n return () => errorComponent ? createVNode(errorComponent, {\n error: err\n }) : null;\n });\n }\n const loaded = (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.ref)(false);\n const error = (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.ref)();\n const delayed = (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.ref)(!!delay);\n if (delay) {\n setTimeout(() => {\n delayed.value = false;\n }, delay);\n }\n if (timeout != null) {\n setTimeout(() => {\n if (!loaded.value && !error.value) {\n const err = new Error(\n `Async component timed out after ${timeout}ms.`\n );\n onError(err);\n error.value = err;\n }\n }, timeout);\n }\n load().then(() => {\n loaded.value = true;\n if (instance.parent && isKeepAlive(instance.parent.vnode)) {\n instance.parent.effect.dirty = true;\n queueJob(instance.parent.update);\n }\n }).catch((err) => {\n onError(err);\n error.value = err;\n });\n return () => {\n if (loaded.value && resolvedComp) {\n return createInnerComp(resolvedComp, instance);\n } else if (error.value && errorComponent) {\n return createVNode(errorComponent, {\n error: error.value\n });\n } else if (loadingComponent && !delayed.value) {\n return createVNode(loadingComponent);\n }\n };\n }\n });\n}\nfunction createInnerComp(comp, parent) {\n const { ref: ref2, props, children, ce } = parent.vnode;\n const vnode = createVNode(comp, props, children);\n vnode.ref = ref2;\n vnode.ce = ce;\n delete parent.vnode.ce;\n return vnode;\n}\n\nconst isKeepAlive = (vnode) => vnode.type.__isKeepAlive;\nconst KeepAliveImpl = {\n name: `KeepAlive`,\n // Marker for special handling inside the renderer. We are not using a ===\n // check directly on KeepAlive in the renderer, because importing it directly\n // would prevent it from being tree-shaken.\n __isKeepAlive: true,\n props: {\n include: [String, RegExp, Array],\n exclude: [String, RegExp, Array],\n max: [String, Number]\n },\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const sharedContext = instance.ctx;\n if (!sharedContext.renderer) {\n return () => {\n const children = slots.default && slots.default();\n return children && children.length === 1 ? children[0] : children;\n };\n }\n const cache = /* @__PURE__ */ new Map();\n const keys = /* @__PURE__ */ new Set();\n let current = null;\n if (true) {\n instance.__v_cache = cache;\n }\n const parentSuspense = instance.suspense;\n const {\n renderer: {\n p: patch,\n m: move,\n um: _unmount,\n o: { createElement }\n }\n } = sharedContext;\n const storageContainer = createElement(\"div\");\n sharedContext.activate = (vnode, container, anchor, namespace, optimized) => {\n const instance2 = vnode.component;\n move(vnode, container, anchor, 0, parentSuspense);\n patch(\n instance2.vnode,\n vnode,\n container,\n anchor,\n instance2,\n parentSuspense,\n namespace,\n vnode.slotScopeIds,\n optimized\n );\n queuePostRenderEffect(() => {\n instance2.isDeactivated = false;\n if (instance2.a) {\n (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.invokeArrayFns)(instance2.a);\n }\n const vnodeHook = vnode.props && vnode.props.onVnodeMounted;\n if (vnodeHook) {\n invokeVNodeHook(vnodeHook, instance2.parent, vnode);\n }\n }, parentSuspense);\n if (true) {\n devtoolsComponentAdded(instance2);\n }\n };\n sharedContext.deactivate = (vnode) => {\n const instance2 = vnode.component;\n move(vnode, storageContainer, null, 1, parentSuspense);\n queuePostRenderEffect(() => {\n if (instance2.da) {\n (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.invokeArrayFns)(instance2.da);\n }\n const vnodeHook = vnode.props && vnode.props.onVnodeUnmounted;\n if (vnodeHook) {\n invokeVNodeHook(vnodeHook, instance2.parent, vnode);\n }\n instance2.isDeactivated = true;\n }, parentSuspense);\n if (true) {\n devtoolsComponentAdded(instance2);\n }\n };\n function unmount(vnode) {\n resetShapeFlag(vnode);\n _unmount(vnode, instance, parentSuspense, true);\n }\n function pruneCache(filter) {\n cache.forEach((vnode, key) => {\n const name = getComponentName(vnode.type);\n if (name && (!filter || !filter(name))) {\n pruneCacheEntry(key);\n }\n });\n }\n function pruneCacheEntry(key) {\n const cached = cache.get(key);\n if (!current || !isSameVNodeType(cached, current)) {\n unmount(cached);\n } else if (current) {\n resetShapeFlag(current);\n }\n cache.delete(key);\n keys.delete(key);\n }\n watch(\n () => [props.include, props.exclude],\n ([include, exclude]) => {\n include && pruneCache((name) => matches(include, name));\n exclude && pruneCache((name) => !matches(exclude, name));\n },\n // prune post-render after `current` has been updated\n { flush: \"post\", deep: true }\n );\n let pendingCacheKey = null;\n const cacheSubtree = () => {\n if (pendingCacheKey != null) {\n cache.set(pendingCacheKey, getInnerChild(instance.subTree));\n }\n };\n onMounted(cacheSubtree);\n onUpdated(cacheSubtree);\n onBeforeUnmount(() => {\n cache.forEach((cached) => {\n const { subTree, suspense } = instance;\n const vnode = getInnerChild(subTree);\n if (cached.type === vnode.type && cached.key === vnode.key) {\n resetShapeFlag(vnode);\n const da = vnode.component.da;\n da && queuePostRenderEffect(da, suspense);\n return;\n }\n unmount(cached);\n });\n });\n return () => {\n pendingCacheKey = null;\n if (!slots.default) {\n return null;\n }\n const children = slots.default();\n const rawVNode = children[0];\n if (children.length > 1) {\n if (true) {\n warn$1(`KeepAlive should contain exactly one component child.`);\n }\n current = null;\n return children;\n } else if (!isVNode(rawVNode) || !(rawVNode.shapeFlag & 4) && !(rawVNode.shapeFlag & 128)) {\n current = null;\n return rawVNode;\n }\n let vnode = getInnerChild(rawVNode);\n const comp = vnode.type;\n const name = getComponentName(\n isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : comp\n );\n const { include, exclude, max } = props;\n if (include && (!name || !matches(include, name)) || exclude && name && matches(exclude, name)) {\n current = vnode;\n return rawVNode;\n }\n const key = vnode.key == null ? comp : vnode.key;\n const cachedVNode = cache.get(key);\n if (vnode.el) {\n vnode = cloneVNode(vnode);\n if (rawVNode.shapeFlag & 128) {\n rawVNode.ssContent = vnode;\n }\n }\n pendingCacheKey = key;\n if (cachedVNode) {\n vnode.el = cachedVNode.el;\n vnode.component = cachedVNode.component;\n if (vnode.transition) {\n setTransitionHooks(vnode, vnode.transition);\n }\n vnode.shapeFlag |= 512;\n keys.delete(key);\n keys.add(key);\n } else {\n keys.add(key);\n if (max && keys.size > parseInt(max, 10)) {\n pruneCacheEntry(keys.values().next().value);\n }\n }\n vnode.shapeFlag |= 256;\n current = vnode;\n return isSuspense(rawVNode.type) ? rawVNode : vnode;\n };\n }\n};\nconst KeepAlive = KeepAliveImpl;\nfunction matches(pattern, name) {\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(pattern)) {\n return pattern.some((p) => matches(p, name));\n } else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isString)(pattern)) {\n return pattern.split(\",\").includes(name);\n } else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isRegExp)(pattern)) {\n return pattern.test(name);\n }\n return false;\n}\nfunction onActivated(hook, target) {\n registerKeepAliveHook(hook, \"a\", target);\n}\nfunction onDeactivated(hook, target) {\n registerKeepAliveHook(hook, \"da\", target);\n}\nfunction registerKeepAliveHook(hook, type, target = currentInstance) {\n const wrappedHook = hook.__wdc || (hook.__wdc = () => {\n let current = target;\n while (current) {\n if (current.isDeactivated) {\n return;\n }\n current = current.parent;\n }\n return hook();\n });\n injectHook(type, wrappedHook, target);\n if (target) {\n let current = target.parent;\n while (current && current.parent) {\n if (isKeepAlive(current.parent.vnode)) {\n injectToKeepAliveRoot(wrappedHook, type, target, current);\n }\n current = current.parent;\n }\n }\n}\nfunction injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {\n const injected = injectHook(\n type,\n hook,\n keepAliveRoot,\n true\n /* prepend */\n );\n onUnmounted(() => {\n (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.remove)(keepAliveRoot[type], injected);\n }, target);\n}\nfunction resetShapeFlag(vnode) {\n vnode.shapeFlag &= ~256;\n vnode.shapeFlag &= ~512;\n}\nfunction getInnerChild(vnode) {\n return vnode.shapeFlag & 128 ? vnode.ssContent : vnode;\n}\n\nfunction injectHook(type, hook, target = currentInstance, prepend = false) {\n if (target) {\n const hooks = target[type] || (target[type] = []);\n const wrappedHook = hook.__weh || (hook.__weh = (...args) => {\n if (target.isUnmounted) {\n return;\n }\n (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.pauseTracking)();\n const reset = setCurrentInstance(target);\n const res = callWithAsyncErrorHandling(hook, target, type, args);\n reset();\n (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.resetTracking)();\n return res;\n });\n if (prepend) {\n hooks.unshift(wrappedHook);\n } else {\n hooks.push(wrappedHook);\n }\n return wrappedHook;\n } else if (true) {\n const apiName = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.toHandlerKey)(ErrorTypeStrings$1[type].replace(/ hook$/, \"\"));\n warn$1(\n `${apiName} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup().` + (` If you are using async setup(), make sure to register lifecycle hooks before the first await statement.` )\n );\n }\n}\nconst createHook = (lifecycle) => (hook, target = currentInstance) => (\n // post-create lifecycle registrations are noops during SSR (except for serverPrefetch)\n (!isInSSRComponentSetup || lifecycle === \"sp\") && injectHook(lifecycle, (...args) => hook(...args), target)\n);\nconst onBeforeMount = createHook(\"bm\");\nconst onMounted = createHook(\"m\");\nconst onBeforeUpdate = createHook(\"bu\");\nconst onUpdated = createHook(\"u\");\nconst onBeforeUnmount = createHook(\"bum\");\nconst onUnmounted = createHook(\"um\");\nconst onServerPrefetch = createHook(\"sp\");\nconst onRenderTriggered = createHook(\n \"rtg\"\n);\nconst onRenderTracked = createHook(\n \"rtc\"\n);\nfunction onErrorCaptured(hook, target = currentInstance) {\n injectHook(\"ec\", hook, target);\n}\n\nfunction renderList(source, renderItem, cache, index) {\n let ret;\n const cached = cache && cache[index];\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(source) || (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isString)(source)) {\n ret = new Array(source.length);\n for (let i = 0, l = source.length; i < l; i++) {\n ret[i] = renderItem(source[i], i, void 0, cached && cached[i]);\n }\n } else if (typeof source === \"number\") {\n if ( true && !Number.isInteger(source)) {\n warn$1(`The v-for range expect an integer value but got ${source}.`);\n }\n ret = new Array(source);\n for (let i = 0; i < source; i++) {\n ret[i] = renderItem(i + 1, i, void 0, cached && cached[i]);\n }\n } else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isObject)(source)) {\n if (source[Symbol.iterator]) {\n ret = Array.from(\n source,\n (item, i) => renderItem(item, i, void 0, cached && cached[i])\n );\n } else {\n const keys = Object.keys(source);\n ret = new Array(keys.length);\n for (let i = 0, l = keys.length; i < l; i++) {\n const key = keys[i];\n ret[i] = renderItem(source[key], key, i, cached && cached[i]);\n }\n }\n } else {\n ret = [];\n }\n if (cache) {\n cache[index] = ret;\n }\n return ret;\n}\n\nfunction createSlots(slots, dynamicSlots) {\n for (let i = 0; i < dynamicSlots.length; i++) {\n const slot = dynamicSlots[i];\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(slot)) {\n for (let j = 0; j < slot.length; j++) {\n slots[slot[j].name] = slot[j].fn;\n }\n } else if (slot) {\n slots[slot.name] = slot.key ? (...args) => {\n const res = slot.fn(...args);\n if (res)\n res.key = slot.key;\n return res;\n } : slot.fn;\n }\n }\n return slots;\n}\n\nfunction renderSlot(slots, name, props = {}, fallback, noSlotted) {\n if (currentRenderingInstance.isCE || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.isCE) {\n if (name !== \"default\")\n props.name = name;\n return createVNode(\"slot\", props, fallback && fallback());\n }\n let slot = slots[name];\n if ( true && slot && slot.length > 1) {\n warn$1(\n `SSR-optimized slot function detected in a non-SSR-optimized render function. You need to mark this component with $dynamic-slots in the parent template.`\n );\n slot = () => [];\n }\n if (slot && slot._c) {\n slot._d = false;\n }\n openBlock();\n const validSlotContent = slot && ensureValidVNode(slot(props));\n const rendered = createBlock(\n Fragment,\n {\n key: props.key || // slot content array of a dynamic conditional slot may have a branch\n // key attached in the `createSlots` helper, respect that\n validSlotContent && validSlotContent.key || `_${name}`\n },\n validSlotContent || (fallback ? fallback() : []),\n validSlotContent && slots._ === 1 ? 64 : -2\n );\n if (!noSlotted && rendered.scopeId) {\n rendered.slotScopeIds = [rendered.scopeId + \"-s\"];\n }\n if (slot && slot._c) {\n slot._d = true;\n }\n return rendered;\n}\nfunction ensureValidVNode(vnodes) {\n return vnodes.some((child) => {\n if (!isVNode(child))\n return true;\n if (child.type === Comment)\n return false;\n if (child.type === Fragment && !ensureValidVNode(child.children))\n return false;\n return true;\n }) ? vnodes : null;\n}\n\nfunction toHandlers(obj, preserveCaseIfNecessary) {\n const ret = {};\n if ( true && !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isObject)(obj)) {\n warn$1(`v-on with no argument expects an object value.`);\n return ret;\n }\n for (const key in obj) {\n ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.toHandlerKey)(key)] = obj[key];\n }\n return ret;\n}\n\nconst getPublicInstance = (i) => {\n if (!i)\n return null;\n if (isStatefulComponent(i))\n return getExposeProxy(i) || i.proxy;\n return getPublicInstance(i.parent);\n};\nconst publicPropertiesMap = (\n // Move PURE marker to new line to workaround compiler discarding it\n // due to type annotation\n /* @__PURE__ */ (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.extend)(/* @__PURE__ */ Object.create(null), {\n $: (i) => i,\n $el: (i) => i.vnode.el,\n $data: (i) => i.data,\n $props: (i) => true ? (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.shallowReadonly)(i.props) : 0,\n $attrs: (i) => true ? (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.shallowReadonly)(i.attrs) : 0,\n $slots: (i) => true ? (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.shallowReadonly)(i.slots) : 0,\n $refs: (i) => true ? (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.shallowReadonly)(i.refs) : 0,\n $parent: (i) => getPublicInstance(i.parent),\n $root: (i) => getPublicInstance(i.root),\n $emit: (i) => i.emit,\n $options: (i) => true ? resolveMergedOptions(i) : 0,\n $forceUpdate: (i) => i.f || (i.f = () => {\n i.effect.dirty = true;\n queueJob(i.update);\n }),\n $nextTick: (i) => i.n || (i.n = nextTick.bind(i.proxy)),\n $watch: (i) => true ? instanceWatch.bind(i) : 0\n })\n);\nconst isReservedPrefix = (key) => key === \"_\" || key === \"$\";\nconst hasSetupBinding = (state, key) => state !== _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ && !state.__isScriptSetup && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(state, key);\nconst PublicInstanceProxyHandlers = {\n get({ _: instance }, key) {\n const { ctx, setupState, data, props, accessCache, type, appContext } = instance;\n if ( true && key === \"__isVue\") {\n return true;\n }\n let normalizedProps;\n if (key[0] !== \"$\") {\n const n = accessCache[key];\n if (n !== void 0) {\n switch (n) {\n case 1 /* SETUP */:\n return setupState[key];\n case 2 /* DATA */:\n return data[key];\n case 4 /* CONTEXT */:\n return ctx[key];\n case 3 /* PROPS */:\n return props[key];\n }\n } else if (hasSetupBinding(setupState, key)) {\n accessCache[key] = 1 /* SETUP */;\n return setupState[key];\n } else if (data !== _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(data, key)) {\n accessCache[key] = 2 /* DATA */;\n return data[key];\n } else if (\n // only cache other properties when instance has declared (thus stable)\n // props\n (normalizedProps = instance.propsOptions[0]) && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(normalizedProps, key)\n ) {\n accessCache[key] = 3 /* PROPS */;\n return props[key];\n } else if (ctx !== _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if ( false || shouldCacheAccess) {\n accessCache[key] = 0 /* OTHER */;\n }\n }\n const publicGetter = publicPropertiesMap[key];\n let cssModule, globalProperties;\n if (publicGetter) {\n if (key === \"$attrs\") {\n (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.track)(instance, \"get\", key);\n true && markAttrsAccessed();\n } else if ( true && key === \"$slots\") {\n (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.track)(instance, \"get\", key);\n }\n return publicGetter(instance);\n } else if (\n // css module (injected by vue-loader)\n (cssModule = type.__cssModules) && (cssModule = cssModule[key])\n ) {\n return cssModule;\n } else if (ctx !== _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (\n // global properties\n globalProperties = appContext.config.globalProperties, (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(globalProperties, key)\n ) {\n {\n return globalProperties[key];\n }\n } else if ( true && currentRenderingInstance && (!(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isString)(key) || // #1091 avoid internal isRef/isVNode checks on component instance leading\n // to infinite warning loop\n key.indexOf(\"__v\") !== 0)) {\n if (data !== _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ && isReservedPrefix(key[0]) && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(data, key)) {\n warn$1(\n `Property ${JSON.stringify(\n key\n )} must be accessed via $data because it starts with a reserved character (\"$\" or \"_\") and is not proxied on the render context.`\n );\n } else if (instance === currentRenderingInstance) {\n warn$1(\n `Property ${JSON.stringify(key)} was accessed during render but is not defined on instance.`\n );\n }\n }\n },\n set({ _: instance }, key, value) {\n const { data, setupState, ctx } = instance;\n if (hasSetupBinding(setupState, key)) {\n setupState[key] = value;\n return true;\n } else if ( true && setupState.__isScriptSetup && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(setupState, key)) {\n warn$1(`Cannot mutate

    xkYJ^m51|V1ATzGUZnA?eXLI^9h;d~ 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